[Pkg-ceph-commits] [ceph] 01/09: Imported Upstream version 0.72.1

James Downing Page jamespage at moszumanska.debian.org
Fri Nov 22 14:01:38 UTC 2013


This is an automated email from the git hooks/post-receive script.

jamespage pushed a commit to branch master
in repository ceph.

commit 19a5e07e41300e21fa7fc5b820fa762b838bf1ee
Author: James Page <james.page at ubuntu.com>
Date:   Fri Nov 22 09:15:58 2013 +0000

    Imported Upstream version 0.72.1
---
 COPYING                                            |   60 +-
 Makefile.am                                        |   11 +-
 Makefile.in                                        |   53 +-
 README                                             |   28 +-
 aclocal.m4                                         |   27 +-
 ceph.spec                                          |   26 +-
 ceph.spec.in                                       |   24 +-
 configure                                          |  980 +-
 configure.ac                                       |   86 +-
 m4/ac_check_class.m4                               |  108 -
 m4/ac_prog_java.m4                                 |   83 -
 m4/ac_prog_java_works.m4                           |   98 -
 m4/ac_try_compile_java.m4                          |   40 -
 m4/ax_check_compile_flag.m4                        |   72 +
 man/Makefile.am                                    |    1 +
 man/Makefile.in                                    |   24 +-
 man/ceph-post-file.8                               |  130 +
 man/rbd.8                                          |    5 +
 share/id_dsa_drop.ceph.com                         |   12 +
 share/id_dsa_drop.ceph.com.pub                     |    1 +
 share/known_hosts_drop.ceph.com                    |    1 +
 src/.git_version                                   |    4 +-
 src/Makefile-env.am                                |  184 +
 src/Makefile.am                                    | 2341 +-
 src/Makefile.in                                    |27293 +++++++-------------
 src/acconfig.h.in                                  |   12 +
 src/arch/Makefile.am                               |   11 +
 src/arch/intel.c                                   |   45 +
 src/arch/intel.h                                   |   16 +
 src/arch/neon.c                                    |   51 +
 src/arch/neon.h                                    |   16 +
 src/arch/probe.cc                                  |   22 +
 src/arch/probe.h                                   |   16 +
 src/auth/AuthClientHandler.h                       |    2 +-
 src/auth/AuthMethodList.h                          |    3 +-
 src/auth/Makefile.am                               |   46 +
 src/auth/cephx/CephxKeyServer.cc                   |    6 +-
 src/ceph-create-keys                               |    2 +-
 src/ceph-disk                                      |   45 +-
 src/ceph-post-file.in                              |  157 +
 src/ceph-rest-api                                  |    2 +-
 src/ceph.in                                        |   97 +-
 src/ceph_mon.cc                                    |    2 +
 src/ceph_osd.cc                                    |  147 +-
 src/client/Client.cc                               |  265 +-
 src/client/Client.h                                |   46 +-
 src/client/Inode.h                                 |    4 +-
 src/client/Makefile.am                             |   35 +
 src/client/MetaRequest.h                           |    1 +
 src/client/MetaSession.h                           |    6 +-
 src/client/SyntheticClient.cc                      |   71 +-
 src/client/SyntheticClient.h                       |    3 +-
 src/client/fuse_ll.cc                              |   77 +-
 src/client/hadoop/CephFSInterface.cc               |  993 -
 src/client/hadoop/CephFSInterface.h                |  236 -
 src/client/ioctl.h                                 |    3 +-
 src/cls/Makefile.am                                |  122 +
 src/cls/hello/cls_hello.cc                         |  307 +
 src/cls/log/cls_log.cc                             |    3 +-
 src/cls/log/cls_log_client.cc                      |    3 +-
 src/cls/log/cls_log_client.h                       |    3 +-
 src/cls/rbd/cls_rbd.cc                             |   58 +-
 src/cls/rgw/cls_rgw.cc                             |    6 +-
 src/cls/rgw/cls_rgw_client.cc                      |   39 +
 src/cls/rgw/cls_rgw_client.h                       |    8 +
 src/common/BackTrace.cc                            |    7 +-
 src/common/Cond.h                                  |    4 +-
 src/common/Formatter.cc                            |    3 +-
 src/common/Formatter.h                             |    6 +-
 src/common/LogClient.h                             |    2 +-
 src/common/Makefile.am                             |  202 +
 src/common/Mutex.h                                 |    4 +-
 src/common/OutputDataSocket.cc                     |    3 +-
 src/common/Preforker.h                             |    3 +-
 src/common/PrioritizedQueue.h                      |    2 +-
 src/common/SloppyCRCMap.cc                         |  180 +
 src/common/SloppyCRCMap.h                          |   78 +
 src/{osd/OpRequest.cc => common/TrackedOp.cc}      |  177 +-
 src/common/TrackedOp.h                             |  154 +-
 src/common/WorkQueue.h                             |   37 +
 src/{include => common}/addr_parsing.c             |    0
 src/common/admin_socket.cc                         |    3 +-
 src/common/admin_socket_client.cc                  |    3 +-
 src/common/blkdev.cc                               |    4 +-
 src/common/bloom_filter.cc                         |  137 +
 src/common/bloom_filter.hpp                        |  700 +
 src/common/buffer.cc                               |   95 +-
 src/common/ceph_argparse.cc                        |   17 +-
 src/{include => common}/ceph_frag.cc               |    2 +-
 src/{include => common}/ceph_fs.cc                 |    2 +-
 src/{include => common}/ceph_hash.cc               |    2 +-
 src/common/ceph_json.cc                            |    4 +-
 src/{include => common}/ceph_strings.cc            |    9 +-
 src/common/cmdparse.cc                             |    2 +
 src/common/code_environment.cc                     |   24 +-
 src/common/common_init.cc                          |    7 +-
 src/common/config_opts.h                           |   57 +-
 src/common/crc32c-intel.c                          |  113 -
 src/common/crc32c.cc                               |   41 +
 src/common/crc32c_intel_baseline.c                 |  135 +
 src/common/crc32c_intel_baseline.h                 |   16 +
 src/common/crc32c_intel_fast.c                     |   51 +
 src/common/crc32c_intel_fast.h                     |   28 +
 src/common/crc32c_intel_fast_asm.S                 |  664 +
 src/common/crc32c_intel_fast_zero_asm.S            |  646 +
 src/{os => common}/hobject.cc                      |   87 +
 src/{os => common}/hobject.h                       |  137 +-
 src/common/lru_map.h                               |  109 +-
 src/common/obj_bencher.cc                          |   36 +-
 src/common/obj_bencher.h                           |    5 +-
 src/common/perf_counters.cc                        |   19 +-
 src/common/perf_counters.h                         |   20 +
 src/common/safe_io.c                               |   80 +
 src/common/safe_io.h                               |    9 +
 src/common/sctp_crc32.c                            |   59 +-
 src/common/sctp_crc32.h                            |   14 +
 src/common/sharedptr_registry.hpp                  |  101 +-
 src/common/util.cc                                 |    1 +
 src/crush/CrushCompiler.cc                         |   14 +-
 src/crush/CrushWrapper.cc                          |   13 +-
 src/crush/CrushWrapper.h                           |    5 +-
 src/crush/Makefile.am                              |   30 +
 src/crush/builder.c                                |   10 +-
 src/crush/builder.h                                |    2 +-
 src/crush/crush.h                                  |    3 +-
 src/crush/hash.c                                   |    3 +-
 src/crush/mapper.c                                 |    2 +-
 src/global/Makefile.am                             |   14 +
 src/global/signal_handler.cc                       |    4 +-
 src/include/CompatSet.h                            |   46 +-
 src/include/Context.h                              |   24 +-
 src/include/Makefile.am                            |   81 +
 src/include/Spinlock.h                             |   57 +
 src/include/assert.h                               |    4 +-
 src/include/bloom_filter.hpp                       |  544 -
 src/include/buffer.h                               |   29 +-
 src/include/ceph_features.h                        |    2 +
 src/include/ceph_fs.h                              |    4 +
 src/include/cephfs/libcephfs.h                     |  210 +-
 src/include/crc32c.h                               |   37 +-
 src/include/encoding.h                             |   15 +-
 src/include/frag.h                                 |    2 +-
 src/include/histogram.h                            |   76 +
 src/include/int_types.h                            |   75 +
 src/include/inttypes.h                             |   28 -
 src/include/linux_fiemap.h                         |    4 +-
 src/include/rados.h                                |   17 +
 src/include/rados/buffer.h                         |   29 +-
 src/include/rados/crc32c.h                         |   37 +-
 src/include/rados/librados.h                       |   24 +-
 src/include/rados/librados.hpp                     |   77 +-
 src/include/types.h                                |   32 +-
 src/init-ceph.in                                   |   44 +-
 src/init-radosgw                                   |    2 +-
 src/init-radosgw.sysv                              |    2 +-
 src/init-rbdmap                                    |   25 +-
 src/java/Makefile.am                               |    3 +-
 src/java/Makefile.in                               |   26 +-
 src/java/test/com/ceph/fs/CephAllTests.java        |   13 -
 src/json_spirit/Makefile.am                        |   18 +
 src/key_value_store/Makefile.am                    |   10 +
 src/libcephfs.cc                                   |  198 +-
 src/librados-config.cc                             |    3 +-
 src/librados/AioCompletionImpl.h                   |   29 +-
 src/librados/IoCtxImpl.cc                          |   19 +-
 src/librados/IoCtxImpl.h                           |    6 +-
 src/librados/Makefile.am                           |   20 +
 src/librados/PoolAsyncCompletionImpl.h             |    5 +-
 src/librados/RadosClient.cc                        |   22 +-
 src/librados/RadosClient.h                         |    5 +-
 src/librados/librados.cc                           |   52 +-
 src/librbd/AioRequest.h                            |    8 +-
 src/librbd/ImageCtx.h                              |    2 +-
 src/librbd/LibrbdWriteback.cc                      |    3 +-
 src/librbd/LibrbdWriteback.h                       |    2 +-
 src/librbd/Makefile.am                             |   24 +
 src/librbd/SnapInfo.h                              |    2 +-
 src/librbd/WatchCtx.h                              |    2 +-
 src/librbd/internal.cc                             |   18 +-
 src/librbd/internal.h                              |    3 +-
 src/librbd/librbd.cc                               |    2 +-
 src/log/Log.cc                                     |    4 -
 src/log/Log.h                                      |    1 -
 src/log/Makefile.am                                |   11 +
 src/mds/AnchorClient.cc                            |    3 +-
 src/mds/CDentry.cc                                 |   12 +-
 src/mds/CDentry.h                                  |    6 +-
 src/mds/CDir.cc                                    |  117 +-
 src/mds/CDir.h                                     |    4 +-
 src/mds/CInode.cc                                  |   38 +-
 src/mds/CInode.h                                   |    7 +-
 src/mds/Capability.h                               |    8 +-
 src/mds/Locker.cc                                  |  107 +-
 src/mds/Locker.h                                   |   12 +-
 src/mds/LogEvent.cc                                |   14 +-
 src/mds/LogSegment.h                               |    3 +-
 src/mds/MDBalancer.cc                              |   12 +-
 src/mds/MDCache.cc                                 |  780 +-
 src/mds/MDCache.h                                  |  113 +-
 src/mds/MDLog.cc                                   |   40 +-
 src/mds/MDLog.h                                    |    2 +
 src/mds/MDS.cc                                     |   24 +-
 src/mds/MDSMap.cc                                  |   13 +-
 src/mds/MDSMap.h                                   |   15 +-
 src/mds/MDSTable.cc                                |    3 +-
 src/mds/MDSTableClient.cc                          |    3 +-
 src/mds/Makefile.am                                |   92 +
 src/mds/Mutation.h                                 |    3 +-
 src/mds/Server.cc                                  |   39 +-
 src/mds/Server.h                                   |    4 +-
 src/mds/SessionMap.h                               |    2 +-
 src/mds/SimpleLock.h                               |    2 +-
 src/mds/events/EFragment.h                         |   22 +-
 src/mds/events/EMetaBlob.h                         |    2 +-
 src/mds/flock.cc                                   |    5 +-
 src/mds/flock.h                                    |    2 +-
 src/mds/journal.cc                                 |   63 +-
 src/mds/locks.c                                    |    7 +-
 src/mds/locks.h                                    |    1 -
 src/mds/mdstypes.cc                                |    5 +-
 src/mds/mdstypes.h                                 |   18 +-
 src/mds/snap.h                                     |    2 +-
 src/messages/MOSDOpReply.h                         |   77 +-
 src/messages/MOSDSubOp.h                           |   12 +-
 src/messages/Makefile.am                           |  113 +
 src/mon/AuthMonitor.cc                             |  160 +-
 src/mon/AuthMonitor.h                              |    4 +-
 src/mon/DataHealthService.cc                       |   42 +-
 src/mon/DataHealthService.h                        |    3 +-
 src/mon/LogMonitor.cc                              |   16 +-
 src/mon/MDSMonitor.cc                              |   90 +-
 src/mon/Makefile.am                                |   45 +
 src/mon/MonCap.cc                                  |    3 +-
 src/mon/MonClient.cc                               |   98 +-
 src/mon/MonClient.h                                |   68 +-
 src/mon/MonCommands.h                              |   82 +-
 src/mon/MonMap.cc                                  |    3 +-
 src/mon/Monitor.cc                                 |  475 +-
 src/mon/Monitor.h                                  |   32 +-
 src/mon/MonitorDBStore.h                           |   11 +-
 src/mon/MonmapMonitor.cc                           |   47 +-
 src/mon/OSDMonitor.cc                              |  916 +-
 src/mon/OSDMonitor.h                               |   12 +-
 src/mon/PGMap.cc                                   |  466 +-
 src/mon/PGMap.h                                    |  116 +-
 src/mon/PGMonitor.cc                               |  124 +-
 src/mon/PGMonitor.h                                |    1 +
 src/mon/Paxos.cc                                   |   37 +-
 src/mon/Paxos.h                                    |   10 +-
 src/mon/mon_types.h                                |   68 +-
 src/msg/DispatchQueue.h                            |    2 +-
 src/msg/Makefile.am                                |   20 +
 src/msg/Message.h                                  |    4 +-
 src/msg/Pipe.cc                                    |   21 +-
 src/msg/Pipe.h                                     |   11 +-
 src/msg/msg_types.cc                               |    2 +-
 src/objclass/class_api.cc                          |   25 +-
 src/objclass/class_debug.cc                        |   33 -
 src/ocf/Makefile.in                                |   23 +-
 src/os/BtrfsFileStoreBackend.cc                    |  573 +
 src/os/BtrfsFileStoreBackend.h                     |   46 +
 src/os/CollectionIndex.h                           |   20 +-
 src/os/DBObjectMap.cc                              |  203 +-
 src/os/DBObjectMap.h                               |   98 +-
 src/os/FDCache.h                                   |   10 +-
 src/os/FileStore.cc                                | 1617 +-
 src/os/FileStore.h                                 |  305 +-
 src/os/FlatIndex.cc                                |   47 +-
 src/os/FlatIndex.h                                 |   14 +-
 src/os/GenericFileStoreBackend.cc                  |  366 +
 src/os/GenericFileStoreBackend.h                   |   58 +
 src/os/HashIndex.cc                                |   88 +-
 src/os/HashIndex.h                                 |   32 +-
 src/os/IndexManager.cc                             |    2 +-
 src/os/KeyValueDB.h                                |    2 +
 src/os/LFNIndex.cc                                 |  275 +-
 src/os/LFNIndex.h                                  |   90 +-
 src/os/LevelDBStore.h                              |   70 +
 src/os/Makefile.am                                 |   50 +
 src/os/ObjectMap.h                                 |   44 +-
 src/os/ObjectStore.cc                              |   96 +-
 src/os/ObjectStore.h                               |  197 +-
 src/os/WBThrottle.cc                               |   24 +-
 src/os/WBThrottle.h                                |   42 +-
 src/os/ZFS.cc                                      |   83 +
 src/os/ZFS.h                                       |   39 +
 src/os/ZFSFileStoreBackend.cc                      |  260 +
 src/os/ZFSFileStoreBackend.h                       |   30 +
 src/os/chain_xattr.cc                              |   25 +-
 src/osd/Ager.cc                                    |    9 +-
 src/osd/Ager.h                                     |    4 +-
 src/osd/ClassHandler.cc                            |    4 +-
 src/osd/ClassHandler.h                             |    7 +-
 src/osd/ErasureCodeInterface.h                     |  240 +
 src/osd/ErasureCodePlugin.cc                       |  137 +
 src/osd/ErasureCodePlugin.h                        |   70 +
 .../ErasureCodeJerasure.cc                         |  427 +
 .../ErasureCodeJerasure.h                          |  227 +
 .../ErasureCodePluginJerasure.cc                   |   70 +
 src/osd/ErasureCodePluginJerasure/Makefile.am      |   22 +
 src/osd/ErasureCodePluginJerasure/cauchy.c         |  408 +
 src/osd/ErasureCodePluginJerasure/cauchy.h         |   53 +
 src/osd/ErasureCodePluginJerasure/galois.c         |  821 +
 src/osd/ErasureCodePluginJerasure/galois.h         |  111 +
 src/osd/ErasureCodePluginJerasure/jerasure.c       | 1376 +
 src/osd/ErasureCodePluginJerasure/jerasure.h       |  300 +
 src/osd/ErasureCodePluginJerasure/liberation.c     |  265 +
 src/osd/ErasureCodePluginJerasure/liberation.h     |   56 +
 src/osd/ErasureCodePluginJerasure/reed_sol.c       |  368 +
 src/osd/ErasureCodePluginJerasure/reed_sol.h       |   59 +
 src/osd/Makefile.am                                |   44 +
 src/osd/OSD.cc                                     | 1203 +-
 src/osd/OSD.h                                      |  189 +-
 src/osd/OSDCap.cc                                  |    2 +-
 src/osd/OSDMap.cc                                  |   34 +-
 src/osd/OSDMap.h                                   |    9 +-
 src/osd/OpRequest.cc                               |  284 +-
 src/osd/OpRequest.h                                |  156 +-
 src/osd/PG.cc                                      |  456 +-
 src/osd/PG.h                                       |   83 +-
 src/osd/PGBackend.h                                |  230 +
 src/osd/PGLog.cc                                   |   93 +-
 src/osd/PGLog.h                                    |   43 +-
 src/osd/ReplicatedBackend.cc                       |  268 +
 src/osd/ReplicatedBackend.h                        |  329 +
 src/osd/ReplicatedPG.cc                            | 3617 ++-
 src/osd/ReplicatedPG.h                             |  960 +-
 src/osd/SnapMapper.h                               |    2 +-
 src/osd/Watch.cc                                   |   18 +-
 src/osd/Watch.h                                    |   14 +-
 src/osd/osd_types.cc                               |  365 +-
 src/osd/osd_types.h                                |  531 +-
 src/osdc/Filer.cc                                  |    9 +-
 src/osdc/Filer.h                                   |   25 +-
 src/osdc/Journaler.cc                              |   24 +-
 src/osdc/Journaler.h                               |    2 +-
 src/osdc/Makefile.am                               |   17 +
 src/osdc/ObjectCacher.cc                           |   43 +-
 src/osdc/ObjectCacher.h                            |   22 +-
 src/osdc/Objecter.cc                               |  165 +-
 src/osdc/Objecter.h                                |  211 +-
 src/perfglue/Makefile.am                           |   23 +
 src/perfglue/heap_profiler.cc                      |   10 +-
 src/pybind/ceph_argparse.py                        |   62 +-
 src/pybind/ceph_rest_api.py                        |   14 +-
 src/pybind/rados.py                                |   43 +-
 src/pybind/rbd.py                                  |    2 +-
 src/rbd.cc                                         |  132 +-
 src/rbd_fuse/rbd-fuse.c                            |    5 +-
 src/rgw/Makefile.am                                |  152 +
 src/rgw/rgw_acl.cc                                 |    2 +-
 src/rgw/rgw_admin.cc                               |  154 +-
 src/rgw/rgw_auth_s3.cc                             |   10 +-
 src/rgw/rgw_bucket.cc                              |   18 +-
 src/rgw/rgw_bucket.h                               |    5 +-
 src/rgw/rgw_cache.cc                               |    5 +-
 src/rgw/rgw_cache.h                                |   12 +-
 src/rgw/rgw_common.cc                              |   84 +-
 src/rgw/rgw_common.h                               |   36 +-
 src/rgw/rgw_cors.cc                                |    3 +
 src/rgw/rgw_cors.h                                 |   12 +-
 src/rgw/rgw_cors_s3.cc                             |    4 +
 src/rgw/rgw_http_errors.h                          |    1 +
 src/rgw/rgw_json_enc.cc                            |   88 +
 src/rgw/rgw_keystone.cc                            |  108 +
 src/rgw/rgw_keystone.h                             |  106 +
 src/rgw/rgw_log.cc                                 |    8 +-
 src/rgw/rgw_main.cc                                |   25 +-
 src/rgw/rgw_metadata.cc                            |   14 +-
 src/rgw/rgw_metadata.h                             |    8 +-
 src/rgw/rgw_op.cc                                  |  283 +-
 src/rgw/rgw_op.h                                   |   27 +-
 src/rgw/rgw_quota.cc                               |  332 +
 src/rgw/rgw_quota.h                                |   74 +
 src/rgw/rgw_rados.cc                               |  241 +-
 src/rgw/rgw_rados.h                                |   50 +-
 src/rgw/rgw_replica_log.cc                         |    9 +
 src/rgw/rgw_rest.cc                                |   37 +-
 src/rgw/rgw_rest.h                                 |   15 +-
 src/rgw/rgw_rest_client.cc                         |    5 +-
 src/rgw/rgw_rest_log.cc                            |   46 +-
 src/rgw/rgw_rest_log.h                             |    8 +-
 src/rgw/rgw_rest_metadata.cc                       |    4 +-
 src/rgw/rgw_rest_replica_log.cc                    |    4 +-
 src/rgw/rgw_rest_s3.cc                             |  385 +-
 src/rgw/rgw_rest_s3.h                              |   52 +
 src/rgw/rgw_rest_swift.cc                          |   92 +-
 src/rgw/rgw_swift.cc                               |  200 +-
 src/rgw/rgw_swift.h                                |   20 +-
 src/rgw/rgw_swift_auth.h                           |    2 +-
 src/rgw/rgw_tools.h                                |    2 +-
 src/rgw/rgw_user.cc                                |    6 +
 src/rgw/rgw_user.h                                 |   13 +
 src/test/Makefile.am                               |  901 +
 src/test/ObjectMap/KeyValueDBMemory.h              |   21 +-
 src/test/ObjectMap/test_object_map.cc              |   54 +-
 .../ObjectMap/test_store_tool/test_store_tool.cc   |  182 -
 src/test/bench/small_io_bench_fs.cc                |    4 +-
 ...lestore_backend.cc => testfilestore_backend.cc} |    8 +-
 ...filestore_backend.h => testfilestore_backend.h} |   10 +-
 src/test/bufferlist.cc                             |  161 +
 ...st_libcommon_build.cc => buildtest_skeleton.cc} |    0
 src/test/ceph_compatset.cc                         |  164 +
 src/test/cli/osdmaptool/clobber.t                  |    3 +
 src/test/cli/osdmaptool/create-racks.t             |    1 +
 src/test/cli/radosgw-admin/help.t                  |   20 +-
 src/test/cli/rbd/help.t                            |    1 +
 src/test/cls_hello/test_cls_hello.cc               |  133 +
 src/test/common/get_command_descriptions.cc        |  116 +
 src/test/common/test_bloom_filter.cc               |  289 +
 src/test/common/test_crc32c.cc                     |  255 +
 src/test/common/test_sharedptr_registry.cc         |  342 +
 src/test/common/test_sloppy_crc_map.cc             |  113 +
 src/test/common/test_util.cc                       |    1 +
 src/test/encoding/ceph_dencoder.cc                 |    4 +-
 src/test/encoding/types.h                          |   18 +-
 src/test/filestore/FileStoreDiff.cc                |   12 +-
 src/test/filestore/store_test.cc                   |  183 +-
 src/test/filestore/workload_generator.cc           |    4 +-
 src/test/filestore/workload_generator.h            |    2 +-
 src/test/gather.cc                                 |   15 +-
 src/test/libcephfs/caps.cc                         |    2 +-
 src/test/librados/cmd.cc                           |    9 +-
 src/test/librados/list.cc                          |   54 +-
 src/test/librados/misc.cc                          |  157 +-
 src/test/librbd/test_librbd.cc                     |   23 +-
 src/test/mon/moncap.cc                             |    3 +
 src/test/os/TestFlatIndex.cc                       |   12 +-
 src/test/os/TestLFNIndex.cc                        |   99 +-
 src/test/osd/ErasureCodeExample.h                  |  161 +
 src/test/osd/ErasureCodePluginExample.cc           |   36 +
 src/test/osd/ErasureCodePluginFailToInitialize.cc  |   23 +
 src/test/osd/ErasureCodePluginFailToRegister.cc    |   22 +
 src/test/osd/ErasureCodePluginHangs.cc             |   24 +
 src/test/osd/ErasureCodePluginMissingEntryPoint.cc |    1 +
 src/test/osd/Object.cc                             |    9 +-
 src/test/osd/Object.h                              |    5 +-
 src/test/osd/RadosModel.h                          |  450 +-
 src/test/osd/TestErasureCodeExample.cc             |  173 +
 src/test/osd/TestErasureCodeJerasure.cc            |  306 +
 src/test/osd/TestErasureCodePlugin.cc              |  108 +
 src/test/osd/TestErasureCodePluginJerasure.cc      |   74 +
 src/test/osd/TestRados.cc                          |   77 +-
 src/test/osd/osdcap.cc                             |    1 +
 src/test/perf_counters.cc                          |    8 +-
 src/{ => test}/streamtest.cc                       |    0
 src/test/test_arch.c                               |   19 +
 src/test/test_osd_types.cc                         |   22 +-
 src/{ => test}/test_trans.cc                       |    0
 src/{ => test}/testcrypto.cc                       |    0
 src/{ => test}/testkeys.cc                         |    0
 src/{ => test}/testmsgr.cc                         |    0
 src/tools/Makefile.am                              |  100 +
 src/tools/ceph-filestore-dump.cc                   |  135 +-
 src/tools/ceph-filestore-tool.cc                   |  260 +
 src/tools/ceph-kvstore-tool.cc                     |  380 +
 src/tools/ceph-monstore-tool.cc                    |   83 +-
 src/tools/ceph-osdomap-tool.cc                     |   10 +-
 src/{ => tools}/ceph_authtool.cc                   |    0
 src/{ => tools}/ceph_conf.cc                       |    0
 src/{ => tools}/crushtool.cc                       |    6 +-
 src/{ => tools}/dupstore.cc                        |    6 +-
 src/{ => tools}/mon_store_converter.cc             |    0
 src/{ => tools}/monmaptool.cc                      |    0
 src/{ => tools}/osdmaptool.cc                      |    2 +-
 src/{ => tools}/psim.cc                            |    0
 src/{ => tools/rados}/rados.cc                     |   68 +-
 src/{ => tools/rados}/rados_export.cc              |    2 +-
 src/{ => tools/rados}/rados_import.cc              |    2 +-
 src/{ => tools/rados}/rados_sync.cc                |    7 +-
 src/{ => tools/rados}/rados_sync.h                 |    4 +-
 src/{ => tools}/radosacl.cc                        |    0
 src/tools/rest_bench.cc                            |   11 +-
 src/{ => tools}/scratchtool.c                      |    0
 src/{ => tools}/scratchtoolpp.cc                   |    0
 src/upstart/ceph-osd.conf                          |    3 +-
 src/vstart.sh                                      |   98 +-
 src/yasm-wrapper                                   |   38 +
 478 files changed, 43316 insertions(+), 31130 deletions(-)

diff --git a/COPYING b/COPYING
index fe6ffaa..a0034d5 100644
--- a/COPYING
+++ b/COPYING
@@ -1,3 +1,8 @@
+Format-Specification: http://anonscm.debian.org/viewvc/dep/web/deps/dep5/copyright-format.xml?revision=279&view=markup
+Name: ceph
+Maintainer: Sage Weil <sage at newdream.net>
+Source: http://ceph.com/
+
 Files: *
 Copyright: (c) 2004-2010 by Sage Weil <sage at newdream.net>
 License: LGPL2.1 (see COPYING-LGPL2.1)
@@ -6,15 +11,6 @@ Files: doc/*
 Copyright: (c) 2010-2012 New Dream Network and contributors
 License: Creative Commons Attribution-ShareAlike (CC BY-SA)
 
-Files: src/client/hadoop/ceph
-Copyright: Copyright (C) New Dream Network and contributors
-License: Apache License v2
-
-Files: src/rbd.cc
-Copyright:
-    Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
-License: GPL2
-
 Files: src/mount/canonicalize.c
 Copyright: Copyright (C) 1993 Rick Sladkey <jrs at world.std.com>
 License: LGPL2 or later
@@ -27,10 +23,19 @@ Files: src/include/ceph_hash.cc
 Copyright: None
 License: Public domain
 
+Files: src/common/bloom_filter.hpp
+Copyright: Copyright (C) 2000 Arash Partow <arash at partow.net>
+License: Boost Software License, Version 1.0
+
 Files: m4/acx_pthread.m4
 Copyright: Steven G. Johnson <stevenj at alum.mit.edu>
 License: GPLWithACException
 
+Files: src/common/crc32c_intel*:
+Copyright:
+    Copyright 2012-2013 Intel Corporation All Rights Reserved.
+License: BSD 3-clause
+
 Files: src/common/sctp_crc32.c: 
 Copyright:
     Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
@@ -96,3 +101,40 @@ License:
 Files: src/test/common/Throttle.cc src/test/filestore/chain_xattr.cc
 Copyright: Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
 License: LGPL2 or later
+
+Files: src/osd/ErasureCodePluginJerasure/*.{c,h}
+Copyright: Copyright (c) 2011, James S. Plank <plank at cs.utk.edu>
+License:
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  
+   - Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  
+   - Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+  
+   - Neither the name of the University of Tennessee nor the names of its
+     contributors may be used to endorse or promote products derived
+     from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+  HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+  WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  POSSIBILITY OF SUCH DAMAGE.
+
+Packaging:
+    Copyright (C) 2004-2009 by Sage Weil <sage at newdream.net>
+    Copyright (C) 2010 Canonical, Ltd.
+    Licensed under LGPL-2.1
diff --git a/Makefile.am b/Makefile.am
index e7dd86e..8e0c650 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,8 +12,17 @@ EXTRA_DIST += \
 	udev/50-rbd.rules \
 	udev/60-ceph-partuuid-workaround.rules \
 	udev/95-ceph-osd.rules \
-	udev/95-ceph-osd-alt.rules
+	udev/95-ceph-osd-alt.rules \
+	share/known_hosts_drop.ceph.com \
+	share/id_dsa_drop.ceph.com \
+	share/id_dsa_drop.ceph.com.pub
 
+# why is it so hard to make autotools to this?
+install-data-local:
+	-mkdir -p $(DESTDIR)$(datadir)/ceph
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/known_hosts_drop.ceph.com
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/id_dsa_drop.ceph.com
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/id_dsa_drop.ceph.com.pub
 
 all-local:
 if WITH_DEBUG
diff --git a/Makefile.in b/Makefile.in
index 3c4a2f1..94be359 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -41,19 +41,17 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	compile config.guess config.sub depcomp install-sh ltmain.sh \
 	missing py-compile
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_class.m4 \
-	$(top_srcdir)/m4/ac_check_classpath.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
-	$(top_srcdir)/m4/ac_prog_java.m4 \
-	$(top_srcdir)/m4/ac_prog_java_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javac_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_try_compile_java.m4 \
-	$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -135,6 +133,9 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -169,7 +170,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 JAR = @JAR@
-JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
 JDK_CPPFLAGS = @JDK_CPPFLAGS@
@@ -182,6 +182,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTCMALLOC = @LIBTCMALLOC@
 LIBTOOL = @LIBTOOL@
+LIBZFS_CFLAGS = @LIBZFS_CFLAGS@
+LIBZFS_LIBS = @LIBZFS_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -287,14 +289,14 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-uudecode = @uudecode@
 AUTOMAKE_OPTIONS = gnu
 ACLOCAL_AMFLAGS = -I m4
 EXTRA_DIST = autogen.sh ceph.spec.in ceph.spec src/test/run-cli-tests \
 	src/test/run-cli-tests-maybe-unset-ccache src/test/cli \
 	src/test/downloads udev/50-rbd.rules \
 	udev/60-ceph-partuuid-workaround.rules udev/95-ceph-osd.rules \
-	udev/95-ceph-osd-alt.rules
+	udev/95-ceph-osd-alt.rules share/known_hosts_drop.ceph.com \
+	share/id_dsa_drop.ceph.com share/id_dsa_drop.ceph.com.pub
 # the "." here makes sure check-local builds gtest before it is used
 SUBDIRS = . src man
 all: all-recursive
@@ -729,7 +731,7 @@ info: info-recursive
 
 info-am:
 
-install-data-am:
+install-data-am: install-data-local
 
 install-dvi: install-dvi-recursive
 
@@ -788,15 +790,22 @@ uninstall-am:
 	distclean distclean-generic distclean-libtool distclean-tags \
 	distcleancheck distdir distuninstallcheck dvi dvi-am html \
 	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am
-
+	install-data-am install-data-local install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am
+
+
+# why is it so hard to make autotools to this?
+install-data-local:
+	-mkdir -p $(DESTDIR)$(datadir)/ceph
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/known_hosts_drop.ceph.com
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/id_dsa_drop.ceph.com
+	-install -m 644 share/known_hosts_drop.ceph.com $(DESTDIR)$(datadir)/ceph/id_dsa_drop.ceph.com.pub
 
 all-local:
 #	We need gtest to build the rados-api tests. We only build those in
diff --git a/README b/README
index 1dcf945..3662d0e 100644
--- a/README
+++ b/README
@@ -97,7 +97,11 @@ To build the documentation, ensure that you are in the top-level `/ceph director
 
 
 Build Prerequisites
--------------------
+===================
+
+
+debian-based
+------------
 To build the source code, you must install the following:
 
 - automake
@@ -132,3 +136,25 @@ To build the source code, you must install the following:
 For example:
 
 	$ apt-get install automake autoconf pkg-config gcc g++ make libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libcrypto++-dev libaio-dev libgoogle-perftools-dev libkeyutils-dev uuid-dev libatomic-ops-dev libboost-program-options-dev libboost-thread-dev libexpat1-dev libleveldb-dev libsnappy-dev libcurl4-gnutls-dev python-argparse python-flask
+
+rpm-based
+---------
+These are the rpm packages needed to install in an rpm-based OS:
+
+    autoconf
+    automake
+    gcc
+    make
+    libtool
+    python-argparse
+    python-flask
+    libuuid-devel
+    nss-devel
+    fuse-devel
+    gperftools-devel
+    libedit-devel
+    libatomic_ops-devel
+    snappy-devel
+    leveldb-devel
+    libaio-devel
+    boost-devel
diff --git a/aclocal.m4 b/aclocal.m4
index 2e0fa0f..4256ed5 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -59,6 +59,28 @@ m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
+# Figure out how to run the assembler.                      -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_PROG_AS
+# ----------
+AC_DEFUN([AM_PROG_AS],
+[# By default we simply use the C compiler to build assembly code.
+AC_REQUIRE([AC_PROG_CC])
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
+AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
+])
+
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
 # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
@@ -1283,16 +1305,13 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([m4/ac_check_class.m4])
 m4_include([m4/ac_check_classpath.m4])
 m4_include([m4/ac_prog_jar.m4])
-m4_include([m4/ac_prog_java.m4])
-m4_include([m4/ac_prog_java_works.m4])
 m4_include([m4/ac_prog_javac.m4])
 m4_include([m4/ac_prog_javac_works.m4])
 m4_include([m4/ac_prog_javah.m4])
-m4_include([m4/ac_try_compile_java.m4])
 m4_include([m4/acx_pthread.m4])
+m4_include([m4/ax_check_compile_flag.m4])
 m4_include([m4/libtool.m4])
 m4_include([m4/ltoptions.m4])
 m4_include([m4/ltsugar.m4])
diff --git a/ceph.spec b/ceph.spec
index 230f96c..a416b52 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -9,7 +9,7 @@
 # common
 #################################################################################
 Name:		ceph
-Version:	0.67.2
+Version:	0.72.1
 Release:	0%{?dist}
 Summary:	User space components of the Ceph file system
 License:	GPL-2.0
@@ -37,11 +37,13 @@ BuildRequires:	perl
 BuildRequires:	gdbm
 BuildRequires:	pkgconfig
 BuildRequires:	python
+BuildRequires:	python-nose
 BuildRequires:  libaio-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libxml2-devel
 BuildRequires:  libuuid-devel
 BuildRequires:  leveldb-devel > 1.2
+BuildRequires:  yasm
 %if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
 BuildRequires:  snappy-devel
 %endif
@@ -125,7 +127,6 @@ Requires:	apache2-mod_fcgid
 %else
 BuildRequires:	expat-devel
 BuildRequires:	fcgi-devel
-Requires:	mod_fcgid
 %endif
 %description radosgw
 radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
@@ -238,18 +239,12 @@ License:	LGPL-2.0
 Requires:	java
 Requires:	libcephfs_jni1 = %{version}-%{release}
 BuildRequires:  java-devel
-%if 0%{?suse_version} > 1220
 Requires:       junit4
 BuildRequires:  junit4
-%else
-Requires:       junit
-BuildRequires:  junit
-%endif
-BuildRequires:  junit
 %description -n cephfs-java
 This package contains the Java libraries for the Ceph File System.
 
-%if (0%{?centos} || 0%{?opensuse} || 0%{?suse_version})
+%if 0%{?opensuse} || 0%{?suse_version}
 %debug_package
 %endif
 
@@ -274,11 +269,9 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
 
 %{configure}	CPPFLAGS="$java_inc" \
 		--prefix=/usr \
-		--sbindir=/sbin \
 		--localstatedir=/var \
 		--sysconfdir=/etc \
 		--docdir=%{_docdir}/ceph \
-		--without-hadoop \
 		--with-nss \
 		--without-cryptopp \
 		--with-rest-bench \
@@ -384,6 +377,9 @@ fi
 %dir %{_docdir}/ceph
 %{_docdir}/ceph/sample.ceph.conf
 %{_docdir}/ceph/sample.fetch_config
+%{_datadir}/ceph/known_hosts_drop.ceph.com
+%{_datadir}/ceph/id_dsa_drop.ceph.com
+%{_datadir}/ceph/id_dsa_drop.ceph.com.pub
 %{_bindir}/ceph
 %{_bindir}/cephfs
 %{_bindir}/ceph-conf
@@ -394,13 +390,13 @@ fi
 %{_bindir}/osdmaptool
 %{_bindir}/ceph-authtool
 %{_bindir}/ceph-syn
+%{_bindir}/ceph-post-file
 %{_bindir}/ceph-run
 %{_bindir}/ceph-mon
 %{_bindir}/ceph-mds
 %{_bindir}/ceph-osd
 %{_bindir}/ceph-rbdnamer
 %{_bindir}/ceph-dencoder
-%{_bindir}/ceph-rest-api
 %{_bindir}/librados-config
 %{_bindir}/rados
 %{_bindir}/rbd
@@ -418,6 +414,7 @@ fi
 /sbin/mount.ceph
 %dir %{_libdir}/rados-classes
 %{_libdir}/rados-classes/libcls_rbd.so*
+%{_libdir}/rados-classes/libcls_hello.so*
 %{_libdir}/rados-classes/libcls_rgw.so*
 %{_libdir}/rados-classes/libcls_lock.so*
 %{_libdir}/rados-classes/libcls_kvs.so*
@@ -445,6 +442,7 @@ fi
 %{_mandir}/man8/mkcephfs.8*
 %{_mandir}/man8/ceph-run.8*
 %{_mandir}/man8/ceph-syn.8*
+%{_mandir}/man8/ceph-post-file.8*
 %{_mandir}/man8/ceph-dencoder.8*
 %{_mandir}/man8/ceph-rest-api.8*
 %{_mandir}/man8/crushtool.8*
@@ -612,8 +610,10 @@ fi
 %{_bindir}/ceph_smalliobenchfs
 %{_bindir}/ceph_smalliobenchrbd
 %{_bindir}/ceph_filestore_dump
+%{_bindir}/ceph_filestore_tool
 %{_bindir}/ceph_streamtest
 %{_bindir}/ceph_test_cfuse_cache_invalidate
+%{_bindir}/ceph_test_cls_hello
 %{_bindir}/ceph_test_cls_lock
 %{_bindir}/ceph_test_cls_log
 %{_bindir}/ceph_test_cls_rbd
@@ -665,12 +665,12 @@ fi
 %{_bindir}/ceph_test_rados_watch_notify
 %{_bindir}/ceph_test_signal_handlers
 %{_bindir}/ceph_test_snap_mapper
-%{_bindir}/ceph_test_store_tool
 %{_bindir}/ceph_test_timers
 %{_bindir}/ceph_tpbench
 %{_bindir}/ceph_xattr_bench
 %{_bindir}/ceph-monstore-tool
 %{_bindir}/ceph-osdomap-tool
+%{_bindir}/ceph-kvstore-tool
 
 %files -n libcephfs_jni1
 %defattr(-,root,root,-)
diff --git a/ceph.spec.in b/ceph.spec.in
index 1a22b12..27400b1 100644
--- a/ceph.spec.in
+++ b/ceph.spec.in
@@ -37,11 +37,13 @@ BuildRequires:	perl
 BuildRequires:	gdbm
 BuildRequires:	pkgconfig
 BuildRequires:	python
+BuildRequires:	python-nose
 BuildRequires:  libaio-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libxml2-devel
 BuildRequires:  libuuid-devel
 BuildRequires:  leveldb-devel > 1.2
+BuildRequires:  yasm
 %if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
 BuildRequires:  snappy-devel
 %endif
@@ -125,7 +127,6 @@ Requires:	apache2-mod_fcgid
 %else
 BuildRequires:	expat-devel
 BuildRequires:	fcgi-devel
-Requires:	mod_fcgid
 %endif
 %description radosgw
 radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
@@ -238,18 +239,12 @@ License:	LGPL-2.0
 Requires:	java
 Requires:	libcephfs_jni1 = %{version}-%{release}
 BuildRequires:  java-devel
-%if 0%{?suse_version} > 1220
 Requires:       junit4
 BuildRequires:  junit4
-%else
-Requires:       junit
-BuildRequires:  junit
-%endif
-BuildRequires:  junit
 %description -n cephfs-java
 This package contains the Java libraries for the Ceph File System.
 
-%if (0%{?centos} || 0%{?opensuse} || 0%{?suse_version})
+%if 0%{?opensuse} || 0%{?suse_version}
 %debug_package
 %endif
 
@@ -274,11 +269,9 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
 
 %{configure}	CPPFLAGS="$java_inc" \
 		--prefix=/usr \
-		--sbindir=/sbin \
 		--localstatedir=/var \
 		--sysconfdir=/etc \
 		--docdir=%{_docdir}/ceph \
-		--without-hadoop \
 		--with-nss \
 		--without-cryptopp \
 		--with-rest-bench \
@@ -384,6 +377,9 @@ fi
 %dir %{_docdir}/ceph
 %{_docdir}/ceph/sample.ceph.conf
 %{_docdir}/ceph/sample.fetch_config
+%{_datadir}/ceph/known_hosts_drop.ceph.com
+%{_datadir}/ceph/id_dsa_drop.ceph.com
+%{_datadir}/ceph/id_dsa_drop.ceph.com.pub
 %{_bindir}/ceph
 %{_bindir}/cephfs
 %{_bindir}/ceph-conf
@@ -394,13 +390,13 @@ fi
 %{_bindir}/osdmaptool
 %{_bindir}/ceph-authtool
 %{_bindir}/ceph-syn
+%{_bindir}/ceph-post-file
 %{_bindir}/ceph-run
 %{_bindir}/ceph-mon
 %{_bindir}/ceph-mds
 %{_bindir}/ceph-osd
 %{_bindir}/ceph-rbdnamer
 %{_bindir}/ceph-dencoder
-%{_bindir}/ceph-rest-api
 %{_bindir}/librados-config
 %{_bindir}/rados
 %{_bindir}/rbd
@@ -418,6 +414,7 @@ fi
 /sbin/mount.ceph
 %dir %{_libdir}/rados-classes
 %{_libdir}/rados-classes/libcls_rbd.so*
+%{_libdir}/rados-classes/libcls_hello.so*
 %{_libdir}/rados-classes/libcls_rgw.so*
 %{_libdir}/rados-classes/libcls_lock.so*
 %{_libdir}/rados-classes/libcls_kvs.so*
@@ -445,6 +442,7 @@ fi
 %{_mandir}/man8/mkcephfs.8*
 %{_mandir}/man8/ceph-run.8*
 %{_mandir}/man8/ceph-syn.8*
+%{_mandir}/man8/ceph-post-file.8*
 %{_mandir}/man8/ceph-dencoder.8*
 %{_mandir}/man8/ceph-rest-api.8*
 %{_mandir}/man8/crushtool.8*
@@ -612,8 +610,10 @@ fi
 %{_bindir}/ceph_smalliobenchfs
 %{_bindir}/ceph_smalliobenchrbd
 %{_bindir}/ceph_filestore_dump
+%{_bindir}/ceph_filestore_tool
 %{_bindir}/ceph_streamtest
 %{_bindir}/ceph_test_cfuse_cache_invalidate
+%{_bindir}/ceph_test_cls_hello
 %{_bindir}/ceph_test_cls_lock
 %{_bindir}/ceph_test_cls_log
 %{_bindir}/ceph_test_cls_rbd
@@ -665,12 +665,12 @@ fi
 %{_bindir}/ceph_test_rados_watch_notify
 %{_bindir}/ceph_test_signal_handlers
 %{_bindir}/ceph_test_snap_mapper
-%{_bindir}/ceph_test_store_tool
 %{_bindir}/ceph_test_timers
 %{_bindir}/ceph_tpbench
 %{_bindir}/ceph_xattr_bench
 %{_bindir}/ceph-monstore-tool
 %{_bindir}/ceph-osdomap-tool
+%{_bindir}/ceph-kvstore-tool
 
 %files -n libcephfs_jni1
 %defattr(-,root,root,-)
diff --git a/configure b/configure
index afca162..267e400 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ceph 0.67.2.
+# Generated by GNU Autoconf 2.68 for ceph 0.72.1.
 #
 # Report bugs to <ceph-devel at vger.kernel.org>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ceph'
 PACKAGE_TARNAME='ceph'
-PACKAGE_VERSION='0.67.2'
-PACKAGE_STRING='ceph 0.67.2'
+PACKAGE_VERSION='0.72.1'
+PACKAGE_STRING='ceph 0.72.1'
 PACKAGE_BUGREPORT='ceph-devel at vger.kernel.org'
 PACKAGE_URL=''
 
@@ -629,6 +629,10 @@ WITH_BUILD_TESTS_FALSE
 WITH_BUILD_TESTS_TRUE
 USE_BOOST_SPIRIT_OLD_HDR_FALSE
 USE_BOOST_SPIRIT_OLD_HDR_TRUE
+WITH_LIBZFS_FALSE
+WITH_LIBZFS_TRUE
+LIBZFS_LIBS
+LIBZFS_CFLAGS
 WITH_LIBAIO_FALSE
 WITH_LIBAIO_TRUE
 WITH_REST_BENCH_FALSE
@@ -641,13 +645,9 @@ WITH_LIBATOMIC_FALSE
 WITH_LIBATOMIC_TRUE
 LIBEDIT_LIBS
 LIBEDIT_CFLAGS
-WITH_HADOOPCLIENT_FALSE
-WITH_HADOOPCLIENT_TRUE
 HAVE_JUNIT4_FALSE
 HAVE_JUNIT4_TRUE
 JDK_CPPFLAGS
-uudecode
-JAVA
 JAR
 JAVAH
 JAVAC
@@ -682,9 +682,17 @@ PTHREAD_CFLAGS
 PTHREAD_LIBS
 PTHREAD_CC
 acx_pthread_config
+COMPILER_HAS_VTA_FALSE
+COMPILER_HAS_VTA_TRUE
+ENABLE_FPU_NEON_FALSE
+ENABLE_FPU_NEON_TRUE
 WARN_IGNORED_QUALIFIERS
 WARN_TYPE_LIMITS
+WITH_GOOD_YASM_ELF64_FALSE
+WITH_GOOD_YASM_ELF64_TRUE
 AM_CXXFLAGS
+CLANG_FALSE
+CLANG_TRUE
 CXXCPP
 am__fastdepCXX_FALSE
 am__fastdepCXX_TRUE
@@ -700,6 +708,11 @@ AM_BACKSLASH
 AM_DEFAULT_VERBOSITY
 AM_DEFAULT_V
 AM_V
+am__fastdepCCAS_FALSE
+am__fastdepCCAS_TRUE
+CCASDEPMODE
+CCASFLAGS
+CCAS
 CPP
 OTOOL64
 OTOOL
@@ -838,12 +851,12 @@ with_tcmalloc
 enable_pgrefdebugging
 enable_cephfs_java
 with_jdk_dir
-with_hadoop
 with_libatomic_ops
 with_ocf
 with_system_libs3
 with_rest_bench
 with_libaio
+with_libzfs
 '
       ac_precious_vars='build_alias
 host_alias
@@ -854,6 +867,8 @@ LDFLAGS
 LIBS
 CPPFLAGS
 CPP
+CCAS
+CCASFLAGS
 CXX
 CXXFLAGS
 CCC
@@ -867,6 +882,8 @@ NSS_CFLAGS
 NSS_LIBS
 LIBEDIT_CFLAGS
 LIBEDIT_LIBS
+LIBZFS_CFLAGS
+LIBZFS_LIBS
 PYTHON'
 ac_subdirs_all='src/gtest'
 
@@ -1410,7 +1427,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ceph 0.67.2 to adapt to many kinds of systems.
+\`configure' configures ceph 0.72.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1481,7 +1498,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ceph 0.67.2:";;
+     short | recursive ) echo "Configuration of ceph 0.72.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1518,12 +1535,12 @@ Optional Packages:
   --without-fuse          disable FUSE userspace client
   --without-tcmalloc      disable tcmalloc for memory allocations
   --with-jdk-dir(=DIR)    Path to JDK directory
-  --with-hadoop           build hadoop client
   --without-libatomic-ops disable libatomic-ops for the atomic_t type
   --with-ocf              build OCF-compliant cluster resource agent
   --with-system-libs3     use system libs3
   --with-rest-bench       enables rest-bench
   --without-libaio        disable libaio use by journal
+  --with-libzfs           build ZFS support
 
 Some influential environment variables:
   CC          C compiler command
@@ -1534,6 +1551,8 @@ Some influential environment variables:
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  CCAS        assembler compiler command (defaults to CC)
+  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
   CXXCPP      C++ preprocessor
@@ -1552,6 +1571,9 @@ Some influential environment variables:
               C compiler flags for LIBEDIT, overriding pkg-config
   LIBEDIT_LIBS
               linker flags for LIBEDIT, overriding pkg-config
+  LIBZFS_CFLAGS
+              C compiler flags for LIBZFS, overriding pkg-config
+  LIBZFS_LIBS linker flags for LIBZFS, overriding pkg-config
   PYTHON      the Python interpreter
 
 Use these variables to override the choices made by `configure' or to help
@@ -1620,7 +1642,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ceph configure 0.67.2
+ceph configure 0.72.1
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2258,7 +2280,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ceph $as_me 0.67.2, which was
+It was created by ceph $as_me 0.72.1, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3242,7 +3264,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ceph'
- VERSION='0.67.2'
+ VERSION='0.72.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -11916,6 +11938,140 @@ CC="$lt_save_CC"
 # Only expand once:
 
 
+# By default we simply use the C compiler to build assembly code.
+
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+
+
+
+depcc="$CCAS"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CCAS_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CCAS_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CCAS_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
+CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
+  am__fastdepCCAS_TRUE=
+  am__fastdepCCAS_FALSE='#'
+else
+  am__fastdepCCAS_TRUE='#'
+  am__fastdepCCAS_FALSE=
+fi
+
+
+
 
 # enable make V=0 (if automake >1.11)
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
@@ -11940,7 +12096,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ceph'
- VERSION='0.67.2'
+ VERSION='0.72.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15911,6 +16067,15 @@ if test "$CXX" = no || test "$CXX:$GXX" = "g++:"; then
   as_fn_error $? "no C++ compiler found" "$LINENO" 5
 fi
 
+ if test x"$CXX" = x"clang++"; then
+  CLANG_TRUE=
+  CLANG_FALSE='#'
+else
+  CLANG_TRUE='#'
+  CLANG_FALSE=
+fi
+
+
 #AC_PROG_CC
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
@@ -15950,6 +16115,28 @@ fi
 
 AM_CXXFLAGS="${AM_CXXFLAGS}"
 
+# Check for yasm
+if yasm -f elf64 src/common/crc32c_intel_fast_asm.S -o /dev/null; then
+   echo 'we have a modern and working yasm'
+   if test `arch` = "x86_64"; then
+      echo 'we are x86_64'
+
+$as_echo "#define HAVE_GOOD_YASM_ELF64 1" >>confdefs.h
+
+      with_good_yasm=yes
+   fi
+else
+   echo 'we do not have a modern/working yasm'
+fi
+ if test "$with_good_yasm" = "yes"; then
+  WITH_GOOD_YASM_ELF64_TRUE=
+  WITH_GOOD_YASM_ELF64_FALSE='#'
+else
+  WITH_GOOD_YASM_ELF64_TRUE='#'
+  WITH_GOOD_YASM_ELF64_FALSE=
+fi
+
+
 # Checks for compiler warning types
 
 # AC_CHECK_CC_FLAG(FLAG_TO_TEST, VARIABLE_TO_SET_IF_SUPPORTED)
@@ -16037,6 +16224,61 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 }
 
+# Checks for architecture stuff
+ if case $target_cpu in arm*) true;; *) false;; esac; then
+  ENABLE_FPU_NEON_TRUE=
+  ENABLE_FPU_NEON_FALSE='#'
+else
+  ENABLE_FPU_NEON_TRUE='#'
+  ENABLE_FPU_NEON_FALSE=
+fi
+
+
+# Check for compiler VTA support
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fvar-tracking-assignments" >&5
+$as_echo_n "checking whether C compiler accepts -fvar-tracking-assignments... " >&6; }
+if ${ax_cv_check_cflags___fvar_tracking_assignments+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fvar-tracking-assignments"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fvar_tracking_assignments=yes
+else
+  ax_cv_check_cflags___fvar_tracking_assignments=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fvar_tracking_assignments" >&5
+$as_echo "$ax_cv_check_cflags___fvar_tracking_assignments" >&6; }
+if test x"$ax_cv_check_cflags___fvar_tracking_assignments" = xyes; then :
+  HAS_VTA_SUPPORT=1
+else
+  HAS_VTA_SUPPORT=0
+fi
+
+ if test "$HAS_VTA_SUPPORT" = 1; then
+  COMPILER_HAS_VTA_TRUE=
+  COMPILER_HAS_VTA_FALSE='#'
+else
+  COMPILER_HAS_VTA_TRUE='#'
+  COMPILER_HAS_VTA_FALSE=
+fi
+
+
 # Checks for libraries.
 
 
@@ -17725,6 +17967,8 @@ $as_echo "#define HAVE_LIBFUSE 1" >>confdefs.h
 
                HAVE_LIBFUSE=1
 	       # look for fuse_getgroups and define FUSE_GETGROUPS if found
+           LIBS_saved="$LIBS"
+           LIBS="$LIBS -lfuse"
 	       for ac_func in fuse_getgroups
 do :
   ac_fn_c_check_func "$LINENO" "fuse_getgroups" "ac_cv_func_fuse_getgroups"
@@ -17736,6 +17980,7 @@ _ACEOF
 fi
 done
 
+           LIBS="$LIBS_saved"
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@@ -17884,18 +18129,24 @@ fi
 	# setup defaults for Debian default-jdk package (without --with-jdk-dir)
 	if test -z "$with_jdk_dir"; then :
 
-		   # This works with Debian's default-jdk package
-		   dir='/usr/lib/jvm/default-java/'
-		   javac_prog=`find $dir -name javac | head -n 1`
-		   if test -x "$javac_prog"; then :
+		   # This works with Debian's and CentOS' default-jdk package
+       for dir in '/usr/lib/jvm/default-java/' '/usr/lib/jvm/java/' ; do
+          # only test if a suitable path has not yet been found
+          if test "$EXTRA_JDK_BIN_DIR" == ""; then :
 
-				  EXTRA_JDK_BIN_DIR=`dirname $javac_prog`
+		          if test -x "$javac_prog"; then :
+
+				          EXTRA_JDK_BIN_DIR=`dirname $javac_prog`
+fi
+		          jnih=`find $dir -name jni.h | head -n 1`
+		          if test -r "$jnih"; then :
+
+				          EXTRA_JDK_INC_DIR=`dirname $jnih`
 fi
-		   jnih=`find $dir -name jni.h | head -n 1`
-		   if test -r "$jnih"; then :
 
-				  EXTRA_JDK_INC_DIR=`dirname $jnih`
 fi
+       done
+
 fi
 
         # cephfs_java_test only makes sense if java is already turned on
@@ -18031,7 +18282,7 @@ else
 JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 cat << \EOF > $JAVA_TEST
-/* #line 18034 "configure" */
+/* #line 18285 "configure" */
 public class Test {
 }
 EOF
@@ -18220,523 +18471,48 @@ test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "
         { $as_echo "$as_me:${as_lineno-$LINENO}: classpath - $CLASSPATH" >&5
 $as_echo "$as_me: classpath - $CLASSPATH" >&6;}
 
-if test x$JAVAPREFIX = x; then
-        test x$JAVA = x && for ac_prog in kaffe$EXEEXT java$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAVA+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVA"; then
-  ac_cv_prog_JAVA="$JAVA" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVA="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+        # Check for jni.h
+	CPPFLAGS_save=$CPPFLAGS
 
+	if test -n "$EXTRA_JDK_INC_DIR"; then :
+  JDK_CPPFLAGS="-I$EXTRA_JDK_INC_DIR"
+		   if test -d "$EXTRA_JDK_INC_DIR/linux"; then :
+  JDK_CPPFLAGS="$JDK_CPPFLAGS -I$EXTRA_JDK_INC_DIR/linux"
 fi
+		   CPPFLAGS="$CPPFLAGS $JDK_CPPFLAGS"
 fi
-JAVA=$ac_cv_prog_JAVA
-if test -n "$JAVA"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
-$as_echo "$JAVA" >&6; }
+
+	ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default"
+if test "x$ac_cv_header_jni_h" = xyes; then :
+
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  as_fn_error $? "Cannot find header 'jni.h'. Try setting --with-jdk-dir" "$LINENO" 5
 fi
 
 
-  test -n "$JAVA" && break
-done
 
-else
-        test x$JAVA = x && for ac_prog in kaffe$EXEEXT java$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAVA+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVA"; then
-  ac_cv_prog_JAVA="$JAVA" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVA="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+	CPPFLAGS=$CPPFLAGS_save
+
+	# Setup output var
 
 fi
-fi
-JAVA=$ac_cv_prog_JAVA
-if test -n "$JAVA"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
-$as_echo "$JAVA" >&6; }
+ if test "$have_junit4" = "1"; then
+  HAVE_JUNIT4_TRUE=
+  HAVE_JUNIT4_FALSE='#'
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  HAVE_JUNIT4_TRUE='#'
+  HAVE_JUNIT4_FALSE=
 fi
 
 
-  test -n "$JAVA" && break
-done
-test -n "$JAVA" || JAVA="$JAVAPREFIX"
+#
+# FreeBSD has it in base.
+#
+if test x"$freebsd" != x"yes"; then
 
-fi
-test x$JAVA = x && as_fn_error $? "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5
-
-# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
-set dummy uudecode$EXEEXT; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_uudecode+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$uudecode"; then
-  ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_uudecode="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-uudecode=$ac_cv_prog_uudecode
-if test -n "$uudecode"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
-$as_echo "$uudecode" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$uudecode = xyes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
-$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
-if ${ac_cv_prog_uudecode_base64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
-YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
-aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
-AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
-AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
-====
-EOF
-if uudecode$EXEEXT Test.uue; then
-        ac_cv_prog_uudecode_base64=yes
-else
-        echo "configure: 18371: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
-        echo "configure: failed file was:" >&5
-        cat Test.uue >&5
-        ac_cv_prog_uudecode_base64=no
-fi
-rm -f Test.uue
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
-$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
-fi
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        rm -f Test.class
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5
-$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;}
-        if test x$ac_cv_prog_javac_works = xno; then
-                as_fn_error $? "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5
-        fi
-        if test x$ac_cv_prog_javac_works = x; then
-
-if test "x$JAVAPREFIX" = x; then
-        test "x$JAVAC" = x && for ac_prog in "gcj$EXEEXT -C" guavac$EXEEXT jikes$EXEEXT javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAVAC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVAC"; then
-  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVAC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$JAVAC" && break
-done
-
-else
-        test "x$JAVAC" = x && for ac_prog in "gcj$EXEEXT -C" guavac$EXEEXT jikes$EXEEXT javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAVAC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVAC"; then
-  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVAC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="$JAVAPREFIX"
-
-fi
-test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
-$as_echo_n "checking if $JAVAC works... " >&6; }
-if ${ac_cv_prog_javac_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-cat << \EOF > $JAVA_TEST
-/* #line 18489 "configure" */
-public class Test {
-}
-EOF
-if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } >/dev/null 2>&1; then
-  ac_cv_prog_javac_works=yes
-else
-  as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
-  echo "configure: failed program was:" >&5
-  cat $JAVA_TEST >&5
-fi
-rm -f $JAVA_TEST $CLASS_TEST
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
-$as_echo "$ac_cv_prog_javac_works" >&6; }
-
-
-        fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5
-$as_echo_n "checking if $JAVA works... " >&6; }
-if ${ac_cv_prog_java_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-TEST=Test
-cat << \EOF > $JAVA_TEST
-/* [#]line 18524 "configure" */
-public class Test {
-public static void main (String args[]) {
-        System.exit (0);
-} }
-EOF
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } && test -s $CLASS_TEST; then
-                :
-        else
-          echo "configure: failed program was:" >&5
-          cat $JAVA_TEST >&5
-          as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
-        fi
-fi
-if { ac_try='$JAVA $JAVAFLAGS $TEST'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } >/dev/null 2>&1; then
-  ac_cv_prog_java_works=yes
-else
-  echo "configure: failed program was:" >&5
-  cat $JAVA_TEST >&5
-  as_fn_error $? "The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
-fi
-rm -fr $JAVA_TEST $CLASS_TEST Test.uue
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5
-$as_echo "$ac_cv_prog_java_works" >&6; }
-
-
-
-if test "$have_junit4" = "1"; then :
-
-
-
-ac_var_name=`echo org.junit.rules.ExternalResource | sed 's/\./_/g'`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for org.junit.rules.ExternalResource class" >&5
-$as_echo_n "checking for org.junit.rules.ExternalResource class... " >&6; }
-if eval \${ac_cv_class_$ac_var_name+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-if test x$ac_cv_prog_uudecode_base64 = xyes; then
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AKQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAANlcnIBABVMamF2YS9pby9QcmludFN0cmVhbTsJ
-AA0ACQcADgEAEGphdmEvbGFuZy9TeXN0ZW0IABABABBNaXNzaW5nIGFyZ3Vt
-ZW50DAASABMBAAdwcmludGxuAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWCgAV
-ABEHABYBABNqYXZhL2lvL1ByaW50U3RyZWFtDAAYABkBAARleGl0AQAEKEkp
-VgoADQAXDAAcAB0BAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylM
-amF2YS9sYW5nL0NsYXNzOwoAHwAbBwAgAQAPamF2YS9sYW5nL0NsYXNzBwAi
-AQAgamF2YS9sYW5nL0NsYXNzTm90Rm91bmRFeGNlcHRpb24BAAY8aW5pdD4B
-AAMoKVYMACMAJAoAAwAlAQAKU291cmNlRmlsZQEACVRlc3QuamF2YQAhAAEA
-AwAAAAAAAgAJAAUABgABAAcAAABtAAMAAwAAACkqvgSiABCyAAwSD7YAFBBN
-uAAaKgMyuAAeTKcACE0EuAAaAUwDuAAasQABABMAGgAdACEAAQAIAAAAKgAK
-AAAACgAAAAsABgANAA4ADgATABAAEwASAB4AFgAiABgAJAAZACgAGgABACMA
-JAABAAcAAAAhAAEAAQAAAAUqtwAmsQAAAAEACAAAAAoAAgAAAAQABAAEAAEA
-JwAAAAIAKA==
-====
-EOF
-                if uudecode$EXEEXT Test.uue; then
-                        :
-                else
-                        echo "configure: 18598: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
-                        echo "configure: failed file was:" >&5
-                        cat Test.uue >&5
-                        ac_cv_prog_uudecode_base64=no
-                fi
-        rm -f Test.uue
-        if { ac_try='$JAVA $JAVAFLAGS Test org.junit.rules.ExternalResource'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } >/dev/null 2>&1; then
-                eval "ac_cv_class_$ac_var_name=yes"
-        else
-                eval "ac_cv_class_$ac_var_name=no"
-        fi
-        rm -f Test.class
-else
-
-cat << \EOF > Test.java
-/* #line 18618 "configure" */
-import org.junit.rules.ExternalResource;
-public class Test {
-
-}
-EOF
-if { ac_try='$JAVAC $JAVACFLAGS Test.java'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } && test -s Test.class
-then
-  eval "ac_cv_class_$ac_var_name=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat Test.java >&5
-  rm -fr Test*
-  eval "ac_cv_class_$ac_var_name=no"
-fi
-rm -fr Test*
-fi
-eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`"
-eval "HAVE_$ac_var_name=$`echo ac_cv_class_$ac_var_val`"
-HAVE_LAST_CLASS=$ac_var_val
-if test x$ac_var_val = xyes; then
-        :
-else
-
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: Could not find org.junit.rules.ExternalResource" >&5
-$as_echo "$as_me: Could not find org.junit.rules.ExternalResource" >&6;}
-		have_junit4=0
-fi
-
-fi
-
-eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_var_val" >&5
-$as_echo "$ac_var_val" >&6; }
-
-fi
-
-        # Check for jni.h
-	CPPFLAGS_save=$CPPFLAGS
-
-	if test -n "$EXTRA_JDK_INC_DIR"; then :
-  JDK_CPPFLAGS="-I$EXTRA_JDK_INC_DIR"
-		   if test -d "$EXTRA_JDK_INC_DIR/linux"; then :
-  JDK_CPPFLAGS="$JDK_CPPFLAGS -I$EXTRA_JDK_INC_DIR/linux"
-fi
-		   CPPFLAGS="$CPPFLAGS $JDK_CPPFLAGS"
-fi
-
-	ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default"
-if test "x$ac_cv_header_jni_h" = xyes; then :
-
-else
-  as_fn_error $? "Cannot find header 'jni.h'. Try setting --with-jdk-dir" "$LINENO" 5
-fi
-
-
-
-	CPPFLAGS=$CPPFLAGS_save
-
-	# Setup output var
-
-fi
- if test "$have_junit4" = "1"; then
-  HAVE_JUNIT4_TRUE=
-  HAVE_JUNIT4_FALSE='#'
-else
-  HAVE_JUNIT4_TRUE='#'
-  HAVE_JUNIT4_FALSE=
-fi
-
-
-# jni?
-# clear cache (from java above) -- this whole thing will get
-# folded into the bigger java package later -- for now maintain
-# backward compat
-{ ac_cv_header_jni_h=; unset ac_cv_header_jni_h;}
-
-# Check whether --with-hadoop was given.
-if test "${with_hadoop+set}" = set; then :
-  withval=$with_hadoop;
-else
-  with_hadoop=check
-fi
-
-if test "x$with_hadoop" != xno; then :
-  ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default"
-if test "x$ac_cv_header_jni_h" = xyes; then :
-  HAVE_JNI=1
-else
-  if test "x$with_hadoop" != xcheck; then
-                 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "--with-hadoop was given but jni.h not found
-See \`config.log' for more details" "$LINENO" 5; }
-               fi
-
-fi
-
-
-fi
- if test "$HAVE_JNI" = "1"; then
-  WITH_HADOOPCLIENT_TRUE=
-  WITH_HADOOPCLIENT_FALSE='#'
-else
-  WITH_HADOOPCLIENT_TRUE='#'
-  WITH_HADOOPCLIENT_FALSE=
-fi
-
-
-#
-# FreeBSD has it in base.
-#
-if test x"$freebsd" != x"yes"; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBEDIT" >&5
-$as_echo_n "checking for LIBEDIT... " >&6; }
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBEDIT" >&5
+$as_echo_n "checking for LIBEDIT... " >&6; }
 
 if test -n "$LIBEDIT_CFLAGS"; then
     pkg_cv_LIBEDIT_CFLAGS="$LIBEDIT_CFLAGS"
@@ -19223,6 +18999,102 @@ else
 fi
 
 
+# use libzfs
+
+# Check whether --with-libzfs was given.
+if test "${with_libzfs+set}" = set; then :
+  withval=$with_libzfs;
+else
+  with_libzfs=no
+fi
+
+if test "x$with_libzfs" = xyes; then :
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBZFS" >&5
+$as_echo_n "checking for LIBZFS... " >&6; }
+
+if test -n "$LIBZFS_CFLAGS"; then
+    pkg_cv_LIBZFS_CFLAGS="$LIBZFS_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zfs\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "zfs") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBZFS_CFLAGS=`$PKG_CONFIG --cflags "zfs" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$LIBZFS_LIBS"; then
+    pkg_cv_LIBZFS_LIBS="$LIBZFS_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zfs\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "zfs") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBZFS_LIBS=`$PKG_CONFIG --libs "zfs" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LIBZFS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zfs" 2>&1`
+        else
+	        LIBZFS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zfs" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LIBZFS_PKG_ERRORS" >&5
+
+	true
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	true
+else
+	LIBZFS_CFLAGS=$pkg_cv_LIBZFS_CFLAGS
+	LIBZFS_LIBS=$pkg_cv_LIBZFS_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+fi
+if test "x$with_libzfs" = xyes; then :
+
+$as_echo "#define HAVE_LIBZFS 1" >>confdefs.h
+
+fi
+ if  test "$with_libzfs" = "yes" ; then
+  WITH_LIBZFS_TRUE=
+  WITH_LIBZFS_FALSE='#'
+else
+  WITH_LIBZFS_TRUE='#'
+  WITH_LIBZFS_FALSE=
+fi
+
+
 # Checks for header files.
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
@@ -19827,6 +19699,30 @@ fi
 
 
 
+for ac_header in sys/prctl.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_prctl_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_PRCTL_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in prctl
+do :
+  ac_fn_c_check_func "$LINENO" "prctl" "ac_cv_func_prctl"
+if test "x$ac_cv_func_prctl" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PRCTL 1
+_ACEOF
+
+fi
+done
+
+
 # Checks for typedefs, structures, and compiler characteristics.
 #AC_HEADER_STDBOOL
 #AC_C_CONST
@@ -20237,6 +20133,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -20265,6 +20165,22 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${CLANG_TRUE}" && test -z "${CLANG_FALSE}"; then
+  as_fn_error $? "conditional \"CLANG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_GOOD_YASM_ELF64_TRUE}" && test -z "${WITH_GOOD_YASM_ELF64_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_GOOD_YASM_ELF64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_FPU_NEON_TRUE}" && test -z "${ENABLE_FPU_NEON_FALSE}"; then
+  as_fn_error $? "conditional \"ENABLE_FPU_NEON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${COMPILER_HAS_VTA_TRUE}" && test -z "${COMPILER_HAS_VTA_FALSE}"; then
+  as_fn_error $? "conditional \"COMPILER_HAS_VTA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${WITH_PROFILER_TRUE}" && test -z "${WITH_PROFILER_FALSE}"; then
   as_fn_error $? "conditional \"WITH_PROFILER\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -20297,10 +20213,6 @@ if test -z "${HAVE_JUNIT4_TRUE}" && test -z "${HAVE_JUNIT4_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_JUNIT4\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_HADOOPCLIENT_TRUE}" && test -z "${WITH_HADOOPCLIENT_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_HADOOPCLIENT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${WITH_LIBATOMIC_TRUE}" && test -z "${WITH_LIBATOMIC_FALSE}"; then
   as_fn_error $? "conditional \"WITH_LIBATOMIC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -20321,6 +20233,10 @@ if test -z "${WITH_LIBAIO_TRUE}" && test -z "${WITH_LIBAIO_FALSE}"; then
   as_fn_error $? "conditional \"WITH_LIBAIO\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${WITH_LIBZFS_TRUE}" && test -z "${WITH_LIBZFS_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_LIBZFS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_BOOST_SPIRIT_OLD_HDR_TRUE}" && test -z "${USE_BOOST_SPIRIT_OLD_HDR_FALSE}"; then
   as_fn_error $? "conditional \"USE_BOOST_SPIRIT_OLD_HDR\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -20738,7 +20654,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ceph $as_me 0.67.2, which was
+This file was extended by ceph $as_me 0.72.1, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20804,7 +20720,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ceph config.status 0.67.2
+ceph config.status 0.72.1
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index fd38873..6b3ffe5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ AC_PREREQ(2.59)
 # VERSION define is not used by the code.  It gets a version string
 # from 'git describe'; see src/ceph_ver.[ch]
 
-AC_INIT([ceph], [0.67.2], [ceph-devel at vger.kernel.org])
+AC_INIT([ceph], [0.72.1], [ceph-devel at vger.kernel.org])
 
 # Create release string.  Used with VERSION for RPMs.
 RPM_RELEASE=0
@@ -33,6 +33,8 @@ AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE
 AM_PROG_CC_C_O
 AM_PROG_LIBTOOL
+AM_PROG_AS
+
 
 # enable make V=0 (if automake >1.11)
 AM_INIT_AUTOMAKE([foreign])
@@ -59,6 +61,8 @@ if test "$CXX" = no || test "$CXX:$GXX" = "g++:"; then
   AC_MSG_ERROR([no C++ compiler found])
 fi
 
+AM_CONDITIONAL(CLANG, test x"$CXX" = x"clang++")
+
 #AC_PROG_CC
 AC_PROG_MAKE_SET
 AC_PROG_LIBTOOL
@@ -68,6 +72,19 @@ AC_PROG_LIBTOOL
 AC_SUBST(AM_CXXFLAGS)
 AM_CXXFLAGS="${AM_CXXFLAGS}"
 
+# Check for yasm
+if yasm -f elf64 src/common/crc32c_intel_fast_asm.S -o /dev/null; then
+   echo 'we have a modern and working yasm'
+   if test `arch` = "x86_64"; then
+      echo 'we are x86_64'
+      AC_DEFINE([HAVE_GOOD_YASM_ELF64], [1], [we have a recent yasm and are x86_64])
+      with_good_yasm=yes
+   fi
+else
+   echo 'we do not have a modern/working yasm'
+fi
+AM_CONDITIONAL(WITH_GOOD_YASM_ELF64, test "$with_good_yasm" = "yes")
+
 # Checks for compiler warning types
 
 # AC_CHECK_CC_FLAG(FLAG_TO_TEST, VARIABLE_TO_SET_IF_SUPPORTED)
@@ -89,6 +106,13 @@ AC_DEFUN([AC_CHECK_CC_FLAG],
 AC_CHECK_CC_FLAG([-Wtype-limits], [WARN_TYPE_LIMITS])
 AC_CHECK_CC_FLAG([-Wignored-qualifiers], [WARN_IGNORED_QUALIFIERS])
 
+# Checks for architecture stuff
+AM_CONDITIONAL([ENABLE_FPU_NEON], [case $target_cpu in arm*) true;; *) false;; esac])
+
+# Check for compiler VTA support
+AX_CHECK_COMPILE_FLAG([-fvar-tracking-assignments], [HAS_VTA_SUPPORT=1], [HAS_VTA_SUPPORT=0])
+AM_CONDITIONAL(COMPILER_HAS_VTA, [test "$HAS_VTA_SUPPORT" = 1])
+
 # Checks for libraries.
 ACX_PTHREAD
 AC_CHECK_LIB([uuid], [uuid_parse], [true], AC_MSG_FAILURE([libuuid not found]))
@@ -250,7 +274,10 @@ AS_IF([test "x$with_fuse" != xno],
                          [Define if you have fuse])
                HAVE_LIBFUSE=1
 	       # look for fuse_getgroups and define FUSE_GETGROUPS if found
+           LIBS_saved="$LIBS"
+           LIBS="$LIBS -lfuse"
 	       AC_CHECK_FUNCS([fuse_getgroups])
+           LIBS="$LIBS_saved"
               ],
              [AC_MSG_FAILURE(
                    [no FUSE found (use --without-fuse to disable)])])])
@@ -306,14 +333,18 @@ if test "x$enable_cephfs_java" = "xyes"; then
 
 	# setup defaults for Debian default-jdk package (without --with-jdk-dir)
 	AS_IF([test -z "$with_jdk_dir"], [
-		   # This works with Debian's default-jdk package
-		   dir='/usr/lib/jvm/default-java/'
-		   javac_prog=`find $dir -name javac | head -n 1`
-		   AS_IF([test -x "$javac_prog"], [
-				  EXTRA_JDK_BIN_DIR=`dirname $javac_prog`])
-		   jnih=`find $dir -name jni.h | head -n 1`
-		   AS_IF([test -r "$jnih"], [
-				  EXTRA_JDK_INC_DIR=`dirname $jnih`])])
+		   # This works with Debian's and CentOS' default-jdk package
+       for dir in '/usr/lib/jvm/default-java/' '/usr/lib/jvm/java/' ; do
+          # only test if a suitable path has not yet been found
+          AS_IF([test "$EXTRA_JDK_BIN_DIR" == ""], [
+		          AS_IF([test -x "$javac_prog"], [
+				          EXTRA_JDK_BIN_DIR=`dirname $javac_prog`])
+		          jnih=`find $dir -name jni.h | head -n 1`
+		          AS_IF([test -r "$jnih"], [
+				          EXTRA_JDK_INC_DIR=`dirname $jnih`])
+              ])
+       done
+       ])
 
         # cephfs_java_test only makes sense if java is already turned on
 	# setup CLASSPATH for Debian default junit4.jar package 
@@ -341,10 +372,6 @@ if test "x$enable_cephfs_java" = "xyes"; then
         CLASSPATH=$CLASSPATH:$EXTRA_CLASSPATH_JAR
         export CLASSPATH
         AC_MSG_NOTICE([classpath - $CLASSPATH])
-        AS_IF([test "$have_junit4" = "1"], [
-		AC_CHECK_CLASS([org.junit.rules.ExternalResource], [], [
-		AC_MSG_NOTICE(Could not find org.junit.rules.ExternalResource)
-		have_junit4=0])])
 
         # Check for jni.h
 	CPPFLAGS_save=$CPPFLAGS
@@ -364,25 +391,6 @@ if test "x$enable_cephfs_java" = "xyes"; then
 fi
 AM_CONDITIONAL(HAVE_JUNIT4, [test "$have_junit4" = "1"])
 
-# jni?
-# clear cache (from java above) -- this whole thing will get
-# folded into the bigger java package later -- for now maintain
-# backward compat
-AS_UNSET(ac_cv_header_jni_h)
-AC_ARG_WITH([hadoop],
-            [AS_HELP_STRING([--with-hadoop], [build hadoop client])],
-            [],
-            [with_hadoop=check])
-AS_IF([test "x$with_hadoop" != xno],
-	    [AC_CHECK_HEADER([jni.h],
-             [HAVE_JNI=1],
-             [if test "x$with_hadoop" != xcheck; then
-                 AC_MSG_FAILURE(
-                   [--with-hadoop was given but jni.h not found])
-               fi
-             ])])
-AM_CONDITIONAL(WITH_HADOOPCLIENT, [test "$HAVE_JNI" = "1"])
-
 #
 # FreeBSD has it in base.
 #
@@ -463,6 +471,17 @@ AS_IF([test "$with_libaio" = "yes"],
 	    [AC_DEFINE([HAVE_LIBAIO], [1], [Defined if you don't have atomic_ops])])
 AM_CONDITIONAL(WITH_LIBAIO, [ test "$with_libaio" = "yes" ])
 
+# use libzfs
+AC_ARG_WITH([libzfs],
+	    [AS_HELP_STRING([--with-libzfs], [build ZFS support])],
+	    ,
+	    [with_libzfs=no])
+AS_IF([test "x$with_libzfs" = xyes],
+	    [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])])
+AS_IF([test "x$with_libzfs" = xyes],
+	    [AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])])
+AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ])
+
 # Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
@@ -517,6 +536,9 @@ AC_CHECK_FUNC([fallocate],
 	[])
 
 
+AC_CHECK_HEADERS([sys/prctl.h])
+AC_CHECK_FUNCS([prctl])
+
 # Checks for typedefs, structures, and compiler characteristics.
 #AC_HEADER_STDBOOL
 #AC_C_CONST
diff --git a/m4/ac_check_class.m4 b/m4/ac_check_class.m4
deleted file mode 100644
index 17932c5..0000000
--- a/m4/ac_check_class.m4
+++ /dev/null
@@ -1,108 +0,0 @@
-dnl @synopsis AC_CHECK_CLASS
-dnl
-dnl AC_CHECK_CLASS tests the existence of a given Java class, either in
-dnl a jar or in a '.class' file.
-dnl
-dnl *Warning*: its success or failure can depend on a proper setting of
-dnl the CLASSPATH env. variable.
-dnl
-dnl Note: This is part of the set of autoconf M4 macros for Java
-dnl programs. It is VERY IMPORTANT that you download the whole set,
-dnl some macros depend on other. Unfortunately, the autoconf archive
-dnl does not support the concept of set of macros, so I had to break it
-dnl for submission. The general documentation, as well as the sample
-dnl configure.in, is included in the AC_PROG_JAVA macro.
-dnl
-dnl @category Java
-dnl @author Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-dnl @version 2000-07-19
-dnl @license GPLWithACException
-
-AC_DEFUN([AC_CHECK_CLASS],[
-AC_REQUIRE([AC_PROG_JAVA])
-ac_var_name=`echo $1 | sed 's/\./_/g'`
-dnl Normaly I'd use a AC_CACHE_CHECK here but since the variable name is
-dnl dynamic I need an extra level of extraction
-AC_MSG_CHECKING([for $1 class])
-AC_CACHE_VAL(ac_cv_class_$ac_var_name, [
-if test x$ac_cv_prog_uudecode_base64 = xyes; then
-dnl /**
-dnl  * Test.java: used to test dynamicaly if a class exists.
-dnl  */
-dnl public class Test
-dnl {
-dnl
-dnl public static void
-dnl main( String[] argv )
-dnl {
-dnl     Class lib;
-dnl     if (argv.length < 1)
-dnl      {
-dnl             System.err.println ("Missing argument");
-dnl             System.exit (77);
-dnl      }
-dnl     try
-dnl      {
-dnl             lib = Class.forName (argv[0]);
-dnl      }
-dnl     catch (ClassNotFoundException e)
-dnl      {
-dnl             System.exit (1);
-dnl      }
-dnl     lib = null;
-dnl     System.exit (0);
-dnl }
-dnl
-dnl }
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AKQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAANlcnIBABVMamF2YS9pby9QcmludFN0cmVhbTsJ
-AA0ACQcADgEAEGphdmEvbGFuZy9TeXN0ZW0IABABABBNaXNzaW5nIGFyZ3Vt
-ZW50DAASABMBAAdwcmludGxuAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWCgAV
-ABEHABYBABNqYXZhL2lvL1ByaW50U3RyZWFtDAAYABkBAARleGl0AQAEKEkp
-VgoADQAXDAAcAB0BAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylM
-amF2YS9sYW5nL0NsYXNzOwoAHwAbBwAgAQAPamF2YS9sYW5nL0NsYXNzBwAi
-AQAgamF2YS9sYW5nL0NsYXNzTm90Rm91bmRFeGNlcHRpb24BAAY8aW5pdD4B
-AAMoKVYMACMAJAoAAwAlAQAKU291cmNlRmlsZQEACVRlc3QuamF2YQAhAAEA
-AwAAAAAAAgAJAAUABgABAAcAAABtAAMAAwAAACkqvgSiABCyAAwSD7YAFBBN
-uAAaKgMyuAAeTKcACE0EuAAaAUwDuAAasQABABMAGgAdACEAAQAIAAAAKgAK
-AAAACgAAAAsABgANAA4ADgATABAAEwASAB4AFgAiABgAJAAZACgAGgABACMA
-JAABAAcAAAAhAAEAAQAAAAUqtwAmsQAAAAEACAAAAAoAAgAAAAQABAAEAAEA
-JwAAAAIAKA==
-====
-EOF
-                if uudecode$EXEEXT Test.uue; then
-                        :
-                else
-                        echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AC_FD_CC
-                        echo "configure: failed file was:" >&AC_FD_CC
-                        cat Test.uue >&AC_FD_CC
-                        ac_cv_prog_uudecode_base64=no
-                fi
-        rm -f Test.uue
-        if AC_TRY_COMMAND($JAVA $JAVAFLAGS Test $1) >/dev/null 2>&1; then
-                eval "ac_cv_class_$ac_var_name=yes"
-        else
-                eval "ac_cv_class_$ac_var_name=no"
-        fi
-        rm -f Test.class
-else
-        AC_TRY_COMPILE_JAVA([$1], , [eval "ac_cv_class_$ac_var_name=yes"],
-                [eval "ac_cv_class_$ac_var_name=no"])
-fi
-eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`"
-eval "HAVE_$ac_var_name=$`echo ac_cv_class_$ac_var_val`"
-HAVE_LAST_CLASS=$ac_var_val
-if test x$ac_var_val = xyes; then
-        ifelse([$2], , :, [$2])
-else
-        ifelse([$3], , :, [$3])
-fi
-])
-dnl for some reason the above statment didn't fall though here?
-dnl do scripts have variable scoping?
-eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`"
-AC_MSG_RESULT($ac_var_val)
-])
diff --git a/m4/ac_prog_java.m4 b/m4/ac_prog_java.m4
deleted file mode 100644
index d16c2d6..0000000
--- a/m4/ac_prog_java.m4
+++ /dev/null
@@ -1,83 +0,0 @@
-dnl @synopsis AC_PROG_JAVA
-dnl
-dnl Here is a summary of the main macros:
-dnl
-dnl AC_PROG_JAVAC: finds a Java compiler.
-dnl
-dnl AC_PROG_JAVA: finds a Java virtual machine.
-dnl
-dnl AC_CHECK_CLASS: finds if we have the given class (beware of
-dnl CLASSPATH!).
-dnl
-dnl AC_CHECK_RQRD_CLASS: finds if we have the given class and stops
-dnl otherwise.
-dnl
-dnl AC_TRY_COMPILE_JAVA: attempt to compile user given source.
-dnl
-dnl AC_TRY_RUN_JAVA: attempt to compile and run user given source.
-dnl
-dnl AC_JAVA_OPTIONS: adds Java configure options.
-dnl
-dnl AC_PROG_JAVA tests an existing Java virtual machine. It uses the
-dnl environment variable JAVA then tests in sequence various common
-dnl Java virtual machines. For political reasons, it starts with the
-dnl free ones. You *must* call [AC_PROG_JAVAC] before.
-dnl
-dnl If you want to force a specific VM:
-dnl
-dnl - at the configure.in level, set JAVA=yourvm before calling
-dnl AC_PROG_JAVA
-dnl
-dnl   (but after AC_INIT)
-dnl
-dnl - at the configure level, setenv JAVA
-dnl
-dnl You can use the JAVA variable in your Makefile.in, with @JAVA at .
-dnl
-dnl *Warning*: its success or failure can depend on a proper setting of
-dnl the CLASSPATH env. variable.
-dnl
-dnl TODO: allow to exclude virtual machines (rationale: most Java
-dnl programs cannot run with some VM like kaffe).
-dnl
-dnl Note: This is part of the set of autoconf M4 macros for Java
-dnl programs. It is VERY IMPORTANT that you download the whole set,
-dnl some macros depend on other. Unfortunately, the autoconf archive
-dnl does not support the concept of set of macros, so I had to break it
-dnl for submission.
-dnl
-dnl A Web page, with a link to the latest CVS snapshot is at
-dnl <http://www.internatif.org/bortzmeyer/autoconf-Java/>.
-dnl
-dnl This is a sample configure.in Process this file with autoconf to
-dnl produce a configure script.
-dnl
-dnl    AC_INIT(UnTag.java)
-dnl
-dnl    dnl Checks for programs.
-dnl    AC_CHECK_CLASSPATH
-dnl    AC_PROG_JAVAC
-dnl    AC_PROG_JAVA
-dnl
-dnl    dnl Checks for classes
-dnl    AC_CHECK_RQRD_CLASS(org.xml.sax.Parser)
-dnl    AC_CHECK_RQRD_CLASS(com.jclark.xml.sax.Driver)
-dnl
-dnl    AC_OUTPUT(Makefile)
-dnl
-dnl @category Java
-dnl @author Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-dnl @version 2000-07-19
-dnl @license GPLWithACException
-
-AC_DEFUN([AC_PROG_JAVA],[
-AC_REQUIRE([AC_EXEEXT])dnl
-if test x$JAVAPREFIX = x; then
-        test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$EXEEXT java$EXEEXT)
-else
-        test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$EXEEXT java$EXEEXT, $JAVAPREFIX)
-fi
-test x$JAVA = x && AC_MSG_ERROR([no acceptable Java virtual machine found in \$PATH])
-AC_PROG_JAVA_WORKS
-AC_PROVIDE([$0])dnl
-])
diff --git a/m4/ac_prog_java_works.m4 b/m4/ac_prog_java_works.m4
deleted file mode 100644
index bb14a88..0000000
--- a/m4/ac_prog_java_works.m4
+++ /dev/null
@@ -1,98 +0,0 @@
-dnl @synopsis AC_PROG_JAVA_WORKS
-dnl
-dnl Internal use ONLY.
-dnl
-dnl Note: This is part of the set of autoconf M4 macros for Java
-dnl programs. It is VERY IMPORTANT that you download the whole set,
-dnl some macros depend on other. Unfortunately, the autoconf archive
-dnl does not support the concept of set of macros, so I had to break it
-dnl for submission. The general documentation, as well as the sample
-dnl configure.in, is included in the AC_PROG_JAVA macro.
-dnl
-dnl @category Java
-dnl @author Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-dnl @version 2000-07-19
-dnl @license GPLWithACException
-
-AC_DEFUN([AC_PROG_JAVA_WORKS], [
-AC_CHECK_PROG(uudecode, uudecode$EXEEXT, yes)
-if test x$uudecode = xyes; then
-AC_CACHE_CHECK([if uudecode can decode base 64 file], ac_cv_prog_uudecode_base64, [
-dnl /**
-dnl  * Test.java: used to test if java compiler works.
-dnl  */
-dnl public class Test
-dnl {
-dnl
-dnl public static void
-dnl main( String[] argv )
-dnl {
-dnl     System.exit (0);
-dnl }
-dnl
-dnl }
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
-YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
-aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
-AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
-AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
-====
-EOF
-if uudecode$EXEEXT Test.uue; then
-        ac_cv_prog_uudecode_base64=yes
-else
-        echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AC_FD_CC
-        echo "configure: failed file was:" >&AC_FD_CC
-        cat Test.uue >&AC_FD_CC
-        ac_cv_prog_uudecode_base64=no
-fi
-rm -f Test.uue])
-fi
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        rm -f Test.class
-        AC_MSG_WARN([I have to compile Test.class from scratch])
-        if test x$ac_cv_prog_javac_works = xno; then
-                AC_MSG_ERROR([Cannot compile java source. $JAVAC does not work properly])
-        fi
-        if test x$ac_cv_prog_javac_works = x; then
-                AC_PROG_JAVAC
-        fi
-fi
-AC_CACHE_CHECK(if $JAVA works, ac_cv_prog_java_works, [
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-TEST=Test
-changequote(, )dnl
-cat << \EOF > $JAVA_TEST
-/* [#]line __oline__ "configure" */
-public class Test {
-public static void main (String args[]) {
-        System.exit (0);
-} }
-EOF
-changequote([, ])dnl
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then
-                :
-        else
-          echo "configure: failed program was:" >&AC_FD_CC
-          cat $JAVA_TEST >&AC_FD_CC
-          AC_MSG_ERROR(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?))
-        fi
-fi
-if AC_TRY_COMMAND($JAVA $JAVAFLAGS $TEST) >/dev/null 2>&1; then
-  ac_cv_prog_java_works=yes
-else
-  echo "configure: failed program was:" >&AC_FD_CC
-  cat $JAVA_TEST >&AC_FD_CC
-  AC_MSG_ERROR(The Java VM $JAVA failed (see config.log, check the CLASSPATH?))
-fi
-rm -fr $JAVA_TEST $CLASS_TEST Test.uue
-])
-AC_PROVIDE([$0])dnl
-]
-)
diff --git a/m4/ac_try_compile_java.m4 b/m4/ac_try_compile_java.m4
deleted file mode 100644
index 102a04c..0000000
--- a/m4/ac_try_compile_java.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-dnl @synopsis AC_TRY_COMPILE_JAVA
-dnl
-dnl AC_TRY_COMPILE_JAVA attempt to compile user given source.
-dnl
-dnl *Warning*: its success or failure can depend on a proper setting of
-dnl the CLASSPATH env. variable.
-dnl
-dnl Note: This is part of the set of autoconf M4 macros for Java
-dnl programs. It is VERY IMPORTANT that you download the whole set,
-dnl some macros depend on other. Unfortunately, the autoconf archive
-dnl does not support the concept of set of macros, so I had to break it
-dnl for submission. The general documentation, as well as the sample
-dnl configure.in, is included in the AC_PROG_JAVA macro.
-dnl
-dnl @category Java
-dnl @author Devin Weaver <ktohg at tritarget.com>
-dnl @version 2000-07-19
-dnl @license AllPermissive
-
-AC_DEFUN([AC_TRY_COMPILE_JAVA],[
-AC_REQUIRE([AC_PROG_JAVAC])dnl
-cat << \EOF > Test.java
-/* [#]line __oline__ "configure" */
-ifelse([$1], , , [import $1;])
-public class Test {
-[$2]
-}
-EOF
-if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class
-then
-dnl Don't remove the temporary files here, so they can be examined.
-  ifelse([$3], , :, [$3])
-else
-  echo "configure: failed program was:" >&AC_FD_CC
-  cat Test.java >&AC_FD_CC
-ifelse([$4], , , [  rm -fr Test*
-  $4
-])dnl
-fi
-rm -fr Test*])
diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
new file mode 100644
index 0000000..c3a8d69
--- /dev/null
+++ b/m4/ax_check_compile_flag.m4
@@ -0,0 +1,72 @@
+# ===========================================================================
+#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#
+# DESCRIPTION
+#
+#   Check whether the given FLAG works with the current language's compiler
+#   or gives an error.  (Warnings, however, are ignored)
+#
+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+#   success/failure.
+#
+#   If EXTRA-FLAGS is defined, it is added to the current language's default
+#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
+#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
+#   force the compiler to issue an error when a bad flag is given.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans at gmail.com>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 2
+
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+    [AS_VAR_SET(CACHEVAR,[yes])],
+    [AS_VAR_SET(CACHEVAR,[no])])
+  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/man/Makefile.am b/man/Makefile.am
index 5096022..be071b1 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -26,4 +26,5 @@ dist_man_MANS = \
 	ceph-dencoder.8 \
 	ceph-rest-api.8 \
 	ceph-rbdnamer.8 \
+	ceph-post-file.8 \
 	rbd-fuse.8
diff --git a/man/Makefile.in b/man/Makefile.in
index aaa7652..5443f74 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -38,19 +38,17 @@ subdir = man
 DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_class.m4 \
-	$(top_srcdir)/m4/ac_check_classpath.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
-	$(top_srcdir)/m4/ac_prog_java.m4 \
-	$(top_srcdir)/m4/ac_prog_java_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javac_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_try_compile_java.m4 \
-	$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -107,6 +105,9 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -141,7 +142,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 JAR = @JAR@
-JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
 JDK_CPPFLAGS = @JDK_CPPFLAGS@
@@ -154,6 +154,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTCMALLOC = @LIBTCMALLOC@
 LIBTOOL = @LIBTOOL@
+LIBZFS_CFLAGS = @LIBZFS_CFLAGS@
+LIBZFS_LIBS = @LIBZFS_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -259,7 +261,6 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-uudecode = @uudecode@
 AUTOMAKE_OPTIONS = gnu
 dist_man_MANS = \
 	ceph-osd.8 \
@@ -287,6 +288,7 @@ dist_man_MANS = \
 	ceph-dencoder.8 \
 	ceph-rest-api.8 \
 	ceph-rbdnamer.8 \
+	ceph-post-file.8 \
 	rbd-fuse.8
 
 all: all-am
diff --git a/man/ceph-post-file.8 b/man/ceph-post-file.8
new file mode 100644
index 0000000..110f3c2
--- /dev/null
+++ b/man/ceph-post-file.8
@@ -0,0 +1,130 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CEPH-POST-FILE" "8" "August 14, 2013" "dev" "Ceph"
+.SH NAME
+ceph-post-file \- post files for ceph developers
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.nf
+\fBceph\-post\-file\fP [\-d \fIdescription] [\-u *user\fP] \fIfile or dir\fP ...
+.fi
+.sp
+.SH DESCRIPTION
+.sp
+\fBceph\-post\-file\fP will upload files or directories to ceph.com for
+later analysis by Ceph developers.
+.sp
+Each invocation uploads files or directories to a separate directory
+with a unique tag.  That tag can be passed to a developer or
+referenced in a bug report (\fI\%http://tracker.ceph.com/\fP).  Once the
+upload completes, the directory is marked non\-readable and
+non\-writeable to prevent access or modification by other users.
+.SH WARNING
+.sp
+Basic measures are taken to make posted data be visible only to
+developers with access to ceph.com infrastructure. However, users
+should think twice and/or take appropriate precautions before
+posting potentially sensitive data (for example, logs or data
+directories that contain Ceph secrets).
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-d *description*, \-\-description *description*
+Add a short description for the upload.  This is a good opportunity
+to reference a bug number.  There is no default value.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-u *user*
+Set the user metadata for the upload.  This defaults to \fIwhoami\(ga@\(gahostname \-f\fP\&.
+.UNINDENT
+.SH EXAMPLES
+.sp
+To upload a single log:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ceph\-post\-file /var/log/ceph/ceph\-mon.\(gahostname\(ga.log
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+To upload several directories:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ceph\-post\-file \-d \(aqmon data directories\(aq /var/log/ceph/mon/*
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AVAILABILITY
+.sp
+\fBceph\-post\-file\fP is part of the Ceph distributed file system. Please refer to
+the Ceph documentation at \fI\%http://ceph.com/docs\fP for more information.
+.SH SEE ALSO
+.sp
+\fBceph\fP(8),
+\fBceph\-debugpack\fP(8),
+.SH COPYRIGHT
+2010-2013, Inktank Storage, Inc. and contributors. Licensed under Creative Commons BY-SA
+.\" Generated by docutils manpage writer.
+.
diff --git a/man/rbd.8 b/man/rbd.8
index 27a74aa..8804867 100644
--- a/man/rbd.8
+++ b/man/rbd.8
@@ -148,6 +148,11 @@ Specifies output formatting (default: plain, json, xml)
 .B \-\-pretty\-format
 Make json or xml formatted output more human\-readable.
 .UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-read\-only
+Set device readonly when mapping image.
+.UNINDENT
 .SH COMMANDS
 .INDENT 0.0
 .TP
diff --git a/share/id_dsa_drop.ceph.com b/share/id_dsa_drop.ceph.com
new file mode 100644
index 0000000..3efc985
--- /dev/null
+++ b/share/id_dsa_drop.ceph.com
@@ -0,0 +1,12 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIBugIBAAKBgQDv8F/WToUDOc2HRWUOqtq5ilORE+5P53yZUo7ugr8XD3wM0H7Q
+IIl9F9fizwUtL2gh3n1BnBxmPhkVU6VYsiDpn1P3dWvRmf+jyqPuk+b185L0Erb8
+QsExADv6v33Yyd+9i5oTI988Rm1VWY6QhP7neW6yMPt2noi1TwleLm6z2wIVAKHL
+ciT2S0w/dbTFQDFHSEOCAif3AoGAHwOYd8YEInrcBrXPFJuPFbQKr8ceO3/ItY0r
+/W/L92nXUJbdl1JEt2KfkdwaxkBhlYT7E1JR5MRoTNBTEMCFjHxemZCdH+03+Jzq
++RAQ28p77przbqOFaMuZuQoGlqMy3gYrhnPRGEJGjh+pkhMePqUPCCKFtRntNzlH
+lDh4uOACgYBLGpqu3Pthhd4fnawv8Md16gc/p1Vg/5vyAzi9Gshhgf1hXvFHdeJv
+AN/5mgE/Ekg7fqeNUhui9LYkuuOMgP267naGkAAgxV3bbiy439Vj8SzXdOQk4agA
+YgebWkmJrdMtUSzeBYBkqBZTZODvQwCmYdR6INuNuZtA+rHgKwiAHQIUZak7aJD8
+y4kap9GmduDYmp6/JxU=
+-----END DSA PRIVATE KEY-----
diff --git a/share/id_dsa_drop.ceph.com.pub b/share/id_dsa_drop.ceph.com.pub
new file mode 100644
index 0000000..e7e5383
--- /dev/null
+++ b/share/id_dsa_drop.ceph.com.pub
@@ -0,0 +1 @@
+ssh-dss AAAAB3NzaC1kc3MAAACBAO/wX9ZOhQM5zYdFZQ6q2rmKU5ET7k/nfJlSju6CvxcPfAzQftAgiX0X1+LPBS0vaCHefUGcHGY+GRVTpViyIOmfU/d1a9GZ/6PKo+6T5vXzkvQStvxCwTEAO/q/fdjJ372LmhMj3zxGbVVZjpCE/ud5brIw+3aeiLVPCV4ubrPbAAAAFQChy3Ik9ktMP3W0xUAxR0hDggIn9wAAAIAfA5h3xgQietwGtc8Um48VtAqvxx47f8i1jSv9b8v3addQlt2XUkS3Yp+R3BrGQGGVhPsTUlHkxGhM0FMQwIWMfF6ZkJ0f7Tf4nOr5EBDbynvumvNuo4Voy5m5CgaWozLeBiuGc9EYQkaOH6mSEx4+pQ8IIoW1Ge03OUeUOHi44AAAAIBLGpqu3Pthhd4fnawv8Md16gc/p1Vg/5vyAzi9Gshhgf1hXvFHdeJvAN/5mgE/Ekg7fqeNUhui9LYk [...]
diff --git a/share/known_hosts_drop.ceph.com b/share/known_hosts_drop.ceph.com
new file mode 100644
index 0000000..862df67
--- /dev/null
+++ b/share/known_hosts_drop.ceph.com
@@ -0,0 +1 @@
+drop.ceph.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjl2XzIpS92snr4SymcBVQx7y6d/ZjzCKJAlGZYkgknWWf+JBEpXp+cOoMk2Td5pIPkOdn72pGAuuPzL9HSJpN/o75tzbv0mAd//3t9D5/Kpnd+tWIDDgj+RIz8ZKRxSR8lnVjsUHlTrwQwaUkZ3KDiVgtQXDp0+1rU1+02cEkeBStoMLQt/6xw1hmPGSIAMH2HRkyge+/I8RwK7jbTwwcxh61Vxe0qMGkDO6vUVXw+K6hoXV4uGaqZ9/B2GirXJPz6ulvLC/mtEdgtfKS3eiMTaJS5Cpne6rJw2Wm7kHfQPstJaUq06BJiRe6R+JHC897NVZd0yc1bZe+BI0PmQJL
diff --git a/src/.git_version b/src/.git_version
index c89773c..50d4b7c 100644
--- a/src/.git_version
+++ b/src/.git_version
@@ -1,2 +1,2 @@
-eb4380dd036a0b644c6283869911d615ed729ac8
-v0.67.2
+4d923861868f6a15dcb33fef7f50f674997322de
+v0.72.1
diff --git a/src/Makefile-env.am b/src/Makefile-env.am
new file mode 100644
index 0000000..9bc6ee7
--- /dev/null
+++ b/src/Makefile-env.am
@@ -0,0 +1,184 @@
+AUTOMAKE_OPTIONS = gnu subdir-objects
+
+SUBDIRS =
+DIST_SUBDIRS =
+BUILT_SOURCES =
+EXTRA_DIST =
+CLEANFILES =
+
+noinst_HEADERS =
+bin_PROGRAMS =
+noinst_PROGRAMS =
+bin_SCRIPTS =
+sbin_PROGRAMS =
+sbin_SCRIPTS =
+su_sbin_PROGRAMS =
+su_sbin_SCRIPTS =
+dist_bin_SCRIPTS =
+lib_LTLIBRARIES = 
+noinst_LTLIBRARIES = 
+noinst_LIBRARIES =
+radoslib_LTLIBRARIES =
+
+# like bin_PROGRAMS, but these targets are only built for debug builds
+bin_DEBUGPROGRAMS =
+
+# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin
+ceph_sbindir = $(sbindir)
+
+# certain things go straight into /sbin, though!
+su_sbindir = /sbin
+
+# C/C++ tests to build will be appended to this
+check_PROGRAMS =
+
+# tests scripts will be appended to this
+check_SCRIPTS =
+
+# python unit tests need to know where the scripts are located
+export PYTHONPATH=$(top_srcdir)/src/pybind
+
+# when doing a debug build, make sure to make the targets
+if WITH_DEBUG
+bin_PROGRAMS += $(bin_DEBUGPROGRAMS)
+endif
+
+
+##################################
+## automake environment
+
+AM_COMMON_CPPFLAGS = \
+	-D__CEPH__ \
+	-D_FILE_OFFSET_BITS=64 \
+	-D_REENTRANT \
+	-D_THREAD_SAFE \
+	-D__STDC_FORMAT_MACROS \
+	-D_GNU_SOURCE \
+	-DCEPH_LIBDIR=\"${libdir}\"
+
+AM_COMMON_CFLAGS = \
+	-rdynamic \
+	-Wall \
+	${WARN_TYPE_LIMITS} \
+	${WARN_IGNORED_QUALIFIERS} \
+	-Winit-self \
+	-Wpointer-arith \
+	-Werror=format-security \
+	-fno-strict-aliasing \
+	-fsigned-char
+
+AM_CFLAGS = $(AM_COMMON_CFLAGS)
+AM_CPPFLAGS = $(AM_COMMON_CPPFLAGS)
+AM_CXXFLAGS = \
+	@AM_CXXFLAGS@ \
+	$(AM_COMMON_CFLAGS) \
+	-Wnon-virtual-dtor \
+	-Wno-invalid-offsetof \
+	-Wstrict-null-sentinel
+
+# note: this is position dependant, it affects the -l options that
+# come after it on the command line. when you use ${AM_LDFLAGS} in
+# later rules, take care where you place it. for more information, see
+# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do
+# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed
+# http://www.gentoo.org/proj/en/qa/asneeded.xml
+# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html
+# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/
+AM_LDFLAGS = -Wl,--as-needed
+
+if USE_BOOST_SPIRIT_OLD_HDR
+AM_CXXFLAGS += -DUSE_BOOST_SPIRIT_OLD_HDR
+endif
+
+if WITH_LIBATOMIC
+AM_LDFLAGS += -latomic_ops
+endif
+
+if ENABLE_COVERAGE
+AM_CFLAGS += -fprofile-arcs -ftest-coverage
+AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0
+endif
+
+CCAS = ${srcdir}/yasm-wrapper
+AM_CCASFLAGS = -f elf64
+
+
+#####################
+## library definitions and dependencies
+
+EXTRALIBS = -luuid -lm -lkeyutils
+if FREEBSD
+EXTRALIBS += -lexecinfo
+endif # FREEBSD
+
+if LINUX
+EXTRALIBS += -lrt
+endif # LINUX
+
+if WITH_PROFILER
+EXTRALIBS += -lprofiler
+endif # PROFILER
+
+LIBGLOBAL = libglobal.la
+LIBCOMMON = libcommon.la
+LIBARCH = libarch.la
+LIBPERFGLUE = libperfglue.la
+LIBAUTH = libauth.la
+LIBMSG = libmsg.la
+LIBCRUSH = libcrush.la
+LIBJSON_SPIRIT = libjson_spirit.la
+LIBLOG = liblog.la
+LIBOS = libos.la
+LIBOSD = libosd.la
+LIBOSDC = libosdc.la
+LIBMON = libmon.la
+LIBMDS = libmds.la
+LIBCLIENT = libclient.la
+LIBCLIENT_FUSE = libclient_fuse.la
+LIBRADOS = librados.la
+LIBRGW = librgw.la
+LIBRBD = librbd.la
+LIBCEPHFS = libcephfs.la
+
+if WITH_LIBAIO
+LIBOS += -laio
+endif # WITH_LIBAIO
+
+if WITH_LIBZFS
+LIBOS += libos_zfs.a -lzfs
+endif # WITH_LIBZFS
+
+if WITH_TCMALLOC
+LIBPERFGLUE += -ltcmalloc
+endif # WITH_TCMALLOC
+
+if ENABLE_COVERAGE
+EXTRALIBS += -lgcov
+endif # ENABLE_COVERAGE
+
+# Libosd always needs osdc and os
+LIBOSD += $(LIBOSDC) $(LIBOS)
+
+# These have references to syms like ceph_using_tcmalloc(), glue libperfglue to them
+LIBMON += $(LIBPERFGLUE)
+LIBOSD += $(LIBPERFGLUE)
+LIBMDS += $(LIBPERFGLUE)
+
+# Always use system leveldb
+LIBOS += -lleveldb -lsnappy
+
+# Use this for binaries requiring libglobal
+CEPH_GLOBAL = $(LIBGLOBAL) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
+
+# This is set by [lib]/Makefile.am and used for build tests
+LIBCOMMON_DEPS =
+LIBRADOS_DEPS =
+LIBRGW_DEPS =
+
+# This is used by the dencoder test
+DENCODER_SOURCES =
+DENCODER_DEPS =
+
+
+radoslibdir = $(libdir)/rados-classes
+
diff --git a/src/Makefile.am b/src/Makefile.am
index a9bbde3..d9189bd 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,1267 +1,125 @@
-AUTOMAKE_OPTIONS = gnu
-SUBDIRS = ocf java
-DIST_SUBDIRS = gtest ocf libs3 java
-
-EXTRA_DIST = \
-	libs3/COPYING \
-	libs3/ChangeLog \
-	libs3/GNUmakefile \
-	libs3/GNUmakefile.mingw \
-	libs3/GNUmakefile.osx \
-	libs3/INSTALL \
-	libs3/LICENSE \
-	libs3/README \
-	libs3/TODO \
-	libs3/archlinux \
-	libs3/debian \
-	libs3/doxyfile \
-	libs3/inc \
-	libs3/libs3.spec \
-	libs3/mswin \
-	libs3/src \
-	libs3/test \
-	unittest_bufferlist.sh
-
-CLEANFILES =
-bin_PROGRAMS =
-# like bin_PROGRAMS, but these targets are only built for debug builds
-bin_DEBUGPROGRAMS =
-sbin_PROGRAMS =
-# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin
-ceph_sbindir = $(exec_prefix)$(sbindir)
-ceph_sbin_SCRIPTS = \
-	ceph-disk \
-	ceph-disk-prepare \
-	ceph-disk-activate \
-	ceph-disk-udev \
-	ceph-create-keys
-
-sbin_SCRIPTS = \
-	mount.fuse.ceph
-
-bin_SCRIPTS = ceph ceph-run ceph-rest-api ceph-clsinfo ceph-debugpack ceph-rbdnamer
-dist_bin_SCRIPTS =
-# C/C++ tests to build will be appended to this
-check_PROGRAMS =
-# tests to actually run on "make check"; if you need extra, non-test,
-# executables built, you need to replace this with manual assignments
-# target by target
-TESTS = $(check_PROGRAMS) unittest_bufferlist.sh
-
-check-local:
-	$(srcdir)/test/encoding/check-generated.sh
-	$(srcdir)/test/encoding/readable.sh ../ceph-object-corpus
-
-EXTRALIBS = -luuid
-if FREEBSD
-EXTRALIBS += -lexecinfo
-endif
-if LINUX
-EXTRALIBS += -lrt
-endif
-if WITH_PROFILER
-EXTRALIBS += -lprofiler
-endif
-
-LIBGLOBAL_LDA = libglobal.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-
-LIBOS_LDA = libos.a
-
-if WITH_LIBAIO
-LIBOS_LDA += -laio
-endif
-
-# use system leveldb
-LIBOS_LDA += -lleveldb -lsnappy
-
-# monitor
-ceph_mon_SOURCES = ceph_mon.cc common/TextTable.cc
-ceph_mon_LDFLAGS = $(AM_LDFLAGS)
-ceph_mon_LDADD = libmon.a $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_mon_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
+include Makefile-env.am
+
+SUBDIRS += ocf java
+DIST_SUBDIRS += gtest ocf libs3 java
+
+
+# subdirs
+
+include arch/Makefile.am
+include auth/Makefile.am
+include crush/Makefile.am
+include mon/Makefile.am
+include mds/Makefile.am
+include os/Makefile.am
+include osd/Makefile.am
+include osdc/Makefile.am
+include client/Makefile.am
+include global/Makefile.am
+include json_spirit/Makefile.am
+include log/Makefile.am
+include perfglue/Makefile.am
+include common/Makefile.am
+include msg/Makefile.am
+include messages/Makefile.am
+include include/Makefile.am
+include librados/Makefile.am
+include librbd/Makefile.am
+include rgw/Makefile.am
+include cls/Makefile.am
+include key_value_store/Makefile.am
+include test/Makefile.am
+include tools/Makefile.am
+
+
+# core daemons
+
+ceph_mon_SOURCES = ceph_mon.cc
+ceph_mon_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL)
 bin_PROGRAMS += ceph-mon
 
-ceph_mon_store_converter_SOURCES =  mon_store_converter.cc \
-			       mon/MonitorStore.cc
-ceph_mon_store_converter_LDFLAGS = ${AM_LDFLAGS}
-ceph_mon_store_converter_LDADD =  $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_mon_store_converter_CXXFLAGS = ${AM_CXXFLAGS}
-bin_PROGRAMS += ceph_mon_store_converter
-
-
-# osd
-ceph_osd_SOURCES = ceph_osd.cc objclass/class_debug.cc \
-	       objclass/class_api.cc
-ceph_osd_LDADD = libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_osd_CXXFLAGS = ${AM_CXXFLAGS}
-bin_PROGRAMS += ceph-osd
-
+ceph_osd_SOURCES = ceph_osd.cc
+ceph_osd_LDADD = $(LIBOSD) $(CEPH_GLOBAL)
 if LINUX
 ceph_osd_LDADD += -ldl
-endif
+endif # LINUX
+bin_PROGRAMS += ceph-osd
 
-# mds
 ceph_mds_SOURCES = ceph_mds.cc
-ceph_mds_LDADD = libmds.a libosdc.la $(LIBGLOBAL_LDA)
+ceph_mds_LDADD = $(LIBMDS) $(LIBOSDC) $(CEPH_GLOBAL)
 bin_PROGRAMS += ceph-mds
-ceph_mds_CXXFLAGS = ${AM_CXXFLAGS}
+
 
 # admin tools
 
-ceph_conf_SOURCES = ceph_conf.cc
-ceph_conf_LDADD = $(LIBGLOBAL_LDA)
-ceph_conf_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_authtool_SOURCES = ceph_authtool.cc
-ceph_authtool_LDADD = $(LIBGLOBAL_LDA)
-ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc objclass/class_debug.cc \
-	       objclass/class_api.cc
-ceph_filestore_dump_SOURCES += perfglue/disabled_heap_profiler.cc
-ceph_filestore_dump_LDADD = libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options
-if LINUX
-ceph_filestore_dump_LDADD += -ldl
-endif
-bin_PROGRAMS += ceph-conf ceph-authtool ceph_filestore_dump
-
-ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc \
-			  os/LevelDBStore.cc
-ceph_osdomap_tool_LDFLAGS = ${AM_LDFLAGS}
-ceph_osdomap_tool_LDADD =  $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options
-ceph_osdomap_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph-osdomap-tool
-
-ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc \
-			  os/LevelDBStore.cc
-ceph_monstore_tool_LDFLAGS = ${AM_LDFLAGS}
-ceph_monstore_tool_LDADD =  $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options
-ceph_monstore_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph-monstore-tool
-
-monmaptool_SOURCES = monmaptool.cc
-monmaptool_LDADD = $(LIBGLOBAL_LDA)
-crushtool_SOURCES = crushtool.cc
-crushtool_LDADD = $(LIBGLOBAL_LDA)
-osdmaptool_SOURCES = osdmaptool.cc
-osdmaptool_LDADD = $(LIBGLOBAL_LDA)
-bin_PROGRAMS += monmaptool crushtool osdmaptool
-
-rgw_dencoder_src = rgw/rgw_dencoder.cc \
-                   rgw/rgw_acl.cc \
-                   rgw/rgw_common.cc \
-                   rgw/rgw_env.cc \
-                   rgw/rgw_json_enc.cc
-
-ceph_dencoder_SOURCES = test/encoding/ceph_dencoder.cc ${rgw_dencoder_src} perfglue/disabled_heap_profiler.cc
-ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_dencoder_LDADD = $(LIBGLOBAL_LDA) libcls_lock_client.a \
-			  libcls_rgw_client.a \
-			  libcls_replica_log_client.a \
-			  libcls_refcount_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
-mount_ceph_LDADD = -lkeyutils
-if LINUX
-sbin_PROGRAMS += mount.ceph
-endif
 
 # user tools
+
+mount_ceph_SOURCES = mount/mount.ceph.c
+mount_ceph_LDADD = $(LIBCOMMON)
+if LINUX
+su_sbin_PROGRAMS += mount.ceph
+endif # LINUX
+su_sbin_SCRIPTS += mount.fuse.ceph
+
 cephfs_SOURCES = cephfs.cc
-cephfs_LDADD = libcommon.la
+cephfs_LDADD = $(LIBCOMMON)
 bin_PROGRAMS += cephfs
 
 librados_config_SOURCES = librados-config.cc
-librados_config_LDADD = librados.la $(LIBGLOBAL_LDA)
+librados_config_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
 bin_PROGRAMS += librados-config
 
-# synthetic client
-ceph_syn_SOURCES = ceph_syn.cc client/SyntheticClient.cc
-ceph_syn_LDADD = libclient.la $(LIBGLOBAL_LDA)
+ceph_syn_SOURCES = ceph_syn.cc
+ceph_syn_SOURCES += client/SyntheticClient.cc # uses g_conf.. needs cleanup
+ceph_syn_LDADD = $(LIBCLIENT) $(CEPH_GLOBAL)
 bin_PROGRAMS += ceph-syn
 
-base: ceph-mon ceph-osd ceph-mds \
-	cephfs \
-	ceph-syn \
-	rados radosgw librados-config \
-	ceph-conf monmaptool osdmaptool crushtool ceph-authtool \
-	init-ceph mkcephfs mon_store_converter
+rbd_SOURCES = rbd.cc 
+rbd_LDADD = $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
+if LINUX
+bin_PROGRAMS += rbd
+endif #LINUX
+
+
 
+# Fuse targets
 
-# fuse targets?
 if WITH_FUSE
-ceph_fuse_SOURCES = ceph_fuse.cc client/fuse_ll.cc
-ceph_fuse_LDADD = -lfuse libclient.la $(LIBGLOBAL_LDA)
-ceph_fuse_CXXFLAGS = ${AM_CXXFLAGS}
+ceph_fuse_SOURCES = ceph_fuse.cc
+ceph_fuse_LDADD = $(LIBCLIENT_FUSE) $(CEPH_GLOBAL)
 bin_PROGRAMS += ceph-fuse
 
 rbd_fuse_SOURCES = rbd_fuse/rbd-fuse.c
-rbd_fuse_LDADD = -lfuse librados.la librbd.la $(LIBGLOBAL_LDA)
-rbd_fuse_CXXFLAGS = ${AM_CXXFLAGS}
+rbd_fuse_LDADD = -lfuse $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
 bin_PROGRAMS += rbd-fuse
+endif # WITH_FUSE
 
-endif
-
-# tcmalloc?
-if WITH_TCMALLOC
-tcmalloc_safety_flags = -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
-ceph_osd_LDADD += -ltcmalloc
-ceph_osd_CXXFLAGS += ${tcmalloc_safety_flags}
-ceph_osd_SOURCES += perfglue/heap_profiler.cc
-ceph_mds_LDADD += -ltcmalloc
-ceph_mds_CXXFLAGS += ${tcmalloc_safety_flags}
-ceph_mds_SOURCES += perfglue/heap_profiler.cc
-ceph_mon_LDADD += -ltcmalloc
-ceph_mon_CXXFLAGS += ${tcmalloc_safety_flags}
-ceph_mon_SOURCES += perfglue/heap_profiler.cc
-if WITH_FUSE
-ceph_fuse_LDADD += -ltcmalloc
-ceph_fuse_CXXFLAGS += ${tcmalloc_safety_flags}
-endif #WITH_FUSE
-else
-ceph_osd_SOURCES += perfglue/disabled_heap_profiler.cc
-ceph_mds_SOURCES += perfglue/disabled_heap_profiler.cc
-ceph_mon_SOURCES += perfglue/disabled_heap_profiler.cc
-endif # WITH_TCMALLOC
-
-# debug targets
-ceph_psim_SOURCES = psim.cc
-ceph_psim_LDADD = $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_psim
-
-ceph_test_mutate_SOURCES = test/test_mutate.cc
-ceph_test_mutate_LDADD = librados.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_mutate
-
-ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc
-ceph_test_rewrite_latency_LDADD = libcommon.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-bin_DEBUGPROGRAMS += ceph_test_rewrite_latency
-
-ceph_test_msgr_SOURCES = testmsgr.cc
-ceph_test_msgr_LDADD = $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_msgr
-
-ceph_test_ioctls_SOURCES = client/test_ioctls.c
-bin_DEBUGPROGRAMS += ceph_test_ioctls
-
-ceph_dupstore_SOURCES = dupstore.cc
-ceph_dupstore_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_dupstore_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_streamtest_SOURCES = streamtest.cc
-ceph_streamtest_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_streamtest_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_dupstore ceph_streamtest
-
-ceph_test_trans_SOURCES = test_trans.cc
-ceph_test_trans_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_test_trans_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_trans
-
-ceph_test_rados_SOURCES = test/osd/TestRados.cc test/osd/TestOpStat.cc test/osd/Object.cc  test/osd/RadosModel.cc
-ceph_test_rados_LDADD = librados.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_rados
-
-ceph_smalliobench_SOURCES = test/bench/small_io_bench.cc test/bench/rados_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobench_LDADD = librados.la -lboost_program_options $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_smalliobench
-
-ceph_smalliobenchfs_SOURCES = test/bench/small_io_bench_fs.cc test/bench/filestore_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchfs_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_smalliobenchfs_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_smalliobenchfs
-
-ceph_smalliobenchdumb_SOURCES = test/bench/small_io_bench_dumb.cc test/bench/dumb_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchdumb_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_smalliobenchdumb_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_smalliobenchdumb
-
-ceph_smalliobenchrbd_SOURCES = test/bench/small_io_bench_rbd.cc test/bench/rbd_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchrbd_LDADD = librados.la librbd.la -lboost_program_options $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_smalliobenchrbd
-
-ceph_tpbench_SOURCES = test/bench/tp_bench.cc test/bench/detailed_stat_collector.cc
-ceph_tpbench_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_tpbench
-
-ceph_omapbench_SOURCES = test/omap_bench.cc
-ceph_omapbench_LDADD = librados.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_omapbench
-
-ceph_kvstorebench_SOURCES = test/kv_store_bench.cc key_value_store/kv_flat_btree_async.cc
-ceph_kvstorebench_LDADD = librados.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_kvstorebench
-
-ceph_multi_stress_watch_SOURCES = test/multi_stress_watch.cc test/librados/test.cc
-ceph_multi_stress_watch_LDADD = librados.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_multi_stress_watch 
-
-if WITH_BUILD_TESTS
-ceph_test_libcommon_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files)
-ceph_test_libcommon_build_LDADD = $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-bin_DEBUGPROGRAMS += ceph_test_libcommon_build
-
-ceph_test_librados_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) $(librados_SOURCES)
-ceph_test_librados_build_LDADD = $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_test_librados_build_CXXFLAGS = $(AM_CXXFLAGS)
-bin_DEBUGPROGRAMS += ceph_test_librados_build
-
-ceph_test_librgw_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) \
-			    $(librados_SOURCES) $(librgw_la_SOURCES)
-ceph_test_librgw_build_LDADD = -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_test_librgw_build_CXXFLAGS = $(AM_CXXFLAGS)
-bin_DEBUGPROGRAMS += ceph_test_librgw_build
-
-ceph_test_libcephfs_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) \
-			    $(libosdc_la_SOURCES)
-ceph_test_libcephfs_build_LDADD = libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_test_libcephfs_build_CXXFLAGS = $(AM_CXXFLAGS)
-bin_DEBUGPROGRAMS += ceph_test_libcephfs_build
-endif
 
-if WITH_HADOOPCLIENT
-ceph_test_libhadoopcephfs_build_SOURCES = test/test_libcommon_build.cc \
-         $(libhadoopcephfs_la_SOURCES) \
-	 $(libosdc_la_SOURCES) $(libcommon_files)
-ceph_test_libhadoopcephfs_build_LDADD = libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_test_libhadoopcephfs_build_CXXFLAGS = $(AM_CXXFLAGS)
-bin_DEBUGPROGRAMS += ceph_test_libhadoopcephfs_build
-endif
+# libcephfs (this should go somewhere else in the future)
 
-##########
-BUILT_SOURCES =
-lib_LTLIBRARIES = 
-noinst_LTLIBRARIES = 
-noinst_LIBRARIES =
-
-# libcephfs
-libcephfs_la_SOURCES = \
-	libcephfs.cc
-libcephfs_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libcephfs_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcephfs_la_LIBADD = libclient.la
-libcephfs_la_LDFLAGS =  $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \
-            ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*'
+libcephfs_la_SOURCES = libcephfs.cc
+libcephfs_la_LIBADD = $(LIBCLIENT) $(LIBCOMMON) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+libcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*'
 lib_LTLIBRARIES += libcephfs.la
 
-ceph_test_timers_SOURCES = test/TestTimers.cc
-ceph_test_timers_LDADD = $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_timers
-
-ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc
-ceph_test_signal_handlers_LDADD = $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_test_signal_handlers
-
-# librados
-librados_SOURCES = \
-	librados/librados.cc \
-	librados/RadosClient.cc \
-	librados/IoCtxImpl.cc \
-	osdc/Objecter.cc \
-	osdc/Striper.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc
-librados_la_SOURCES = ${librados_SOURCES}
-librados_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-librados_la_CXXFLAGS = ${AM_CXXFLAGS}
-librados_la_LIBADD = libcommon.la $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
-librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^rados_.*'
-lib_LTLIBRARIES += librados.la
-
-if WITH_RADOSGW
-
-# rgw
-librgw_a_SOURCES =  \
-	rgw/librgw.cc \
-	rgw/rgw_acl.cc \
-	rgw/rgw_acl_s3.cc \
-	rgw/rgw_acl_swift.cc \
-	rgw/rgw_client_io.cc \
-	rgw/rgw_fcgi.cc \
-	rgw/rgw_xml.cc \
-	rgw/rgw_usage.cc \
-	rgw/rgw_json_enc.cc \
-	rgw/rgw_user.cc \
-	rgw/rgw_bucket.cc\
-        rgw/rgw_tools.cc \
-	rgw/rgw_rados.cc \
-        rgw/rgw_http_client.cc \
-        rgw/rgw_rest_client.cc \
-	rgw/rgw_rest_conn.cc \
-	rgw/rgw_op.cc \
-	rgw/rgw_common.cc \
-	rgw/rgw_cache.cc \
-	rgw/rgw_formats.cc \
-	rgw/rgw_log.cc \
-	rgw/rgw_multi.cc \
-	rgw/rgw_policy_s3.cc \
-	rgw/rgw_gc.cc \
-	rgw/rgw_multi_del.cc \
-	rgw/rgw_env.cc \
-	rgw/rgw_cors.cc \
-	rgw/rgw_cors_s3.cc \
-        rgw/rgw_auth_s3.cc \
-	rgw/rgw_metadata.cc \
-	rgw/rgw_replica_log.cc
-librgw_a_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-librgw_a_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS}
-noinst_LIBRARIES += librgw.a
-
-my_radosgw_ldadd = \
-       libglobal.la librgw.a librados.la libcls_rgw_client.a libcls_log_client.a \
-       libcls_statelog_client.a libcls_replica_log_client.a libcls_lock_client.a \
-       libcls_refcount_client.a libcls_version_client.a -lcurl -lexpat \
-       $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) $(LIBGLOBAL_LDA)
-
-radosgw_SOURCES = \
-	rgw/rgw_resolve.cc \
-        rgw/rgw_rest.cc \
-        rgw/rgw_rest_swift.cc \
-        rgw/rgw_rest_s3.cc \
-        rgw/rgw_rest_usage.cc \
-        rgw/rgw_rest_user.cc \
-        rgw/rgw_rest_bucket.cc \
-        rgw/rgw_rest_metadata.cc \
-        rgw/rgw_replica_log.cc \
-        rgw/rgw_rest_log.cc \
-        rgw/rgw_rest_opstate.cc \
-        rgw/rgw_rest_replica_log.cc \
-        rgw/rgw_rest_config.cc \
-        rgw/rgw_http_client.cc \
-        rgw/rgw_swift.cc \
-	rgw/rgw_swift_auth.cc \
-	rgw/rgw_main.cc
-radosgw_LDADD = $(my_radosgw_ldadd) -lfcgi -lresolv
-radosgw_CXXFLAGS = ${AM_CXXFLAGS}
-bin_PROGRAMS += radosgw
-
-radosgw_admin_SOURCES = rgw/rgw_admin.cc
-radosgw_admin_CXXFLAGS = ${AM_CXXFLAGS}
-radosgw_admin_LDADD = $(my_radosgw_ldadd)
-bin_PROGRAMS += radosgw-admin
-
-ceph_rgw_multiparser_SOURCES = rgw/rgw_multiparser.cc
-ceph_rgw_multiparser_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_rgw_multiparser_LDADD = $(my_radosgw_ldadd)
-bin_DEBUGPROGRAMS += ceph_rgw_multiparser
-
-ceph_rgw_jsonparser_SOURCES = rgw/rgw_jsonparser.cc rgw/rgw_common.cc rgw/rgw_env.cc rgw/rgw_json_enc.cc
-ceph_rgw_jsonparser_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_rgw_jsonparser_LDADD = $(my_radosgw_ldadd)
-bin_DEBUGPROGRAMS += ceph_rgw_jsonparser
-
-endif
-
-# librbd
-librbd_la_SOURCES = \
-	librbd/librbd.cc \
-	librbd/AioCompletion.cc \
-	librbd/AioRequest.cc \
-	cls/rbd/cls_rbd_client.cc \
-	librbd/ImageCtx.cc \
-	librbd/internal.cc \
-	librbd/LibrbdWriteback.cc \
-	librbd/WatchCtx.cc \
-	osdc/ObjectCacher.cc \
-	osdc/Striper.cc \
-	librados/snap_set_diff.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc \
-	common/util.cc
-librbd_la_CFLAGS = ${AM_CFLAGS} ${CRYPTO_CFLAGS}
-librbd_la_CXXFLAGS = ${AM_CXXFLAGS}
-librbd_la_LIBADD = librados.la
-librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 \
-	-export-symbols-regex '^rbd_.*' $(PTHREAD_LIBS) $(EXTRALIBS) 
-lib_LTLIBRARIES += librbd.la
-
-rados_SOURCES = rados.cc rados_import.cc rados_export.cc rados_sync.cc common/obj_bencher.cc
-rados_LDADD = libcls_lock_client.a librados.la $(LIBGLOBAL_LDA)
-bin_PROGRAMS += rados
-
-if WITH_REST_BENCH
-
-rest_bench_SOURCES = tools/rest_bench.cc common/obj_bencher.cc
-rest_bench_LDADD = $(LIBGLOBAL_LDA)
-rest_bench_CXXFLAGS = ${AM_CXXFLAGS}
-bin_PROGRAMS += rest-bench
-
-if WITH_SYSTEM_LIBS3
-rest_bench_LDADD += -ls3
-else
-rest_bench_LDADD += libs3/build/lib/libs3.a -lcurl -lxml2
-rest_bench_CXXFLAGS += -I$(top_srcdir)/src/libs3/inc
-SUBDIRS += libs3
-endif
-
-endif
-
-ceph_scratchtool_SOURCES = scratchtool.c
-ceph_scratchtool_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_scratchtoolpp_SOURCES = scratchtoolpp.cc
-ceph_scratchtoolpp_LDADD = librados.la $(PTHREAD_LIBS) -lm
-ceph_radosacl_SOURCES = radosacl.cc
-ceph_radosacl_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-bin_DEBUGPROGRAMS += ceph_scratchtool ceph_scratchtoolpp ceph_radosacl
-
-rbd_SOURCES = rbd.cc common/secret.c common/TextTable.cc common/util.cc
-rbd_CXXFLAGS = ${AM_CXXFLAGS}
-rbd_LDADD = librbd.la librados.la $(LIBGLOBAL_LDA) -lkeyutils
-if LINUX
-bin_PROGRAMS += rbd
-endif
-
-
-ceph_test_crypto_SOURCES = testcrypto.cc
-ceph_test_crypto_LDADD =  $(LIBGLOBAL_LDA)
-ceph_test_crypto_CXXFLAGS = ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_crypto
-
-ceph_test_keys_SOURCES = testkeys.cc
-ceph_test_keys_LDADD = libmon.a $(LIBGLOBAL_LDA) 
-ceph_test_keys_CXXFLAGS = ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_keys
-
-if WITH_TCMALLOC
-ceph_test_keys_LDADD += -ltcmalloc
-ceph_test_keys_CXXFLAGS += ${tcmalloc_safety_flags}
-ceph_test_keys_SOURCES += perfglue/heap_profiler.cc
-endif
-
-
-## rados object classes
-
-# rbd: rados block device class
-libcls_rbd_la_SOURCES = cls/rbd/cls_rbd.cc
-libcls_rbd_la_CFLAGS = ${AM_CFLAGS}
-libcls_rbd_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_rbd_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_rbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslibdir = $(libdir)/rados-classes
-radoslib_LTLIBRARIES = libcls_rbd.la
-
-
-# lock class
-libcls_lock_la_SOURCES = cls/lock/cls_lock.cc
-libcls_lock_la_CFLAGS = ${AM_CFLAGS}
-libcls_lock_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_lock_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_lock_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_lock.la
-
-# refcount class
-libcls_refcount_la_SOURCES = \
-	cls/refcount/cls_refcount.cc \
-	cls/refcount/cls_refcount_ops.cc \
-	common/ceph_json.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp
-libcls_refcount_la_CFLAGS = ${AM_CFLAGS}
-libcls_refcount_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_refcount_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_refcount_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_refcount.la
-
-# version class
-libcls_version_la_SOURCES = cls/version/cls_version.cc
-libcls_version_la_CFLAGS = ${AM_CFLAGS}
-libcls_version_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_version_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_version_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_version.la
-
-# log class
-libcls_log_la_SOURCES = cls/log/cls_log.cc
-libcls_log_la_CFLAGS = ${AM_CFLAGS}
-libcls_log_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_log.la
-
-libcls_statelog_la_SOURCES = cls/statelog/cls_statelog.cc
-libcls_statelog_la_CFLAGS = ${AM_CFLAGS}
-libcls_statelog_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_statelog_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_statelog_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_statelog.la
-
-# replica log class
-libcls_replica_log_la_SOURCES = cls/replica_log/cls_replica_log.cc
-libcls_replica_log_la_CFLAGS = ${AM_CFLAGS}
-libcls_replica_log_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_replica_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_replica_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_replica_log.la
-
-# rgw: rados gateway
-libcls_rgw_la_SOURCES = \
-	cls/rgw/cls_rgw.cc \
-	cls/rgw/cls_rgw_ops.cc \
-	cls/rgw/cls_rgw_types.cc \
-	common/ceph_json.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp
-libcls_rgw_la_CFLAGS = ${AM_CFLAGS}
-libcls_rgw_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_rgw_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_rgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_rgw.la
-
-libcls_lock_client_a_SOURCES =  \
-	cls/lock/cls_lock_client.cc  \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc
-noinst_LIBRARIES += libcls_lock_client.a
-
-libcls_refcount_client_a_SOURCES =  \
-	cls/refcount/cls_refcount_client.cc \
-	cls/refcount/cls_refcount_ops.cc
-noinst_LIBRARIES += libcls_refcount_client.a
-
-libcls_version_client_a_SOURCES =  \
-	cls/version/cls_version_client.cc \
-	cls/version/cls_version_types.cc
-noinst_LIBRARIES += libcls_version_client.a
-
-libcls_log_client_a_SOURCES =  \
-	cls/log/cls_log_client.cc
-noinst_LIBRARIES += libcls_log_client.a
-
-libcls_statelog_client_a_SOURCES =  \
-	cls/statelog/cls_statelog_client.cc
-noinst_LIBRARIES += libcls_statelog_client.a
-
-libcls_replica_log_client_a_SOURCES = \
-	cls/replica_log/cls_replica_log_types.cc \
-	cls/replica_log/cls_replica_log_ops.cc \
-	cls/replica_log/cls_replica_log_client.cc
-noinst_LIBRARIES += libcls_replica_log_client.a
-
-libcls_rgw_client_a_SOURCES =  \
-	cls/rgw/cls_rgw_client.cc \
-	cls/rgw/cls_rgw_types.cc \
-	cls/rgw/cls_rgw_ops.cc
-noinst_LIBRARIES += libcls_rgw_client.a
-
-## hadoop client
-if WITH_HADOOPCLIENT
-JAVA_BASE = /usr/lib/jvm/java-6-sun
-libhadoopcephfs_la_SOURCES = client/hadoop/CephFSInterface.cc
-libhadoopcephfs_la_LIBADD = libcephfs.la
-libhadoopcephfs_la_CFLAGS = ${AM_CFLAGS}
-libhadoopcephfs_la_CXXFLAGS = ${AM_CXXFLAGS}
-libhadoopcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex 'hadoopcephfs_.*'
-lib_LTLIBRARIES += libhadoopcephfs.la
+# jni library (java source is in src/java)
 
-endif
-
-## CephFS Java Wrappers
-##  - The JNI library is here
-##  - The Java source Makefile.am is in src/java
 if ENABLE_CEPHFS_JAVA
 libcephfs_jni_la_SOURCES = \
 	java/native/libcephfs_jni.cc \
 	java/native/ScopedLocalRef.h \
 	java/native/JniConstants.cpp \
 	java/native/JniConstants.h
-libcephfs_jni_la_LIBADD = libcephfs.la $(EXTRALIBS)
-libcephfs_jni_la_CPPFLAGS = $(JDK_CPPFLAGS)
-libcephfs_jni_la_CXXFLAGS = ${AM_CXXFLAGS}
+libcephfs_jni_la_LIBADD = $(LIBCEPHFS) $(EXTRALIBS)
+libcephfs_jni_la_CPPFLAGS = $(JDK_CPPFLAGS) $(AM_CPPFLAGS)
 libcephfs_jni_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0
 lib_LTLIBRARIES += libcephfs_jni.la
 endif
 
-## key_value_store classes
-
-# key_value_store: key value store class
-libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc
-libcls_kvs_la_CFLAGS = ${AM_CFLAGS}
-libcls_kvs_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
-libcls_kvs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-radoslib_LTLIBRARIES += libcls_kvs.la
-
-## System tests
-libsystest_la_SOURCES = \
-	test/system/cross_process_sem.cc \
-	test/system/systest_runnable.cc \
-	test/system/systest_settings.cc
-libsystest_la_LIBADD = $(LIBGLOBAL_LDA)
-noinst_LTLIBRARIES += libsystest.la
-
-ceph_test_rados_list_parallel_SOURCES = \
-	test/system/rados_list_parallel.cc \
-	test/system/st_rados_create_pool.cc \
-	test/system/st_rados_list_objects.cc
-ceph_test_rados_list_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
-bin_DEBUGPROGRAMS += ceph_test_rados_list_parallel
-
-ceph_test_rados_open_pools_parallel_SOURCES = \
-	test/system/rados_open_pools_parallel.cc \
-	test/system/st_rados_create_pool.cc
-ceph_test_rados_open_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
-bin_DEBUGPROGRAMS += ceph_test_rados_open_pools_parallel
-
-ceph_test_rados_delete_pools_parallel_SOURCES = \
-	test/system/rados_delete_pools_parallel.cc \
-	test/system/st_rados_create_pool.cc \
-	test/system/st_rados_delete_pool.cc \
-	test/system/st_rados_list_objects.cc
-ceph_test_rados_delete_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
-bin_DEBUGPROGRAMS += ceph_test_rados_delete_pools_parallel
-
-ceph_test_rados_watch_notify_SOURCES = \
-	test/system/rados_watch_notify.cc \
-	test/system/st_rados_create_pool.cc \
-	test/system/st_rados_delete_pool.cc \
-	test/system/st_rados_delete_objs.cc \
-	test/system/st_rados_watch.cc \
-	test/system/st_rados_notify.cc
-ceph_test_rados_watch_notify_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
-bin_DEBUGPROGRAMS += ceph_test_rados_watch_notify
-
-ceph_bench_log_SOURCES = \
-	test/bench_log.cc
-ceph_bench_log_LDADD = libcommon.la $(LIBGLOBAL_LDA)
-bin_DEBUGPROGRAMS += ceph_bench_log
-
-## unit tests
-
-# target to build but not run the unit tests
-unittests:: $(check_PROGRAMS)
-
-UNITTEST_CXXFLAGS = \
-	-I$(top_srcdir)/src/gtest/include \
-	-I$(top_builddir)/src/gtest/include
-UNITTEST_STATIC_LDADD = \
-	$(top_builddir)/src/gtest/lib/libgtest.a \
-	$(top_builddir)/src/gtest/lib/libgtest_main.a \
-	$(PTHREAD_LIBS)
-UNITTEST_LDADD = ${UNITTEST_STATIC_LDADD}
-
-unittest_encoding_SOURCES = test/encoding.cc
-unittest_encoding_LDADD = libcephfs.la librados.la $(PTHREAD_LIBS) -lm \
-			  ${UNITTEST_LDADD}
-unittest_encoding_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} \
-		     -fno-strict-aliasing
-check_PROGRAMS += unittest_encoding
-
-unittest_addrs_SOURCES = test/test_addrs.cc
-unittest_addrs_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_addrs_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-check_PROGRAMS += unittest_addrs
-
-unittest_util_SOURCES = test/common/test_util.cc common/util.cc
-unittest_util_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_util_LDADD = libcommon.la $(PTHREAD_LIBS) -lm ${UNITTEST_LDADD} $(CRYPTO_LIBS) $(EXTRALIBS)
-check_PROGRAMS += unittest_util
-
-unittest_workqueue_SOURCES = test/test_workqueue.cc
-unittest_workqueue_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_workqueue_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} 
-check_PROGRAMS += unittest_workqueue
-
-unittest_striper_SOURCES = test/test_striper.cc 
-unittest_striper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_striper_LDADD = libosdc.la $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-check_PROGRAMS += unittest_striper
-
-unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc common/PrebufferedStreambuf.cc
-unittest_prebufferedstreambuf_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_prebufferedstreambuf_LDADD = ${UNITTEST_LDADD} $(EXTRALIBS)
-check_PROGRAMS += unittest_prebufferedstreambuf
-
-unittest_str_list_SOURCES = test/test_str_list.cc
-unittest_str_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_str_list_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} 
-check_PROGRAMS += unittest_str_list
-
-unittest_log_SOURCES = log/test.cc common/PrebufferedStreambuf.cc
-unittest_log_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_log_LDADD = libcommon.la ${UNITTEST_LDADD}
-unittest_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2
-check_PROGRAMS += unittest_log
-
-unittest_throttle_SOURCES = test/common/Throttle.cc
-unittest_throttle_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_throttle_LDADD = libcommon.la ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_throttle_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2
-check_PROGRAMS += unittest_throttle
-
-unittest_base64_SOURCES = test/base64.cc
-unittest_base64_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_base64_LDADD = libcephfs.la -lm ${UNITTEST_LDADD}
-unittest_base64_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_base64
-
-unittest_ceph_argparse_SOURCES = test/ceph_argparse.cc
-unittest_ceph_argparse_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_ceph_argparse_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-unittest_ceph_argparse_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_ceph_argparse
-
-unittest_osd_types_SOURCES = test/test_osd_types.cc
-unittest_osd_types_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_osd_types_LDADD = $(LIBGLOBAL_LDA) libcommon.la ${UNITTEST_LDADD} 
-check_PROGRAMS += unittest_osd_types
-
-unittest_pglog_SOURCES = test/osd/TestPGLog.cc objclass/class_api.cc perfglue/disabled_heap_profiler.cc
-unittest_pglog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_pglog_LDADD =  libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} 
-check_PROGRAMS += unittest_pglog
-
-if LINUX
-unittest_pglog_LDADD += -ldl
-endif
-
-unittest_gather_SOURCES = test/gather.cc
-unittest_gather_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_gather_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_gather
-
-unittest_run_cmd_SOURCES = test/run_cmd.cc
-unittest_run_cmd_LDADD = libcephfs.la ${UNITTEST_LDADD}
-unittest_run_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_run_cmd
-
-unittest_signals_SOURCES = test/signals.cc
-unittest_signals_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_signals_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_signals
-
-unittest_simple_spin_SOURCES = test/simple_spin.cc
-unittest_simple_spin_LDADD = libcephfs.la ${UNITTEST_LDADD}
-unittest_simple_spin_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_simple_spin
-
-unittest_librados_SOURCES = test/librados/librados.cc
-unittest_librados_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_librados_LDADD = librados.la ${UNITTEST_LDADD}
-unittest_librados_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_librados
-
-unittest_bufferlist_SOURCES = test/bufferlist.cc
-unittest_bufferlist_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) 
-unittest_bufferlist_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_bufferlist
-
-unittest_crypto_SOURCES = test/crypto.cc
-unittest_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS}
-unittest_crypto_LDADD =  ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_crypto
-
-unittest_perf_counters_SOURCES = test/perf_counters.cc
-unittest_perf_counters_LDFLAGS = ${AM_LDFLAGS}
-unittest_perf_counters_LDADD =  ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_perf_counters_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_perf_counters
-
-unittest_admin_socket_SOURCES = test/admin_socket.cc
-unittest_admin_socket_LDFLAGS = ${AM_LDFLAGS}
-unittest_admin_socket_LDADD =  ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} libcommon.la
-unittest_admin_socket_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_admin_socket
-
-unittest_ceph_crypto_SOURCES = test/ceph_crypto.cc
-unittest_ceph_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS}
-unittest_ceph_crypto_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_ceph_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_ceph_crypto
-
-unittest_utf8_SOURCES = test/utf8.cc
-unittest_utf8_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_utf8_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_utf8_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_utf8
-
-unittest_mime_SOURCES = test/mime.cc
-unittest_mime_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_mime_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_mime_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_mime
-
-unittest_escape_SOURCES = test/escape.cc
-unittest_escape_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_escape_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_escape_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_escape
-
-unittest_chain_xattr_SOURCES = test/filestore/chain_xattr.cc
-unittest_chain_xattr_LDFLAGS = ${AM_LDFLAGS}
-unittest_chain_xattr_LDADD =  ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_chain_xattr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
-check_PROGRAMS += unittest_chain_xattr
-
-unittest_flatindex_SOURCES = test/os/TestFlatIndex.cc
-unittest_flatindex_LDFLAGS = ${AM_LDFLAGS}
-unittest_flatindex_LDADD =  ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_flatindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
-check_PROGRAMS += unittest_flatindex
-
-unittest_strtol_SOURCES = test/strtol.cc
-unittest_strtol_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_strtol_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_strtol_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_strtol
-
-unittest_confutils_SOURCES = test/confutils.cc
-unittest_confutils_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_confutils_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_confutils_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_confutils
-
-unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc common/HeartbeatMap.cc
-unittest_heartbeatmap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_heartbeatmap_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_heartbeatmap_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_heartbeatmap
-
-unittest_formatter_SOURCES = test/formatter.cc rgw/rgw_formats.cc
-unittest_formatter_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_formatter_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_formatter_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_formatter
-
-unittest_libcephfs_config_SOURCES = test/libcephfs_config.cc
-unittest_libcephfs_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_libcephfs_config_LDADD =  libcephfs.la ${UNITTEST_LDADD}
-unittest_libcephfs_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_libcephfs_config
-
-unittest_lfnindex_SOURCES = test/os/TestLFNIndex.cc
-unittest_lfnindex_LDFLAGS = ${AM_LDFLAGS}
-unittest_lfnindex_LDADD =  ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_lfnindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
-check_PROGRAMS += unittest_lfnindex
-
-unittest_librados_config_SOURCES = test/librados/librados_config.cc
-unittest_librados_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_librados_config_LDADD =  librados.la ${UNITTEST_LDADD}
-unittest_librados_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_librados_config
-
-#unittest_librgw_link_SOURCES = test/librgw_link.cc
-#unittest_librgw_link_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-#unittest_librgw_link_LDADD =  librgw.la ${UNITTEST_LDADD}
-#unittest_librgw_link_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-#check_PROGRAMS += unittest_librgw_link
-
-unittest_daemon_config_SOURCES = test/daemon_config.cc
-unittest_daemon_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_daemon_config_LDADD =  ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_daemon_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_daemon_config
-
-unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc osd/OSDCap.cc
-unittest_osd_osdcap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_osd_osdcap_LDADD =  ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_osd_osdcap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_osd_osdcap
-
-unittest_mon_moncap_SOURCES = test/mon/moncap.cc mon/MonCap.cc
-unittest_mon_moncap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_mon_moncap_LDADD =  ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_mon_moncap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_mon_moncap
-
-#if WITH_RADOSGW
-#unittest_librgw_SOURCES = test/librgw.cc
-#unittest_librgw_LDFLAGS = -lrt $(PTHREAD_CFLAGS) -lcurl ${AM_LDFLAGS}
-#unittest_librgw_LDADD =  librgw.la librados.la ${UNITTEST_LDADD} -lexpat $(LIBGLOBAL_LDA)
-#unittest_librgw_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-#check_PROGRAMS += unittest_librgw
-#endif
-
-unittest_ipaddr_SOURCES = test/test_ipaddr.cc
-unittest_ipaddr_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_ipaddr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_ipaddr
-
-unittest_texttable_SOURCES = test/test_texttable.cc common/TextTable.cc 
-unittest_texttable_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_texttable_LDADD = librados.la ${UNITTEST_LDADD}
-unittest_texttable_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-check_PROGRAMS += unittest_texttable
-
-if WITH_RADOSGW
-ceph_test_cors_SOURCES = test/test_cors.cc
-ceph_test_cors_LDADD = librados.la librgw.a $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} -lcurl -luuid -lexpat
-ceph_test_cors_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cors
-
-ceph_test_cls_rgw_meta_SOURCES = test/test_rgw_admin_meta.cc
-ceph_test_cls_rgw_meta_LDFLAGS = libglobal.la 
-ceph_test_cls_rgw_meta_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
-ceph_test_cls_rgw_meta_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_rgw_meta
-
-ceph_test_cls_rgw_log_SOURCES = test/test_rgw_admin_log.cc
-ceph_test_cls_rgw_log_LDFLAGS = libglobal.la 
-ceph_test_cls_rgw_log_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
-ceph_test_cls_rgw_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_rgw_log
-
-ceph_test_cls_rgw_opstate_SOURCES = test/test_rgw_admin_opstate.cc
-ceph_test_cls_rgw_opstate_LDFLAGS = libglobal.la 
-ceph_test_cls_rgw_opstate_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
-ceph_test_cls_rgw_opstate_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_rgw_opstate
-endif
-
-ceph_test_librbd_SOURCES = test/librbd/test_librbd.cc test/librados/test.cc
-ceph_test_librbd_LDADD =  librbd.la librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_librbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_librbd
-
-ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
-ceph_test_librbd_fsx_LDADD =  librbd.la librados.la -lm
-ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
-bin_DEBUGPROGRAMS += ceph_test_librbd_fsx
-
-ceph_test_cls_rbd_SOURCES = test/cls_rbd/test_cls_rbd.cc \
-	test/librados/test.cc \
-	cls/rbd/cls_rbd_client.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc
-ceph_test_cls_rbd_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_rbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_rbd
-
-ceph_test_cls_refcount_SOURCES = test/cls_refcount/test_cls_refcount.cc \
-	test/librados/test.cc
-ceph_test_cls_refcount_LDADD = librados.la libcls_refcount_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_refcount_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_refcount
-
-ceph_test_cls_version_SOURCES = test/cls_version/test_cls_version.cc \
-	test/librados/test.cc
-ceph_test_cls_version_LDADD = librados.la libcls_version_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_version_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_version
-
-ceph_test_cls_log_SOURCES = test/cls_log/test_cls_log.cc \
-	test/librados/test.cc
-ceph_test_cls_log_LDADD = libglobal.la librados.la libcls_log_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_log
-
-ceph_test_cls_statelog_SOURCES = test/cls_statelog/test_cls_statelog.cc \
-	test/librados/test.cc
-ceph_test_cls_statelog_LDADD = libglobal.la librados.la libcls_statelog_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_statelog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_statelog
-ceph_test_cls_replica_log_SOURCES = \
-	test/cls_replica_log/test_cls_replica_log.cc \
-	test/librados/test.cc
-ceph_test_cls_replica_log_LDADD = libglobal.la librados.la \
-	libcls_replica_log_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_replica_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_replica_log
-
-ceph_test_cls_lock_SOURCES = test/cls_lock/test_cls_lock.cc test/librados/test.cc
-ceph_test_cls_lock_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_cls_lock_LDADD =  libcls_lock_client.a librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_lock
-
-if WITH_RADOSGW
-
-ceph_test_cls_rgw_SOURCES = test/cls_rgw/test_cls_rgw.cc \
-	test/librados/test.cc
-ceph_test_cls_rgw_LDADD = librados.la libcls_rgw_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_rgw_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_cls_rgw
-
-endif
-
-ceph_test_mon_workloadgen_SOURCES = \
-     test/mon/test_mon_workloadgen.cc \
-		 osdc/Objecter.cc \
-		 osdc/Striper.cc
-ceph_test_mon_workloadgen_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_mon_workloadgen_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_mon_workloadgen
-
-ceph_test_rados_api_cmd_SOURCES = test/librados/cmd.cc test/librados/test.cc
-ceph_test_rados_api_cmd_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_cmd_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_cmd
-
-ceph_test_rados_api_io_SOURCES = test/librados/io.cc test/librados/test.cc
-ceph_test_rados_api_io_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_io_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_io_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_io
-
-ceph_test_rados_api_aio_SOURCES = test/librados/aio.cc test/librados/test.cc
-ceph_test_rados_api_aio_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_aio_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_aio_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_aio
-
-ceph_test_rados_api_list_SOURCES = test/librados/list.cc test/librados/test.cc
-ceph_test_rados_api_list_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_list_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_list
-
-ceph_test_rados_api_pool_SOURCES = test/librados/pool.cc test/librados/test.cc
-ceph_test_rados_api_pool_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_pool_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_pool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_pool
-
-ceph_test_rados_api_stat_SOURCES = test/librados/stat.cc test/librados/test.cc
-ceph_test_rados_api_stat_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_stat_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_stat_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_stat
-
-ceph_test_rados_api_watch_notify_SOURCES = test/librados/watch_notify.cc test/librados/test.cc
-ceph_test_rados_api_watch_notify_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_watch_notify_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_watch_notify_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_watch_notify
-
-ceph_test_rados_api_snapshots_SOURCES = test/librados/snapshots.cc test/librados/test.cc
-ceph_test_rados_api_snapshots_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_snapshots_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_snapshots_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_snapshots
-
-ceph_test_rados_api_cls_SOURCES = test/librados/cls.cc test/librados/test.cc
-ceph_test_rados_api_cls_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_cls_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_cls_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_cls
-
-ceph_test_rados_api_misc_SOURCES = test/librados/misc.cc test/librados/test.cc
-ceph_test_rados_api_misc_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_misc_LDADD =  librados.la $(LIBGLOBAL_LDA) ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_misc_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_misc
-
-ceph_test_rados_api_lock_SOURCES = test/librados/lock.cc test/librados/test.cc
-ceph_test_rados_api_lock_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_lock_LDADD =  librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_rados_api_lock
-
-ceph_test_libcephfs_SOURCES = test/libcephfs/test.cc test/libcephfs/readdir_r_cb.cc test/libcephfs/caps.cc test/libcephfs/multiclient.cc
-ceph_test_libcephfs_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-ceph_test_libcephfs_LDADD =  ${UNITTEST_STATIC_LDADD} libcephfs.la
-ceph_test_libcephfs_CXXFLAGS = $(AM_CXXFLAGS) ${UNITTEST_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_libcephfs
-
-ceph_test_filestore_SOURCES = test/filestore/store_test.cc
-ceph_test_filestore_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_filestore_LDADD =  ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_filestore
-
-ceph_test_filestore_workloadgen_SOURCES = \
-     test/filestore/workload_generator.cc \
-     test/filestore/TestFileStoreState.cc
-ceph_test_filestore_workloadgen_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_filestore_workloadgen_LDADD =  $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_workloadgen_CXXFLAGS =  ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_filestore_workloadgen
-
-ceph_test_filestore_idempotent_SOURCES = test/filestore/test_idempotent.cc test/filestore/FileStoreTracker.cc test/common/ObjectContents.cc
-ceph_test_filestore_idempotent_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_idempotent_CXXFLAGS = $(AM_CXXFLAGS)
-bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent
-
-ceph_test_filestore_idempotent_sequence_SOURCES = \
-     test/filestore/test_idempotent_sequence.cc \
-     test/filestore/DeterministicOpSequence.cc \
-     test/filestore/TestFileStoreState.cc \
-     test/filestore/FileStoreDiff.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}  ${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_snap_mapper_SOURCES = test/test_snap_mapper.cc osd/SnapMapper.cc
-ceph_test_snap_mapper_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_snap_mapper_LDADD =  ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_snap_mapper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_snap_mapper
-
-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} ${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} ${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
-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} ${CRYPTO_CXXFLAGS}
-bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_iterators
-
-ceph_test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc \
-			  os/LevelDBStore.cc
-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}
-bin_DEBUGPROGRAMS += ceph_test_store_tool
-
-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 \
 	-e 's|@bindir[@]|$(bindir)|g' \
 	-e 's|@sbindir[@]|$(sbindir)|g' \
@@ -1270,11 +128,8 @@ editpaths = sed \
 	-e 's|@datadir[@]|$(pkgdatadir)|g' \
 	-e 's|@prefix[@]|$(prefix)|g' \
 	-e 's|@@GCOV_PREFIX_STRIP[@][@]|$(GCOV_PREFIX_STRIP)|g'
-
-shell_scripts = init-ceph mkcephfs ceph-debugpack ceph-coverage
-
+shell_scripts = ceph-debugpack ceph-post-file
 $(shell_scripts): Makefile
-
 $(shell_scripts): %: %.in
 	rm -f $@ $@.tmp
 	$(editpaths) '$(srcdir)/$@.in' >$@.tmp
@@ -1282,77 +137,26 @@ $(shell_scripts): %: %.in
 	chmod a-w $@.tmp
 	mv $@.tmp $@
 
-BUILT_SOURCES += init-ceph
-sbin_SCRIPTS += mkcephfs
-
-bin_SCRIPTS += ceph-coverage
-
+EXTRA_DIST += $(srcdir)/$(shell_scripts:%=%.in)
 CLEANFILES += $(shell_scripts)
 
-CLEANFILES += ceph_ver.h sample.fetch_config
-
-##
-
-AM_COMMON_FLAGS = \
-	-D__CEPH__ \
-	-D_FILE_OFFSET_BITS=64 \
-	-D_REENTRANT \
-	-D_THREAD_SAFE \
-	-D__STDC_FORMAT_MACROS \
-	-D_GNU_SOURCE \
-	-rdynamic \
-	-Wall \
-	${WARN_TYPE_LIMITS} \
-	${WARN_IGNORED_QUALIFIERS} \
-	-Winit-self \
-	-Wpointer-arith \
-	-Werror=format-security \
-	-fno-strict-aliasing \
-	-fsigned-char
-
-AM_CFLAGS = $(AM_COMMON_FLAGS)
-AM_CXXFLAGS = \
-	@AM_CXXFLAGS@ \
-	$(AM_COMMON_FLAGS) \
-	-DCEPH_LIBDIR=\"${libdir}\" \
-	-Wnon-virtual-dtor \
-	-Wno-invalid-offsetof \
-	-Wstrict-null-sentinel
-# note: this is position dependant, it affects the -l options that
-# come after it on the command line. when you use ${AM_LDFLAGS} in
-# later rules, take care where you place it. for more information, see
-# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do
-# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed
-# http://www.gentoo.org/proj/en/qa/asneeded.xml
-# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html
-# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/
-AM_LDFLAGS = -Wl,--as-needed
-
-if USE_BOOST_SPIRIT_OLD_HDR
-AM_CXXFLAGS += -DUSE_BOOST_SPIRIT_OLD_HDR
-endif
-
-if WITH_LIBATOMIC
-AM_LDFLAGS += -latomic_ops
-endif
-
-if ENABLE_COVERAGE
-AM_CFLAGS += -fprofile-arcs -ftest-coverage
-AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0
-EXTRALIBS += -lgcov
-endif
 
 # extra bits
+
 EXTRA_DIST += \
-	$(srcdir)/verify-mds-journal.sh $(srcdir)/vstart.sh $(srcdir)/stop.sh \
-	ceph-run $(srcdir)/ceph_common.sh \
+	$(srcdir)/verify-mds-journal.sh \
+	$(srcdir)/vstart.sh \
+	$(srcdir)/stop.sh \
+	ceph-run \
+	$(srcdir)/ceph_common.sh \
 	$(srcdir)/init-radosgw \
 	$(srcdir)/init-radosgw.sysv \
 	$(srcdir)/init-rbdmap \
-	$(srcdir)/ceph-clsinfo $(srcdir)/make_version $(srcdir)/check_version \
+	$(srcdir)/ceph-clsinfo \
+	$(srcdir)/make_version \
+	$(srcdir)/check_version \
 	$(srcdir)/.git_version \
 	$(srcdir)/ceph-rbdnamer \
-	$(ceph_tool_gui_DATA) \
 	$(srcdir)/test/encoding/readable.sh \
 	$(srcdir)/test/encoding/check-generated.sh \
 	$(srcdir)/upstart/ceph-all.conf \
@@ -1375,21 +179,39 @@ EXTRA_DIST += \
 	ceph-disk-activate \
 	ceph-disk-udev \
 	ceph-create-keys \
-	mount.fuse.ceph \
 	ceph-rest-api \
 	mount.fuse.ceph \
-	rbdmap
+	rbdmap \
+	unittest_bufferlist.sh \
+	yasm-wrapper
 
-EXTRA_DIST += $(srcdir)/$(shell_scripts:%=%.in)
+EXTRA_DIST += \
+	libs3/COPYING \
+	libs3/ChangeLog \
+	libs3/GNUmakefile \
+	libs3/GNUmakefile.mingw \
+	libs3/GNUmakefile.osx \
+	libs3/INSTALL \
+	libs3/LICENSE \
+	libs3/README \
+	libs3/TODO \
+	libs3/archlinux \
+	libs3/debian \
+	libs3/doxyfile \
+	libs3/inc \
+	libs3/libs3.spec \
+	libs3/mswin \
+	libs3/src \
+	libs3/test \
+	unittest_bufferlist.sh
 
 # work around old versions of automake that don't define $docdir
 # NOTE: this won't work on suse, where docdir is /usr/share/doc/packages/$package.
 docdir ?= ${datadir}/doc/ceph
-
 doc_DATA = $(srcdir)/sample.ceph.conf sample.fetch_config
 
-sample.fetch_config: fetch_config
-	cp -f $(srcdir)/fetch_config ./sample.fetch_config
+
+# various scripts
 
 shell_commondir = $(libdir)/ceph
 shell_common_SCRIPTS = ceph_common.sh
@@ -1400,31 +222,54 @@ bash_completion_DATA = $(srcdir)/bash_completion/ceph \
                $(srcdir)/bash_completion/rbd \
                $(srcdir)/bash_completion/radosgw-admin
 
-libcephfs_includedir = $(includedir)/cephfs
-libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h
-
-librbd_includedir = $(includedir)/rbd
-librbd_include_DATA = \
-	$(srcdir)/include/rbd/features.h \
-	$(srcdir)/include/rbd/librbd.h \
-	$(srcdir)/include/rbd/librbd.hpp
-
-rados_includedir = $(includedir)/rados
-rados_include_DATA = \
-	$(srcdir)/include/rados/librados.h \
-	$(srcdir)/include/rados/rados_types.h \
-	$(srcdir)/include/rados/rados_types.hpp \
-	$(srcdir)/include/rados/librados.hpp \
-	$(srcdir)/include/buffer.h \
-	$(srcdir)/include/page.h \
-	$(srcdir)/include/crc32c.h
-
-#crush_includedir = $(includedir)/crush
-#crush_include_DATA = \
-#	$(srcdir)/crush/hash.h \
-#	$(srcdir)/crush/crush.h \
-#	$(srcdir)/crush/mapper.h \
-#	$(srcdir)/crush/types.h
+ceph_sbin_SCRIPTS = \
+	ceph-disk \
+	ceph-disk-prepare \
+	ceph-disk-activate \
+	ceph-disk-udev \
+	ceph-create-keys
+
+bin_SCRIPTS += \
+	ceph \
+	ceph-run \
+	ceph-rest-api \
+	ceph-clsinfo \
+	ceph-debugpack \
+	ceph-rbdnamer \
+	ceph-post-file
+
+BUILT_SOURCES += init-ceph
+su_sbin_SCRIPTS += mkcephfs
+
+shell_scripts += init-ceph mkcephfs
+
+
+
+
+
+# tests to actually run on "make check"; if you need extra, non-test,
+# executables built, you need to replace this with manual assignments
+# target by target
+
+TESTS = \
+	$(check_PROGRAMS) \
+	$(check_SCRIPTS)
+
+check-local:
+	$(srcdir)/test/encoding/readable.sh ../ceph-object-corpus
+
+
+# base targets
+
+core-daemons: ceph-mon ceph-osd ceph-mds radosgw
+admin-tools: monmaptool osdmaptool crushtool ceph-authtool
+base: core-daemons admin-tools \
+	cephfs ceph-syn ceph-conf \
+	rados librados-config \
+	init-ceph mkcephfs ceph_mon_store_converter ceph-post-file
+
+
+# version stuff
 
 FORCE:
 .git_version: FORCE
@@ -1436,274 +281,37 @@ ceph_ver.c: ./ceph_ver.h
 common/version.cc: ./ceph_ver.h
 test/encoding/ceph_dencoder.cc: ./ceph_ver.h
 
+sample.fetch_config: fetch_config
+	cp -f $(srcdir)/fetch_config ./sample.fetch_config
+
+dist-hook:
+	$(srcdir)/check_version $(srcdir)/.git_version
+
+CLEANFILES += ceph_ver.h sample.fetch_config
+
+
 # assemble Python script with global version variables
 # NB: depends on format of ceph_ver.h
 
 ceph: ceph.in ./ceph_ver.h Makefile
 	rm -f $@ $@.tmp
-	echo "#!/usr/bin/python" >$@.tmp
+	echo "#!/usr/bin/env python" >$@.tmp
 	grep "#define CEPH_GIT_NICE_VER" ./ceph_ver.h | \
 		sed -e 's/#define \(.*VER\) /\1=/' >>$@.tmp
 	grep "#define CEPH_GIT_VER" ./ceph_ver.h | \
 	  sed -e 's/#define \(.*VER\) /\1=/' -e 's/=\(.*\)$$/="\1"/' >>$@.tmp
-	cat $@.in >>$@.tmp
+	cat $(srcdir)/$@.in >>$@.tmp
 	chmod a+x $@.tmp
 	chmod a-w $@.tmp
 	mv $@.tmp $@
 
 # cleaning
+
 clean-local:
 	-rm *.so *.gcno *.gcda
 
-# libs
-
-libcommon_la_SOURCES = $(libcommon_files)
-libcommon_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libcommon_la_CXXFLAGS= ${AM_CXXFLAGS}
-libcommon_la_LDFLAGS = -lrt
-noinst_LTLIBRARIES += libcommon.la
-
-libglobal_la_SOURCES = \
-	global/global_context.cc \
-	global/global_init.cc \
-	global/pidfile.cc \
-	global/signal_handler.cc
-libglobal_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libglobal_la_CXXFLAGS= ${AM_CXXFLAGS}
-libglobal_la_LIBADD= libcommon.la
-noinst_LTLIBRARIES += libglobal.la
-
-crush_files = \
-	crush/builder.c \
-	crush/mapper.c \
-	crush/crush.c \
-	crush/hash.c \
-	crush/CrushWrapper.cc \
-	crush/CrushCompiler.cc \
-	crush/CrushTester.cc
-
-# this list ommits the ceph_ver.c file
-libcommon_files = \
-	./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc \
-	auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc \
-	auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc \
-	auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc \
-	auth/Crypto.cc \
-	auth/KeyRing.cc \
-	auth/RotatingKeyRing.cc \
-	common/DecayCounter.cc \
-	common/LogClient.cc \
-	common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc \
-	common/BackTrace.cc \
-	common/perf_counters.cc \
-	common/Mutex.cc \
-	common/OutputDataSocket.cc \
-	common/admin_socket.cc \
-	common/admin_socket_client.cc \
-	common/cmdparse.cc \
-	common/escape.c \
-	common/Clock.cc \
-	common/Throttle.cc \
-	common/Timer.cc \
-	common/Finisher.cc \
-	common/environment.cc\
-	common/sctp_crc32.c\
-	common/crc32c-intel.c\
-	common/assert.cc \
-        common/run_cmd.cc \
-	common/WorkQueue.cc \
-	common/ConfUtils.cc \
-	common/MemoryModel.cc \
-	common/armor.c \
-	common/fd.cc \
-	common/xattr.c \
-	common/safe_io.c \
-	common/snap_types.cc \
-	common/str_list.cc \
-	common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp \
-	log/Log.cc \
-	log/SubsystemMap.cc \
-	mon/MonCap.cc \
-	mon/MonClient.cc \
-	mon/MonMap.cc \
-	msg/Accepter.cc \
-	msg/DispatchQueue.cc \
-	msg/Message.cc \
-	common/RefCountedObj.cc \
-	msg/Messenger.cc \
-	msg/Pipe.cc \
-	msg/SimpleMessenger.cc \
-	msg/msg_types.cc \
-	os/hobject.cc \
-	osd/OSDMap.cc \
-	osd/osd_types.cc \
-	mds/MDSMap.cc \
-	mds/inode_backtrace.cc \
-	mds/mdstypes.cc \
-	common/blkdev.cc \
-	common/common_init.cc \
-	common/pipe.c \
-	common/ceph_argparse.cc \
-	common/ceph_context.cc \
-	common/buffer.cc \
-	common/code_environment.cc \
-	common/dout.cc \
-	common/signal.cc \
-	common/simple_spin.cc \
-	common/Thread.cc \
-	common/Formatter.cc \
-	common/HeartbeatMap.cc \
-	include/ceph_fs.cc \
-	include/ceph_hash.cc \
-	include/ceph_strings.cc \
-	include/ceph_frag.cc \
-	common/config.cc \
-	common/utf8.c \
-	common/mime.c \
-	common/strtol.cc \
-	common/page.cc \
-	common/lockdep.cc \
-	common/version.cc \
-	common/hex.cc \
-	common/entity_name.cc \
-	common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc \
-	common/ceph_json.cc \
-	common/ipaddr.cc \
-	common/pick_address.cc \
-	include/addr_parsing.c \
-	$(crush_files)
-
-if WITH_PROFILER
-libcommon_files += perfglue/cpu_profiler.cc
-else
-libcommon_files += perfglue/disabled_stubs.cc
-endif
-
-
-
-libmon_a_SOURCES = \
-	auth/cephx/CephxKeyServer.cc \
-	auth/cephx/CephxServiceHandler.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/AuthServiceHandler.cc \
-	auth/AuthSessionHandler.cc \
-	mon/Monitor.cc \
-	mon/Paxos.cc \
-	mon/PaxosService.cc \
-	mon/OSDMonitor.cc \
-	mon/MDSMonitor.cc \
-	mon/MonmapMonitor.cc \
-	mon/PGMonitor.cc \
-	mon/PGMap.cc \
-	mon/LogMonitor.cc \
-	mon/AuthMonitor.cc \
-	mon/Elector.cc \
-	mon/MonitorStore.cc \
-	os/LevelDBStore.cc \
-	mon/HealthMonitor.cc \
-	mon/DataHealthService.cc \
-	mon/ConfigKeyService.cc \
-	common/util.cc
-libmon_a_CXXFLAGS= ${AM_CXXFLAGS}
-noinst_LIBRARIES += libmon.a
-
-libmds_a_SOURCES = \
-	mds/Anchor.cc \
-	mds/Capability.cc \
-	mds/Dumper.cc \
-	mds/Resetter.cc \
-	mds/MDS.cc \
-	mds/flock.cc \
-	mds/locks.c \
-	mds/journal.cc \
-	mds/Server.cc \
-	mds/Mutation.cc \
-	mds/MDCache.cc \
-	mds/Locker.cc \
-	mds/Migrator.cc \
-	mds/MDBalancer.cc \
-	mds/CDentry.cc \
-	mds/CDir.cc \
-	mds/CInode.cc \
-	mds/LogEvent.cc \
-	mds/MDSTable.cc \
-	mds/InoTable.cc \
-	mds/MDSTableClient.cc \
-	mds/MDSTableServer.cc \
-	mds/AnchorServer.cc \
-	mds/AnchorClient.cc \
-	mds/SnapRealm.cc \
-	mds/SnapServer.cc \
-	mds/snap.cc \
-	mds/SessionMap.cc \
-	mds/MDLog.cc \
-	osdc/Journaler.cc
-noinst_LIBRARIES += libmds.a
-
-libos_a_SOURCES = \
-	os/FileJournal.cc \
-	os/FileStore.cc \
-	os/chain_xattr.cc \
-	os/ObjectStore.cc \
-	os/JournalingObjectStore.cc \
-	os/LFNIndex.cc \
-	os/HashIndex.cc \
-	os/IndexManager.cc \
-	os/FlatIndex.cc \
-	os/DBObjectMap.cc \
-	os/LevelDBStore.cc \
-	os/WBThrottle.cc
-libos_a_CXXFLAGS= ${AM_CXXFLAGS}
-noinst_LIBRARIES += libos.a
-
-libosd_a_SOURCES = \
-	osd/PG.cc \
-	osd/PGLog.cc \
-	osd/ReplicatedPG.cc \
-	osd/Ager.cc \
-	osd/OSD.cc \
-	osd/OSDCap.cc \
-	osd/Watch.cc \
-	osd/ClassHandler.cc \
-	osd/OpRequest.cc \
-	osd/SnapMapper.cc
-libosd_a_CXXFLAGS= ${AM_CXXFLAGS}
-noinst_LIBRARIES += libosd.a
-
-libosdc_la_SOURCES = \
-	osdc/Objecter.cc \
-	osdc/ObjectCacher.cc \
-	osdc/Filer.cc \
-	osdc/Striper.cc
-libosdc_la_CXXFLAGS= ${AM_CXXFLAGS}
-libosdc_la_LIBADD = libcommon.la
-noinst_LTLIBRARIES += libosdc.la
-
-libclient_la_SOURCES = \
-	client/Client.cc \
-	client/Inode.cc \
-	client/Dentry.cc \
-	client/MetaRequest.cc \
-	client/ClientSnapRealm.cc \
-	client/MetaSession.cc \
-	client/Trace.cc
-libclient_la_LIBADD = libosdc.la $(LIBEDIT_LIBS)
-noinst_LTLIBRARIES += libclient.la
 
-dist-hook:
-	$(srcdir)/check_version $(srcdir)/.git_version
+# pybind
 
 python_PYTHON = pybind/rados.py \
 		pybind/rbd.py \
@@ -1711,587 +319,29 @@ python_PYTHON = pybind/rados.py \
 		pybind/ceph_argparse.py \
 		pybind/ceph_rest_api.py
 
-# headers... and everything else we want to include in a 'make dist' 
-# that autotools doesn't magically identify.
-noinst_HEADERS = \
-	rados_sync.h \
-	auth/cephx/CephxAuthorizeHandler.h\
-	auth/cephx/CephxKeyServer.h\
-	auth/cephx/CephxProtocol.h\
-	auth/cephx/CephxClientHandler.h\
-	auth/cephx/CephxServiceHandler.h\
-	auth/cephx/CephxSessionHandler.h\
-	auth/none/AuthNoneAuthorizeHandler.h\
-	auth/none/AuthNoneClientHandler.h\
-	auth/none/AuthNoneServiceHandler.h\
-	auth/none/AuthNoneSessionHandler.h\
-	auth/none/AuthNoneProtocol.h\
-	auth/unknown/AuthUnknownAuthorizeHandler.h\
-	auth/unknown/AuthUnknownClientHandler.h\
-	auth/unknown/AuthUnknownServiceHandler.h\
-	auth/unknown/AuthUnknownSessionHandler.h\
-	auth/unknown/AuthUnknownProtocol.h\
-	auth/Auth.h\
-	auth/AuthMethodList.h\
-	auth/AuthClientHandler.h\
-	auth/AuthServiceHandler.h\
-	auth/AuthSessionHandler.h\
-	auth/AuthAuthorizeHandler.h\
-	auth/KeyRing.h\
-	auth/RotatingKeyRing.h\
-	auth/Crypto.h\
-	bash_completion/ceph\
-	bash_completion/rados\
-	bash_completion/rbd\
-	bash_completion/radosgw-admin\
-        client/Client.h\
-	client/Dentry.h\
-	client/Dir.h\
-	client/Fh.h\
-	client/Inode.h\
-	client/MetaRequest.h\
-	client/MetaSession.h\
-	client/ClientSnapRealm.h\
-        client/SyntheticClient.h\
-        client/Trace.h\
-        client/fuse_ll.h\
-	client/ioctl.h\
-        client/hadoop/CephFSInterface.h\
-	client/ObjecterWriteback.h\
+
+# everything else we want to include in a 'make dist'
+
+noinst_HEADERS += \
 	cls_acl.cc\
 	cls_crypto.cc\
-	cls/lock/cls_lock_types.h\
-	cls/lock/cls_lock_ops.h\
-	cls/lock/cls_lock_client.h\
-	cls/rbd/cls_rbd.h\
-	cls/rbd/cls_rbd_client.h\
-	cls/refcount/cls_refcount_ops.h\
-	cls/refcount/cls_refcount_client.h\
-	cls/version/cls_version_types.h\
-	cls/version/cls_version_ops.h\
-	cls/version/cls_version_client.h\
-	cls/log/cls_log_types.h\
-	cls/log/cls_log_ops.h\
-	cls/log/cls_log_client.h\
-	cls/statelog/cls_statelog_types.h\
-	cls/statelog/cls_statelog_ops.h\
-	cls/statelog/cls_statelog_client.h\
-	cls/replica_log/cls_replica_log_types.h\
-	cls/replica_log/cls_replica_log_ops.h\
-	cls/replica_log/cls_replica_log_client.h\
-	cls/rgw/cls_rgw_client.h\
-	cls/rgw/cls_rgw_ops.h\
-	cls/rgw/cls_rgw_types.h\
-	common/BackTrace.h\
-	common/RefCountedObj.h\
-	common/HeartbeatMap.h\
-	common/LogClient.h\
-	common/LogEntry.h\
-	common/Preforker.h\
-	common/WorkQueue.h\
-	common/PrioritizedQueue.h\
-	common/ceph_argparse.h\
-	common/ceph_context.h\
-	common/xattr.h\
-	common/blkdev.h\
-	common/compiler_extensions.h\
-	common/debug.h\
-	common/dout.h\
-	common/escape.h\
-	common/fd.h\
-	common/version.h\
-	common/hex.h\
-	common/entity_name.h\
-	common/errno.h\
-	common/environment.h\
-	common/likely.h\
-	common/lockdep.h\
-	common/obj_bencher.h\
-	common/snap_types.h\
-        common/Clock.h\
-        common/Cond.h\
-        common/ConfUtils.h\
-        common/DecayCounter.h\
-        common/Finisher.h\
-	common/Formatter.h\
-        common/perf_counters.h\
-	common/OutputDataSocket.h \
-	common/admin_socket.h \
-	common/admin_socket_client.h \
-	common/shared_cache.hpp \
-	common/tracked_int_ptr.hpp \
-	common/simple_cache.hpp \
-	common/sharedptr_registry.hpp \
-	common/map_cacher.hpp \
-        common/MemoryModel.h\
-        common/Mutex.h\
-	common/PrebufferedStreambuf.h\
-        common/RWLock.h\
-        common/Semaphore.h\
-	common/SimpleRNG.h\
-	common/TextTable.h\
-        common/Thread.h\
-        common/Throttle.h\
-        common/Timer.h\
-	common/TrackedOp.h\
-        common/arch.h\
-        common/armor.h\
-	global/global_init.h \
-	global/global_context.h \
-        common/common_init.h\
-        common/pipe.h\
-	common/code_environment.h \
-        common/signal.h\
-        global/signal_handler.h\
-        common/simple_spin.h\
-        common/run_cmd.h\
-	common/safe_io.h\
-        common/config.h\
-        common/config_obs.h\
-	common/config_opts.h\
-	common/ceph_crypto.h\
-	common/ceph_crypto_cms.h\
-	common/ceph_json.h\
-	common/lru_map.h\
-	common/utf8.h\
-	common/mime.h\
-	common/pick_address.h\
-	common/secret.h\
-	common/strtol.h\
-	common/static_assert.h\
-	common/AsyncReserver.h\
-	crush/CrushCompiler.h\
-	crush/CrushTester.h\
-        crush/CrushWrapper.h\
-        crush/CrushWrapper.i\
-        crush/builder.h\
-        crush/crush.h\
-        crush/grammar.h\
-        crush/hash.h\
-        crush/mapper.h\
-        crush/sample.txt\
-        crush/types.h\
 	fetch_config\
-	include/bloom_filter.hpp\
-        include/Context.h\
-	include/CompatSet.h\
-        include/Distribution.h\
-	include/addr_parsing.h\
-	include/assert.h\
-        include/atomic.h\
-        include/bitmapper.h\
-        include/blobhash.h\
-        include/buffer.h\
-        include/byteorder.h\
-	include/cephfs/libcephfs.h\
-	include/ceph_features.h\
-	include/ceph_frag.h\
-        include/ceph_fs.h\
-        include/ceph_hash.h\
-	include/cmp.h\
-	include/color.h\
-	include/compat.h\
-	include/crc32c.h\
-        include/encoding.h\
-        include/err.h\
-        include/error.h\
-        include/filepath.h\
-        include/frag.h\
-        include/hash.h\
-        include/intarith.h\
-        include/interval_set.h\
-        include/inttypes.h\
-	include/ipaddr.h\
-	include/linux_fiemap.h\
-        include/lru.h\
-	include/msgr.h\
-        include/object.h\
-        include/page.h\
-        include/rangeset.h\
-	include/rados.h\
-	include/rbd_types.h\
-        include/statlite.h\
-	include/str_list.h\
-	include/stringify.h\
-        include/triple.h\
-        include/types.h\
-        include/utime.h\
-        include/dlist.h\
-        include/elist.h\
-	include/uuid.h\
-        include/xlist.h\
-	include/rados/librados.h\
-	include/rados/rados_types.h\
-	include/rados/rados_types.hpp\
-	include/rados/librados.hpp\
-	include/rados/librgw.h\
-	include/rados/page.h\
-	include/rados/crc32c.h\
-	include/rados/buffer.h\
-	include/rbd/features.h\
-	include/rbd/librbd.h\
-	include/rbd/librbd.hpp\
-        include/util.h\
-	librados/snap_set_diff.h\
-	librados/AioCompletionImpl.h\
-	librados/IoCtxImpl.h\
-	librados/PoolAsyncCompletionImpl.h\
-	librados/RadosClient.h\
-	librbd/AioCompletion.h\
-	librbd/AioRequest.h\
-	librbd/ImageCtx.h\
-	librbd/internal.h\
-	librbd/LibrbdWriteback.h\
-	librbd/parent_types.h\
-	librbd/SnapInfo.h\
-	librbd/WatchCtx.h\
 	logrotate.conf\
-	json_spirit/json_spirit.h\
-	json_spirit/json_spirit_error_position.h\
-	json_spirit/json_spirit_reader.h\
-	json_spirit/json_spirit_reader_template.h\
-	json_spirit/json_spirit_stream_reader.h\
-	json_spirit/json_spirit_utils.h\
-	json_spirit/json_spirit_value.h\
-	json_spirit/json_spirit_writer.h\
-	json_spirit/json_spirit_writer_options.h\
-	json_spirit/json_spirit_writer_template.h\
-	key_value_store/key_value_structure.h\
-	key_value_store/kv_flat_btree_async.h\
-	key_value_store/kvs_arg_types.h\
-	log/Entry.h\
-	log/EntryQueue.h\
-	log/Log.h\
-	log/SubsystemMap.h\
-	mds/inode_backtrace.h\
-	mds/flock.h\
-	mds/locks.c\
-	mds/locks.h\
-        mds/Anchor.h\
-        mds/AnchorClient.h\
-        mds/AnchorServer.h\
-        mds/CDentry.h\
-        mds/CDir.h\
-        mds/CInode.h\
-        mds/Capability.h\
-	mds/Dumper.h\
-        mds/InoTable.h\
-        mds/LocalLock.h\
-        mds/Locker.h\
-        mds/LogEvent.h\
-        mds/LogSegment.h\
-        mds/MDBalancer.h\
-        mds/MDCache.h\
-        mds/MDLog.h\
-        mds/MDS.h\
-        mds/MDSMap.h\
-	mds/MDSTable.h\
-	mds/MDSTableServer.h\
-	mds/MDSTableClient.h\
-	mds/Mutation.h\
-        mds/Migrator.h\
-	mds/Resetter.h\
-        mds/ScatterLock.h\
-        mds/Server.h\
-        mds/SessionMap.h\
-        mds/SimpleLock.h\
-        mds/SnapClient.h\
-	mds/SnapRealm.h\
-        mds/SnapServer.h\
-        mds/events/ECommitted.h\
-        mds/events/EExport.h\
-        mds/events/EFragment.h\
-        mds/events/EImportFinish.h\
-        mds/events/EImportStart.h\
-        mds/events/EMetaBlob.h\
-        mds/events/EOpen.h\
-	mds/events/EResetJournal.h\
-        mds/events/ESession.h\
-        mds/events/ESessions.h\
-        mds/events/ESlaveUpdate.h\
-        mds/events/ESubtreeMap.h\
-	mds/events/ETableClient.h\
-	mds/events/ETableServer.h\
-        mds/events/EUpdate.h\
-        mds/mds_table_types.h\
-        mds/mdstypes.h\
-        mds/snap.h\
-        messages/MAuth.h\
-        messages/MAuthReply.h\
-	messages/MCacheExpire.h\
-        messages/MClientCaps.h\
-        messages/MClientCapRelease.h\
-        messages/MClientLease.h\
-        messages/MClientReconnect.h\
-        messages/MClientReply.h\
-        messages/MClientRequest.h\
-        messages/MClientRequestForward.h\
-        messages/MClientSession.h\
-        messages/MClientSnap.h\
-        messages/MCommand.h\
-        messages/MCommandReply.h\
-        messages/MDentryLink.h\
-        messages/MDentryUnlink.h\
-        messages/MDirUpdate.h\
-        messages/MDiscover.h\
-        messages/MDiscoverReply.h\
-        messages/MExportCaps.h\
-        messages/MExportCapsAck.h\
-        messages/MExportDir.h\
-        messages/MExportDirAck.h\
-        messages/MExportDirCancel.h\
-        messages/MExportDirDiscover.h\
-        messages/MExportDirDiscoverAck.h\
-        messages/MExportDirFinish.h\
-        messages/MExportDirNotify.h\
-        messages/MExportDirNotifyAck.h\
-        messages/MExportDirPrep.h\
-        messages/MExportDirPrepAck.h\
-        messages/MGenericMessage.h\
-        messages/MGetPoolStats.h\
-        messages/MGetPoolStatsReply.h\
-        messages/MHeartbeat.h\
-        messages/MInodeFileCaps.h\
-        messages/MLock.h\
-	messages/MLog.h\
-	messages/MLogAck.h\
-        messages/MMDSBeacon.h\
-        messages/MMDSCacheRejoin.h\
-	messages/MMDSLoadTargets.h\
-	messages/MMDSFindIno.h\
-	messages/MMDSFindInoReply.h\
-        messages/MMDSFragmentNotify.h\
-        messages/MMDSMap.h\
-	messages/MMDSOpenIno.h \
-	messages/MMDSOpenInoReply.h \
-        messages/MMDSResolve.h\
-        messages/MMDSResolveAck.h\
-        messages/MMDSSlaveRequest.h\
-        messages/MMDSTableRequest.h\
-        messages/MMonCommand.h\
-        messages/MMonCommandAck.h\
-        messages/MMonElection.h\
-        messages/MMonGetMap.h\
-        messages/MMonGetVersion.h\
-        messages/MMonGetVersionReply.h\
-	messages/MMonGlobalID.h\
-	messages/MMonHealth.h\
-	messages/MMonJoin.h\
-        messages/MMonMap.h\
-        messages/MMonPaxos.h\
-        messages/MMonProbe.h\
-        messages/MMonScrub.h \
-        messages/MMonSubscribe.h\
-        messages/MMonSubscribeAck.h\
-        messages/MMonSync.h \
-        messages/MOSDAlive.h\
-        messages/MOSDBoot.h\
-        messages/MOSDFailure.h\
-        messages/MOSDMarkMeDown.h\
-        messages/MOSDMap.h\
-        messages/MOSDOp.h\
-        messages/MOSDOpReply.h\
-	messages/MOSDPGBackfill.h\
-        messages/MOSDPGCreate.h\
-        messages/MOSDPGPush.h\
-        messages/MOSDPGPull.h\
-        messages/MOSDPGPushReply.h\
-        messages/MOSDPGInfo.h\
-        messages/MOSDPGLog.h\
-        messages/MOSDPGMissing.h\
-        messages/MOSDPGNotify.h\
-        messages/MOSDPGQuery.h\
-        messages/MOSDPGRemove.h\
-	messages/MOSDPGScan.h\
-        messages/MBackfillReserve.h\
-        messages/MRecoveryReserve.h\
-	messages/MMonQuorumService.h\
-        messages/MOSDPGTemp.h\
-        messages/MOSDPGTrim.h\
-        messages/MOSDPing.h\
-	messages/MOSDRepScrub.h\
-	messages/MOSDScrub.h\
-        messages/MOSDSubOp.h\
-        messages/MOSDSubOpReply.h\
-        messages/MPGStats.h\
-        messages/MPGStatsAck.h\
-        messages/MPing.h\
-	messages/MPoolOp.h\
-	messages/MPoolOpReply.h\
-        messages/MRemoveSnaps.h\
-	messages/MRoute.h\
-	messages/MForward.h\
-        messages/MStatfs.h\
-        messages/MStatfsReply.h\
-	messages/MTimeCheck.h\
-        messages/MWatchNotify.h\
-	messages/PaxosServiceMessage.h\
-	mon/AuthMonitor.h\
-        mon/DataHealthService.h\
-        mon/Elector.h\
-	mon/LogMonitor.h\
-	mon/ConfigKeyService.h\
-        mon/HealthMonitor.h\
-        mon/HealthService.h\
-        mon/MDSMonitor.h\
-	mon/MonmapMonitor.h\
-        mon/MonCap.h\
-        mon/MonClient.h\
-	mon/MonCommands.h\
-        mon/MonMap.h\
-        mon/Monitor.h\
-	mon/MonitorStore.h\
-        mon/MonitorDBStore.h\
-        mon/OSDMonitor.h\
-        mon/PGMap.h\
-        mon/PGMonitor.h\
-        mon/Paxos.h\
-        mon/PaxosService.h\
-	mon/QuorumService.h\
-        mon/Session.h\
-        mon/mon_types.h\
-	mount/canonicalize.c\
-	mount/mtab.c\
-	msg/Accepter.h\
-	msg/DispatchQueue.h\
-        msg/Dispatcher.h\
-        msg/Message.h\
-        msg/Messenger.h\
-	msg/Pipe.h\
-        msg/SimpleMessenger.h\
-        msg/msg_types.h\
-	objclass/objclass.h\
-	os/btrfs_ioctl.h\
-	os/chain_xattr.h\
-	os/hobject.h \
-	os/CollectionIndex.h\
-        os/FileJournal.h\
-        os/FileStore.h\
-	os/FlatIndex.h\
-	os/HashIndex.h\
-	os/FDCache.h\
-	os/WBThrottle.h\
-	os/IndexManager.h\
-        os/Journal.h\
-        os/JournalingObjectStore.h\
-	os/LFNIndex.h\
-        os/ObjectStore.h\
-	os/SequencerPosition.h\
-        osd/Ager.h\
-	osd/ClassHandler.h\
-        osd/OSD.h\
-        osd/OSDCap.h\
-        osd/OSDMap.h\
-        osd/ObjectVersioner.h\
-	osd/OpRequest.h\
-	osd/SnapMapper.h\
-        osd/PG.h\
-        osd/PGLog.h\
-        osd/ReplicatedPG.h\
-        osd/Watch.h\
-        osd/osd_types.h\
-        osdc/Blinker.h\
-        osdc/Filer.h\
-        osdc/Journaler.h\
-        osdc/ObjectCacher.h\
-        osdc/Objecter.h\
-	osdc/Striper.h\
-	osdc/WritebackHandler.h\
-        perfglue/cpu_profiler.h\
-        perfglue/heap_profiler.h\
-	rgw/logrotate.conf\
-	rgw/rgw_acl.h\
-	rgw/rgw_acl_s3.h\
-	rgw/rgw_acl_swift.h\
-	rgw/rgw_client_io.h\
-	rgw/rgw_fcgi.h\
-	rgw/rgw_xml.h\
-	rgw/rgw_cache.h\
-	rgw/rgw_common.h\
-	rgw/rgw_cors.h\
-	rgw/rgw_cors_s3.h\
-	rgw/rgw_cors_swift.h\
-	rgw/rgw_string.h\
-	rgw/rgw_formats.h\
-	rgw/rgw_http_errors.h\
-	rgw/rgw_log.h\
-	rgw/rgw_multi.h\
-	rgw/rgw_policy_s3.h\
-	rgw/rgw_gc.h\
-	rgw/rgw_metadata.h\
-	rgw/rgw_multi_del.h\
-	rgw/rgw_op.h\
-	rgw/rgw_http_client.h\
-	rgw/rgw_swift.h\
-	rgw/rgw_swift_auth.h\
-	rgw/rgw_rados.h\
-	rgw/rgw_replica_log.h \
-	rgw/rgw_resolve.h\
-	rgw/rgw_rest.h\
-	rgw/rgw_rest_swift.h\
-	rgw/rgw_rest_s3.h\
-	rgw/rgw_auth_s3.h\
-	rgw/rgw_rest_admin.h\
-	rgw/rgw_rest_usage.h\
-	rgw/rgw_rest_user.h\
-	rgw/rgw_rest_bucket.h\
-	rgw/rgw_rest_client.h\
-	rgw/rgw_rest_conn.h\
-	rgw/rgw_tools.h\
-	rgw/rgw_rest_metadata.h\
-	rgw/rgw_rest_log.h\
-	rgw/rgw_rest_opstate.h\
-	rgw/rgw_rest_replica_log.h\
-	rgw/rgw_rest_config.h\
-	rgw/rgw_usage.h\
-	rgw/rgw_user.h\
-	rgw/rgw_bucket.h\
-        sample.ceph.conf\
-	tools/common.h\
-	test/osd/RadosModel.h\
-	test/osd/Object.h\
-	test/osd/TestOpStat.h\
-	global/pidfile.h\
-	common/sync_filesystem.h \
-        test/bench/distribution.h \
-        test/bench/rados_backend.h \
-        test/bench/rbd_backend.h \
-        test/bench/bencher.h \
-        test/bench/backend.h \
-        test/bench/dumb_backend.h \
-        test/bench/stat_collector.h \
-        test/bench/detailed_stat_collector.h \
-        test/bench/filestore_backend.h \
-        test/common/ObjectContents.h \
-        test/encoding/types.h \
-        test/filestore/DeterministicOpSequence.h \
-        test/filestore/FileStoreTracker.h \
-        test/filestore/FileStoreDiff.h \
-        test/filestore/TestFileStoreState.h \
-        test/filestore/workload_generator.h \
-        test/kv_store_bench.h \
-        test/librados/test.h \
-        test/ObjectMap/KeyValueDBMemory.h \
-        test/omap_bench.h \
-        test/osd/Object.h \
-        test/osd/RadosModel.h \
-        test/osd/TestOpStat.h \
-        test/osdc/FakeWriteback.h \
-        test/system/cross_process_sem.h \
-        test/system/st_rados_create_pool.h \
-        test/system/st_rados_list_objects.h \
-        test/system/st_rados_delete_objs.h \
-        test/system/st_rados_delete_pool.h \
-        test/system/st_rados_notify.h \
-        test/system/st_rados_watch.h \
-        test/system/systest_runnable.h \
-        test/system/systest_settings.h \
-        test/unit.h \
-	os/ObjectMap.h \
-	os/DBObjectMap.h \
-	os/KeyValueDB.h \
-	os/LevelDBStore.h \
-	common/cmdparse.h
+	sample.ceph.conf\
+	bash_completion/ceph \
+	bash_completion/rados \
+	bash_completion/rbd \
+	bash_completion/radosgw-admin \
+	mount/canonicalize.c \
+	mount/mtab.c \
+	objclass/objclass.h
+
+
+# coverage
+
+shell_scripts += ceph-coverage
+bin_SCRIPTS += ceph-coverage
+
 
 if ENABLE_COVERAGE
 COV_DIR = $(DESTDIR)$(libdir)/ceph/coverage
@@ -2329,13 +379,6 @@ uninstall-local: uninstall-coverage
 	-rmdir -p $(DESTDIR)$(localstatedir)/log/ceph
 	-rmdir -p $(DESTDIR)$(localstatedir)/lib/ceph/tmp
 
-# if we are doing a debug build, tell make to actually build the debug
-# targets
-if WITH_DEBUG
-bin_PROGRAMS += $(bin_DEBUGPROGRAMS)
-endif
-
-
 #
 # coverity rules expect:
 #  - cov-build to be in the path
diff --git a/src/Makefile.in b/src/Makefile.in
index 61a6021..48e84aa 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -40,114 +40,157 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-bin_PROGRAMS = ceph-mon$(EXEEXT) ceph_mon_store_converter$(EXEEXT) \
-	ceph-osd$(EXEEXT) ceph-mds$(EXEEXT) ceph-conf$(EXEEXT) \
-	ceph-authtool$(EXEEXT) ceph_filestore_dump$(EXEEXT) \
+DIST_COMMON = README $(am__noinst_HEADERS_DIST) $(dist_bin_SCRIPTS) \
+	$(python_PYTHON) $(srcdir)/Makefile-env.am \
+	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(srcdir)/acconfig.h.in $(srcdir)/arch/Makefile.am \
+	$(srcdir)/auth/Makefile.am $(srcdir)/client/Makefile.am \
+	$(srcdir)/cls/Makefile.am $(srcdir)/common/Makefile.am \
+	$(srcdir)/crush/Makefile.am $(srcdir)/global/Makefile.am \
+	$(srcdir)/include/Makefile.am \
+	$(srcdir)/json_spirit/Makefile.am \
+	$(srcdir)/key_value_store/Makefile.am \
+	$(srcdir)/librados/Makefile.am $(srcdir)/librbd/Makefile.am \
+	$(srcdir)/log/Makefile.am $(srcdir)/mds/Makefile.am \
+	$(srcdir)/messages/Makefile.am $(srcdir)/mon/Makefile.am \
+	$(srcdir)/msg/Makefile.am $(srcdir)/os/Makefile.am \
+	$(srcdir)/osd/ErasureCodePluginJerasure/Makefile.am \
+	$(srcdir)/osd/Makefile.am $(srcdir)/osdc/Makefile.am \
+	$(srcdir)/perfglue/Makefile.am $(srcdir)/rgw/Makefile.am \
+	$(srcdir)/test/Makefile.am $(srcdir)/tools/Makefile.am TODO
+bin_PROGRAMS = $(am__EXEEXT_6) $(am__EXEEXT_7) ceph-dencoder$(EXEEXT) \
+	ceph_filestore_tool$(EXEEXT) ceph_filestore_dump$(EXEEXT) \
 	monmaptool$(EXEEXT) crushtool$(EXEEXT) osdmaptool$(EXEEXT) \
-	ceph-dencoder$(EXEEXT) cephfs$(EXEEXT) \
-	librados-config$(EXEEXT) ceph-syn$(EXEEXT) $(am__EXEEXT_1) \
-	$(am__EXEEXT_2) rados$(EXEEXT) $(am__EXEEXT_3) $(am__EXEEXT_4) \
-	$(am__EXEEXT_11)
-sbin_PROGRAMS = $(am__EXEEXT_12)
+	rados$(EXEEXT) $(am__EXEEXT_8) ceph-conf$(EXEEXT) \
+	ceph-authtool$(EXEEXT) ceph_mon_store_converter$(EXEEXT) \
+	ceph-mon$(EXEEXT) ceph-osd$(EXEEXT) ceph-mds$(EXEEXT) \
+	cephfs$(EXEEXT) librados-config$(EXEEXT) ceph-syn$(EXEEXT) \
+	$(am__EXEEXT_9) $(am__EXEEXT_10)
+noinst_PROGRAMS = get_command_descriptions$(EXEEXT)
+sbin_PROGRAMS =
+su_sbin_PROGRAMS = $(am__EXEEXT_11)
 check_PROGRAMS = unittest_encoding$(EXEEXT) unittest_addrs$(EXEEXT) \
-	unittest_util$(EXEEXT) unittest_workqueue$(EXEEXT) \
-	unittest_striper$(EXEEXT) \
+	unittest_bloom_filter$(EXEEXT) \
+	unittest_sharedptr_registry$(EXEEXT) \
+	unittest_sloppy_crc_map$(EXEEXT) unittest_util$(EXEEXT) \
+	unittest_workqueue$(EXEEXT) unittest_striper$(EXEEXT) \
 	unittest_prebufferedstreambuf$(EXEEXT) \
 	unittest_str_list$(EXEEXT) unittest_log$(EXEEXT) \
 	unittest_throttle$(EXEEXT) unittest_base64$(EXEEXT) \
-	unittest_ceph_argparse$(EXEEXT) unittest_osd_types$(EXEEXT) \
-	unittest_pglog$(EXEEXT) unittest_gather$(EXEEXT) \
-	unittest_run_cmd$(EXEEXT) unittest_signals$(EXEEXT) \
-	unittest_simple_spin$(EXEEXT) unittest_librados$(EXEEXT) \
-	unittest_bufferlist$(EXEEXT) unittest_crypto$(EXEEXT) \
-	unittest_perf_counters$(EXEEXT) unittest_admin_socket$(EXEEXT) \
-	unittest_ceph_crypto$(EXEEXT) unittest_utf8$(EXEEXT) \
-	unittest_mime$(EXEEXT) unittest_escape$(EXEEXT) \
-	unittest_chain_xattr$(EXEEXT) unittest_flatindex$(EXEEXT) \
-	unittest_strtol$(EXEEXT) unittest_confutils$(EXEEXT) \
-	unittest_heartbeatmap$(EXEEXT) unittest_formatter$(EXEEXT) \
-	unittest_libcephfs_config$(EXEEXT) unittest_lfnindex$(EXEEXT) \
-	unittest_librados_config$(EXEEXT) \
+	unittest_ceph_argparse$(EXEEXT) \
+	unittest_ceph_compatset$(EXEEXT) \
+	unittest_erasure_code_plugin$(EXEEXT) \
+	unittest_erasure_code_jerasure$(EXEEXT) \
+	unittest_erasure_code_plugin_jerasure$(EXEEXT) \
+	unittest_erasure_code_example$(EXEEXT) \
+	unittest_osd_types$(EXEEXT) unittest_pglog$(EXEEXT) \
+	unittest_gather$(EXEEXT) unittest_run_cmd$(EXEEXT) \
+	unittest_signals$(EXEEXT) unittest_simple_spin$(EXEEXT) \
+	unittest_librados$(EXEEXT) unittest_bufferlist$(EXEEXT) \
+	unittest_crc32c$(EXEEXT) unittest_arch$(EXEEXT) \
+	unittest_crypto$(EXEEXT) unittest_perf_counters$(EXEEXT) \
+	unittest_admin_socket$(EXEEXT) unittest_ceph_crypto$(EXEEXT) \
+	unittest_utf8$(EXEEXT) unittest_mime$(EXEEXT) \
+	unittest_escape$(EXEEXT) unittest_chain_xattr$(EXEEXT) \
+	unittest_flatindex$(EXEEXT) unittest_strtol$(EXEEXT) \
+	unittest_confutils$(EXEEXT) unittest_heartbeatmap$(EXEEXT) \
+	unittest_formatter$(EXEEXT) unittest_libcephfs_config$(EXEEXT) \
+	unittest_lfnindex$(EXEEXT) unittest_librados_config$(EXEEXT) \
 	unittest_daemon_config$(EXEEXT) unittest_osd_osdcap$(EXEEXT) \
 	unittest_mon_moncap$(EXEEXT) unittest_ipaddr$(EXEEXT) \
 	unittest_texttable$(EXEEXT)
- at FREEBSD_TRUE@am__append_1 = -lexecinfo
- at LINUX_TRUE@am__append_2 = -lrt
- at WITH_PROFILER_TRUE@am__append_3 = -lprofiler
- at WITH_LIBAIO_TRUE@am__append_4 = -laio
- at LINUX_TRUE@am__append_5 = -ldl
- at LINUX_TRUE@am__append_6 = -ldl
- at LINUX_TRUE@am__append_7 = mount.ceph
- at WITH_FUSE_TRUE@am__append_8 = ceph-fuse rbd-fuse
- at WITH_TCMALLOC_TRUE@am__append_9 = -ltcmalloc
- at WITH_TCMALLOC_TRUE@am__append_10 = ${tcmalloc_safety_flags}
- at WITH_TCMALLOC_TRUE@am__append_11 = perfglue/heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__append_12 = -ltcmalloc
- at WITH_TCMALLOC_TRUE@am__append_13 = ${tcmalloc_safety_flags}
- at WITH_TCMALLOC_TRUE@am__append_14 = perfglue/heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__append_15 = -ltcmalloc
- at WITH_TCMALLOC_TRUE@am__append_16 = ${tcmalloc_safety_flags}
+
+# when doing a debug build, make sure to make the targets
+ at WITH_DEBUG_TRUE@am__append_1 = $(bin_DEBUGPROGRAMS)
+ at USE_BOOST_SPIRIT_OLD_HDR_TRUE@am__append_2 = -DUSE_BOOST_SPIRIT_OLD_HDR
+ at WITH_LIBATOMIC_TRUE@am__append_3 = -latomic_ops
+ at ENABLE_COVERAGE_TRUE@am__append_4 = -fprofile-arcs -ftest-coverage
+ at ENABLE_COVERAGE_TRUE@am__append_5 = -fprofile-arcs -ftest-coverage -O0
+ at FREEBSD_TRUE@am__append_6 = -lexecinfo
+ at LINUX_TRUE@am__append_7 = -lrt
+ at WITH_PROFILER_TRUE@am__append_8 = -lprofiler
+ at WITH_LIBAIO_TRUE@am__append_9 = -laio
+ at WITH_LIBZFS_TRUE@am__append_10 = libos_zfs.a -lzfs
+ at WITH_TCMALLOC_TRUE@am__append_11 = -ltcmalloc
+ at ENABLE_COVERAGE_TRUE@am__append_12 = -lgcov
+ at WITH_LIBZFS_TRUE@am__append_13 = libos_zfs.a
+ at WITH_LIBZFS_TRUE@am__append_14 = os/ZFS.h
+ at WITH_FUSE_TRUE@am__append_15 = libclient_fuse.la
+ at WITH_FUSE_TRUE@am__append_16 = client/fuse_ll.h
 @WITH_TCMALLOC_TRUE at am__append_17 = perfglue/heap_profiler.cc
- at WITH_FUSE_TRUE@@WITH_TCMALLOC_TRUE at am__append_18 = -ltcmalloc
- at WITH_FUSE_TRUE@@WITH_TCMALLOC_TRUE at am__append_19 = ${tcmalloc_safety_flags}
+ at WITH_TCMALLOC_TRUE@am__append_18 = -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
+ at WITH_TCMALLOC_TRUE@am__append_19 = -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
 @WITH_TCMALLOC_FALSE at am__append_20 = perfglue/disabled_heap_profiler.cc
- at WITH_TCMALLOC_FALSE@am__append_21 = perfglue/disabled_heap_profiler.cc
- at WITH_TCMALLOC_FALSE@am__append_22 = perfglue/disabled_heap_profiler.cc
- at WITH_BUILD_TESTS_TRUE@am__append_23 = ceph_test_libcommon_build \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_librados_build \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_librgw_build \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_libcephfs_build
- at WITH_HADOOPCLIENT_TRUE@am__append_24 = ceph_test_libhadoopcephfs_build
- at WITH_RADOSGW_TRUE@am__append_25 = librgw.a
- at WITH_RADOSGW_TRUE@am__append_26 = radosgw radosgw-admin
- at WITH_RADOSGW_TRUE@am__append_27 = ceph_rgw_multiparser \
+ at WITH_PROFILER_TRUE@am__append_21 = perfglue/cpu_profiler.cc
+ at WITH_PROFILER_FALSE@am__append_22 = perfglue/disabled_stubs.cc
+ at LINUX_TRUE@am__append_23 = common/secret.c
+ at WITH_GOOD_YASM_ELF64_TRUE@am__append_24 = common/crc32c_intel_fast_asm.S common/crc32c_intel_fast_zero_asm.S
+ at LINUX_TRUE@am__append_25 = -lrt
+ at WITH_RADOSGW_TRUE@am__append_26 = librgw.la
+ at WITH_RADOSGW_TRUE@am__append_27 = \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_log_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_statelog_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_replica_log_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_lock_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_version_client.a \
+ at WITH_RADOSGW_TRUE@	-lcurl \
+ at WITH_RADOSGW_TRUE@	-lexpat \
+ at WITH_RADOSGW_TRUE@	-lm \
+ at WITH_RADOSGW_TRUE@	-lfcgi
+
+ at WITH_RADOSGW_TRUE@am__append_28 = radosgw radosgw-admin
+ at WITH_RADOSGW_TRUE@am__append_29 = ceph_rgw_multiparser \
 @WITH_RADOSGW_TRUE@	ceph_rgw_jsonparser
- at WITH_REST_BENCH_TRUE@am__append_28 = rest-bench
- at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_TRUE at am__append_29 = -ls3
- at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__append_30 = libs3/build/lib/libs3.a -lcurl -lxml2
- at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__append_31 = -I$(top_srcdir)/src/libs3/inc
- at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__append_32 = libs3
- at LINUX_TRUE@am__append_33 = rbd
- at WITH_TCMALLOC_TRUE@am__append_34 = -ltcmalloc
- at WITH_TCMALLOC_TRUE@am__append_35 = ${tcmalloc_safety_flags}
- at WITH_TCMALLOC_TRUE@am__append_36 = perfglue/heap_profiler.cc
- at WITH_HADOOPCLIENT_TRUE@am__append_37 = libhadoopcephfs.la
- at ENABLE_CEPHFS_JAVA_TRUE@am__append_38 = libcephfs_jni.la
- at LINUX_TRUE@am__append_39 = -ldl
- at WITH_RADOSGW_TRUE@am__append_40 = ceph_test_cors \
+
+# inject rgw stuff in the decoder testcase
+ at WITH_RADOSGW_TRUE@am__append_30 = \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_dencoder.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_acl.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_common.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_env.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_json_enc.cc
+
+ at COMPILER_HAS_VTA_TRUE@am__append_31 = -fno-var-tracking-assignments
+ at COMPILER_HAS_VTA_TRUE@am__append_32 = -fno-var-tracking-assignments
+ at WITH_BUILD_TESTS_TRUE@am__append_33 = test_build_libcommon \
+ at WITH_BUILD_TESTS_TRUE@	test_build_librados test_build_librgw \
+ at WITH_BUILD_TESTS_TRUE@	test_build_libcephfs
+ at LINUX_TRUE@am__append_34 = -ldl
+ at LINUX_TRUE@am__append_35 = -ldl
+ at LINUX_TRUE@am__append_36 = -ldl
+ at LINUX_TRUE@am__append_37 = -ldl
+ at WITH_RADOSGW_TRUE@am__append_38 = ceph_test_cors \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_meta \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_log \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_opstate
- at WITH_RADOSGW_TRUE@am__append_41 = ceph_test_cls_rgw
- at USE_BOOST_SPIRIT_OLD_HDR_TRUE@am__append_42 = -DUSE_BOOST_SPIRIT_OLD_HDR
- at WITH_LIBATOMIC_TRUE@am__append_43 = -latomic_ops
- at ENABLE_COVERAGE_TRUE@am__append_44 = -fprofile-arcs -ftest-coverage
- at ENABLE_COVERAGE_TRUE@am__append_45 = -fprofile-arcs -ftest-coverage -O0
- at ENABLE_COVERAGE_TRUE@am__append_46 = -lgcov
- at WITH_PROFILER_TRUE@am__append_47 = perfglue/cpu_profiler.cc
- at WITH_PROFILER_FALSE@am__append_48 = perfglue/disabled_stubs.cc
-
-# if we are doing a debug build, tell make to actually build the debug
-# targets
- at WITH_DEBUG_TRUE@am__append_49 = $(bin_DEBUGPROGRAMS)
+ at WITH_RADOSGW_TRUE@am__append_39 = ceph_test_cls_rgw
+ at LINUX_TRUE@am__append_40 = -ldl
+ at LINUX_TRUE@am__append_41 = -ldl
+ at WITH_REST_BENCH_TRUE@am__append_42 = rest-bench
+ at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_TRUE at am__append_43 = -ls3
+ at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__append_44 = libs3/build/lib/libs3.a -lcurl -lxml2
+ at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__append_45 = libs3
+ at LINUX_TRUE@am__append_46 = -ldl
+ at LINUX_TRUE@am__append_47 = mount.ceph
+ at LINUX_TRUE@am__append_48 = rbd
+ at WITH_FUSE_TRUE@am__append_49 = ceph-fuse rbd-fuse
+ at ENABLE_CEPHFS_JAVA_TRUE@am__append_50 = libcephfs_jni.la
 subdir = src
-DIST_COMMON = README $(dist_bin_SCRIPTS) $(noinst_HEADERS) \
-	$(python_PYTHON) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/acconfig.h.in TODO
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_class.m4 \
-	$(top_srcdir)/m4/ac_check_classpath.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
-	$(top_srcdir)/m4/ac_prog_java.m4 \
-	$(top_srcdir)/m4/ac_prog_java_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javac_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_try_compile_java.m4 \
-	$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -162,140 +205,38 @@ am__v_AR_0 = @echo "  AR    " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-libcls_lock_client_a_AR = $(AR) $(ARFLAGS)
-libcls_lock_client_a_LIBADD =
-am_libcls_lock_client_a_OBJECTS = cls_lock_client.$(OBJEXT) \
-	cls_lock_types.$(OBJEXT) cls_lock_ops.$(OBJEXT)
-libcls_lock_client_a_OBJECTS = $(am_libcls_lock_client_a_OBJECTS)
 libcls_log_client_a_AR = $(AR) $(ARFLAGS)
 libcls_log_client_a_LIBADD =
-am_libcls_log_client_a_OBJECTS = cls_log_client.$(OBJEXT)
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libcls_log_client_a_OBJECTS = cls/log/cls_log_client.$(OBJEXT)
 libcls_log_client_a_OBJECTS = $(am_libcls_log_client_a_OBJECTS)
-libcls_refcount_client_a_AR = $(AR) $(ARFLAGS)
-libcls_refcount_client_a_LIBADD =
-am_libcls_refcount_client_a_OBJECTS = cls_refcount_client.$(OBJEXT) \
-	cls_refcount_ops.$(OBJEXT)
-libcls_refcount_client_a_OBJECTS =  \
-	$(am_libcls_refcount_client_a_OBJECTS)
 libcls_replica_log_client_a_AR = $(AR) $(ARFLAGS)
 libcls_replica_log_client_a_LIBADD =
 am_libcls_replica_log_client_a_OBJECTS =  \
-	cls_replica_log_types.$(OBJEXT) cls_replica_log_ops.$(OBJEXT) \
-	cls_replica_log_client.$(OBJEXT)
+	cls/replica_log/cls_replica_log_types.$(OBJEXT) \
+	cls/replica_log/cls_replica_log_ops.$(OBJEXT) \
+	cls/replica_log/cls_replica_log_client.$(OBJEXT)
 libcls_replica_log_client_a_OBJECTS =  \
 	$(am_libcls_replica_log_client_a_OBJECTS)
-libcls_rgw_client_a_AR = $(AR) $(ARFLAGS)
-libcls_rgw_client_a_LIBADD =
-am_libcls_rgw_client_a_OBJECTS = cls_rgw_client.$(OBJEXT) \
-	cls_rgw_types.$(OBJEXT) cls_rgw_ops.$(OBJEXT)
-libcls_rgw_client_a_OBJECTS = $(am_libcls_rgw_client_a_OBJECTS)
 libcls_statelog_client_a_AR = $(AR) $(ARFLAGS)
 libcls_statelog_client_a_LIBADD =
-am_libcls_statelog_client_a_OBJECTS = cls_statelog_client.$(OBJEXT)
+am_libcls_statelog_client_a_OBJECTS =  \
+	cls/statelog/cls_statelog_client.$(OBJEXT)
 libcls_statelog_client_a_OBJECTS =  \
 	$(am_libcls_statelog_client_a_OBJECTS)
 libcls_version_client_a_AR = $(AR) $(ARFLAGS)
 libcls_version_client_a_LIBADD =
-am_libcls_version_client_a_OBJECTS = cls_version_client.$(OBJEXT) \
-	cls_version_types.$(OBJEXT)
+am_libcls_version_client_a_OBJECTS =  \
+	cls/version/cls_version_client.$(OBJEXT) \
+	cls/version/cls_version_types.$(OBJEXT)
 libcls_version_client_a_OBJECTS =  \
 	$(am_libcls_version_client_a_OBJECTS)
-libmds_a_AR = $(AR) $(ARFLAGS)
-libmds_a_LIBADD =
-am_libmds_a_OBJECTS = Anchor.$(OBJEXT) Capability.$(OBJEXT) \
-	Dumper.$(OBJEXT) Resetter.$(OBJEXT) MDS.$(OBJEXT) \
-	flock.$(OBJEXT) locks.$(OBJEXT) journal.$(OBJEXT) \
-	Server.$(OBJEXT) Mutation.$(OBJEXT) MDCache.$(OBJEXT) \
-	Locker.$(OBJEXT) Migrator.$(OBJEXT) MDBalancer.$(OBJEXT) \
-	CDentry.$(OBJEXT) CDir.$(OBJEXT) CInode.$(OBJEXT) \
-	LogEvent.$(OBJEXT) MDSTable.$(OBJEXT) InoTable.$(OBJEXT) \
-	MDSTableClient.$(OBJEXT) MDSTableServer.$(OBJEXT) \
-	AnchorServer.$(OBJEXT) AnchorClient.$(OBJEXT) \
-	SnapRealm.$(OBJEXT) SnapServer.$(OBJEXT) snap.$(OBJEXT) \
-	SessionMap.$(OBJEXT) MDLog.$(OBJEXT) Journaler.$(OBJEXT)
-libmds_a_OBJECTS = $(am_libmds_a_OBJECTS)
-libmon_a_AR = $(AR) $(ARFLAGS)
-libmon_a_LIBADD =
-am_libmon_a_OBJECTS = libmon_a-CephxKeyServer.$(OBJEXT) \
-	libmon_a-CephxServiceHandler.$(OBJEXT) \
-	libmon_a-CephxSessionHandler.$(OBJEXT) \
-	libmon_a-AuthServiceHandler.$(OBJEXT) \
-	libmon_a-AuthSessionHandler.$(OBJEXT) \
-	libmon_a-Monitor.$(OBJEXT) libmon_a-Paxos.$(OBJEXT) \
-	libmon_a-PaxosService.$(OBJEXT) libmon_a-OSDMonitor.$(OBJEXT) \
-	libmon_a-MDSMonitor.$(OBJEXT) libmon_a-MonmapMonitor.$(OBJEXT) \
-	libmon_a-PGMonitor.$(OBJEXT) libmon_a-PGMap.$(OBJEXT) \
-	libmon_a-LogMonitor.$(OBJEXT) libmon_a-AuthMonitor.$(OBJEXT) \
-	libmon_a-Elector.$(OBJEXT) libmon_a-MonitorStore.$(OBJEXT) \
-	libmon_a-LevelDBStore.$(OBJEXT) \
-	libmon_a-HealthMonitor.$(OBJEXT) \
-	libmon_a-DataHealthService.$(OBJEXT) \
-	libmon_a-ConfigKeyService.$(OBJEXT) libmon_a-util.$(OBJEXT)
-libmon_a_OBJECTS = $(am_libmon_a_OBJECTS)
-libos_a_AR = $(AR) $(ARFLAGS)
-libos_a_LIBADD =
-am_libos_a_OBJECTS = libos_a-FileJournal.$(OBJEXT) \
-	libos_a-FileStore.$(OBJEXT) libos_a-chain_xattr.$(OBJEXT) \
-	libos_a-ObjectStore.$(OBJEXT) \
-	libos_a-JournalingObjectStore.$(OBJEXT) \
-	libos_a-LFNIndex.$(OBJEXT) libos_a-HashIndex.$(OBJEXT) \
-	libos_a-IndexManager.$(OBJEXT) libos_a-FlatIndex.$(OBJEXT) \
-	libos_a-DBObjectMap.$(OBJEXT) libos_a-LevelDBStore.$(OBJEXT) \
-	libos_a-WBThrottle.$(OBJEXT)
-libos_a_OBJECTS = $(am_libos_a_OBJECTS)
-libosd_a_AR = $(AR) $(ARFLAGS)
-libosd_a_LIBADD =
-am_libosd_a_OBJECTS = libosd_a-PG.$(OBJEXT) libosd_a-PGLog.$(OBJEXT) \
-	libosd_a-ReplicatedPG.$(OBJEXT) libosd_a-Ager.$(OBJEXT) \
-	libosd_a-OSD.$(OBJEXT) libosd_a-OSDCap.$(OBJEXT) \
-	libosd_a-Watch.$(OBJEXT) libosd_a-ClassHandler.$(OBJEXT) \
-	libosd_a-OpRequest.$(OBJEXT) libosd_a-SnapMapper.$(OBJEXT)
-libosd_a_OBJECTS = $(am_libosd_a_OBJECTS)
-librgw_a_AR = $(AR) $(ARFLAGS)
-librgw_a_LIBADD =
-am__librgw_a_SOURCES_DIST = rgw/librgw.cc rgw/rgw_acl.cc \
-	rgw/rgw_acl_s3.cc rgw/rgw_acl_swift.cc rgw/rgw_client_io.cc \
-	rgw/rgw_fcgi.cc rgw/rgw_xml.cc rgw/rgw_usage.cc \
-	rgw/rgw_json_enc.cc rgw/rgw_user.cc rgw/rgw_bucket.cc \
-	rgw/rgw_tools.cc rgw/rgw_rados.cc rgw/rgw_http_client.cc \
-	rgw/rgw_rest_client.cc rgw/rgw_rest_conn.cc rgw/rgw_op.cc \
-	rgw/rgw_common.cc rgw/rgw_cache.cc rgw/rgw_formats.cc \
-	rgw/rgw_log.cc rgw/rgw_multi.cc rgw/rgw_policy_s3.cc \
-	rgw/rgw_gc.cc rgw/rgw_multi_del.cc rgw/rgw_env.cc \
-	rgw/rgw_cors.cc rgw/rgw_cors_s3.cc rgw/rgw_auth_s3.cc \
-	rgw/rgw_metadata.cc rgw/rgw_replica_log.cc
- at WITH_RADOSGW_TRUE@am_librgw_a_OBJECTS = librgw_a-librgw.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_acl.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_acl_s3.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_acl_swift.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_client_io.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_fcgi.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_xml.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_usage.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_json_enc.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_user.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_bucket.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_tools.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_rados.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_http_client.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_rest_client.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_rest_conn.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_op.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_common.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_cache.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_formats.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_log.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_multi.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_policy_s3.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_gc.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_multi_del.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_env.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_cors.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_cors_s3.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_auth_s3.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_metadata.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	librgw_a-rgw_replica_log.$(OBJEXT)
-librgw_a_OBJECTS = $(am_librgw_a_OBJECTS)
+libos_zfs_a_AR = $(AR) $(ARFLAGS)
+libos_zfs_a_LIBADD =
+am__libos_zfs_a_SOURCES_DIST = os/ZFS.cc
+ at WITH_LIBZFS_TRUE@am_libos_zfs_a_OBJECTS =  \
+ at WITH_LIBZFS_TRUE@	os/libos_zfs_a-ZFS.$(OBJEXT)
+libos_zfs_a_OBJECTS = $(am_libos_zfs_a_OBJECTS)
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -323,343 +264,490 @@ am__uninstall_files_from_dir = { \
     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(radoslibdir)" \
-	"$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
-	"$(DESTDIR)$(bindir)" "$(DESTDIR)$(ceph_sbindir)" \
+am__installdirs = "$(DESTDIR)$(erasure_codelibdir)" \
+	"$(DESTDIR)$(libdir)" "$(DESTDIR)$(radoslibdir)" \
 	"$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
-	"$(DESTDIR)$(shell_commondir)" "$(DESTDIR)$(pythondir)" \
+	"$(DESTDIR)$(su_sbindir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(ceph_sbindir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(shell_commondir)" \
+	"$(DESTDIR)$(su_sbindir)" "$(DESTDIR)$(pythondir)" \
 	"$(DESTDIR)$(bash_completiondir)" "$(DESTDIR)$(docdir)" \
 	"$(DESTDIR)$(libcephfs_includedir)" \
 	"$(DESTDIR)$(librbd_includedir)" \
 	"$(DESTDIR)$(rados_includedir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) \
-	$(radoslib_LTLIBRARIES)
-libcephfs_la_DEPENDENCIES = libclient.la
-am_libcephfs_la_OBJECTS = libcephfs_la-libcephfs.lo
-libcephfs_la_OBJECTS = $(am_libcephfs_la_OBJECTS)
+LTLIBRARIES = $(erasure_codelib_LTLIBRARIES) $(lib_LTLIBRARIES) \
+	$(noinst_LTLIBRARIES) $(radoslib_LTLIBRARIES)
+libarch_la_LIBADD =
+am_libarch_la_OBJECTS = arch/intel.lo arch/neon.lo arch/probe.lo
+libarch_la_OBJECTS = $(am_libarch_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-libcephfs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libcephfs_la_CXXFLAGS) \
-	$(CXXFLAGS) $(libcephfs_la_LDFLAGS) $(LDFLAGS) -o $@
+libauth_la_LIBADD =
+am_libauth_la_OBJECTS = auth/AuthAuthorizeHandler.lo \
+	auth/AuthClientHandler.lo auth/AuthSessionHandler.lo \
+	auth/AuthServiceHandler.lo auth/AuthMethodList.lo \
+	auth/cephx/CephxAuthorizeHandler.lo \
+	auth/cephx/CephxClientHandler.lo auth/cephx/CephxProtocol.lo \
+	auth/cephx/CephxServiceHandler.lo \
+	auth/cephx/CephxSessionHandler.lo auth/cephx/CephxKeyServer.lo \
+	auth/none/AuthNoneAuthorizeHandler.lo \
+	auth/unknown/AuthUnknownAuthorizeHandler.lo auth/Crypto.lo \
+	auth/KeyRing.lo auth/RotatingKeyRing.lo
+libauth_la_OBJECTS = $(am_libauth_la_OBJECTS)
 am__DEPENDENCIES_1 =
 am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_DEPENDENCIES = libcephfs.la \
+libcephfs_la_DEPENDENCIES = $(LIBCLIENT) $(LIBCOMMON) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libcephfs_la_OBJECTS = libcephfs.lo
+libcephfs_la_OBJECTS = $(am_libcephfs_la_OBJECTS)
+libcephfs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(libcephfs_la_LDFLAGS) $(LDFLAGS) -o $@
+ at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_DEPENDENCIES = $(LIBCEPHFS) \
 @ENABLE_CEPHFS_JAVA_TRUE@	$(am__DEPENDENCIES_2)
 am__libcephfs_jni_la_SOURCES_DIST = java/native/libcephfs_jni.cc \
 	java/native/ScopedLocalRef.h java/native/JniConstants.cpp \
 	java/native/JniConstants.h
- at ENABLE_CEPHFS_JAVA_TRUE@am_libcephfs_jni_la_OBJECTS =  \
- at ENABLE_CEPHFS_JAVA_TRUE@	libcephfs_jni_la-libcephfs_jni.lo \
- at ENABLE_CEPHFS_JAVA_TRUE@	libcephfs_jni_la-JniConstants.lo
+ at ENABLE_CEPHFS_JAVA_TRUE@am_libcephfs_jni_la_OBJECTS = java/native/libcephfs_jni_la-libcephfs_jni.lo \
+ at ENABLE_CEPHFS_JAVA_TRUE@	java/native/libcephfs_jni_la-JniConstants.lo
 libcephfs_jni_la_OBJECTS = $(am_libcephfs_jni_la_OBJECTS)
 libcephfs_jni_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcephfs_jni_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcephfs_jni_la_LDFLAGS) $(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcephfs_jni_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 @ENABLE_CEPHFS_JAVA_TRUE at am_libcephfs_jni_la_rpath = -rpath $(libdir)
-libclient_la_DEPENDENCIES = libosdc.la $(am__DEPENDENCIES_1)
-am_libclient_la_OBJECTS = Client.lo Inode.lo Dentry.lo MetaRequest.lo \
-	ClientSnapRealm.lo MetaSession.lo Trace.lo
+libclient_la_DEPENDENCIES = $(LIBOSDC) $(am__DEPENDENCIES_1)
+am_libclient_la_OBJECTS = client/Client.lo client/Inode.lo \
+	client/Dentry.lo client/MetaRequest.lo \
+	client/ClientSnapRealm.lo client/MetaSession.lo \
+	client/Trace.lo
 libclient_la_OBJECTS = $(am_libclient_la_OBJECTS)
+ at WITH_FUSE_TRUE@libclient_fuse_la_DEPENDENCIES = libclient.la
+am__libclient_fuse_la_SOURCES_DIST = client/fuse_ll.cc
+ at WITH_FUSE_TRUE@am_libclient_fuse_la_OBJECTS = client/fuse_ll.lo
+libclient_fuse_la_OBJECTS = $(am_libclient_fuse_la_OBJECTS)
+ at WITH_FUSE_TRUE@am_libclient_fuse_la_rpath =
+libcls_hello_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libcls_hello_la_OBJECTS = cls/hello/cls_hello.lo
+libcls_hello_la_OBJECTS = $(am_libcls_hello_la_OBJECTS)
+libcls_hello_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_hello_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 libcls_kvs_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_kvs_la_OBJECTS = libcls_kvs_la-cls_kvs.lo
+am_libcls_kvs_la_OBJECTS = key_value_store/cls_kvs.lo
 libcls_kvs_la_OBJECTS = $(am_libcls_kvs_la_OBJECTS)
 libcls_kvs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_kvs_la_CXXFLAGS) $(CXXFLAGS) $(libcls_kvs_la_LDFLAGS) \
-	$(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_kvs_la_LDFLAGS) $(LDFLAGS) \
+	-o $@
 libcls_lock_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_lock_la_OBJECTS = libcls_lock_la-cls_lock.lo
+am_libcls_lock_la_OBJECTS = cls/lock/cls_lock.lo
 libcls_lock_la_OBJECTS = $(am_libcls_lock_la_OBJECTS)
 libcls_lock_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_lock_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcls_lock_la_LDFLAGS) $(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_lock_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+libcls_lock_client_la_LIBADD =
+am_libcls_lock_client_la_OBJECTS = cls/lock/cls_lock_client.lo \
+	cls/lock/cls_lock_types.lo cls/lock/cls_lock_ops.lo
+libcls_lock_client_la_OBJECTS = $(am_libcls_lock_client_la_OBJECTS)
 libcls_log_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_log_la_OBJECTS = libcls_log_la-cls_log.lo
+am_libcls_log_la_OBJECTS = cls/log/cls_log.lo
 libcls_log_la_OBJECTS = $(am_libcls_log_la_OBJECTS)
 libcls_log_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_log_la_CXXFLAGS) $(CXXFLAGS) $(libcls_log_la_LDFLAGS) \
-	$(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_log_la_LDFLAGS) $(LDFLAGS) \
+	-o $@
 libcls_rbd_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_rbd_la_OBJECTS = libcls_rbd_la-cls_rbd.lo
+am_libcls_rbd_la_OBJECTS = cls/rbd/cls_rbd.lo
 libcls_rbd_la_OBJECTS = $(am_libcls_rbd_la_OBJECTS)
 libcls_rbd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_rbd_la_CXXFLAGS) $(CXXFLAGS) $(libcls_rbd_la_LDFLAGS) \
-	$(LDFLAGS) -o $@
-libcls_refcount_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
-am_libcls_refcount_la_OBJECTS = libcls_refcount_la-cls_refcount.lo \
-	libcls_refcount_la-cls_refcount_ops.lo \
-	libcls_refcount_la-ceph_json.lo \
-	libcls_refcount_la-json_spirit_reader.lo \
-	libcls_refcount_la-json_spirit_writer.lo \
-	libcls_refcount_la-json_spirit_value.lo
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_rbd_la_LDFLAGS) $(LDFLAGS) \
+	-o $@
+libcls_rbd_client_la_LIBADD =
+am_libcls_rbd_client_la_OBJECTS = cls/rbd/cls_rbd_client.lo
+libcls_rbd_client_la_OBJECTS = $(am_libcls_rbd_client_la_OBJECTS)
+libcls_refcount_la_DEPENDENCIES = libjson_spirit.la \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+am_libcls_refcount_la_OBJECTS = cls/refcount/cls_refcount.lo \
+	cls/refcount/cls_refcount_ops.lo common/ceph_json.lo
 libcls_refcount_la_OBJECTS = $(am_libcls_refcount_la_OBJECTS)
 libcls_refcount_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcls_refcount_la_LDFLAGS) $(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_refcount_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+libcls_refcount_client_la_LIBADD =
+am_libcls_refcount_client_la_OBJECTS =  \
+	cls/refcount/cls_refcount_client.lo \
+	cls/refcount/cls_refcount_ops.lo
+libcls_refcount_client_la_OBJECTS =  \
+	$(am_libcls_refcount_client_la_OBJECTS)
 libcls_replica_log_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_replica_log_la_OBJECTS =  \
-	libcls_replica_log_la-cls_replica_log.lo
+am_libcls_replica_log_la_OBJECTS = cls/replica_log/cls_replica_log.lo
 libcls_replica_log_la_OBJECTS = $(am_libcls_replica_log_la_OBJECTS)
 libcls_replica_log_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_replica_log_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcls_replica_log_la_LDFLAGS) $(LDFLAGS) -o $@
-libcls_rgw_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_replica_log_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+libcls_rgw_la_DEPENDENCIES = libjson_spirit.la $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_rgw_la_OBJECTS = libcls_rgw_la-cls_rgw.lo \
-	libcls_rgw_la-cls_rgw_ops.lo libcls_rgw_la-cls_rgw_types.lo \
-	libcls_rgw_la-ceph_json.lo libcls_rgw_la-json_spirit_reader.lo \
-	libcls_rgw_la-json_spirit_writer.lo \
-	libcls_rgw_la-json_spirit_value.lo
+am_libcls_rgw_la_OBJECTS = cls/rgw/cls_rgw.lo cls/rgw/cls_rgw_ops.lo \
+	cls/rgw/cls_rgw_types.lo common/ceph_json.lo
 libcls_rgw_la_OBJECTS = $(am_libcls_rgw_la_OBJECTS)
 libcls_rgw_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) $(libcls_rgw_la_LDFLAGS) \
-	$(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_rgw_la_LDFLAGS) $(LDFLAGS) \
+	-o $@
+libcls_rgw_client_la_LIBADD =
+am_libcls_rgw_client_la_OBJECTS = cls/rgw/cls_rgw_client.lo \
+	cls/rgw/cls_rgw_types.lo cls/rgw/cls_rgw_ops.lo
+libcls_rgw_client_la_OBJECTS = $(am_libcls_rgw_client_la_OBJECTS)
 libcls_statelog_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_statelog_la_OBJECTS = libcls_statelog_la-cls_statelog.lo
+am_libcls_statelog_la_OBJECTS = cls/statelog/cls_statelog.lo
 libcls_statelog_la_OBJECTS = $(am_libcls_statelog_la_OBJECTS)
 libcls_statelog_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_statelog_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcls_statelog_la_LDFLAGS) $(LDFLAGS) -o $@
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_statelog_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 libcls_version_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_libcls_version_la_OBJECTS = libcls_version_la-cls_version.lo
+am_libcls_version_la_OBJECTS = cls/version/cls_version.lo
 libcls_version_la_OBJECTS = $(am_libcls_version_la_OBJECTS)
 libcls_version_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libcls_version_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libcls_version_la_LDFLAGS) $(LDFLAGS) -o $@
-libcommon_la_LIBADD =
-am__libcommon_la_SOURCES_DIST = ./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libcls_version_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am__DEPENDENCIES_3 = libcommon_crc.la $(LIBMSG) $(LIBAUTH) $(LIBCRUSH) \
+	$(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH) $(am__DEPENDENCIES_1)
+libcommon_la_DEPENDENCIES = $(am__DEPENDENCIES_3)
+am__libcommon_la_SOURCES_DIST = ceph_ver.c common/DecayCounter.cc \
 	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
+	common/PrebufferedStreambuf.cc common/SloppyCRCMap.cc \
+	common/BackTrace.cc common/perf_counters.cc common/Mutex.cc \
 	common/OutputDataSocket.cc common/admin_socket.cc \
 	common/admin_socket_client.cc common/cmdparse.cc \
 	common/escape.c common/Clock.cc common/Throttle.cc \
 	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
+	common/assert.cc common/run_cmd.cc common/WorkQueue.cc \
+	common/ConfUtils.cc common/MemoryModel.cc common/armor.c \
+	common/fd.cc common/xattr.c common/safe_io.c \
+	common/snap_types.cc common/str_list.cc common/errno.cc \
+	common/RefCountedObj.cc common/blkdev.cc common/common_init.cc \
+	common/pipe.c common/ceph_argparse.cc common/ceph_context.cc \
+	common/buffer.cc common/code_environment.cc common/dout.cc \
+	common/signal.cc common/simple_spin.cc common/Thread.cc \
+	common/Formatter.cc common/HeartbeatMap.cc common/config.cc \
 	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
 	common/lockdep.cc common/version.cc common/hex.cc \
 	common/entity_name.cc common/ceph_crypto.cc \
 	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc
-am__objects_1 = libcommon_la-builder.lo libcommon_la-mapper.lo \
-	libcommon_la-crush.lo libcommon_la-hash.lo \
-	libcommon_la-CrushWrapper.lo libcommon_la-CrushCompiler.lo \
-	libcommon_la-CrushTester.lo
- at WITH_PROFILER_TRUE@am__objects_2 = libcommon_la-cpu_profiler.lo
- at WITH_PROFILER_FALSE@am__objects_3 = libcommon_la-disabled_stubs.lo
-am__objects_4 = libcommon_la-ceph_ver.lo \
-	libcommon_la-AuthAuthorizeHandler.lo \
-	libcommon_la-AuthClientHandler.lo \
-	libcommon_la-AuthSessionHandler.lo \
-	libcommon_la-AuthMethodList.lo \
-	libcommon_la-CephxAuthorizeHandler.lo \
-	libcommon_la-CephxClientHandler.lo \
-	libcommon_la-CephxProtocol.lo \
-	libcommon_la-CephxSessionHandler.lo \
-	libcommon_la-AuthNoneAuthorizeHandler.lo \
-	libcommon_la-AuthUnknownAuthorizeHandler.lo \
-	libcommon_la-Crypto.lo libcommon_la-KeyRing.lo \
-	libcommon_la-RotatingKeyRing.lo libcommon_la-DecayCounter.lo \
-	libcommon_la-LogClient.lo libcommon_la-LogEntry.lo \
-	libcommon_la-PrebufferedStreambuf.lo libcommon_la-BackTrace.lo \
-	libcommon_la-perf_counters.lo libcommon_la-Mutex.lo \
-	libcommon_la-OutputDataSocket.lo libcommon_la-admin_socket.lo \
-	libcommon_la-admin_socket_client.lo libcommon_la-cmdparse.lo \
-	libcommon_la-escape.lo libcommon_la-Clock.lo \
-	libcommon_la-Throttle.lo libcommon_la-Timer.lo \
-	libcommon_la-Finisher.lo libcommon_la-environment.lo \
-	libcommon_la-sctp_crc32.lo libcommon_la-crc32c-intel.lo \
-	libcommon_la-assert.lo libcommon_la-run_cmd.lo \
-	libcommon_la-WorkQueue.lo libcommon_la-ConfUtils.lo \
-	libcommon_la-MemoryModel.lo libcommon_la-armor.lo \
-	libcommon_la-fd.lo libcommon_la-xattr.lo \
-	libcommon_la-safe_io.lo libcommon_la-snap_types.lo \
-	libcommon_la-str_list.lo libcommon_la-errno.lo \
-	libcommon_la-json_spirit_reader.lo \
-	libcommon_la-json_spirit_writer.lo \
-	libcommon_la-json_spirit_value.lo libcommon_la-Log.lo \
-	libcommon_la-SubsystemMap.lo libcommon_la-MonCap.lo \
-	libcommon_la-MonClient.lo libcommon_la-MonMap.lo \
-	libcommon_la-Accepter.lo libcommon_la-DispatchQueue.lo \
-	libcommon_la-Message.lo libcommon_la-RefCountedObj.lo \
-	libcommon_la-Messenger.lo libcommon_la-Pipe.lo \
-	libcommon_la-SimpleMessenger.lo libcommon_la-msg_types.lo \
-	libcommon_la-hobject.lo libcommon_la-OSDMap.lo \
-	libcommon_la-osd_types.lo libcommon_la-MDSMap.lo \
-	libcommon_la-inode_backtrace.lo libcommon_la-mdstypes.lo \
-	libcommon_la-blkdev.lo libcommon_la-common_init.lo \
-	libcommon_la-pipe.lo libcommon_la-ceph_argparse.lo \
-	libcommon_la-ceph_context.lo libcommon_la-buffer.lo \
-	libcommon_la-code_environment.lo libcommon_la-dout.lo \
-	libcommon_la-signal.lo libcommon_la-simple_spin.lo \
-	libcommon_la-Thread.lo libcommon_la-Formatter.lo \
-	libcommon_la-HeartbeatMap.lo libcommon_la-ceph_fs.lo \
-	libcommon_la-ceph_hash.lo libcommon_la-ceph_strings.lo \
-	libcommon_la-ceph_frag.lo libcommon_la-config.lo \
-	libcommon_la-utf8.lo libcommon_la-mime.lo \
-	libcommon_la-strtol.lo libcommon_la-page.lo \
-	libcommon_la-lockdep.lo libcommon_la-version.lo \
-	libcommon_la-hex.lo libcommon_la-entity_name.lo \
-	libcommon_la-ceph_crypto.lo libcommon_la-ceph_crypto_cms.lo \
-	libcommon_la-ceph_json.lo libcommon_la-ipaddr.lo \
-	libcommon_la-pick_address.lo libcommon_la-addr_parsing.lo \
-	$(am__objects_1) $(am__objects_2) $(am__objects_3)
-am_libcommon_la_OBJECTS = $(am__objects_4)
+	common/pick_address.cc common/util.cc common/TextTable.cc \
+	common/ceph_fs.cc common/ceph_hash.cc common/ceph_strings.cc \
+	common/ceph_frag.cc common/addr_parsing.c common/hobject.cc \
+	common/bloom_filter.cc common/secret.c mon/MonCap.cc \
+	mon/MonClient.cc mon/MonMap.cc osd/OSDMap.cc osd/osd_types.cc \
+	mds/MDSMap.cc mds/inode_backtrace.cc mds/mdstypes.cc
+ at LINUX_TRUE@am__objects_1 = common/secret.lo
+am_libcommon_la_OBJECTS = ceph_ver.lo common/DecayCounter.lo \
+	common/LogClient.lo common/LogEntry.lo \
+	common/PrebufferedStreambuf.lo common/SloppyCRCMap.lo \
+	common/BackTrace.lo common/perf_counters.lo common/Mutex.lo \
+	common/OutputDataSocket.lo common/admin_socket.lo \
+	common/admin_socket_client.lo common/cmdparse.lo \
+	common/escape.lo common/Clock.lo common/Throttle.lo \
+	common/Timer.lo common/Finisher.lo common/environment.lo \
+	common/assert.lo common/run_cmd.lo common/WorkQueue.lo \
+	common/ConfUtils.lo common/MemoryModel.lo common/armor.lo \
+	common/fd.lo common/xattr.lo common/safe_io.lo \
+	common/snap_types.lo common/str_list.lo common/errno.lo \
+	common/RefCountedObj.lo common/blkdev.lo common/common_init.lo \
+	common/pipe.lo common/ceph_argparse.lo common/ceph_context.lo \
+	common/buffer.lo common/code_environment.lo common/dout.lo \
+	common/signal.lo common/simple_spin.lo common/Thread.lo \
+	common/Formatter.lo common/HeartbeatMap.lo common/config.lo \
+	common/utf8.lo common/mime.lo common/strtol.lo common/page.lo \
+	common/lockdep.lo common/version.lo common/hex.lo \
+	common/entity_name.lo common/ceph_crypto.lo \
+	common/ceph_crypto_cms.lo common/ceph_json.lo common/ipaddr.lo \
+	common/pick_address.lo common/util.lo common/TextTable.lo \
+	common/ceph_fs.lo common/ceph_hash.lo common/ceph_strings.lo \
+	common/ceph_frag.lo common/addr_parsing.lo common/hobject.lo \
+	common/bloom_filter.lo $(am__objects_1) mon/MonCap.lo \
+	mon/MonClient.lo mon/MonMap.lo osd/OSDMap.lo osd/osd_types.lo \
+	mds/MDSMap.lo mds/inode_backtrace.lo mds/mdstypes.lo
 libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS)
-libcommon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libcommon_la_CXXFLAGS) \
-	$(CXXFLAGS) $(libcommon_la_LDFLAGS) $(LDFLAGS) -o $@
-libglobal_la_DEPENDENCIES = libcommon.la
-am_libglobal_la_OBJECTS = libglobal_la-global_context.lo \
-	libglobal_la-global_init.lo libglobal_la-pidfile.lo \
-	libglobal_la-signal_handler.lo
-libglobal_la_OBJECTS = $(am_libglobal_la_OBJECTS)
-libglobal_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libglobal_la_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_DEPENDENCIES =  \
- at WITH_HADOOPCLIENT_TRUE@	libcephfs.la
-am__libhadoopcephfs_la_SOURCES_DIST =  \
-	client/hadoop/CephFSInterface.cc
- at WITH_HADOOPCLIENT_TRUE@am_libhadoopcephfs_la_OBJECTS =  \
- at WITH_HADOOPCLIENT_TRUE@	libhadoopcephfs_la-CephFSInterface.lo
-libhadoopcephfs_la_OBJECTS = $(am_libhadoopcephfs_la_OBJECTS)
-libhadoopcephfs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+libcommon_crc_la_LIBADD =
+am__libcommon_crc_la_SOURCES_DIST = common/sctp_crc32.c \
+	common/crc32c.cc common/crc32c_intel_baseline.c \
+	common/crc32c_intel_fast.c common/crc32c_intel_fast_asm.S \
+	common/crc32c_intel_fast_zero_asm.S
+ at WITH_GOOD_YASM_ELF64_TRUE@am__objects_2 = common/libcommon_crc_la-crc32c_intel_fast_asm.lo \
+ at WITH_GOOD_YASM_ELF64_TRUE@	common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo
+am_libcommon_crc_la_OBJECTS = common/libcommon_crc_la-sctp_crc32.lo \
+	common/libcommon_crc_la-crc32c.lo \
+	common/libcommon_crc_la-crc32c_intel_baseline.lo \
+	common/libcommon_crc_la-crc32c_intel_fast.lo $(am__objects_2)
+libcommon_crc_la_OBJECTS = $(am_libcommon_crc_la_OBJECTS)
+libcommon_crc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+libcrush_la_LIBADD =
+am_libcrush_la_OBJECTS = crush/builder.lo crush/mapper.lo \
+	crush/crush.lo crush/hash.lo crush/CrushWrapper.lo \
+	crush/CrushCompiler.lo crush/CrushTester.lo
+libcrush_la_OBJECTS = $(am_libcrush_la_OBJECTS)
+libec_example_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_example_la_OBJECTS =  \
+	test/osd/libec_example_la-ErasureCodePluginExample.lo
+libec_example_la_OBJECTS = $(am_libec_example_la_OBJECTS)
+libec_example_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(libec_example_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_example_la_LDFLAGS) $(LDFLAGS) -o $@
+libec_fail_to_initialize_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_fail_to_initialize_la_OBJECTS = test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo
+libec_fail_to_initialize_la_OBJECTS =  \
+	$(am_libec_fail_to_initialize_la_OBJECTS)
+libec_fail_to_initialize_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(libec_fail_to_initialize_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_fail_to_initialize_la_LDFLAGS) $(LDFLAGS) -o $@
+libec_fail_to_register_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_fail_to_register_la_OBJECTS = test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo
+libec_fail_to_register_la_OBJECTS =  \
+	$(am_libec_fail_to_register_la_OBJECTS)
+libec_fail_to_register_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(libec_fail_to_register_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_fail_to_register_la_LDFLAGS) $(LDFLAGS) -o $@
+libec_hangs_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_hangs_la_OBJECTS =  \
+	test/osd/libec_hangs_la-ErasureCodePluginHangs.lo
+libec_hangs_la_OBJECTS = $(am_libec_hangs_la_OBJECTS)
+libec_hangs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(libec_hangs_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_hangs_la_LDFLAGS) $(LDFLAGS) -o $@
+libec_jerasure_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_jerasure_la_OBJECTS = osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo \
+	osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo
+libec_jerasure_la_OBJECTS = $(am_libec_jerasure_la_OBJECTS)
+libec_jerasure_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(libec_jerasure_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_jerasure_la_LDFLAGS) $(LDFLAGS) -o $@
+libec_missing_entry_point_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_libec_missing_entry_point_la_OBJECTS = test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo
+libec_missing_entry_point_la_OBJECTS =  \
+	$(am_libec_missing_entry_point_la_OBJECTS)
+libec_missing_entry_point_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(libhadoopcephfs_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libhadoopcephfs_la_LDFLAGS) $(LDFLAGS) -o $@
- at WITH_HADOOPCLIENT_TRUE@am_libhadoopcephfs_la_rpath = -rpath $(libdir)
-libosdc_la_DEPENDENCIES = libcommon.la
-am_libosdc_la_OBJECTS = libosdc_la-Objecter.lo \
-	libosdc_la-ObjectCacher.lo libosdc_la-Filer.lo \
-	libosdc_la-Striper.lo
+	$(libec_missing_entry_point_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libec_missing_entry_point_la_LDFLAGS) $(LDFLAGS) -o $@
+libglobal_la_DEPENDENCIES = $(LIBCOMMON)
+am_libglobal_la_OBJECTS = global/global_context.lo \
+	global/global_init.lo global/pidfile.lo \
+	global/signal_handler.lo
+libglobal_la_OBJECTS = $(am_libglobal_la_OBJECTS)
+libjson_spirit_la_LIBADD =
+am_libjson_spirit_la_OBJECTS = json_spirit/json_spirit_reader.lo \
+	json_spirit/json_spirit_writer.lo \
+	json_spirit/json_spirit_value.lo
+libjson_spirit_la_OBJECTS = $(am_libjson_spirit_la_OBJECTS)
+liblog_la_LIBADD =
+am_liblog_la_OBJECTS = log/Log.lo log/SubsystemMap.lo
+liblog_la_OBJECTS = $(am_liblog_la_OBJECTS)
+libmds_la_DEPENDENCIES = $(LIBOSDC)
+am_libmds_la_OBJECTS = mds/Anchor.lo mds/Capability.lo mds/Dumper.lo \
+	mds/Resetter.lo mds/MDS.lo mds/flock.lo mds/locks.lo \
+	mds/journal.lo mds/Server.lo mds/Mutation.lo mds/MDCache.lo \
+	mds/Locker.lo mds/Migrator.lo mds/MDBalancer.lo mds/CDentry.lo \
+	mds/CDir.lo mds/CInode.lo mds/LogEvent.lo mds/MDSTable.lo \
+	mds/InoTable.lo mds/MDSTableClient.lo mds/MDSTableServer.lo \
+	mds/AnchorServer.lo mds/AnchorClient.lo mds/SnapRealm.lo \
+	mds/SnapServer.lo mds/snap.lo mds/SessionMap.lo mds/MDLog.lo
+libmds_la_OBJECTS = $(am_libmds_la_OBJECTS)
+ at WITH_LIBZFS_TRUE@am__DEPENDENCIES_4 = libos_zfs.a
+am__DEPENDENCIES_5 = libos.la $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_4)
+libmon_la_DEPENDENCIES = $(LIBAUTH) $(LIBCOMMON) $(am__DEPENDENCIES_5)
+am_libmon_la_OBJECTS = mon/Monitor.lo mon/Paxos.lo mon/PaxosService.lo \
+	mon/OSDMonitor.lo mon/MDSMonitor.lo mon/MonmapMonitor.lo \
+	mon/PGMonitor.lo mon/PGMap.lo mon/LogMonitor.lo \
+	mon/AuthMonitor.lo mon/Elector.lo mon/MonitorStore.lo \
+	mon/HealthMonitor.lo mon/DataHealthService.lo \
+	mon/ConfigKeyService.lo
+libmon_la_OBJECTS = $(am_libmon_la_OBJECTS)
+libmsg_la_LIBADD =
+am_libmsg_la_OBJECTS = msg/Accepter.lo msg/DispatchQueue.lo \
+	msg/Message.lo msg/Messenger.lo msg/Pipe.lo \
+	msg/SimpleMessenger.lo msg/msg_types.lo
+libmsg_la_OBJECTS = $(am_libmsg_la_OBJECTS)
+libos_la_LIBADD =
+am_libos_la_OBJECTS = os/FileJournal.lo os/FileStore.lo \
+	os/chain_xattr.lo os/ObjectStore.lo \
+	os/JournalingObjectStore.lo os/LFNIndex.lo os/HashIndex.lo \
+	os/IndexManager.lo os/FlatIndex.lo os/DBObjectMap.lo \
+	os/LevelDBStore.lo os/WBThrottle.lo \
+	os/BtrfsFileStoreBackend.lo os/GenericFileStoreBackend.lo \
+	os/ZFSFileStoreBackend.lo common/TrackedOp.lo
+libos_la_OBJECTS = $(am_libos_la_OBJECTS)
+libosd_la_DEPENDENCIES = $(LIBOSDC) $(am__DEPENDENCIES_5)
+am_libosd_la_OBJECTS = osd/ErasureCodePlugin.lo osd/PG.lo osd/PGLog.lo \
+	osd/ReplicatedPG.lo osd/ReplicatedBackend.lo osd/Ager.lo \
+	osd/OSD.lo osd/OSDCap.lo osd/Watch.lo osd/ClassHandler.lo \
+	osd/OpRequest.lo common/TrackedOp.lo osd/SnapMapper.lo \
+	osd/osd_types.lo objclass/class_api.lo
+libosd_la_OBJECTS = $(am_libosd_la_OBJECTS)
+libosdc_la_LIBADD =
+am_libosdc_la_OBJECTS = osdc/Objecter.lo osdc/ObjectCacher.lo \
+	osdc/Filer.lo osdc/Striper.lo osdc/Journaler.lo
 libosdc_la_OBJECTS = $(am_libosdc_la_OBJECTS)
-libosdc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libosdc_la_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-librados_la_DEPENDENCIES = libcommon.la $(am__DEPENDENCIES_1) \
+libperfglue_la_DEPENDENCIES =
+am__libperfglue_la_SOURCES_DIST = perfglue/heap_profiler.cc \
+	perfglue/disabled_heap_profiler.cc perfglue/cpu_profiler.cc \
+	perfglue/disabled_stubs.cc
+ at WITH_TCMALLOC_TRUE@am__objects_3 = perfglue/heap_profiler.lo
+ at WITH_TCMALLOC_FALSE@am__objects_4 =  \
+ at WITH_TCMALLOC_FALSE@	perfglue/disabled_heap_profiler.lo
+ at WITH_PROFILER_TRUE@am__objects_5 = perfglue/cpu_profiler.lo
+ at WITH_PROFILER_FALSE@am__objects_6 = perfglue/disabled_stubs.lo
+am_libperfglue_la_OBJECTS = $(am__objects_3) $(am__objects_4) \
+	$(am__objects_5) $(am__objects_6)
+libperfglue_la_OBJECTS = $(am_libperfglue_la_OBJECTS)
+librados_la_DEPENDENCIES = $(LIBRADOS_DEPS) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-am__objects_5 = librados_la-librados.lo librados_la-RadosClient.lo \
-	librados_la-IoCtxImpl.lo librados_la-Objecter.lo \
-	librados_la-Striper.lo librados_la-cls_lock_client.lo \
-	librados_la-cls_lock_types.lo librados_la-cls_lock_ops.lo
-am_librados_la_OBJECTS = $(am__objects_5)
+am_librados_la_OBJECTS = librados/librados.lo librados/RadosClient.lo \
+	librados/IoCtxImpl.lo librados/snap_set_diff.lo
 librados_la_OBJECTS = $(am_librados_la_OBJECTS)
 librados_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(librados_la_CXXFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(librados_la_LDFLAGS) $(LDFLAGS) -o $@
-librbd_la_DEPENDENCIES = librados.la
-am_librbd_la_OBJECTS = librbd_la-librbd.lo librbd_la-AioCompletion.lo \
-	librbd_la-AioRequest.lo librbd_la-cls_rbd_client.lo \
-	librbd_la-ImageCtx.lo librbd_la-internal.lo \
-	librbd_la-LibrbdWriteback.lo librbd_la-WatchCtx.lo \
-	librbd_la-ObjectCacher.lo librbd_la-Striper.lo \
-	librbd_la-snap_set_diff.lo librbd_la-cls_lock_client.lo \
-	librbd_la-cls_lock_types.lo librbd_la-cls_lock_ops.lo \
-	librbd_la-util.lo
+librbd_la_DEPENDENCIES = $(LIBRADOS) $(LIBOSDC) libcls_rbd_client.la \
+	libcls_lock_client.la $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
+am_librbd_la_OBJECTS = librbd/librbd.lo librbd/AioCompletion.lo \
+	librbd/AioRequest.lo librbd/ImageCtx.lo librbd/internal.lo \
+	librbd/LibrbdWriteback.lo librbd/WatchCtx.lo
 librbd_la_OBJECTS = $(am_librbd_la_OBJECTS)
 librbd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(librbd_la_CXXFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(librbd_la_LDFLAGS) $(LDFLAGS) -o $@
-am__DEPENDENCIES_3 = libglobal.la $(am__DEPENDENCIES_1) \
+librgw_la_LIBADD =
+am__librgw_la_SOURCES_DIST = rgw/librgw.cc rgw/rgw_acl.cc \
+	rgw/rgw_acl_s3.cc rgw/rgw_acl_swift.cc rgw/rgw_client_io.cc \
+	rgw/rgw_fcgi.cc rgw/rgw_xml.cc rgw/rgw_usage.cc \
+	rgw/rgw_json_enc.cc rgw/rgw_user.cc rgw/rgw_bucket.cc \
+	rgw/rgw_tools.cc rgw/rgw_rados.cc rgw/rgw_http_client.cc \
+	rgw/rgw_rest_client.cc rgw/rgw_rest_conn.cc rgw/rgw_op.cc \
+	rgw/rgw_common.cc rgw/rgw_cache.cc rgw/rgw_formats.cc \
+	rgw/rgw_log.cc rgw/rgw_multi.cc rgw/rgw_policy_s3.cc \
+	rgw/rgw_gc.cc rgw/rgw_multi_del.cc rgw/rgw_env.cc \
+	rgw/rgw_cors.cc rgw/rgw_cors_s3.cc rgw/rgw_auth_s3.cc \
+	rgw/rgw_metadata.cc rgw/rgw_replica_log.cc rgw/rgw_keystone.cc \
+	rgw/rgw_quota.cc
+ at WITH_RADOSGW_TRUE@am_librgw_la_OBJECTS = rgw/librgw_la-librgw.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_acl.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_acl_s3.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_acl_swift.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_client_io.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_fcgi.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_xml.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_usage.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_json_enc.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_user.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_bucket.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_tools.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_rados.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_http_client.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_rest_client.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_rest_conn.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_op.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_common.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_cache.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_formats.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_log.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_multi.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_policy_s3.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_gc.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_multi_del.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_env.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_cors.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_cors_s3.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_auth_s3.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_metadata.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_replica_log.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_keystone.lo \
+ at WITH_RADOSGW_TRUE@	rgw/librgw_la-rgw_quota.lo
+librgw_la_OBJECTS = $(am_librgw_la_OBJECTS)
+librgw_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(librgw_la_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ at WITH_RADOSGW_TRUE@am_librgw_la_rpath =
+am__DEPENDENCIES_6 = $(LIBGLOBAL) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-libsystest_la_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_libsystest_la_OBJECTS = cross_process_sem.lo systest_runnable.lo \
-	systest_settings.lo
+libsystest_la_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_libsystest_la_OBJECTS = test/system/cross_process_sem.lo \
+	test/system/systest_runnable.lo \
+	test/system/systest_settings.lo
 libsystest_la_OBJECTS = $(am_libsystest_la_OBJECTS)
- at WITH_FUSE_TRUE@am__EXEEXT_1 = ceph-fuse$(EXEEXT) rbd-fuse$(EXEEXT)
- at WITH_RADOSGW_TRUE@am__EXEEXT_2 = radosgw$(EXEEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-admin$(EXEEXT)
- at WITH_REST_BENCH_TRUE@am__EXEEXT_3 = rest-bench$(EXEEXT)
- at LINUX_TRUE@am__EXEEXT_4 = rbd$(EXEEXT)
- at WITH_BUILD_TESTS_TRUE@am__EXEEXT_5 =  \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_libcommon_build$(EXEEXT) \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_librados_build$(EXEEXT) \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_librgw_build$(EXEEXT) \
- at WITH_BUILD_TESTS_TRUE@	ceph_test_libcephfs_build$(EXEEXT)
- at WITH_HADOOPCLIENT_TRUE@am__EXEEXT_6 = ceph_test_libhadoopcephfs_build$(EXEEXT)
- at WITH_RADOSGW_TRUE@am__EXEEXT_7 = ceph_rgw_multiparser$(EXEEXT) \
+ at WITH_RADOSGW_TRUE@am__EXEEXT_1 = ceph_rgw_multiparser$(EXEEXT) \
 @WITH_RADOSGW_TRUE@	ceph_rgw_jsonparser$(EXEEXT)
- at WITH_RADOSGW_TRUE@am__EXEEXT_8 = ceph_test_cors$(EXEEXT) \
+ at WITH_BUILD_TESTS_TRUE@am__EXEEXT_2 = test_build_libcommon$(EXEEXT) \
+ at WITH_BUILD_TESTS_TRUE@	test_build_librados$(EXEEXT) \
+ at WITH_BUILD_TESTS_TRUE@	test_build_librgw$(EXEEXT) \
+ at WITH_BUILD_TESTS_TRUE@	test_build_libcephfs$(EXEEXT)
+ at WITH_RADOSGW_TRUE@am__EXEEXT_3 = ceph_test_cors$(EXEEXT) \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_meta$(EXEEXT) \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_log$(EXEEXT) \
 @WITH_RADOSGW_TRUE@	ceph_test_cls_rgw_opstate$(EXEEXT)
- at WITH_RADOSGW_TRUE@am__EXEEXT_9 = ceph_test_cls_rgw$(EXEEXT)
-am__EXEEXT_10 = ceph-osdomap-tool$(EXEEXT) ceph-monstore-tool$(EXEEXT) \
-	ceph_psim$(EXEEXT) ceph_test_mutate$(EXEEXT) \
+ at WITH_RADOSGW_TRUE@am__EXEEXT_4 = ceph_test_cls_rgw$(EXEEXT)
+am__EXEEXT_5 = ceph_test_ioctls$(EXEEXT) $(am__EXEEXT_1) \
+	ceph_test_timers$(EXEEXT) ceph_test_signal_handlers$(EXEEXT) \
+	ceph_test_rados$(EXEEXT) ceph_test_mutate$(EXEEXT) \
 	ceph_test_rewrite_latency$(EXEEXT) ceph_test_msgr$(EXEEXT) \
-	ceph_test_ioctls$(EXEEXT) ceph_dupstore$(EXEEXT) \
 	ceph_streamtest$(EXEEXT) ceph_test_trans$(EXEEXT) \
-	ceph_test_rados$(EXEEXT) ceph_smalliobench$(EXEEXT) \
+	ceph_test_crypto$(EXEEXT) ceph_test_keys$(EXEEXT) \
+	$(am__EXEEXT_2) ceph_smalliobench$(EXEEXT) \
 	ceph_smalliobenchfs$(EXEEXT) ceph_smalliobenchdumb$(EXEEXT) \
 	ceph_smalliobenchrbd$(EXEEXT) ceph_tpbench$(EXEEXT) \
 	ceph_omapbench$(EXEEXT) ceph_kvstorebench$(EXEEXT) \
-	ceph_multi_stress_watch$(EXEEXT) $(am__EXEEXT_5) \
-	$(am__EXEEXT_6) ceph_test_timers$(EXEEXT) \
-	ceph_test_signal_handlers$(EXEEXT) $(am__EXEEXT_7) \
-	ceph_scratchtool$(EXEEXT) ceph_scratchtoolpp$(EXEEXT) \
-	ceph_radosacl$(EXEEXT) ceph_test_crypto$(EXEEXT) \
-	ceph_test_keys$(EXEEXT) ceph_test_rados_list_parallel$(EXEEXT) \
+	ceph_multi_stress_watch$(EXEEXT) \
+	ceph_test_rados_list_parallel$(EXEEXT) \
 	ceph_test_rados_open_pools_parallel$(EXEEXT) \
 	ceph_test_rados_delete_pools_parallel$(EXEEXT) \
 	ceph_test_rados_watch_notify$(EXEEXT) ceph_bench_log$(EXEEXT) \
-	$(am__EXEEXT_8) ceph_test_librbd$(EXEEXT) \
+	$(am__EXEEXT_3) ceph_test_librbd$(EXEEXT) \
 	ceph_test_librbd_fsx$(EXEEXT) ceph_test_cls_rbd$(EXEEXT) \
 	ceph_test_cls_refcount$(EXEEXT) ceph_test_cls_version$(EXEEXT) \
 	ceph_test_cls_log$(EXEEXT) ceph_test_cls_statelog$(EXEEXT) \
 	ceph_test_cls_replica_log$(EXEEXT) ceph_test_cls_lock$(EXEEXT) \
-	$(am__EXEEXT_9) ceph_test_mon_workloadgen$(EXEEXT) \
+	ceph_test_cls_hello$(EXEEXT) $(am__EXEEXT_4) \
+	ceph_test_mon_workloadgen$(EXEEXT) \
 	ceph_test_rados_api_cmd$(EXEEXT) \
 	ceph_test_rados_api_io$(EXEEXT) \
 	ceph_test_rados_api_aio$(EXEEXT) \
@@ -681,1568 +769,724 @@ am__EXEEXT_10 = ceph-osdomap-tool$(EXEEXT) ceph-monstore-tool$(EXEEXT) \
 	ceph_test_snap_mapper$(EXEEXT) ceph_test_object_map$(EXEEXT) \
 	ceph_test_keyvaluedb_atomicity$(EXEEXT) \
 	ceph_test_keyvaluedb_iterators$(EXEEXT) \
-	ceph_test_store_tool$(EXEEXT) \
-	ceph_test_cfuse_cache_invalidate$(EXEEXT)
- at WITH_DEBUG_TRUE@am__EXEEXT_11 = $(am__EXEEXT_10)
- at LINUX_TRUE@am__EXEEXT_12 = mount.ceph$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS)
-am_ceph_authtool_OBJECTS = ceph_authtool.$(OBJEXT)
+	ceph_test_cfuse_cache_invalidate$(EXEEXT) \
+	ceph-osdomap-tool$(EXEEXT) ceph-monstore-tool$(EXEEXT) \
+	ceph-kvstore-tool$(EXEEXT) ceph_scratchtool$(EXEEXT) \
+	ceph_scratchtoolpp$(EXEEXT) ceph_psim$(EXEEXT) \
+	ceph_dupstore$(EXEEXT) ceph_radosacl$(EXEEXT)
+ at WITH_DEBUG_TRUE@am__EXEEXT_6 = $(am__EXEEXT_5)
+ at WITH_RADOSGW_TRUE@am__EXEEXT_7 = radosgw$(EXEEXT) \
+ at WITH_RADOSGW_TRUE@	radosgw-admin$(EXEEXT)
+ at WITH_REST_BENCH_TRUE@am__EXEEXT_8 = rest-bench$(EXEEXT)
+ at LINUX_TRUE@am__EXEEXT_9 = rbd$(EXEEXT)
+ at WITH_FUSE_TRUE@am__EXEEXT_10 = ceph-fuse$(EXEEXT) rbd-fuse$(EXEEXT)
+ at LINUX_TRUE@am__EXEEXT_11 = mount.ceph$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \
+	$(su_sbin_PROGRAMS)
+am_ceph_authtool_OBJECTS = tools/ceph_authtool.$(OBJEXT)
 ceph_authtool_OBJECTS = $(am_ceph_authtool_OBJECTS)
-ceph_authtool_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_ceph_conf_OBJECTS = ceph_conf-ceph_conf.$(OBJEXT)
+ceph_authtool_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_ceph_conf_OBJECTS = tools/ceph_conf.$(OBJEXT)
 ceph_conf_OBJECTS = $(am_ceph_conf_OBJECTS)
-ceph_conf_DEPENDENCIES = $(am__DEPENDENCIES_3)
-ceph_conf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(ceph_conf_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_6 = ceph_dencoder-rgw_dencoder.$(OBJEXT) \
-	ceph_dencoder-rgw_acl.$(OBJEXT) \
-	ceph_dencoder-rgw_common.$(OBJEXT) \
-	ceph_dencoder-rgw_env.$(OBJEXT) \
-	ceph_dencoder-rgw_json_enc.$(OBJEXT)
-am_ceph_dencoder_OBJECTS = ceph_dencoder-ceph_dencoder.$(OBJEXT) \
-	$(am__objects_6) \
-	ceph_dencoder-disabled_heap_profiler.$(OBJEXT)
+ceph_conf_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am__ceph_dencoder_SOURCES_DIST = test/encoding/ceph_dencoder.cc \
+	rgw/rgw_dencoder.cc rgw/rgw_acl.cc rgw/rgw_common.cc \
+	rgw/rgw_env.cc rgw/rgw_json_enc.cc
+ at WITH_RADOSGW_TRUE@am__objects_7 =  \
+ at WITH_RADOSGW_TRUE@	rgw/ceph_dencoder-rgw_dencoder.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/ceph_dencoder-rgw_acl.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/ceph_dencoder-rgw_common.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/ceph_dencoder-rgw_env.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/ceph_dencoder-rgw_json_enc.$(OBJEXT)
+am__objects_8 = $(am__objects_7)
+am_ceph_dencoder_OBJECTS =  \
+	test/encoding/ceph_dencoder-ceph_dencoder.$(OBJEXT) \
+	$(am__objects_8)
 ceph_dencoder_OBJECTS = $(am_ceph_dencoder_OBJECTS)
-am__DEPENDENCIES_4 = libos.a $(am__DEPENDENCIES_1)
-ceph_dencoder_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	libcls_lock_client.a libcls_rgw_client.a \
-	libcls_replica_log_client.a libcls_refcount_client.a libosd.a \
-	libmds.a libosdc.la $(am__DEPENDENCIES_4) libmon.a
+am__DEPENDENCIES_7 = libperfglue.la $(am__DEPENDENCIES_1)
+am__DEPENDENCIES_8 = libosd.la $(LIBOSDC) $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_7)
+am__DEPENDENCIES_9 = libmds.la $(am__DEPENDENCIES_7)
+am__DEPENDENCIES_10 = libmon.la $(am__DEPENDENCIES_7)
+ceph_dencoder_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_10) $(DENCODER_DEPS) \
+	$(am__DEPENDENCIES_6)
 ceph_dencoder_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
 	-o $@
-am__ceph_fuse_SOURCES_DIST = ceph_fuse.cc client/fuse_ll.cc
- at WITH_FUSE_TRUE@am_ceph_fuse_OBJECTS = ceph_fuse-ceph_fuse.$(OBJEXT) \
- at WITH_FUSE_TRUE@	ceph_fuse-fuse_ll.$(OBJEXT)
+am__ceph_fuse_SOURCES_DIST = ceph_fuse.cc
+ at WITH_FUSE_TRUE@am_ceph_fuse_OBJECTS = ceph_fuse.$(OBJEXT)
 ceph_fuse_OBJECTS = $(am_ceph_fuse_OBJECTS)
- at WITH_FUSE_TRUE@ceph_fuse_DEPENDENCIES = libclient.la \
- at WITH_FUSE_TRUE@	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-ceph_fuse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(ceph_fuse_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_mds_SOURCES_DIST = ceph_mds.cc perfglue/heap_profiler.cc \
-	perfglue/disabled_heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__objects_7 = ceph_mds-heap_profiler.$(OBJEXT)
- at WITH_TCMALLOC_FALSE@am__objects_8 = ceph_mds-disabled_heap_profiler.$(OBJEXT)
-am_ceph_mds_OBJECTS = ceph_mds-ceph_mds.$(OBJEXT) $(am__objects_7) \
-	$(am__objects_8)
+ at WITH_FUSE_TRUE@ceph_fuse_DEPENDENCIES = $(LIBCLIENT_FUSE) \
+ at WITH_FUSE_TRUE@	$(am__DEPENDENCIES_6)
+am_ceph_kvstore_tool_OBJECTS =  \
+	tools/ceph_kvstore_tool-ceph-kvstore-tool.$(OBJEXT)
+ceph_kvstore_tool_OBJECTS = $(am_ceph_kvstore_tool_OBJECTS)
+ceph_kvstore_tool_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+ceph_kvstore_tool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(ceph_kvstore_tool_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_ceph_mds_OBJECTS = ceph_mds.$(OBJEXT)
 ceph_mds_OBJECTS = $(am_ceph_mds_OBJECTS)
-ceph_mds_DEPENDENCIES = libmds.a libosdc.la $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_1)
-ceph_mds_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(ceph_mds_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_mon_SOURCES_DIST = ceph_mon.cc common/TextTable.cc \
-	perfglue/heap_profiler.cc perfglue/disabled_heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__objects_9 = ceph_mon-heap_profiler.$(OBJEXT)
- at WITH_TCMALLOC_FALSE@am__objects_10 = ceph_mon-disabled_heap_profiler.$(OBJEXT)
-am_ceph_mon_OBJECTS = ceph_mon-ceph_mon.$(OBJEXT) \
-	ceph_mon-TextTable.$(OBJEXT) $(am__objects_9) \
-	$(am__objects_10)
+ceph_mds_DEPENDENCIES = $(am__DEPENDENCIES_9) $(LIBOSDC) \
+	$(am__DEPENDENCIES_6)
+am_ceph_mon_OBJECTS = ceph_mon.$(OBJEXT)
 ceph_mon_OBJECTS = $(am_ceph_mon_OBJECTS)
-ceph_mon_DEPENDENCIES = libmon.a $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-ceph_mon_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(ceph_mon_CXXFLAGS) \
-	$(CXXFLAGS) $(ceph_mon_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_monstore_tool_OBJECTS =  \
-	ceph_monstore_tool-ceph-monstore-tool.$(OBJEXT) \
-	ceph_monstore_tool-LevelDBStore.$(OBJEXT)
+ceph_mon_DEPENDENCIES = $(am__DEPENDENCIES_10) $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_monstore_tool_OBJECTS = tools/ceph-monstore-tool.$(OBJEXT)
 ceph_monstore_tool_OBJECTS = $(am_ceph_monstore_tool_OBJECTS)
-ceph_monstore_tool_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_monstore_tool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_monstore_tool_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_osd_SOURCES_DIST = ceph_osd.cc objclass/class_debug.cc \
-	objclass/class_api.cc perfglue/heap_profiler.cc \
-	perfglue/disabled_heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__objects_11 = ceph_osd-heap_profiler.$(OBJEXT)
- at WITH_TCMALLOC_FALSE@am__objects_12 = ceph_osd-disabled_heap_profiler.$(OBJEXT)
-am_ceph_osd_OBJECTS = ceph_osd-ceph_osd.$(OBJEXT) \
-	ceph_osd-class_debug.$(OBJEXT) ceph_osd-class_api.$(OBJEXT) \
-	$(am__objects_11) $(am__objects_12)
+ceph_monstore_tool_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_osd_OBJECTS = ceph_osd.$(OBJEXT)
 ceph_osd_OBJECTS = $(am_ceph_osd_OBJECTS)
-ceph_osd_DEPENDENCIES = libosd.a $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ceph_osd_DEPENDENCIES = $(am__DEPENDENCIES_8) $(am__DEPENDENCIES_6) \
 	$(am__DEPENDENCIES_1)
-ceph_osd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(ceph_osd_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_osdomap_tool_OBJECTS =  \
-	ceph_osdomap_tool-ceph-osdomap-tool.$(OBJEXT) \
-	ceph_osdomap_tool-LevelDBStore.$(OBJEXT)
+am_ceph_osdomap_tool_OBJECTS = tools/ceph-osdomap-tool.$(OBJEXT)
 ceph_osdomap_tool_OBJECTS = $(am_ceph_osdomap_tool_OBJECTS)
-ceph_osdomap_tool_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_osdomap_tool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_osdomap_tool_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_syn_OBJECTS = ceph_syn.$(OBJEXT) SyntheticClient.$(OBJEXT)
+ceph_osdomap_tool_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_syn_OBJECTS = ceph_syn.$(OBJEXT) \
+	client/SyntheticClient.$(OBJEXT)
 ceph_syn_OBJECTS = $(am_ceph_syn_OBJECTS)
-ceph_syn_DEPENDENCIES = libclient.la $(am__DEPENDENCIES_3)
-am_ceph_bench_log_OBJECTS = bench_log.$(OBJEXT)
+ceph_syn_DEPENDENCIES = $(LIBCLIENT) $(am__DEPENDENCIES_6)
+am_ceph_bench_log_OBJECTS = test/bench_log.$(OBJEXT)
 ceph_bench_log_OBJECTS = $(am_ceph_bench_log_OBJECTS)
-ceph_bench_log_DEPENDENCIES = libcommon.la $(am__DEPENDENCIES_3)
-am_ceph_dupstore_OBJECTS = ceph_dupstore-dupstore.$(OBJEXT)
+ceph_bench_log_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_ceph_dupstore_OBJECTS = tools/dupstore.$(OBJEXT)
 ceph_dupstore_OBJECTS = $(am_ceph_dupstore_OBJECTS)
-ceph_dupstore_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_dupstore_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_dupstore_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
-am_ceph_filestore_dump_OBJECTS = ceph-filestore-dump.$(OBJEXT) \
-	class_debug.$(OBJEXT) class_api.$(OBJEXT) \
-	disabled_heap_profiler.$(OBJEXT)
+ceph_dupstore_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_filestore_dump_OBJECTS = tools/ceph-filestore-dump.$(OBJEXT)
 ceph_filestore_dump_OBJECTS = $(am_ceph_filestore_dump_OBJECTS)
-ceph_filestore_dump_DEPENDENCIES = libosd.a $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-am_ceph_kvstorebench_OBJECTS = kv_store_bench.$(OBJEXT) \
-	kv_flat_btree_async.$(OBJEXT)
+ceph_filestore_dump_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6) \
+	$(am__DEPENDENCIES_1)
+am_ceph_filestore_tool_OBJECTS = tools/ceph-filestore-tool.$(OBJEXT)
+ceph_filestore_tool_OBJECTS = $(am_ceph_filestore_tool_OBJECTS)
+ceph_filestore_tool_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6) \
+	$(am__DEPENDENCIES_1)
+am_ceph_kvstorebench_OBJECTS = test/kv_store_bench.$(OBJEXT) \
+	key_value_store/kv_flat_btree_async.$(OBJEXT)
 ceph_kvstorebench_OBJECTS = $(am_ceph_kvstorebench_OBJECTS)
-ceph_kvstorebench_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
+ceph_kvstorebench_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
 am_ceph_mon_store_converter_OBJECTS =  \
-	ceph_mon_store_converter-mon_store_converter.$(OBJEXT) \
-	ceph_mon_store_converter-MonitorStore.$(OBJEXT)
+	tools/mon_store_converter.$(OBJEXT)
 ceph_mon_store_converter_OBJECTS =  \
 	$(am_ceph_mon_store_converter_OBJECTS)
-ceph_mon_store_converter_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_mon_store_converter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_mon_store_converter_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_multi_stress_watch_OBJECTS = multi_stress_watch.$(OBJEXT) \
-	test.$(OBJEXT)
+ceph_mon_store_converter_DEPENDENCIES = $(am__DEPENDENCIES_10) \
+	$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6)
+am_ceph_multi_stress_watch_OBJECTS =  \
+	test/multi_stress_watch.$(OBJEXT) test/librados/test.$(OBJEXT)
 ceph_multi_stress_watch_OBJECTS =  \
 	$(am_ceph_multi_stress_watch_OBJECTS)
-ceph_multi_stress_watch_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_3)
-am_ceph_omapbench_OBJECTS = omap_bench.$(OBJEXT)
+ceph_multi_stress_watch_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_6)
+am_ceph_omapbench_OBJECTS = test/omap_bench.$(OBJEXT)
 ceph_omapbench_OBJECTS = $(am_ceph_omapbench_OBJECTS)
-ceph_omapbench_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
-am_ceph_psim_OBJECTS = psim.$(OBJEXT)
+ceph_omapbench_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
+am_ceph_psim_OBJECTS = tools/psim.$(OBJEXT)
 ceph_psim_OBJECTS = $(am_ceph_psim_OBJECTS)
-ceph_psim_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_ceph_radosacl_OBJECTS = radosacl.$(OBJEXT)
+ceph_psim_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_ceph_radosacl_OBJECTS = tools/radosacl.$(OBJEXT)
 ceph_radosacl_OBJECTS = $(am_ceph_radosacl_OBJECTS)
-ceph_radosacl_DEPENDENCIES = librados.la $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+ceph_radosacl_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
 am__ceph_rgw_jsonparser_SOURCES_DIST = rgw/rgw_jsonparser.cc \
 	rgw/rgw_common.cc rgw/rgw_env.cc rgw/rgw_json_enc.cc
- at WITH_RADOSGW_TRUE@am_ceph_rgw_jsonparser_OBJECTS = ceph_rgw_jsonparser-rgw_jsonparser.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	ceph_rgw_jsonparser-rgw_common.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	ceph_rgw_jsonparser-rgw_env.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	ceph_rgw_jsonparser-rgw_json_enc.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_rgw_jsonparser_OBJECTS =  \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_jsonparser.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_common.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_env.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_json_enc.$(OBJEXT)
 ceph_rgw_jsonparser_OBJECTS = $(am_ceph_rgw_jsonparser_OBJECTS)
- at WITH_RADOSGW_TRUE@am__DEPENDENCIES_5 = libglobal.la librgw.a \
- at WITH_RADOSGW_TRUE@	librados.la libcls_rgw_client.a \
- at WITH_RADOSGW_TRUE@	libcls_log_client.a \
+ at WITH_RADOSGW_TRUE@am__DEPENDENCIES_11 = $(LIBRADOS) \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_log_client.a \
 @WITH_RADOSGW_TRUE@	libcls_statelog_client.a \
 @WITH_RADOSGW_TRUE@	libcls_replica_log_client.a \
- at WITH_RADOSGW_TRUE@	libcls_lock_client.a \
- at WITH_RADOSGW_TRUE@	libcls_refcount_client.a \
- at WITH_RADOSGW_TRUE@	libcls_version_client.a \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
- at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_DEPENDENCIES =  \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_5)
-ceph_rgw_jsonparser_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+ at WITH_RADOSGW_TRUE@	libcls_lock_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_version_client.a
+am__DEPENDENCIES_12 = $(am__DEPENDENCIES_11)
+ at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_DEPENDENCIES = $(LIBRGW) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_12) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6)
 am__ceph_rgw_multiparser_SOURCES_DIST = rgw/rgw_multiparser.cc
- at WITH_RADOSGW_TRUE@am_ceph_rgw_multiparser_OBJECTS = ceph_rgw_multiparser-rgw_multiparser.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_rgw_multiparser_OBJECTS =  \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_multiparser.$(OBJEXT)
 ceph_rgw_multiparser_OBJECTS = $(am_ceph_rgw_multiparser_OBJECTS)
- at WITH_RADOSGW_TRUE@ceph_rgw_multiparser_DEPENDENCIES =  \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_5)
-ceph_rgw_multiparser_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_rgw_multiparser_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_ceph_scratchtool_OBJECTS = scratchtool.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@ceph_rgw_multiparser_DEPENDENCIES = $(LIBRGW) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_12) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6)
+am_ceph_scratchtool_OBJECTS = tools/scratchtool.$(OBJEXT)
 ceph_scratchtool_OBJECTS = $(am_ceph_scratchtool_OBJECTS)
-ceph_scratchtool_DEPENDENCIES = librados.la $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-am_ceph_scratchtoolpp_OBJECTS = scratchtoolpp.$(OBJEXT)
+ceph_scratchtool_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
+am_ceph_scratchtoolpp_OBJECTS = tools/scratchtoolpp.$(OBJEXT)
 ceph_scratchtoolpp_OBJECTS = $(am_ceph_scratchtoolpp_OBJECTS)
-ceph_scratchtoolpp_DEPENDENCIES = librados.la $(am__DEPENDENCIES_1)
-am_ceph_smalliobench_OBJECTS = small_io_bench.$(OBJEXT) \
-	rados_backend.$(OBJEXT) detailed_stat_collector.$(OBJEXT) \
-	bencher.$(OBJEXT)
+ceph_scratchtoolpp_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
+am_ceph_smalliobench_OBJECTS = test/bench/small_io_bench.$(OBJEXT) \
+	test/bench/rados_backend.$(OBJEXT) \
+	test/bench/detailed_stat_collector.$(OBJEXT) \
+	test/bench/bencher.$(OBJEXT)
 ceph_smalliobench_OBJECTS = $(am_ceph_smalliobench_OBJECTS)
-ceph_smalliobench_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
+ceph_smalliobench_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
 am_ceph_smalliobenchdumb_OBJECTS =  \
-	ceph_smalliobenchdumb-small_io_bench_dumb.$(OBJEXT) \
-	ceph_smalliobenchdumb-dumb_backend.$(OBJEXT) \
-	ceph_smalliobenchdumb-detailed_stat_collector.$(OBJEXT) \
-	ceph_smalliobenchdumb-bencher.$(OBJEXT)
+	test/bench/small_io_bench_dumb.$(OBJEXT) \
+	test/bench/dumb_backend.$(OBJEXT) \
+	test/bench/detailed_stat_collector.$(OBJEXT) \
+	test/bench/bencher.$(OBJEXT)
 ceph_smalliobenchdumb_OBJECTS = $(am_ceph_smalliobenchdumb_OBJECTS)
-ceph_smalliobenchdumb_DEPENDENCIES = librados.la $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_smalliobenchdumb_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+ceph_smalliobenchdumb_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
 am_ceph_smalliobenchfs_OBJECTS =  \
-	ceph_smalliobenchfs-small_io_bench_fs.$(OBJEXT) \
-	ceph_smalliobenchfs-filestore_backend.$(OBJEXT) \
-	ceph_smalliobenchfs-detailed_stat_collector.$(OBJEXT) \
-	ceph_smalliobenchfs-bencher.$(OBJEXT)
+	test/bench/small_io_bench_fs.$(OBJEXT) \
+	test/bench/testfilestore_backend.$(OBJEXT) \
+	test/bench/detailed_stat_collector.$(OBJEXT) \
+	test/bench/bencher.$(OBJEXT)
 ceph_smalliobenchfs_OBJECTS = $(am_ceph_smalliobenchfs_OBJECTS)
-ceph_smalliobenchfs_DEPENDENCIES = librados.la $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_smalliobenchfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_ceph_smalliobenchrbd_OBJECTS = small_io_bench_rbd.$(OBJEXT) \
-	rbd_backend.$(OBJEXT) detailed_stat_collector.$(OBJEXT) \
-	bencher.$(OBJEXT)
+ceph_smalliobenchfs_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_smalliobenchrbd_OBJECTS =  \
+	test/bench/small_io_bench_rbd.$(OBJEXT) \
+	test/bench/rbd_backend.$(OBJEXT) \
+	test/bench/detailed_stat_collector.$(OBJEXT) \
+	test/bench/bencher.$(OBJEXT)
 ceph_smalliobenchrbd_OBJECTS = $(am_ceph_smalliobenchrbd_OBJECTS)
-ceph_smalliobenchrbd_DEPENDENCIES = librados.la librbd.la \
-	$(am__DEPENDENCIES_3)
-am_ceph_streamtest_OBJECTS = ceph_streamtest-streamtest.$(OBJEXT)
+ceph_smalliobenchrbd_DEPENDENCIES = $(LIBRBD) $(LIBRADOS) \
+	$(am__DEPENDENCIES_6)
+am_ceph_streamtest_OBJECTS = test/streamtest.$(OBJEXT)
 ceph_streamtest_OBJECTS = $(am_ceph_streamtest_OBJECTS)
-ceph_streamtest_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_streamtest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_streamtest_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_ceph_test_cfuse_cache_invalidate_OBJECTS = ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.$(OBJEXT)
+ceph_streamtest_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_test_cfuse_cache_invalidate_OBJECTS =  \
+	test/test_cfuse_cache_invalidate.$(OBJEXT)
 ceph_test_cfuse_cache_invalidate_OBJECTS =  \
 	$(am_ceph_test_cfuse_cache_invalidate_OBJECTS)
-ceph_test_cfuse_cache_invalidate_DEPENDENCIES =
-ceph_test_cfuse_cache_invalidate_LINK = $(LIBTOOL) $(AM_V_lt) \
-	--tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-	$(CXXLD) $(ceph_test_cfuse_cache_invalidate_CXXFLAGS) \
-	$(CXXFLAGS) $(ceph_test_cfuse_cache_invalidate_LDFLAGS) \
+ceph_test_cfuse_cache_invalidate_LDADD = $(LDADD)
+am_ceph_test_cls_hello_OBJECTS =  \
+	test/cls_hello/ceph_test_cls_hello-test_cls_hello.$(OBJEXT) \
+	test/librados/ceph_test_cls_hello-test.$(OBJEXT)
+ceph_test_cls_hello_OBJECTS = $(am_ceph_test_cls_hello_OBJECTS)
+am__DEPENDENCIES_13 = $(top_builddir)/src/gtest/lib/libgtest.a \
+	$(top_builddir)/src/gtest/lib/libgtest_main.a \
+	$(am__DEPENDENCIES_1)
+ceph_test_cls_hello_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
+ceph_test_cls_hello_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_ceph_test_cls_lock_OBJECTS =  \
-	ceph_test_cls_lock-test_cls_lock.$(OBJEXT) \
-	ceph_test_cls_lock-test.$(OBJEXT)
+	test/cls_lock/ceph_test_cls_lock-test_cls_lock.$(OBJEXT) \
+	test/librados/ceph_test_cls_lock-test.$(OBJEXT)
 ceph_test_cls_lock_OBJECTS = $(am_ceph_test_cls_lock_OBJECTS)
-am__DEPENDENCIES_6 = $(top_builddir)/src/gtest/lib/libgtest.a \
-	$(top_builddir)/src/gtest/lib/libgtest_main.a \
-	$(am__DEPENDENCIES_1)
-ceph_test_cls_lock_DEPENDENCIES = libcls_lock_client.a librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_cls_lock_DEPENDENCIES = $(LIBRADOS) libcls_lock_client.la \
+	$(am__DEPENDENCIES_13)
 ceph_test_cls_lock_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_cls_lock_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_cls_log_OBJECTS =  \
-	ceph_test_cls_log-test_cls_log.$(OBJEXT) \
-	ceph_test_cls_log-test.$(OBJEXT)
+	test/cls_log/ceph_test_cls_log-test_cls_log.$(OBJEXT) \
+	test/librados/ceph_test_cls_log-test.$(OBJEXT)
 ceph_test_cls_log_OBJECTS = $(am_ceph_test_cls_log_OBJECTS)
-ceph_test_cls_log_DEPENDENCIES = libglobal.la librados.la \
-	libcls_log_client.a $(am__DEPENDENCIES_6)
+ceph_test_cls_log_DEPENDENCIES = $(LIBRADOS) libcls_log_client.a \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_cls_log_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_ceph_test_cls_rbd_OBJECTS =  \
-	ceph_test_cls_rbd-test_cls_rbd.$(OBJEXT) \
-	ceph_test_cls_rbd-test.$(OBJEXT) \
-	ceph_test_cls_rbd-cls_rbd_client.$(OBJEXT) \
-	ceph_test_cls_rbd-cls_lock_client.$(OBJEXT) \
-	ceph_test_cls_rbd-cls_lock_types.$(OBJEXT) \
-	ceph_test_cls_rbd-cls_lock_ops.$(OBJEXT)
+	test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.$(OBJEXT) \
+	test/librados/ceph_test_cls_rbd-test.$(OBJEXT)
 ceph_test_cls_rbd_OBJECTS = $(am_ceph_test_cls_rbd_OBJECTS)
-ceph_test_cls_rbd_DEPENDENCIES = librados.la $(am__DEPENDENCIES_6)
+ceph_test_cls_rbd_DEPENDENCIES = $(LIBRADOS) libcls_rbd_client.la \
+	libcls_lock_client.la $(am__DEPENDENCIES_13)
 ceph_test_cls_rbd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_cls_refcount_OBJECTS =  \
-	ceph_test_cls_refcount-test_cls_refcount.$(OBJEXT) \
-	ceph_test_cls_refcount-test.$(OBJEXT)
+am_ceph_test_cls_refcount_OBJECTS = test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.$(OBJEXT) \
+	test/librados/ceph_test_cls_refcount-test.$(OBJEXT)
 ceph_test_cls_refcount_OBJECTS = $(am_ceph_test_cls_refcount_OBJECTS)
-ceph_test_cls_refcount_DEPENDENCIES = librados.la \
-	libcls_refcount_client.a $(am__DEPENDENCIES_6)
+ceph_test_cls_refcount_DEPENDENCIES = $(LIBRADOS) \
+	libcls_refcount_client.la $(am__DEPENDENCIES_13)
 ceph_test_cls_refcount_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_cls_replica_log_OBJECTS =  \
-	ceph_test_cls_replica_log-test_cls_replica_log.$(OBJEXT) \
-	ceph_test_cls_replica_log-test.$(OBJEXT)
+am_ceph_test_cls_replica_log_OBJECTS = test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.$(OBJEXT) \
+	test/librados/ceph_test_cls_replica_log-test.$(OBJEXT)
 ceph_test_cls_replica_log_OBJECTS =  \
 	$(am_ceph_test_cls_replica_log_OBJECTS)
-ceph_test_cls_replica_log_DEPENDENCIES = libglobal.la librados.la \
-	libcls_replica_log_client.a $(am__DEPENDENCIES_6)
+ceph_test_cls_replica_log_DEPENDENCIES = $(LIBRADOS) \
+	libcls_replica_log_client.a $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 ceph_test_cls_replica_log_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 am__ceph_test_cls_rgw_SOURCES_DIST = test/cls_rgw/test_cls_rgw.cc \
 	test/librados/test.cc
- at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_OBJECTS =  \
- at WITH_RADOSGW_TRUE@	ceph_test_cls_rgw-test_cls_rgw.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	ceph_test_cls_rgw-test.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_OBJECTS = test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	test/librados/ceph_test_cls_rgw-test.$(OBJEXT)
 ceph_test_cls_rgw_OBJECTS = $(am_ceph_test_cls_rgw_OBJECTS)
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_DEPENDENCIES = librados.la \
- at WITH_RADOSGW_TRUE@	libcls_rgw_client.a $(am__DEPENDENCIES_6)
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_DEPENDENCIES = $(LIBRADOS) \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la $(am__DEPENDENCIES_13)
 ceph_test_cls_rgw_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am__ceph_test_cls_rgw_log_SOURCES_DIST = test/test_rgw_admin_log.cc
- at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_log_OBJECTS = ceph_test_cls_rgw_log-test_rgw_admin_log.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_log_OBJECTS = test/ceph_test_cls_rgw_log-test_rgw_admin_log.$(OBJEXT)
 ceph_test_cls_rgw_log_OBJECTS = $(am_ceph_test_cls_rgw_log_OBJECTS)
-am__DEPENDENCIES_7 = $(am__DEPENDENCIES_6)
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_DEPENDENCIES = librgw.a \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_6) \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) librados.la \
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_DEPENDENCIES = $(LIBRADOS) \
+ at WITH_RADOSGW_TRUE@	$(LIBRGW) $(am__DEPENDENCIES_6) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_13) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) \
 @WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
 @WITH_RADOSGW_TRUE@	libcls_statelog_client.a \
- at WITH_RADOSGW_TRUE@	libcls_refcount_client.a \
- at WITH_RADOSGW_TRUE@	libcls_rgw_client.a libcls_lock_client.a
+ at WITH_RADOSGW_TRUE@	libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
 ceph_test_cls_rgw_log_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_cls_rgw_log_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am__ceph_test_cls_rgw_meta_SOURCES_DIST = test/test_rgw_admin_meta.cc
- at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_meta_OBJECTS = ceph_test_cls_rgw_meta-test_rgw_admin_meta.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_meta_OBJECTS = test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.$(OBJEXT)
 ceph_test_cls_rgw_meta_OBJECTS = $(am_ceph_test_cls_rgw_meta_OBJECTS)
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_DEPENDENCIES = librgw.a \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_6) \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) librados.la \
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_DEPENDENCIES = $(LIBRADOS) \
+ at WITH_RADOSGW_TRUE@	$(LIBRGW) $(am__DEPENDENCIES_6) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_13) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) \
 @WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
 @WITH_RADOSGW_TRUE@	libcls_statelog_client.a \
- at WITH_RADOSGW_TRUE@	libcls_refcount_client.a \
- at WITH_RADOSGW_TRUE@	libcls_rgw_client.a libcls_lock_client.a
+ at WITH_RADOSGW_TRUE@	libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
 ceph_test_cls_rgw_meta_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_cls_rgw_meta_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am__ceph_test_cls_rgw_opstate_SOURCES_DIST =  \
 	test/test_rgw_admin_opstate.cc
- at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_opstate_OBJECTS = ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_ceph_test_cls_rgw_opstate_OBJECTS = test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.$(OBJEXT)
 ceph_test_cls_rgw_opstate_OBJECTS =  \
 	$(am_ceph_test_cls_rgw_opstate_OBJECTS)
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_DEPENDENCIES = librgw.a \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_6) \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) librados.la \
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_DEPENDENCIES =  \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) $(LIBRGW) $(am__DEPENDENCIES_6) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_13) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_1) \
 @WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
 @WITH_RADOSGW_TRUE@	libcls_statelog_client.a \
- at WITH_RADOSGW_TRUE@	libcls_refcount_client.a \
- at WITH_RADOSGW_TRUE@	libcls_rgw_client.a libcls_lock_client.a
+ at WITH_RADOSGW_TRUE@	libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
 ceph_test_cls_rgw_opstate_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_cls_rgw_opstate_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_cls_statelog_OBJECTS =  \
-	ceph_test_cls_statelog-test_cls_statelog.$(OBJEXT) \
-	ceph_test_cls_statelog-test.$(OBJEXT)
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_ceph_test_cls_statelog_OBJECTS = test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.$(OBJEXT) \
+	test/librados/ceph_test_cls_statelog-test.$(OBJEXT)
 ceph_test_cls_statelog_OBJECTS = $(am_ceph_test_cls_statelog_OBJECTS)
-ceph_test_cls_statelog_DEPENDENCIES = libglobal.la librados.la \
-	libcls_statelog_client.a $(am__DEPENDENCIES_6)
+ceph_test_cls_statelog_DEPENDENCIES = $(LIBRADOS) \
+	libcls_statelog_client.a $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 ceph_test_cls_statelog_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_cls_version_OBJECTS =  \
-	ceph_test_cls_version-test_cls_version.$(OBJEXT) \
-	ceph_test_cls_version-test.$(OBJEXT)
+am_ceph_test_cls_version_OBJECTS = test/cls_version/ceph_test_cls_version-test_cls_version.$(OBJEXT) \
+	test/librados/ceph_test_cls_version-test.$(OBJEXT)
 ceph_test_cls_version_OBJECTS = $(am_ceph_test_cls_version_OBJECTS)
-ceph_test_cls_version_DEPENDENCIES = librados.la \
-	libcls_version_client.a $(am__DEPENDENCIES_6)
+ceph_test_cls_version_DEPENDENCIES = $(LIBRADOS) \
+	libcls_version_client.a $(am__DEPENDENCIES_13)
 ceph_test_cls_version_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am__ceph_test_cors_SOURCES_DIST = test/test_cors.cc
 @WITH_RADOSGW_TRUE at am_ceph_test_cors_OBJECTS =  \
- at WITH_RADOSGW_TRUE@	ceph_test_cors-test_cors.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@	test/ceph_test_cors-test_cors.$(OBJEXT)
 ceph_test_cors_OBJECTS = $(am_ceph_test_cors_OBJECTS)
- at WITH_RADOSGW_TRUE@ceph_test_cors_DEPENDENCIES = librados.la librgw.a \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_7) \
- at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6)
+ at WITH_RADOSGW_TRUE@ceph_test_cors_DEPENDENCIES = $(LIBRADOS) $(LIBRGW) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_13)
 ceph_test_cors_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_crypto_OBJECTS = ceph_test_crypto-testcrypto.$(OBJEXT)
+am_ceph_test_crypto_OBJECTS = test/testcrypto.$(OBJEXT)
 ceph_test_crypto_OBJECTS = $(am_ceph_test_crypto_OBJECTS)
-ceph_test_crypto_DEPENDENCIES = $(am__DEPENDENCIES_3)
-ceph_test_crypto_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_crypto_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+ceph_test_crypto_DEPENDENCIES = $(am__DEPENDENCIES_6)
 am_ceph_test_filejournal_OBJECTS =  \
-	ceph_test_filejournal-test_filejournal.$(OBJEXT)
+	test/ceph_test_filejournal-test_filejournal.$(OBJEXT)
 ceph_test_filejournal_OBJECTS = $(am_ceph_test_filejournal_OBJECTS)
-ceph_test_filejournal_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_filejournal_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_filejournal_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_filejournal_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_filestore_OBJECTS =  \
-	ceph_test_filestore-store_test.$(OBJEXT)
+	test/filestore/ceph_test_filestore-store_test.$(OBJEXT)
 ceph_test_filestore_OBJECTS = $(am_ceph_test_filestore_OBJECTS)
-ceph_test_filestore_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_filestore_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_filestore_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_filestore_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_filestore_idempotent_OBJECTS =  \
-	ceph_test_filestore_idempotent-test_idempotent.$(OBJEXT) \
-	ceph_test_filestore_idempotent-FileStoreTracker.$(OBJEXT) \
-	ceph_test_filestore_idempotent-ObjectContents.$(OBJEXT)
+	test/filestore/test_idempotent.$(OBJEXT) \
+	test/filestore/FileStoreTracker.$(OBJEXT) \
+	test/common/ObjectContents.$(OBJEXT)
 ceph_test_filestore_idempotent_OBJECTS =  \
 	$(am_ceph_test_filestore_idempotent_OBJECTS)
-ceph_test_filestore_idempotent_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_test_filestore_idempotent_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_filestore_idempotent_sequence_OBJECTS = ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.$(OBJEXT) \
-	ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.$(OBJEXT) \
-	ceph_test_filestore_idempotent_sequence-TestFileStoreState.$(OBJEXT) \
-	ceph_test_filestore_idempotent_sequence-FileStoreDiff.$(OBJEXT)
+ceph_test_filestore_idempotent_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_test_filestore_idempotent_sequence_OBJECTS =  \
+	test/filestore/test_idempotent_sequence.$(OBJEXT) \
+	test/filestore/DeterministicOpSequence.$(OBJEXT) \
+	test/filestore/TestFileStoreState.$(OBJEXT) \
+	test/filestore/FileStoreDiff.$(OBJEXT)
 ceph_test_filestore_idempotent_sequence_OBJECTS =  \
 	$(am_ceph_test_filestore_idempotent_sequence_OBJECTS)
 ceph_test_filestore_idempotent_sequence_DEPENDENCIES =  \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
-ceph_test_filestore_idempotent_sequence_LINK = $(LIBTOOL) $(AM_V_lt) \
-	--tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-	$(CXXLD) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+	$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6)
 am_ceph_test_filestore_workloadgen_OBJECTS =  \
-	ceph_test_filestore_workloadgen-workload_generator.$(OBJEXT) \
-	ceph_test_filestore_workloadgen-TestFileStoreState.$(OBJEXT)
+	test/filestore/workload_generator.$(OBJEXT) \
+	test/filestore/TestFileStoreState.$(OBJEXT)
 ceph_test_filestore_workloadgen_OBJECTS =  \
 	$(am_ceph_test_filestore_workloadgen_OBJECTS)
-ceph_test_filestore_workloadgen_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_test_filestore_workloadgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_filestore_workloadgen_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_ioctls_OBJECTS = test_ioctls.$(OBJEXT)
+ceph_test_filestore_workloadgen_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_test_ioctls_OBJECTS = client/test_ioctls.$(OBJEXT)
 ceph_test_ioctls_OBJECTS = $(am_ceph_test_ioctls_OBJECTS)
 ceph_test_ioctls_LDADD = $(LDADD)
-am__ceph_test_keys_SOURCES_DIST = testkeys.cc \
-	perfglue/heap_profiler.cc
- at WITH_TCMALLOC_TRUE@am__objects_13 =  \
- at WITH_TCMALLOC_TRUE@	ceph_test_keys-heap_profiler.$(OBJEXT)
-am_ceph_test_keys_OBJECTS = ceph_test_keys-testkeys.$(OBJEXT) \
-	$(am__objects_13)
+am_ceph_test_keys_OBJECTS = test/testkeys.$(OBJEXT)
 ceph_test_keys_OBJECTS = $(am_ceph_test_keys_OBJECTS)
-ceph_test_keys_DEPENDENCIES = libmon.a $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_1)
-ceph_test_keys_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_ceph_test_keyvaluedb_atomicity_OBJECTS = ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.$(OBJEXT) \
-	ceph_test_keyvaluedb_atomicity-LevelDBStore.$(OBJEXT)
+ceph_test_keys_DEPENDENCIES = $(am__DEPENDENCIES_10) \
+	$(am__DEPENDENCIES_6)
+am_ceph_test_keyvaluedb_atomicity_OBJECTS = test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.$(OBJEXT)
 ceph_test_keyvaluedb_atomicity_OBJECTS =  \
 	$(am_ceph_test_keyvaluedb_atomicity_OBJECTS)
-ceph_test_keyvaluedb_atomicity_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_keyvaluedb_atomicity_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_keyvaluedb_atomicity_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_keyvaluedb_atomicity_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_keyvaluedb_iterators_OBJECTS = ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.$(OBJEXT) \
-	ceph_test_keyvaluedb_iterators-KeyValueDBMemory.$(OBJEXT) \
-	ceph_test_keyvaluedb_iterators-LevelDBStore.$(OBJEXT)
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_ceph_test_keyvaluedb_iterators_OBJECTS = test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.$(OBJEXT) \
+	test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.$(OBJEXT)
 ceph_test_keyvaluedb_iterators_OBJECTS =  \
 	$(am_ceph_test_keyvaluedb_iterators_OBJECTS)
-ceph_test_keyvaluedb_iterators_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_keyvaluedb_iterators_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_keyvaluedb_iterators_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_keyvaluedb_iterators_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_libcephfs_OBJECTS = ceph_test_libcephfs-test.$(OBJEXT) \
-	ceph_test_libcephfs-readdir_r_cb.$(OBJEXT) \
-	ceph_test_libcephfs-caps.$(OBJEXT) \
-	ceph_test_libcephfs-multiclient.$(OBJEXT)
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_ceph_test_libcephfs_OBJECTS =  \
+	test/libcephfs/ceph_test_libcephfs-test.$(OBJEXT) \
+	test/libcephfs/ceph_test_libcephfs-readdir_r_cb.$(OBJEXT) \
+	test/libcephfs/ceph_test_libcephfs-caps.$(OBJEXT) \
+	test/libcephfs/ceph_test_libcephfs-multiclient.$(OBJEXT)
 ceph_test_libcephfs_OBJECTS = $(am_ceph_test_libcephfs_OBJECTS)
-ceph_test_libcephfs_DEPENDENCIES = $(am__DEPENDENCIES_6) libcephfs.la
+ceph_test_libcephfs_DEPENDENCIES = $(LIBCEPHFS) $(am__DEPENDENCIES_13)
 ceph_test_libcephfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_libcephfs_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_test_libcephfs_build_SOURCES_DIST =  \
-	test/test_libcommon_build.cc ./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc osdc/Objecter.cc \
-	osdc/ObjectCacher.cc osdc/Filer.cc osdc/Striper.cc
-am__objects_14 = builder.$(OBJEXT) mapper.$(OBJEXT) crush.$(OBJEXT) \
-	hash.$(OBJEXT) \
-	ceph_test_libcephfs_build-CrushWrapper.$(OBJEXT) \
-	ceph_test_libcephfs_build-CrushCompiler.$(OBJEXT) \
-	ceph_test_libcephfs_build-CrushTester.$(OBJEXT)
- at WITH_PROFILER_TRUE@am__objects_15 = ceph_test_libcephfs_build-cpu_profiler.$(OBJEXT)
- at WITH_PROFILER_FALSE@am__objects_16 = ceph_test_libcephfs_build-disabled_stubs.$(OBJEXT)
-am__objects_17 = ceph_ver.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthClientHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthSessionHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthMethodList.$(OBJEXT) \
-	ceph_test_libcephfs_build-CephxAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-CephxClientHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-CephxProtocol.$(OBJEXT) \
-	ceph_test_libcephfs_build-CephxSessionHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libcephfs_build-Crypto.$(OBJEXT) \
-	ceph_test_libcephfs_build-KeyRing.$(OBJEXT) \
-	ceph_test_libcephfs_build-RotatingKeyRing.$(OBJEXT) \
-	ceph_test_libcephfs_build-DecayCounter.$(OBJEXT) \
-	ceph_test_libcephfs_build-LogClient.$(OBJEXT) \
-	ceph_test_libcephfs_build-LogEntry.$(OBJEXT) \
-	ceph_test_libcephfs_build-PrebufferedStreambuf.$(OBJEXT) \
-	ceph_test_libcephfs_build-BackTrace.$(OBJEXT) \
-	ceph_test_libcephfs_build-perf_counters.$(OBJEXT) \
-	ceph_test_libcephfs_build-Mutex.$(OBJEXT) \
-	ceph_test_libcephfs_build-OutputDataSocket.$(OBJEXT) \
-	ceph_test_libcephfs_build-admin_socket.$(OBJEXT) \
-	ceph_test_libcephfs_build-admin_socket_client.$(OBJEXT) \
-	ceph_test_libcephfs_build-cmdparse.$(OBJEXT) escape.$(OBJEXT) \
-	ceph_test_libcephfs_build-Clock.$(OBJEXT) \
-	ceph_test_libcephfs_build-Throttle.$(OBJEXT) \
-	ceph_test_libcephfs_build-Timer.$(OBJEXT) \
-	ceph_test_libcephfs_build-Finisher.$(OBJEXT) \
-	ceph_test_libcephfs_build-environment.$(OBJEXT) \
-	sctp_crc32.$(OBJEXT) crc32c-intel.$(OBJEXT) \
-	ceph_test_libcephfs_build-assert.$(OBJEXT) \
-	ceph_test_libcephfs_build-run_cmd.$(OBJEXT) \
-	ceph_test_libcephfs_build-WorkQueue.$(OBJEXT) \
-	ceph_test_libcephfs_build-ConfUtils.$(OBJEXT) \
-	ceph_test_libcephfs_build-MemoryModel.$(OBJEXT) \
-	armor.$(OBJEXT) ceph_test_libcephfs_build-fd.$(OBJEXT) \
-	xattr.$(OBJEXT) safe_io.$(OBJEXT) \
-	ceph_test_libcephfs_build-snap_types.$(OBJEXT) \
-	ceph_test_libcephfs_build-str_list.$(OBJEXT) \
-	ceph_test_libcephfs_build-errno.$(OBJEXT) \
-	ceph_test_libcephfs_build-json_spirit_reader.$(OBJEXT) \
-	ceph_test_libcephfs_build-json_spirit_writer.$(OBJEXT) \
-	ceph_test_libcephfs_build-json_spirit_value.$(OBJEXT) \
-	ceph_test_libcephfs_build-Log.$(OBJEXT) \
-	ceph_test_libcephfs_build-SubsystemMap.$(OBJEXT) \
-	ceph_test_libcephfs_build-MonCap.$(OBJEXT) \
-	ceph_test_libcephfs_build-MonClient.$(OBJEXT) \
-	ceph_test_libcephfs_build-MonMap.$(OBJEXT) \
-	ceph_test_libcephfs_build-Accepter.$(OBJEXT) \
-	ceph_test_libcephfs_build-DispatchQueue.$(OBJEXT) \
-	ceph_test_libcephfs_build-Message.$(OBJEXT) \
-	ceph_test_libcephfs_build-RefCountedObj.$(OBJEXT) \
-	ceph_test_libcephfs_build-Messenger.$(OBJEXT) \
-	ceph_test_libcephfs_build-Pipe.$(OBJEXT) \
-	ceph_test_libcephfs_build-SimpleMessenger.$(OBJEXT) \
-	ceph_test_libcephfs_build-msg_types.$(OBJEXT) \
-	ceph_test_libcephfs_build-hobject.$(OBJEXT) \
-	ceph_test_libcephfs_build-OSDMap.$(OBJEXT) \
-	ceph_test_libcephfs_build-osd_types.$(OBJEXT) \
-	ceph_test_libcephfs_build-MDSMap.$(OBJEXT) \
-	ceph_test_libcephfs_build-inode_backtrace.$(OBJEXT) \
-	ceph_test_libcephfs_build-mdstypes.$(OBJEXT) \
-	ceph_test_libcephfs_build-blkdev.$(OBJEXT) \
-	ceph_test_libcephfs_build-common_init.$(OBJEXT) pipe.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_argparse.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_context.$(OBJEXT) \
-	ceph_test_libcephfs_build-buffer.$(OBJEXT) \
-	ceph_test_libcephfs_build-code_environment.$(OBJEXT) \
-	ceph_test_libcephfs_build-dout.$(OBJEXT) \
-	ceph_test_libcephfs_build-signal.$(OBJEXT) \
-	ceph_test_libcephfs_build-simple_spin.$(OBJEXT) \
-	ceph_test_libcephfs_build-Thread.$(OBJEXT) \
-	ceph_test_libcephfs_build-Formatter.$(OBJEXT) \
-	ceph_test_libcephfs_build-HeartbeatMap.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_fs.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_hash.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_strings.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_frag.$(OBJEXT) \
-	ceph_test_libcephfs_build-config.$(OBJEXT) utf8.$(OBJEXT) \
-	mime.$(OBJEXT) ceph_test_libcephfs_build-strtol.$(OBJEXT) \
-	ceph_test_libcephfs_build-page.$(OBJEXT) \
-	ceph_test_libcephfs_build-lockdep.$(OBJEXT) \
-	ceph_test_libcephfs_build-version.$(OBJEXT) \
-	ceph_test_libcephfs_build-hex.$(OBJEXT) \
-	ceph_test_libcephfs_build-entity_name.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_crypto.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_crypto_cms.$(OBJEXT) \
-	ceph_test_libcephfs_build-ceph_json.$(OBJEXT) \
-	ceph_test_libcephfs_build-ipaddr.$(OBJEXT) \
-	ceph_test_libcephfs_build-pick_address.$(OBJEXT) \
-	addr_parsing.$(OBJEXT) $(am__objects_14) $(am__objects_15) \
-	$(am__objects_16)
-am__objects_18 = ceph_test_libcephfs_build-Objecter.$(OBJEXT) \
-	ceph_test_libcephfs_build-ObjectCacher.$(OBJEXT) \
-	ceph_test_libcephfs_build-Filer.$(OBJEXT) \
-	ceph_test_libcephfs_build-Striper.$(OBJEXT)
- at WITH_BUILD_TESTS_TRUE@am_ceph_test_libcephfs_build_OBJECTS = ceph_test_libcephfs_build-test_libcommon_build.$(OBJEXT) \
- at WITH_BUILD_TESTS_TRUE@	$(am__objects_17) $(am__objects_18)
-ceph_test_libcephfs_build_OBJECTS =  \
-	$(am_ceph_test_libcephfs_build_OBJECTS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcephfs_build_DEPENDENCIES =  \
- at WITH_BUILD_TESTS_TRUE@	libcephfs.la $(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
-ceph_test_libcephfs_build_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_test_libcommon_build_SOURCES_DIST =  \
-	test/test_libcommon_build.cc ./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc
-am__objects_19 = builder.$(OBJEXT) mapper.$(OBJEXT) crush.$(OBJEXT) \
-	hash.$(OBJEXT) CrushWrapper.$(OBJEXT) CrushCompiler.$(OBJEXT) \
-	CrushTester.$(OBJEXT)
- at WITH_PROFILER_TRUE@am__objects_20 = cpu_profiler.$(OBJEXT)
- at WITH_PROFILER_FALSE@am__objects_21 = disabled_stubs.$(OBJEXT)
-am__objects_22 = ceph_ver.$(OBJEXT) AuthAuthorizeHandler.$(OBJEXT) \
-	AuthClientHandler.$(OBJEXT) AuthSessionHandler.$(OBJEXT) \
-	AuthMethodList.$(OBJEXT) CephxAuthorizeHandler.$(OBJEXT) \
-	CephxClientHandler.$(OBJEXT) CephxProtocol.$(OBJEXT) \
-	CephxSessionHandler.$(OBJEXT) \
-	AuthNoneAuthorizeHandler.$(OBJEXT) \
-	AuthUnknownAuthorizeHandler.$(OBJEXT) Crypto.$(OBJEXT) \
-	KeyRing.$(OBJEXT) RotatingKeyRing.$(OBJEXT) \
-	DecayCounter.$(OBJEXT) LogClient.$(OBJEXT) LogEntry.$(OBJEXT) \
-	PrebufferedStreambuf.$(OBJEXT) BackTrace.$(OBJEXT) \
-	perf_counters.$(OBJEXT) Mutex.$(OBJEXT) \
-	OutputDataSocket.$(OBJEXT) admin_socket.$(OBJEXT) \
-	admin_socket_client.$(OBJEXT) cmdparse.$(OBJEXT) \
-	escape.$(OBJEXT) Clock.$(OBJEXT) Throttle.$(OBJEXT) \
-	Timer.$(OBJEXT) Finisher.$(OBJEXT) environment.$(OBJEXT) \
-	sctp_crc32.$(OBJEXT) crc32c-intel.$(OBJEXT) assert.$(OBJEXT) \
-	run_cmd.$(OBJEXT) WorkQueue.$(OBJEXT) ConfUtils.$(OBJEXT) \
-	MemoryModel.$(OBJEXT) armor.$(OBJEXT) fd.$(OBJEXT) \
-	xattr.$(OBJEXT) safe_io.$(OBJEXT) snap_types.$(OBJEXT) \
-	str_list.$(OBJEXT) errno.$(OBJEXT) \
-	json_spirit_reader.$(OBJEXT) json_spirit_writer.$(OBJEXT) \
-	json_spirit_value.$(OBJEXT) Log.$(OBJEXT) \
-	SubsystemMap.$(OBJEXT) MonCap.$(OBJEXT) MonClient.$(OBJEXT) \
-	MonMap.$(OBJEXT) Accepter.$(OBJEXT) DispatchQueue.$(OBJEXT) \
-	Message.$(OBJEXT) RefCountedObj.$(OBJEXT) Messenger.$(OBJEXT) \
-	Pipe.$(OBJEXT) SimpleMessenger.$(OBJEXT) msg_types.$(OBJEXT) \
-	hobject.$(OBJEXT) OSDMap.$(OBJEXT) osd_types.$(OBJEXT) \
-	MDSMap.$(OBJEXT) inode_backtrace.$(OBJEXT) mdstypes.$(OBJEXT) \
-	blkdev.$(OBJEXT) common_init.$(OBJEXT) pipe.$(OBJEXT) \
-	ceph_argparse.$(OBJEXT) ceph_context.$(OBJEXT) \
-	buffer.$(OBJEXT) code_environment.$(OBJEXT) dout.$(OBJEXT) \
-	signal.$(OBJEXT) simple_spin.$(OBJEXT) Thread.$(OBJEXT) \
-	Formatter.$(OBJEXT) HeartbeatMap.$(OBJEXT) ceph_fs.$(OBJEXT) \
-	ceph_hash.$(OBJEXT) ceph_strings.$(OBJEXT) ceph_frag.$(OBJEXT) \
-	config.$(OBJEXT) utf8.$(OBJEXT) mime.$(OBJEXT) \
-	strtol.$(OBJEXT) page.$(OBJEXT) lockdep.$(OBJEXT) \
-	version.$(OBJEXT) hex.$(OBJEXT) entity_name.$(OBJEXT) \
-	ceph_crypto.$(OBJEXT) ceph_crypto_cms.$(OBJEXT) \
-	ceph_json.$(OBJEXT) ipaddr.$(OBJEXT) pick_address.$(OBJEXT) \
-	addr_parsing.$(OBJEXT) $(am__objects_19) $(am__objects_20) \
-	$(am__objects_21)
- at WITH_BUILD_TESTS_TRUE@am_ceph_test_libcommon_build_OBJECTS =  \
- at WITH_BUILD_TESTS_TRUE@	test_libcommon_build.$(OBJEXT) \
- at WITH_BUILD_TESTS_TRUE@	$(am__objects_22)
-ceph_test_libcommon_build_OBJECTS =  \
-	$(am_ceph_test_libcommon_build_OBJECTS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcommon_build_DEPENDENCIES =  \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
-am__ceph_test_libhadoopcephfs_build_SOURCES_DIST =  \
-	test/test_libcommon_build.cc client/hadoop/CephFSInterface.cc \
-	osdc/Objecter.cc osdc/ObjectCacher.cc osdc/Filer.cc \
-	osdc/Striper.cc ./ceph_ver.c auth/AuthAuthorizeHandler.cc \
-	auth/AuthClientHandler.cc auth/AuthSessionHandler.cc \
-	auth/AuthMethodList.cc auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc
- at WITH_HADOOPCLIENT_TRUE@am__objects_23 = ceph_test_libhadoopcephfs_build-CephFSInterface.$(OBJEXT)
-am__objects_24 = ceph_test_libhadoopcephfs_build-Objecter.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ObjectCacher.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Filer.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Striper.$(OBJEXT)
-am__objects_25 = builder.$(OBJEXT) mapper.$(OBJEXT) crush.$(OBJEXT) \
-	hash.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CrushWrapper.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CrushCompiler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CrushTester.$(OBJEXT)
- at WITH_PROFILER_TRUE@am__objects_26 = ceph_test_libhadoopcephfs_build-cpu_profiler.$(OBJEXT)
- at WITH_PROFILER_FALSE@am__objects_27 = ceph_test_libhadoopcephfs_build-disabled_stubs.$(OBJEXT)
-am__objects_28 = ceph_ver.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthClientHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthSessionHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthMethodList.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CephxClientHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CephxProtocol.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-CephxSessionHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Crypto.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-KeyRing.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-RotatingKeyRing.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-DecayCounter.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-LogClient.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-LogEntry.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-BackTrace.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-perf_counters.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Mutex.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-OutputDataSocket.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-admin_socket.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-admin_socket_client.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-cmdparse.$(OBJEXT) \
-	escape.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Clock.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Throttle.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Timer.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Finisher.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-environment.$(OBJEXT) \
-	sctp_crc32.$(OBJEXT) crc32c-intel.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-assert.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-run_cmd.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-WorkQueue.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ConfUtils.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-MemoryModel.$(OBJEXT) \
-	armor.$(OBJEXT) ceph_test_libhadoopcephfs_build-fd.$(OBJEXT) \
-	xattr.$(OBJEXT) safe_io.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-snap_types.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-str_list.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-errno.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-json_spirit_reader.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-json_spirit_writer.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-json_spirit_value.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Log.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-SubsystemMap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-MonCap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-MonClient.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-MonMap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Accepter.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-DispatchQueue.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Message.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-RefCountedObj.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Messenger.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Pipe.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-SimpleMessenger.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-msg_types.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-hobject.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-OSDMap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-osd_types.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-MDSMap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-inode_backtrace.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-mdstypes.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-blkdev.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-common_init.$(OBJEXT) \
-	pipe.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_argparse.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_context.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-buffer.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-code_environment.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-dout.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-signal.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-simple_spin.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Thread.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-Formatter.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-HeartbeatMap.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_fs.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_hash.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_strings.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_frag.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-config.$(OBJEXT) \
-	utf8.$(OBJEXT) mime.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-strtol.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-page.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-lockdep.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-version.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-hex.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-entity_name.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_crypto.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_crypto_cms.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ceph_json.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-ipaddr.$(OBJEXT) \
-	ceph_test_libhadoopcephfs_build-pick_address.$(OBJEXT) \
-	addr_parsing.$(OBJEXT) $(am__objects_25) $(am__objects_26) \
-	$(am__objects_27)
- at WITH_HADOOPCLIENT_TRUE@am_ceph_test_libhadoopcephfs_build_OBJECTS = ceph_test_libhadoopcephfs_build-test_libcommon_build.$(OBJEXT) \
- at WITH_HADOOPCLIENT_TRUE@	$(am__objects_23) $(am__objects_24) \
- at WITH_HADOOPCLIENT_TRUE@	$(am__objects_28)
-ceph_test_libhadoopcephfs_build_OBJECTS =  \
-	$(am_ceph_test_libhadoopcephfs_build_OBJECTS)
- at WITH_HADOOPCLIENT_TRUE@ceph_test_libhadoopcephfs_build_DEPENDENCIES =  \
- at WITH_HADOOPCLIENT_TRUE@	libcephfs.la $(am__DEPENDENCIES_1) \
- at WITH_HADOOPCLIENT_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_HADOOPCLIENT_TRUE@	$(am__DEPENDENCIES_2)
-ceph_test_libhadoopcephfs_build_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__ceph_test_librados_build_SOURCES_DIST =  \
-	test/test_libcommon_build.cc ./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc librados/librados.cc \
-	librados/RadosClient.cc librados/IoCtxImpl.cc osdc/Objecter.cc \
-	osdc/Striper.cc cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc cls/lock/cls_lock_ops.cc
-am__objects_29 = builder.$(OBJEXT) mapper.$(OBJEXT) crush.$(OBJEXT) \
-	hash.$(OBJEXT) ceph_test_librados_build-CrushWrapper.$(OBJEXT) \
-	ceph_test_librados_build-CrushCompiler.$(OBJEXT) \
-	ceph_test_librados_build-CrushTester.$(OBJEXT)
- at WITH_PROFILER_TRUE@am__objects_30 = ceph_test_librados_build-cpu_profiler.$(OBJEXT)
- at WITH_PROFILER_FALSE@am__objects_31 = ceph_test_librados_build-disabled_stubs.$(OBJEXT)
-am__objects_32 = ceph_ver.$(OBJEXT) \
-	ceph_test_librados_build-AuthAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librados_build-AuthClientHandler.$(OBJEXT) \
-	ceph_test_librados_build-AuthSessionHandler.$(OBJEXT) \
-	ceph_test_librados_build-AuthMethodList.$(OBJEXT) \
-	ceph_test_librados_build-CephxAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librados_build-CephxClientHandler.$(OBJEXT) \
-	ceph_test_librados_build-CephxProtocol.$(OBJEXT) \
-	ceph_test_librados_build-CephxSessionHandler.$(OBJEXT) \
-	ceph_test_librados_build-AuthNoneAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librados_build-AuthUnknownAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librados_build-Crypto.$(OBJEXT) \
-	ceph_test_librados_build-KeyRing.$(OBJEXT) \
-	ceph_test_librados_build-RotatingKeyRing.$(OBJEXT) \
-	ceph_test_librados_build-DecayCounter.$(OBJEXT) \
-	ceph_test_librados_build-LogClient.$(OBJEXT) \
-	ceph_test_librados_build-LogEntry.$(OBJEXT) \
-	ceph_test_librados_build-PrebufferedStreambuf.$(OBJEXT) \
-	ceph_test_librados_build-BackTrace.$(OBJEXT) \
-	ceph_test_librados_build-perf_counters.$(OBJEXT) \
-	ceph_test_librados_build-Mutex.$(OBJEXT) \
-	ceph_test_librados_build-OutputDataSocket.$(OBJEXT) \
-	ceph_test_librados_build-admin_socket.$(OBJEXT) \
-	ceph_test_librados_build-admin_socket_client.$(OBJEXT) \
-	ceph_test_librados_build-cmdparse.$(OBJEXT) escape.$(OBJEXT) \
-	ceph_test_librados_build-Clock.$(OBJEXT) \
-	ceph_test_librados_build-Throttle.$(OBJEXT) \
-	ceph_test_librados_build-Timer.$(OBJEXT) \
-	ceph_test_librados_build-Finisher.$(OBJEXT) \
-	ceph_test_librados_build-environment.$(OBJEXT) \
-	sctp_crc32.$(OBJEXT) crc32c-intel.$(OBJEXT) \
-	ceph_test_librados_build-assert.$(OBJEXT) \
-	ceph_test_librados_build-run_cmd.$(OBJEXT) \
-	ceph_test_librados_build-WorkQueue.$(OBJEXT) \
-	ceph_test_librados_build-ConfUtils.$(OBJEXT) \
-	ceph_test_librados_build-MemoryModel.$(OBJEXT) armor.$(OBJEXT) \
-	ceph_test_librados_build-fd.$(OBJEXT) xattr.$(OBJEXT) \
-	safe_io.$(OBJEXT) \
-	ceph_test_librados_build-snap_types.$(OBJEXT) \
-	ceph_test_librados_build-str_list.$(OBJEXT) \
-	ceph_test_librados_build-errno.$(OBJEXT) \
-	ceph_test_librados_build-json_spirit_reader.$(OBJEXT) \
-	ceph_test_librados_build-json_spirit_writer.$(OBJEXT) \
-	ceph_test_librados_build-json_spirit_value.$(OBJEXT) \
-	ceph_test_librados_build-Log.$(OBJEXT) \
-	ceph_test_librados_build-SubsystemMap.$(OBJEXT) \
-	ceph_test_librados_build-MonCap.$(OBJEXT) \
-	ceph_test_librados_build-MonClient.$(OBJEXT) \
-	ceph_test_librados_build-MonMap.$(OBJEXT) \
-	ceph_test_librados_build-Accepter.$(OBJEXT) \
-	ceph_test_librados_build-DispatchQueue.$(OBJEXT) \
-	ceph_test_librados_build-Message.$(OBJEXT) \
-	ceph_test_librados_build-RefCountedObj.$(OBJEXT) \
-	ceph_test_librados_build-Messenger.$(OBJEXT) \
-	ceph_test_librados_build-Pipe.$(OBJEXT) \
-	ceph_test_librados_build-SimpleMessenger.$(OBJEXT) \
-	ceph_test_librados_build-msg_types.$(OBJEXT) \
-	ceph_test_librados_build-hobject.$(OBJEXT) \
-	ceph_test_librados_build-OSDMap.$(OBJEXT) \
-	ceph_test_librados_build-osd_types.$(OBJEXT) \
-	ceph_test_librados_build-MDSMap.$(OBJEXT) \
-	ceph_test_librados_build-inode_backtrace.$(OBJEXT) \
-	ceph_test_librados_build-mdstypes.$(OBJEXT) \
-	ceph_test_librados_build-blkdev.$(OBJEXT) \
-	ceph_test_librados_build-common_init.$(OBJEXT) pipe.$(OBJEXT) \
-	ceph_test_librados_build-ceph_argparse.$(OBJEXT) \
-	ceph_test_librados_build-ceph_context.$(OBJEXT) \
-	ceph_test_librados_build-buffer.$(OBJEXT) \
-	ceph_test_librados_build-code_environment.$(OBJEXT) \
-	ceph_test_librados_build-dout.$(OBJEXT) \
-	ceph_test_librados_build-signal.$(OBJEXT) \
-	ceph_test_librados_build-simple_spin.$(OBJEXT) \
-	ceph_test_librados_build-Thread.$(OBJEXT) \
-	ceph_test_librados_build-Formatter.$(OBJEXT) \
-	ceph_test_librados_build-HeartbeatMap.$(OBJEXT) \
-	ceph_test_librados_build-ceph_fs.$(OBJEXT) \
-	ceph_test_librados_build-ceph_hash.$(OBJEXT) \
-	ceph_test_librados_build-ceph_strings.$(OBJEXT) \
-	ceph_test_librados_build-ceph_frag.$(OBJEXT) \
-	ceph_test_librados_build-config.$(OBJEXT) utf8.$(OBJEXT) \
-	mime.$(OBJEXT) ceph_test_librados_build-strtol.$(OBJEXT) \
-	ceph_test_librados_build-page.$(OBJEXT) \
-	ceph_test_librados_build-lockdep.$(OBJEXT) \
-	ceph_test_librados_build-version.$(OBJEXT) \
-	ceph_test_librados_build-hex.$(OBJEXT) \
-	ceph_test_librados_build-entity_name.$(OBJEXT) \
-	ceph_test_librados_build-ceph_crypto.$(OBJEXT) \
-	ceph_test_librados_build-ceph_crypto_cms.$(OBJEXT) \
-	ceph_test_librados_build-ceph_json.$(OBJEXT) \
-	ceph_test_librados_build-ipaddr.$(OBJEXT) \
-	ceph_test_librados_build-pick_address.$(OBJEXT) \
-	addr_parsing.$(OBJEXT) $(am__objects_29) $(am__objects_30) \
-	$(am__objects_31)
-am__objects_33 = ceph_test_librados_build-librados.$(OBJEXT) \
-	ceph_test_librados_build-RadosClient.$(OBJEXT) \
-	ceph_test_librados_build-IoCtxImpl.$(OBJEXT) \
-	ceph_test_librados_build-Objecter.$(OBJEXT) \
-	ceph_test_librados_build-Striper.$(OBJEXT) \
-	ceph_test_librados_build-cls_lock_client.$(OBJEXT) \
-	ceph_test_librados_build-cls_lock_types.$(OBJEXT) \
-	ceph_test_librados_build-cls_lock_ops.$(OBJEXT)
- at WITH_BUILD_TESTS_TRUE@am_ceph_test_librados_build_OBJECTS = ceph_test_librados_build-test_libcommon_build.$(OBJEXT) \
- at WITH_BUILD_TESTS_TRUE@	$(am__objects_32) $(am__objects_33)
-ceph_test_librados_build_OBJECTS =  \
-	$(am_ceph_test_librados_build_OBJECTS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librados_build_DEPENDENCIES =  \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
-ceph_test_librados_build_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_librbd_OBJECTS = ceph_test_librbd-test_librbd.$(OBJEXT) \
-	ceph_test_librbd-test.$(OBJEXT)
+am_ceph_test_librbd_OBJECTS =  \
+	test/librbd/ceph_test_librbd-test_librbd.$(OBJEXT) \
+	test/librados/ceph_test_librbd-test.$(OBJEXT)
 ceph_test_librbd_OBJECTS = $(am_ceph_test_librbd_OBJECTS)
-ceph_test_librbd_DEPENDENCIES = librbd.la librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_librbd_DEPENDENCIES = $(LIBRBD) $(LIBRADOS) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_librbd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_ceph_test_librbd_fsx_OBJECTS = ceph_test_librbd_fsx-fsx.$(OBJEXT)
+am_ceph_test_librbd_fsx_OBJECTS =  \
+	test/librbd/ceph_test_librbd_fsx-fsx.$(OBJEXT)
 ceph_test_librbd_fsx_OBJECTS = $(am_ceph_test_librbd_fsx_OBJECTS)
-ceph_test_librbd_fsx_DEPENDENCIES = librbd.la librados.la
+ceph_test_librbd_fsx_DEPENDENCIES = $(LIBRBD) $(LIBRADOS)
 ceph_test_librbd_fsx_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am__ceph_test_librgw_build_SOURCES_DIST =  \
-	test/test_libcommon_build.cc ./ceph_ver.c \
-	auth/AuthAuthorizeHandler.cc auth/AuthClientHandler.cc \
-	auth/AuthSessionHandler.cc auth/AuthMethodList.cc \
-	auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c crush/builder.c \
-	crush/mapper.c crush/crush.c crush/hash.c \
-	crush/CrushWrapper.cc crush/CrushCompiler.cc \
-	crush/CrushTester.cc perfglue/cpu_profiler.cc \
-	perfglue/disabled_stubs.cc librados/librados.cc \
-	librados/RadosClient.cc librados/IoCtxImpl.cc osdc/Objecter.cc \
-	osdc/Striper.cc cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc cls/lock/cls_lock_ops.cc
-am__objects_34 = builder.$(OBJEXT) mapper.$(OBJEXT) crush.$(OBJEXT) \
-	hash.$(OBJEXT) ceph_test_librgw_build-CrushWrapper.$(OBJEXT) \
-	ceph_test_librgw_build-CrushCompiler.$(OBJEXT) \
-	ceph_test_librgw_build-CrushTester.$(OBJEXT)
- at WITH_PROFILER_TRUE@am__objects_35 = ceph_test_librgw_build-cpu_profiler.$(OBJEXT)
- at WITH_PROFILER_FALSE@am__objects_36 = ceph_test_librgw_build-disabled_stubs.$(OBJEXT)
-am__objects_37 = ceph_ver.$(OBJEXT) \
-	ceph_test_librgw_build-AuthAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librgw_build-AuthClientHandler.$(OBJEXT) \
-	ceph_test_librgw_build-AuthSessionHandler.$(OBJEXT) \
-	ceph_test_librgw_build-AuthMethodList.$(OBJEXT) \
-	ceph_test_librgw_build-CephxAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librgw_build-CephxClientHandler.$(OBJEXT) \
-	ceph_test_librgw_build-CephxProtocol.$(OBJEXT) \
-	ceph_test_librgw_build-CephxSessionHandler.$(OBJEXT) \
-	ceph_test_librgw_build-AuthNoneAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librgw_build-AuthUnknownAuthorizeHandler.$(OBJEXT) \
-	ceph_test_librgw_build-Crypto.$(OBJEXT) \
-	ceph_test_librgw_build-KeyRing.$(OBJEXT) \
-	ceph_test_librgw_build-RotatingKeyRing.$(OBJEXT) \
-	ceph_test_librgw_build-DecayCounter.$(OBJEXT) \
-	ceph_test_librgw_build-LogClient.$(OBJEXT) \
-	ceph_test_librgw_build-LogEntry.$(OBJEXT) \
-	ceph_test_librgw_build-PrebufferedStreambuf.$(OBJEXT) \
-	ceph_test_librgw_build-BackTrace.$(OBJEXT) \
-	ceph_test_librgw_build-perf_counters.$(OBJEXT) \
-	ceph_test_librgw_build-Mutex.$(OBJEXT) \
-	ceph_test_librgw_build-OutputDataSocket.$(OBJEXT) \
-	ceph_test_librgw_build-admin_socket.$(OBJEXT) \
-	ceph_test_librgw_build-admin_socket_client.$(OBJEXT) \
-	ceph_test_librgw_build-cmdparse.$(OBJEXT) escape.$(OBJEXT) \
-	ceph_test_librgw_build-Clock.$(OBJEXT) \
-	ceph_test_librgw_build-Throttle.$(OBJEXT) \
-	ceph_test_librgw_build-Timer.$(OBJEXT) \
-	ceph_test_librgw_build-Finisher.$(OBJEXT) \
-	ceph_test_librgw_build-environment.$(OBJEXT) \
-	sctp_crc32.$(OBJEXT) crc32c-intel.$(OBJEXT) \
-	ceph_test_librgw_build-assert.$(OBJEXT) \
-	ceph_test_librgw_build-run_cmd.$(OBJEXT) \
-	ceph_test_librgw_build-WorkQueue.$(OBJEXT) \
-	ceph_test_librgw_build-ConfUtils.$(OBJEXT) \
-	ceph_test_librgw_build-MemoryModel.$(OBJEXT) armor.$(OBJEXT) \
-	ceph_test_librgw_build-fd.$(OBJEXT) xattr.$(OBJEXT) \
-	safe_io.$(OBJEXT) ceph_test_librgw_build-snap_types.$(OBJEXT) \
-	ceph_test_librgw_build-str_list.$(OBJEXT) \
-	ceph_test_librgw_build-errno.$(OBJEXT) \
-	ceph_test_librgw_build-json_spirit_reader.$(OBJEXT) \
-	ceph_test_librgw_build-json_spirit_writer.$(OBJEXT) \
-	ceph_test_librgw_build-json_spirit_value.$(OBJEXT) \
-	ceph_test_librgw_build-Log.$(OBJEXT) \
-	ceph_test_librgw_build-SubsystemMap.$(OBJEXT) \
-	ceph_test_librgw_build-MonCap.$(OBJEXT) \
-	ceph_test_librgw_build-MonClient.$(OBJEXT) \
-	ceph_test_librgw_build-MonMap.$(OBJEXT) \
-	ceph_test_librgw_build-Accepter.$(OBJEXT) \
-	ceph_test_librgw_build-DispatchQueue.$(OBJEXT) \
-	ceph_test_librgw_build-Message.$(OBJEXT) \
-	ceph_test_librgw_build-RefCountedObj.$(OBJEXT) \
-	ceph_test_librgw_build-Messenger.$(OBJEXT) \
-	ceph_test_librgw_build-Pipe.$(OBJEXT) \
-	ceph_test_librgw_build-SimpleMessenger.$(OBJEXT) \
-	ceph_test_librgw_build-msg_types.$(OBJEXT) \
-	ceph_test_librgw_build-hobject.$(OBJEXT) \
-	ceph_test_librgw_build-OSDMap.$(OBJEXT) \
-	ceph_test_librgw_build-osd_types.$(OBJEXT) \
-	ceph_test_librgw_build-MDSMap.$(OBJEXT) \
-	ceph_test_librgw_build-inode_backtrace.$(OBJEXT) \
-	ceph_test_librgw_build-mdstypes.$(OBJEXT) \
-	ceph_test_librgw_build-blkdev.$(OBJEXT) \
-	ceph_test_librgw_build-common_init.$(OBJEXT) pipe.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_argparse.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_context.$(OBJEXT) \
-	ceph_test_librgw_build-buffer.$(OBJEXT) \
-	ceph_test_librgw_build-code_environment.$(OBJEXT) \
-	ceph_test_librgw_build-dout.$(OBJEXT) \
-	ceph_test_librgw_build-signal.$(OBJEXT) \
-	ceph_test_librgw_build-simple_spin.$(OBJEXT) \
-	ceph_test_librgw_build-Thread.$(OBJEXT) \
-	ceph_test_librgw_build-Formatter.$(OBJEXT) \
-	ceph_test_librgw_build-HeartbeatMap.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_fs.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_hash.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_strings.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_frag.$(OBJEXT) \
-	ceph_test_librgw_build-config.$(OBJEXT) utf8.$(OBJEXT) \
-	mime.$(OBJEXT) ceph_test_librgw_build-strtol.$(OBJEXT) \
-	ceph_test_librgw_build-page.$(OBJEXT) \
-	ceph_test_librgw_build-lockdep.$(OBJEXT) \
-	ceph_test_librgw_build-version.$(OBJEXT) \
-	ceph_test_librgw_build-hex.$(OBJEXT) \
-	ceph_test_librgw_build-entity_name.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_crypto.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_crypto_cms.$(OBJEXT) \
-	ceph_test_librgw_build-ceph_json.$(OBJEXT) \
-	ceph_test_librgw_build-ipaddr.$(OBJEXT) \
-	ceph_test_librgw_build-pick_address.$(OBJEXT) \
-	addr_parsing.$(OBJEXT) $(am__objects_34) $(am__objects_35) \
-	$(am__objects_36)
-am__objects_38 = ceph_test_librgw_build-librados.$(OBJEXT) \
-	ceph_test_librgw_build-RadosClient.$(OBJEXT) \
-	ceph_test_librgw_build-IoCtxImpl.$(OBJEXT) \
-	ceph_test_librgw_build-Objecter.$(OBJEXT) \
-	ceph_test_librgw_build-Striper.$(OBJEXT) \
-	ceph_test_librgw_build-cls_lock_client.$(OBJEXT) \
-	ceph_test_librgw_build-cls_lock_types.$(OBJEXT) \
-	ceph_test_librgw_build-cls_lock_ops.$(OBJEXT)
- at WITH_BUILD_TESTS_TRUE@am_ceph_test_librgw_build_OBJECTS = ceph_test_librgw_build-test_libcommon_build.$(OBJEXT) \
- at WITH_BUILD_TESTS_TRUE@	$(am__objects_37) $(am__objects_38)
-ceph_test_librgw_build_OBJECTS = $(am_ceph_test_librgw_build_OBJECTS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librgw_build_DEPENDENCIES =  \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
-ceph_test_librgw_build_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
 am_ceph_test_mon_workloadgen_OBJECTS =  \
-	ceph_test_mon_workloadgen-test_mon_workloadgen.$(OBJEXT) \
-	ceph_test_mon_workloadgen-Objecter.$(OBJEXT) \
-	ceph_test_mon_workloadgen-Striper.$(OBJEXT)
+	test/mon/test_mon_workloadgen.$(OBJEXT)
 ceph_test_mon_workloadgen_OBJECTS =  \
 	$(am_ceph_test_mon_workloadgen_OBJECTS)
-ceph_test_mon_workloadgen_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_test_mon_workloadgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_msgr_OBJECTS = testmsgr.$(OBJEXT)
+ceph_test_mon_workloadgen_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(LIBOSDC) $(am__DEPENDENCIES_6)
+am_ceph_test_msgr_OBJECTS = test/testmsgr.$(OBJEXT)
 ceph_test_msgr_OBJECTS = $(am_ceph_test_msgr_OBJECTS)
-ceph_test_msgr_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_ceph_test_mutate_OBJECTS = test_mutate.$(OBJEXT)
+ceph_test_msgr_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_ceph_test_mutate_OBJECTS = test/test_mutate.$(OBJEXT)
 ceph_test_mutate_OBJECTS = $(am_ceph_test_mutate_OBJECTS)
-ceph_test_mutate_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
+ceph_test_mutate_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
 am_ceph_test_object_map_OBJECTS =  \
-	ceph_test_object_map-test_object_map.$(OBJEXT) \
-	ceph_test_object_map-KeyValueDBMemory.$(OBJEXT) \
-	ceph_test_object_map-DBObjectMap.$(OBJEXT) \
-	ceph_test_object_map-LevelDBStore.$(OBJEXT)
+	test/ObjectMap/ceph_test_object_map-test_object_map.$(OBJEXT) \
+	test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.$(OBJEXT)
 ceph_test_object_map_OBJECTS = $(am_ceph_test_object_map_OBJECTS)
-ceph_test_object_map_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_object_map_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_object_map_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_object_map_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_objectcacher_stress_OBJECTS =  \
-	ceph_test_objectcacher_stress-object_cacher_stress.$(OBJEXT) \
-	ceph_test_objectcacher_stress-FakeWriteback.$(OBJEXT) \
-	ceph_test_objectcacher_stress-ObjectCacher.$(OBJEXT)
+	test/osdc/object_cacher_stress.$(OBJEXT) \
+	test/osdc/FakeWriteback.$(OBJEXT)
 ceph_test_objectcacher_stress_OBJECTS =  \
 	$(am_ceph_test_objectcacher_stress_OBJECTS)
-ceph_test_objectcacher_stress_DEPENDENCIES = $(am__DEPENDENCIES_3)
-ceph_test_objectcacher_stress_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_objectcacher_stress_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_rados_OBJECTS = TestRados.$(OBJEXT) TestOpStat.$(OBJEXT) \
-	Object.$(OBJEXT) RadosModel.$(OBJEXT)
+ceph_test_objectcacher_stress_DEPENDENCIES = $(LIBOSDC) \
+	$(am__DEPENDENCIES_6)
+am_ceph_test_rados_OBJECTS = test/osd/TestRados.$(OBJEXT) \
+	test/osd/TestOpStat.$(OBJEXT) test/osd/Object.$(OBJEXT) \
+	test/osd/RadosModel.$(OBJEXT)
 ceph_test_rados_OBJECTS = $(am_ceph_test_rados_OBJECTS)
-ceph_test_rados_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
+ceph_test_rados_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
 am_ceph_test_rados_api_aio_OBJECTS =  \
-	ceph_test_rados_api_aio-aio.$(OBJEXT) \
-	ceph_test_rados_api_aio-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_aio-aio.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_aio-test.$(OBJEXT)
 ceph_test_rados_api_aio_OBJECTS =  \
 	$(am_ceph_test_rados_api_aio_OBJECTS)
-ceph_test_rados_api_aio_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_aio_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_aio_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_aio_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_cls_OBJECTS =  \
-	ceph_test_rados_api_cls-cls.$(OBJEXT) \
-	ceph_test_rados_api_cls-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_cls-cls.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_cls-test.$(OBJEXT)
 ceph_test_rados_api_cls_OBJECTS =  \
 	$(am_ceph_test_rados_api_cls_OBJECTS)
-ceph_test_rados_api_cls_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_cls_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_cls_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_cls_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_cmd_OBJECTS =  \
-	ceph_test_rados_api_cmd-cmd.$(OBJEXT) \
-	ceph_test_rados_api_cmd-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_cmd-cmd.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_cmd-test.$(OBJEXT)
 ceph_test_rados_api_cmd_OBJECTS =  \
 	$(am_ceph_test_rados_api_cmd_OBJECTS)
-ceph_test_rados_api_cmd_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_cmd_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_cmd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_cmd_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_io_OBJECTS =  \
-	ceph_test_rados_api_io-io.$(OBJEXT) \
-	ceph_test_rados_api_io-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_io-io.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_io-test.$(OBJEXT)
 ceph_test_rados_api_io_OBJECTS = $(am_ceph_test_rados_api_io_OBJECTS)
-ceph_test_rados_api_io_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_io_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_io_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_io_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_list_OBJECTS =  \
-	ceph_test_rados_api_list-list.$(OBJEXT) \
-	ceph_test_rados_api_list-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_list-list.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_list-test.$(OBJEXT)
 ceph_test_rados_api_list_OBJECTS =  \
 	$(am_ceph_test_rados_api_list_OBJECTS)
-ceph_test_rados_api_list_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_list_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_list_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_list_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_lock_OBJECTS =  \
-	ceph_test_rados_api_lock-lock.$(OBJEXT) \
-	ceph_test_rados_api_lock-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_lock-lock.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_lock-test.$(OBJEXT)
 ceph_test_rados_api_lock_OBJECTS =  \
 	$(am_ceph_test_rados_api_lock_OBJECTS)
-ceph_test_rados_api_lock_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_lock_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_lock_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_lock_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_misc_OBJECTS =  \
-	ceph_test_rados_api_misc-misc.$(OBJEXT) \
-	ceph_test_rados_api_misc-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_misc-misc.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_misc-test.$(OBJEXT)
 ceph_test_rados_api_misc_OBJECTS =  \
 	$(am_ceph_test_rados_api_misc_OBJECTS)
-ceph_test_rados_api_misc_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_6)
+ceph_test_rados_api_misc_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_rados_api_misc_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_misc_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_rados_api_pool_OBJECTS =  \
-	ceph_test_rados_api_pool-pool.$(OBJEXT) \
-	ceph_test_rados_api_pool-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_pool-pool.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_pool-test.$(OBJEXT)
 ceph_test_rados_api_pool_OBJECTS =  \
 	$(am_ceph_test_rados_api_pool_OBJECTS)
-ceph_test_rados_api_pool_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_pool_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_pool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_pool_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_rados_api_snapshots_OBJECTS =  \
-	ceph_test_rados_api_snapshots-snapshots.$(OBJEXT) \
-	ceph_test_rados_api_snapshots-test.$(OBJEXT)
+	$(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_ceph_test_rados_api_snapshots_OBJECTS = test/librados/ceph_test_rados_api_snapshots-snapshots.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_snapshots-test.$(OBJEXT)
 ceph_test_rados_api_snapshots_OBJECTS =  \
 	$(am_ceph_test_rados_api_snapshots_OBJECTS)
-ceph_test_rados_api_snapshots_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_snapshots_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_snapshots_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_snapshots_LDFLAGS) $(LDFLAGS) -o $@
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_ceph_test_rados_api_stat_OBJECTS =  \
-	ceph_test_rados_api_stat-stat.$(OBJEXT) \
-	ceph_test_rados_api_stat-test.$(OBJEXT)
+	test/librados/ceph_test_rados_api_stat-stat.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_stat-test.$(OBJEXT)
 ceph_test_rados_api_stat_OBJECTS =  \
 	$(am_ceph_test_rados_api_stat_OBJECTS)
-ceph_test_rados_api_stat_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_stat_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_stat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_rados_api_stat_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_rados_api_watch_notify_OBJECTS =  \
-	ceph_test_rados_api_watch_notify-watch_notify.$(OBJEXT) \
-	ceph_test_rados_api_watch_notify-test.$(OBJEXT)
+	$(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_ceph_test_rados_api_watch_notify_OBJECTS = test/librados/ceph_test_rados_api_watch_notify-watch_notify.$(OBJEXT) \
+	test/librados/ceph_test_rados_api_watch_notify-test.$(OBJEXT)
 ceph_test_rados_api_watch_notify_OBJECTS =  \
 	$(am_ceph_test_rados_api_watch_notify_OBJECTS)
-ceph_test_rados_api_watch_notify_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_rados_api_watch_notify_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_rados_api_watch_notify_LINK = $(LIBTOOL) $(AM_V_lt) \
 	--tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
 	$(CXXLD) $(ceph_test_rados_api_watch_notify_CXXFLAGS) \
-	$(CXXFLAGS) $(ceph_test_rados_api_watch_notify_LDFLAGS) \
-	$(LDFLAGS) -o $@
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_ceph_test_rados_delete_pools_parallel_OBJECTS =  \
-	rados_delete_pools_parallel.$(OBJEXT) \
-	st_rados_create_pool.$(OBJEXT) st_rados_delete_pool.$(OBJEXT) \
-	st_rados_list_objects.$(OBJEXT)
+	test/system/rados_delete_pools_parallel.$(OBJEXT) \
+	test/system/st_rados_create_pool.$(OBJEXT) \
+	test/system/st_rados_delete_pool.$(OBJEXT) \
+	test/system/st_rados_list_objects.$(OBJEXT)
 ceph_test_rados_delete_pools_parallel_OBJECTS =  \
 	$(am_ceph_test_rados_delete_pools_parallel_OBJECTS)
-ceph_test_rados_delete_pools_parallel_DEPENDENCIES = libsystest.la \
-	librados.la $(am__DEPENDENCIES_1)
+ceph_test_rados_delete_pools_parallel_DEPENDENCIES = $(LIBRADOS) \
+	libsystest.la $(am__DEPENDENCIES_1)
 am_ceph_test_rados_list_parallel_OBJECTS =  \
-	rados_list_parallel.$(OBJEXT) st_rados_create_pool.$(OBJEXT) \
-	st_rados_list_objects.$(OBJEXT)
+	test/system/rados_list_parallel.$(OBJEXT) \
+	test/system/st_rados_create_pool.$(OBJEXT) \
+	test/system/st_rados_list_objects.$(OBJEXT)
 ceph_test_rados_list_parallel_OBJECTS =  \
 	$(am_ceph_test_rados_list_parallel_OBJECTS)
-ceph_test_rados_list_parallel_DEPENDENCIES = libsystest.la librados.la \
+ceph_test_rados_list_parallel_DEPENDENCIES = $(LIBRADOS) libsystest.la \
 	$(am__DEPENDENCIES_1)
 am_ceph_test_rados_open_pools_parallel_OBJECTS =  \
-	rados_open_pools_parallel.$(OBJEXT) \
-	st_rados_create_pool.$(OBJEXT)
+	test/system/rados_open_pools_parallel.$(OBJEXT) \
+	test/system/st_rados_create_pool.$(OBJEXT)
 ceph_test_rados_open_pools_parallel_OBJECTS =  \
 	$(am_ceph_test_rados_open_pools_parallel_OBJECTS)
-ceph_test_rados_open_pools_parallel_DEPENDENCIES = libsystest.la \
-	librados.la $(am__DEPENDENCIES_1)
+ceph_test_rados_open_pools_parallel_DEPENDENCIES = $(LIBRADOS) \
+	libsystest.la $(am__DEPENDENCIES_1)
 am_ceph_test_rados_watch_notify_OBJECTS =  \
-	rados_watch_notify.$(OBJEXT) st_rados_create_pool.$(OBJEXT) \
-	st_rados_delete_pool.$(OBJEXT) st_rados_delete_objs.$(OBJEXT) \
-	st_rados_watch.$(OBJEXT) st_rados_notify.$(OBJEXT)
+	test/system/rados_watch_notify.$(OBJEXT) \
+	test/system/st_rados_create_pool.$(OBJEXT) \
+	test/system/st_rados_delete_pool.$(OBJEXT) \
+	test/system/st_rados_delete_objs.$(OBJEXT) \
+	test/system/st_rados_watch.$(OBJEXT) \
+	test/system/st_rados_notify.$(OBJEXT)
 ceph_test_rados_watch_notify_OBJECTS =  \
 	$(am_ceph_test_rados_watch_notify_OBJECTS)
-ceph_test_rados_watch_notify_DEPENDENCIES = libsystest.la librados.la \
+ceph_test_rados_watch_notify_DEPENDENCIES = $(LIBRADOS) libsystest.la \
 	$(am__DEPENDENCIES_1)
-am_ceph_test_rewrite_latency_OBJECTS = test_rewrite_latency.$(OBJEXT)
+am_ceph_test_rewrite_latency_OBJECTS =  \
+	test/test_rewrite_latency.$(OBJEXT)
 ceph_test_rewrite_latency_OBJECTS =  \
 	$(am_ceph_test_rewrite_latency_OBJECTS)
-ceph_test_rewrite_latency_DEPENDENCIES = libcommon.la \
+ceph_test_rewrite_latency_DEPENDENCIES = $(LIBCOMMON) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am_ceph_test_signal_handlers_OBJECTS = TestSignalHandlers.$(OBJEXT)
+am_ceph_test_signal_handlers_OBJECTS =  \
+	test/TestSignalHandlers.$(OBJEXT)
 ceph_test_signal_handlers_OBJECTS =  \
 	$(am_ceph_test_signal_handlers_OBJECTS)
-ceph_test_signal_handlers_DEPENDENCIES = $(am__DEPENDENCIES_3)
+ceph_test_signal_handlers_DEPENDENCIES = $(am__DEPENDENCIES_6)
 am_ceph_test_snap_mapper_OBJECTS =  \
-	ceph_test_snap_mapper-test_snap_mapper.$(OBJEXT) \
-	ceph_test_snap_mapper-SnapMapper.$(OBJEXT)
+	test/ceph_test_snap_mapper-test_snap_mapper.$(OBJEXT)
 ceph_test_snap_mapper_OBJECTS = $(am_ceph_test_snap_mapper_OBJECTS)
-ceph_test_snap_mapper_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_test_snap_mapper_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_test_snap_mapper_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_snap_mapper_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_store_tool_OBJECTS =  \
-	ceph_test_store_tool-test_store_tool.$(OBJEXT) \
-	ceph_test_store_tool-LevelDBStore.$(OBJEXT)
-ceph_test_store_tool_OBJECTS = $(am_ceph_test_store_tool_OBJECTS)
-ceph_test_store_tool_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_test_store_tool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_store_tool_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_ceph_test_stress_watch_OBJECTS =  \
-	ceph_test_stress_watch-test_stress_watch.$(OBJEXT) \
-	ceph_test_stress_watch-test.$(OBJEXT)
+	test/ceph_test_stress_watch-test_stress_watch.$(OBJEXT) \
+	test/librados/ceph_test_stress_watch-test.$(OBJEXT)
 ceph_test_stress_watch_OBJECTS = $(am_ceph_test_stress_watch_OBJECTS)
-ceph_test_stress_watch_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_6)
+ceph_test_stress_watch_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 ceph_test_stress_watch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_test_stress_watch_LDFLAGS) $(LDFLAGS) -o $@
-am_ceph_test_timers_OBJECTS = TestTimers.$(OBJEXT)
+	$(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_ceph_test_timers_OBJECTS = test/TestTimers.$(OBJEXT)
 ceph_test_timers_OBJECTS = $(am_ceph_test_timers_OBJECTS)
-ceph_test_timers_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_ceph_test_trans_OBJECTS = ceph_test_trans-test_trans.$(OBJEXT)
+ceph_test_timers_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_ceph_test_trans_OBJECTS = test/test_trans.$(OBJEXT)
 ceph_test_trans_OBJECTS = $(am_ceph_test_trans_OBJECTS)
-ceph_test_trans_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-ceph_test_trans_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_test_trans_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_ceph_tpbench_OBJECTS = tp_bench.$(OBJEXT) \
-	detailed_stat_collector.$(OBJEXT)
+ceph_test_trans_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_tpbench_OBJECTS = test/bench/tp_bench.$(OBJEXT) \
+	test/bench/detailed_stat_collector.$(OBJEXT)
 ceph_tpbench_OBJECTS = $(am_ceph_tpbench_OBJECTS)
-ceph_tpbench_DEPENDENCIES = librados.la $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3)
-am_ceph_xattr_bench_OBJECTS = ceph_xattr_bench-xattr_bench.$(OBJEXT)
+ceph_tpbench_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_6)
+am_ceph_xattr_bench_OBJECTS =  \
+	test/ceph_xattr_bench-xattr_bench.$(OBJEXT)
 ceph_xattr_bench_OBJECTS = $(am_ceph_xattr_bench_OBJECTS)
-ceph_xattr_bench_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+ceph_xattr_bench_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 ceph_xattr_bench_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) \
-	$(ceph_xattr_bench_LDFLAGS) $(LDFLAGS) -o $@
+	$(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_cephfs_OBJECTS = cephfs.$(OBJEXT)
 cephfs_OBJECTS = $(am_cephfs_OBJECTS)
-cephfs_DEPENDENCIES = libcommon.la
-am_crushtool_OBJECTS = crushtool.$(OBJEXT)
+cephfs_DEPENDENCIES = $(LIBCOMMON)
+am_crushtool_OBJECTS = tools/crushtool.$(OBJEXT)
 crushtool_OBJECTS = $(am_crushtool_OBJECTS)
-crushtool_DEPENDENCIES = $(am__DEPENDENCIES_3)
+crushtool_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_get_command_descriptions_OBJECTS =  \
+	test/common/get_command_descriptions.$(OBJEXT)
+get_command_descriptions_OBJECTS =  \
+	$(am_get_command_descriptions_OBJECTS)
+get_command_descriptions_DEPENDENCIES = $(am__DEPENDENCIES_10) \
+	$(LIBCOMMON) $(am__DEPENDENCIES_6)
 am_librados_config_OBJECTS = librados-config.$(OBJEXT)
 librados_config_OBJECTS = $(am_librados_config_OBJECTS)
-librados_config_DEPENDENCIES = librados.la $(am__DEPENDENCIES_3)
-am_monmaptool_OBJECTS = monmaptool.$(OBJEXT)
+librados_config_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_6)
+am_monmaptool_OBJECTS = tools/monmaptool.$(OBJEXT)
 monmaptool_OBJECTS = $(am_monmaptool_OBJECTS)
-monmaptool_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_mount_ceph_OBJECTS = mount.ceph.$(OBJEXT) armor.$(OBJEXT) \
-	safe_io.$(OBJEXT) secret.$(OBJEXT) addr_parsing.$(OBJEXT)
+monmaptool_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_mount_ceph_OBJECTS = mount/mount.ceph.$(OBJEXT)
 mount_ceph_OBJECTS = $(am_mount_ceph_OBJECTS)
-mount_ceph_DEPENDENCIES =
-am_osdmaptool_OBJECTS = osdmaptool.$(OBJEXT)
+mount_ceph_DEPENDENCIES = $(LIBCOMMON)
+am_osdmaptool_OBJECTS = tools/osdmaptool.$(OBJEXT)
 osdmaptool_OBJECTS = $(am_osdmaptool_OBJECTS)
-osdmaptool_DEPENDENCIES = $(am__DEPENDENCIES_3)
-am_rados_OBJECTS = rados.$(OBJEXT) rados_import.$(OBJEXT) \
-	rados_export.$(OBJEXT) rados_sync.$(OBJEXT) \
-	obj_bencher.$(OBJEXT)
+osdmaptool_DEPENDENCIES = $(am__DEPENDENCIES_6)
+am_rados_OBJECTS = tools/rados/rados.$(OBJEXT) \
+	tools/rados/rados_import.$(OBJEXT) \
+	tools/rados/rados_export.$(OBJEXT) \
+	tools/rados/rados_sync.$(OBJEXT) common/obj_bencher.$(OBJEXT)
 rados_OBJECTS = $(am_rados_OBJECTS)
-rados_DEPENDENCIES = libcls_lock_client.a librados.la \
-	$(am__DEPENDENCIES_3)
+rados_DEPENDENCIES = libcls_lock_client.la $(LIBRADOS) \
+	$(am__DEPENDENCIES_6)
 am__radosgw_SOURCES_DIST = rgw/rgw_resolve.cc rgw/rgw_rest.cc \
 	rgw/rgw_rest_swift.cc rgw/rgw_rest_s3.cc rgw/rgw_rest_usage.cc \
 	rgw/rgw_rest_user.cc rgw/rgw_rest_bucket.cc \
@@ -2251,415 +1495,726 @@ am__radosgw_SOURCES_DIST = rgw/rgw_resolve.cc rgw/rgw_rest.cc \
 	rgw/rgw_rest_replica_log.cc rgw/rgw_rest_config.cc \
 	rgw/rgw_http_client.cc rgw/rgw_swift.cc rgw/rgw_swift_auth.cc \
 	rgw/rgw_main.cc
- at WITH_RADOSGW_TRUE@am_radosgw_OBJECTS = radosgw-rgw_resolve.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_swift.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_s3.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_usage.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_user.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_bucket.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_metadata.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_replica_log.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_log.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_opstate.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_replica_log.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_rest_config.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_http_client.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_swift.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_swift_auth.$(OBJEXT) \
- at WITH_RADOSGW_TRUE@	radosgw-rgw_main.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_radosgw_OBJECTS = rgw/rgw_resolve.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_swift.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_s3.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_usage.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_user.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_bucket.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_metadata.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_replica_log.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_log.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_opstate.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_replica_log.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_config.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_http_client.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_swift.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_swift_auth.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_main.$(OBJEXT)
 radosgw_OBJECTS = $(am_radosgw_OBJECTS)
- at WITH_RADOSGW_TRUE@radosgw_DEPENDENCIES = $(am__DEPENDENCIES_5)
-radosgw_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(radosgw_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ at WITH_RADOSGW_TRUE@radosgw_DEPENDENCIES = $(LIBRGW) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_12) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6)
 am__radosgw_admin_SOURCES_DIST = rgw/rgw_admin.cc
- at WITH_RADOSGW_TRUE@am_radosgw_admin_OBJECTS =  \
- at WITH_RADOSGW_TRUE@	radosgw_admin-rgw_admin.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@am_radosgw_admin_OBJECTS = rgw/rgw_admin.$(OBJEXT)
 radosgw_admin_OBJECTS = $(am_radosgw_admin_OBJECTS)
- at WITH_RADOSGW_TRUE@radosgw_admin_DEPENDENCIES = $(am__DEPENDENCIES_5)
-radosgw_admin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(radosgw_admin_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
-am_rbd_OBJECTS = rbd-rbd.$(OBJEXT) secret.$(OBJEXT) \
-	rbd-TextTable.$(OBJEXT) rbd-util.$(OBJEXT)
+ at WITH_RADOSGW_TRUE@radosgw_admin_DEPENDENCIES = $(LIBRGW) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_12) \
+ at WITH_RADOSGW_TRUE@	$(am__DEPENDENCIES_6)
+am_rbd_OBJECTS = rbd.$(OBJEXT)
 rbd_OBJECTS = $(am_rbd_OBJECTS)
-rbd_DEPENDENCIES = librbd.la librados.la $(am__DEPENDENCIES_3)
-rbd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(rbd_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+rbd_DEPENDENCIES = $(LIBRBD) $(LIBRADOS) $(am__DEPENDENCIES_6)
 am__rbd_fuse_SOURCES_DIST = rbd_fuse/rbd-fuse.c
- at WITH_FUSE_TRUE@am_rbd_fuse_OBJECTS = rbd-fuse.$(OBJEXT)
+ at WITH_FUSE_TRUE@am_rbd_fuse_OBJECTS = rbd_fuse/rbd-fuse.$(OBJEXT)
 rbd_fuse_OBJECTS = $(am_rbd_fuse_OBJECTS)
- at WITH_FUSE_TRUE@rbd_fuse_DEPENDENCIES = librados.la librbd.la \
- at WITH_FUSE_TRUE@	$(am__DEPENDENCIES_3)
+ at WITH_FUSE_TRUE@rbd_fuse_DEPENDENCIES = $(LIBRBD) $(LIBRADOS) \
+ at WITH_FUSE_TRUE@	$(am__DEPENDENCIES_6)
 am__rest_bench_SOURCES_DIST = tools/rest_bench.cc \
 	common/obj_bencher.cc
 @WITH_REST_BENCH_TRUE at am_rest_bench_OBJECTS =  \
- at WITH_REST_BENCH_TRUE@	rest_bench-rest_bench.$(OBJEXT) \
- at WITH_REST_BENCH_TRUE@	rest_bench-obj_bencher.$(OBJEXT)
+ at WITH_REST_BENCH_TRUE@	tools/rest_bench-rest_bench.$(OBJEXT) \
+ at WITH_REST_BENCH_TRUE@	common/rest_bench-obj_bencher.$(OBJEXT)
 rest_bench_OBJECTS = $(am_rest_bench_OBJECTS)
- at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__DEPENDENCIES_8 = libs3/build/lib/libs3.a
- at WITH_REST_BENCH_TRUE@rest_bench_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at am__DEPENDENCIES_14 = libs3/build/lib/libs3.a
+ at WITH_REST_BENCH_TRUE@rest_bench_DEPENDENCIES = $(am__DEPENDENCIES_6) \
 @WITH_REST_BENCH_TRUE@	$(am__DEPENDENCIES_1) \
- at WITH_REST_BENCH_TRUE@	$(am__DEPENDENCIES_8)
+ at WITH_REST_BENCH_TRUE@	$(am__DEPENDENCIES_14)
 rest_bench_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(rest_bench_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_addrs_OBJECTS = unittest_addrs-test_addrs.$(OBJEXT)
+am__test_build_libcephfs_SOURCES_DIST = test/buildtest_skeleton.cc \
+	osdc/Objecter.cc osdc/ObjectCacher.cc osdc/Filer.cc \
+	osdc/Striper.cc osdc/Journaler.cc
+am__objects_9 = osdc/test_build_libcephfs-Objecter.$(OBJEXT) \
+	osdc/test_build_libcephfs-ObjectCacher.$(OBJEXT) \
+	osdc/test_build_libcephfs-Filer.$(OBJEXT) \
+	osdc/test_build_libcephfs-Striper.$(OBJEXT) \
+	osdc/test_build_libcephfs-Journaler.$(OBJEXT)
+ at WITH_BUILD_TESTS_TRUE@am_test_build_libcephfs_OBJECTS = test/test_build_libcephfs-buildtest_skeleton.$(OBJEXT) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__objects_9)
+test_build_libcephfs_OBJECTS = $(am_test_build_libcephfs_OBJECTS)
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_DEPENDENCIES =  \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBCEPHFS) $(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
+test_build_libcephfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) \
+	$(test_build_libcephfs_LDFLAGS) $(LDFLAGS) -o $@
+am__test_build_libcommon_SOURCES_DIST = test/buildtest_skeleton.cc \
+	ceph_ver.c common/DecayCounter.cc common/LogClient.cc \
+	common/LogEntry.cc common/PrebufferedStreambuf.cc \
+	common/SloppyCRCMap.cc common/BackTrace.cc \
+	common/perf_counters.cc common/Mutex.cc \
+	common/OutputDataSocket.cc common/admin_socket.cc \
+	common/admin_socket_client.cc common/cmdparse.cc \
+	common/escape.c common/Clock.cc common/Throttle.cc \
+	common/Timer.cc common/Finisher.cc common/environment.cc \
+	common/assert.cc common/run_cmd.cc common/WorkQueue.cc \
+	common/ConfUtils.cc common/MemoryModel.cc common/armor.c \
+	common/fd.cc common/xattr.c common/safe_io.c \
+	common/snap_types.cc common/str_list.cc common/errno.cc \
+	common/RefCountedObj.cc common/blkdev.cc common/common_init.cc \
+	common/pipe.c common/ceph_argparse.cc common/ceph_context.cc \
+	common/buffer.cc common/code_environment.cc common/dout.cc \
+	common/signal.cc common/simple_spin.cc common/Thread.cc \
+	common/Formatter.cc common/HeartbeatMap.cc common/config.cc \
+	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
+	common/lockdep.cc common/version.cc common/hex.cc \
+	common/entity_name.cc common/ceph_crypto.cc \
+	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
+	common/pick_address.cc common/util.cc common/TextTable.cc \
+	common/ceph_fs.cc common/ceph_hash.cc common/ceph_strings.cc \
+	common/ceph_frag.cc common/addr_parsing.c common/hobject.cc \
+	common/bloom_filter.cc common/secret.c mon/MonCap.cc \
+	mon/MonClient.cc mon/MonMap.cc osd/OSDMap.cc osd/osd_types.cc \
+	mds/MDSMap.cc mds/inode_backtrace.cc mds/mdstypes.cc
+ at LINUX_TRUE@am__objects_10 =  \
+ at LINUX_TRUE@	common/test_build_libcommon-secret.$(OBJEXT)
+am__objects_11 = test_build_libcommon-ceph_ver.$(OBJEXT) \
+	common/test_build_libcommon-DecayCounter.$(OBJEXT) \
+	common/test_build_libcommon-LogClient.$(OBJEXT) \
+	common/test_build_libcommon-LogEntry.$(OBJEXT) \
+	common/test_build_libcommon-PrebufferedStreambuf.$(OBJEXT) \
+	common/test_build_libcommon-SloppyCRCMap.$(OBJEXT) \
+	common/test_build_libcommon-BackTrace.$(OBJEXT) \
+	common/test_build_libcommon-perf_counters.$(OBJEXT) \
+	common/test_build_libcommon-Mutex.$(OBJEXT) \
+	common/test_build_libcommon-OutputDataSocket.$(OBJEXT) \
+	common/test_build_libcommon-admin_socket.$(OBJEXT) \
+	common/test_build_libcommon-admin_socket_client.$(OBJEXT) \
+	common/test_build_libcommon-cmdparse.$(OBJEXT) \
+	common/test_build_libcommon-escape.$(OBJEXT) \
+	common/test_build_libcommon-Clock.$(OBJEXT) \
+	common/test_build_libcommon-Throttle.$(OBJEXT) \
+	common/test_build_libcommon-Timer.$(OBJEXT) \
+	common/test_build_libcommon-Finisher.$(OBJEXT) \
+	common/test_build_libcommon-environment.$(OBJEXT) \
+	common/test_build_libcommon-assert.$(OBJEXT) \
+	common/test_build_libcommon-run_cmd.$(OBJEXT) \
+	common/test_build_libcommon-WorkQueue.$(OBJEXT) \
+	common/test_build_libcommon-ConfUtils.$(OBJEXT) \
+	common/test_build_libcommon-MemoryModel.$(OBJEXT) \
+	common/test_build_libcommon-armor.$(OBJEXT) \
+	common/test_build_libcommon-fd.$(OBJEXT) \
+	common/test_build_libcommon-xattr.$(OBJEXT) \
+	common/test_build_libcommon-safe_io.$(OBJEXT) \
+	common/test_build_libcommon-snap_types.$(OBJEXT) \
+	common/test_build_libcommon-str_list.$(OBJEXT) \
+	common/test_build_libcommon-errno.$(OBJEXT) \
+	common/test_build_libcommon-RefCountedObj.$(OBJEXT) \
+	common/test_build_libcommon-blkdev.$(OBJEXT) \
+	common/test_build_libcommon-common_init.$(OBJEXT) \
+	common/test_build_libcommon-pipe.$(OBJEXT) \
+	common/test_build_libcommon-ceph_argparse.$(OBJEXT) \
+	common/test_build_libcommon-ceph_context.$(OBJEXT) \
+	common/test_build_libcommon-buffer.$(OBJEXT) \
+	common/test_build_libcommon-code_environment.$(OBJEXT) \
+	common/test_build_libcommon-dout.$(OBJEXT) \
+	common/test_build_libcommon-signal.$(OBJEXT) \
+	common/test_build_libcommon-simple_spin.$(OBJEXT) \
+	common/test_build_libcommon-Thread.$(OBJEXT) \
+	common/test_build_libcommon-Formatter.$(OBJEXT) \
+	common/test_build_libcommon-HeartbeatMap.$(OBJEXT) \
+	common/test_build_libcommon-config.$(OBJEXT) \
+	common/test_build_libcommon-utf8.$(OBJEXT) \
+	common/test_build_libcommon-mime.$(OBJEXT) \
+	common/test_build_libcommon-strtol.$(OBJEXT) \
+	common/test_build_libcommon-page.$(OBJEXT) \
+	common/test_build_libcommon-lockdep.$(OBJEXT) \
+	common/test_build_libcommon-version.$(OBJEXT) \
+	common/test_build_libcommon-hex.$(OBJEXT) \
+	common/test_build_libcommon-entity_name.$(OBJEXT) \
+	common/test_build_libcommon-ceph_crypto.$(OBJEXT) \
+	common/test_build_libcommon-ceph_crypto_cms.$(OBJEXT) \
+	common/test_build_libcommon-ceph_json.$(OBJEXT) \
+	common/test_build_libcommon-ipaddr.$(OBJEXT) \
+	common/test_build_libcommon-pick_address.$(OBJEXT) \
+	common/test_build_libcommon-util.$(OBJEXT) \
+	common/test_build_libcommon-TextTable.$(OBJEXT) \
+	common/test_build_libcommon-ceph_fs.$(OBJEXT) \
+	common/test_build_libcommon-ceph_hash.$(OBJEXT) \
+	common/test_build_libcommon-ceph_strings.$(OBJEXT) \
+	common/test_build_libcommon-ceph_frag.$(OBJEXT) \
+	common/test_build_libcommon-addr_parsing.$(OBJEXT) \
+	common/test_build_libcommon-hobject.$(OBJEXT) \
+	common/test_build_libcommon-bloom_filter.$(OBJEXT) \
+	$(am__objects_10) mon/test_build_libcommon-MonCap.$(OBJEXT) \
+	mon/test_build_libcommon-MonClient.$(OBJEXT) \
+	mon/test_build_libcommon-MonMap.$(OBJEXT) \
+	osd/test_build_libcommon-OSDMap.$(OBJEXT) \
+	osd/test_build_libcommon-osd_types.$(OBJEXT) \
+	mds/test_build_libcommon-MDSMap.$(OBJEXT) \
+	mds/test_build_libcommon-inode_backtrace.$(OBJEXT) \
+	mds/test_build_libcommon-mdstypes.$(OBJEXT)
+ at WITH_BUILD_TESTS_TRUE@am_test_build_libcommon_OBJECTS = test/test_build_libcommon-buildtest_skeleton.$(OBJEXT) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__objects_11)
+test_build_libcommon_OBJECTS = $(am_test_build_libcommon_OBJECTS)
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_DEPENDENCIES =  \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_3) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
+test_build_libcommon_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) \
+	$(test_build_libcommon_LDFLAGS) $(LDFLAGS) -o $@
+am__test_build_librados_SOURCES_DIST = test/buildtest_skeleton.cc \
+	librados/librados.cc librados/RadosClient.cc \
+	librados/IoCtxImpl.cc librados/snap_set_diff.cc
+am__objects_12 = librados/test_build_librados-librados.$(OBJEXT) \
+	librados/test_build_librados-RadosClient.$(OBJEXT) \
+	librados/test_build_librados-IoCtxImpl.$(OBJEXT) \
+	librados/test_build_librados-snap_set_diff.$(OBJEXT)
+ at WITH_BUILD_TESTS_TRUE@am_test_build_librados_OBJECTS = test/test_build_librados-buildtest_skeleton.$(OBJEXT) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__objects_12)
+test_build_librados_OBJECTS = $(am_test_build_librados_OBJECTS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_DEPENDENCIES =  \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBRADOS_DEPS) $(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2)
+test_build_librados_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(test_build_librados_CXXFLAGS) $(CXXFLAGS) \
+	$(test_build_librados_LDFLAGS) $(LDFLAGS) -o $@
+am__test_build_librgw_SOURCES_DIST = test/buildtest_skeleton.cc \
+	rgw/librgw.cc rgw/rgw_acl.cc rgw/rgw_acl_s3.cc \
+	rgw/rgw_acl_swift.cc rgw/rgw_client_io.cc rgw/rgw_fcgi.cc \
+	rgw/rgw_xml.cc rgw/rgw_usage.cc rgw/rgw_json_enc.cc \
+	rgw/rgw_user.cc rgw/rgw_bucket.cc rgw/rgw_tools.cc \
+	rgw/rgw_rados.cc rgw/rgw_http_client.cc rgw/rgw_rest_client.cc \
+	rgw/rgw_rest_conn.cc rgw/rgw_op.cc rgw/rgw_common.cc \
+	rgw/rgw_cache.cc rgw/rgw_formats.cc rgw/rgw_log.cc \
+	rgw/rgw_multi.cc rgw/rgw_policy_s3.cc rgw/rgw_gc.cc \
+	rgw/rgw_multi_del.cc rgw/rgw_env.cc rgw/rgw_cors.cc \
+	rgw/rgw_cors_s3.cc rgw/rgw_auth_s3.cc rgw/rgw_metadata.cc \
+	rgw/rgw_replica_log.cc rgw/rgw_keystone.cc rgw/rgw_quota.cc
+ at WITH_RADOSGW_TRUE@am__objects_13 =  \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-librgw.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_acl.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_acl_s3.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_acl_swift.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_client_io.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_fcgi.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_xml.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_usage.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_json_enc.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_user.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_bucket.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_tools.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_rados.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_http_client.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_rest_client.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_rest_conn.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_op.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_common.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_cache.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_formats.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_log.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_multi.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_policy_s3.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_gc.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_multi_del.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_env.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_cors.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_cors_s3.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_auth_s3.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_metadata.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_replica_log.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_keystone.$(OBJEXT) \
+ at WITH_RADOSGW_TRUE@	rgw/test_build_librgw-rgw_quota.$(OBJEXT)
+ at WITH_BUILD_TESTS_TRUE@am_test_build_librgw_OBJECTS = test/test_build_librgw-buildtest_skeleton.$(OBJEXT) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__objects_13)
+test_build_librgw_OBJECTS = $(am_test_build_librgw_OBJECTS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_DEPENDENCIES =  \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_12) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_2) \
+ at WITH_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_6)
+test_build_librgw_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(test_build_librgw_CXXFLAGS) $(CXXFLAGS) \
+	$(test_build_librgw_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_addrs_OBJECTS = test/unittest_addrs-test_addrs.$(OBJEXT)
 unittest_addrs_OBJECTS = $(am_unittest_addrs_OBJECTS)
-unittest_addrs_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_addrs_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_addrs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_addrs_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_admin_socket_OBJECTS =  \
-	unittest_admin_socket-admin_socket.$(OBJEXT)
+	test/unittest_admin_socket-admin_socket.$(OBJEXT)
 unittest_admin_socket_OBJECTS = $(am_unittest_admin_socket_OBJECTS)
-unittest_admin_socket_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7) libcommon.la
+unittest_admin_socket_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_admin_socket_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_admin_socket_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_base64_OBJECTS = unittest_base64-base64.$(OBJEXT)
+	$(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_arch_OBJECTS = test/test_arch.$(OBJEXT)
+unittest_arch_OBJECTS = $(am_unittest_arch_OBJECTS)
+unittest_arch_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+am_unittest_base64_OBJECTS = test/unittest_base64-base64.$(OBJEXT)
 unittest_base64_OBJECTS = $(am_unittest_base64_OBJECTS)
-unittest_base64_DEPENDENCIES = libcephfs.la $(am__DEPENDENCIES_7)
+unittest_base64_DEPENDENCIES = $(LIBCEPHFS) $(am__DEPENDENCIES_13)
 unittest_base64_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_base64_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_base64_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_base64_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_bloom_filter_OBJECTS =  \
+	test/common/unittest_bloom_filter-test_bloom_filter.$(OBJEXT)
+unittest_bloom_filter_OBJECTS = $(am_unittest_bloom_filter_OBJECTS)
+unittest_bloom_filter_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+unittest_bloom_filter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_bloom_filter_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_bufferlist_OBJECTS =  \
-	unittest_bufferlist-bufferlist.$(OBJEXT)
+	test/unittest_bufferlist-bufferlist.$(OBJEXT)
 unittest_bufferlist_OBJECTS = $(am_unittest_bufferlist_OBJECTS)
-unittest_bufferlist_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_bufferlist_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_bufferlist_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_ceph_argparse_OBJECTS =  \
-	unittest_ceph_argparse-ceph_argparse.$(OBJEXT)
+	test/unittest_ceph_argparse-ceph_argparse.$(OBJEXT)
 unittest_ceph_argparse_OBJECTS = $(am_unittest_ceph_argparse_OBJECTS)
-unittest_ceph_argparse_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_ceph_argparse_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_ceph_argparse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_ceph_argparse_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_ceph_compatset_OBJECTS =  \
+	test/unittest_ceph_compatset-ceph_compatset.$(OBJEXT)
+unittest_ceph_compatset_OBJECTS =  \
+	$(am_unittest_ceph_compatset_OBJECTS)
+unittest_ceph_compatset_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+unittest_ceph_compatset_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_ceph_compatset_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_ceph_crypto_OBJECTS =  \
-	unittest_ceph_crypto-ceph_crypto.$(OBJEXT)
+	test/unittest_ceph_crypto-ceph_crypto.$(OBJEXT)
 unittest_ceph_crypto_OBJECTS = $(am_unittest_ceph_crypto_OBJECTS)
-unittest_ceph_crypto_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_ceph_crypto_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_ceph_crypto_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_ceph_crypto_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_chain_xattr_OBJECTS =  \
-	unittest_chain_xattr-chain_xattr.$(OBJEXT)
+	test/filestore/unittest_chain_xattr-chain_xattr.$(OBJEXT)
 unittest_chain_xattr_OBJECTS = $(am_unittest_chain_xattr_OBJECTS)
-unittest_chain_xattr_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+unittest_chain_xattr_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_chain_xattr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_chain_xattr_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_confutils_OBJECTS =  \
-	unittest_confutils-confutils.$(OBJEXT)
+	test/unittest_confutils-confutils.$(OBJEXT)
 unittest_confutils_OBJECTS = $(am_unittest_confutils_OBJECTS)
-unittest_confutils_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_confutils_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_confutils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_confutils_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_confutils_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_crypto_OBJECTS = unittest_crypto-crypto.$(OBJEXT)
+	$(unittest_confutils_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_crc32c_OBJECTS =  \
+	test/common/unittest_crc32c-test_crc32c.$(OBJEXT)
+unittest_crc32c_OBJECTS = $(am_unittest_crc32c_OBJECTS)
+unittest_crc32c_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+unittest_crc32c_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_crc32c_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_crypto_OBJECTS = test/unittest_crypto-crypto.$(OBJEXT)
 unittest_crypto_OBJECTS = $(am_unittest_crypto_OBJECTS)
-unittest_crypto_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_crypto_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_crypto_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_crypto_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_crypto_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_crypto_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_daemon_config_OBJECTS =  \
-	unittest_daemon_config-daemon_config.$(OBJEXT)
+	test/unittest_daemon_config-daemon_config.$(OBJEXT)
 unittest_daemon_config_OBJECTS = $(am_unittest_daemon_config_OBJECTS)
-unittest_daemon_config_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_daemon_config_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_daemon_config_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_daemon_config_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_encoding_OBJECTS = unittest_encoding-encoding.$(OBJEXT)
+	$(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_encoding_OBJECTS =  \
+	test/unittest_encoding-encoding.$(OBJEXT)
 unittest_encoding_OBJECTS = $(am_unittest_encoding_OBJECTS)
-unittest_encoding_DEPENDENCIES = libcephfs.la librados.la \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_7)
+unittest_encoding_DEPENDENCIES = $(LIBCEPHFS) $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 unittest_encoding_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_encoding_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_unittest_escape_OBJECTS = unittest_escape-escape.$(OBJEXT)
+am_unittest_erasure_code_example_OBJECTS = test/osd/unittest_erasure_code_example-TestErasureCodeExample.$(OBJEXT)
+unittest_erasure_code_example_OBJECTS =  \
+	$(am_unittest_erasure_code_example_OBJECTS)
+unittest_erasure_code_example_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(LIBCOMMON) $(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
+unittest_erasure_code_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_erasure_code_example_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_14 = osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/cauchy.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/galois.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/jerasure.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/liberation.$(OBJEXT) \
+	osd/ErasureCodePluginJerasure/reed_sol.$(OBJEXT)
+am_unittest_erasure_code_jerasure_OBJECTS = test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.$(OBJEXT) \
+	$(am__objects_14)
+unittest_erasure_code_jerasure_OBJECTS =  \
+	$(am_unittest_erasure_code_jerasure_OBJECTS)
+unittest_erasure_code_jerasure_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(LIBCOMMON) $(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6) \
+	$(am__DEPENDENCIES_1)
+unittest_erasure_code_jerasure_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_erasure_code_plugin_OBJECTS = test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.$(OBJEXT)
+unittest_erasure_code_plugin_OBJECTS =  \
+	$(am_unittest_erasure_code_plugin_OBJECTS)
+unittest_erasure_code_plugin_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(LIBCOMMON) $(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6) \
+	$(am__DEPENDENCIES_1)
+unittest_erasure_code_plugin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_erasure_code_plugin_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_erasure_code_plugin_jerasure_OBJECTS = test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.$(OBJEXT)
+unittest_erasure_code_plugin_jerasure_OBJECTS =  \
+	$(am_unittest_erasure_code_plugin_jerasure_OBJECTS)
+unittest_erasure_code_plugin_jerasure_DEPENDENCIES =  \
+	$(am__DEPENDENCIES_8) $(LIBCOMMON) $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6) $(am__DEPENDENCIES_1)
+unittest_erasure_code_plugin_jerasure_LINK = $(LIBTOOL) $(AM_V_lt) \
+	--tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CXXLD) $(unittest_erasure_code_plugin_jerasure_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_escape_OBJECTS = test/unittest_escape-escape.$(OBJEXT)
 unittest_escape_OBJECTS = $(am_unittest_escape_OBJECTS)
-unittest_escape_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_escape_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_escape_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_escape_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_escape_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_escape_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_flatindex_OBJECTS =  \
-	unittest_flatindex-TestFlatIndex.$(OBJEXT)
+	test/os/unittest_flatindex-TestFlatIndex.$(OBJEXT)
 unittest_flatindex_OBJECTS = $(am_unittest_flatindex_OBJECTS)
-unittest_flatindex_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+unittest_flatindex_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_flatindex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_flatindex_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_formatter_OBJECTS =  \
-	unittest_formatter-formatter.$(OBJEXT) \
-	unittest_formatter-rgw_formats.$(OBJEXT)
+	test/unittest_formatter-formatter.$(OBJEXT) \
+	rgw/unittest_formatter-rgw_formats.$(OBJEXT)
 unittest_formatter_OBJECTS = $(am_unittest_formatter_OBJECTS)
-unittest_formatter_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_formatter_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_formatter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_formatter_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_formatter_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_gather_OBJECTS = unittest_gather-gather.$(OBJEXT)
+	$(unittest_formatter_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_gather_OBJECTS = test/unittest_gather-gather.$(OBJEXT)
 unittest_gather_OBJECTS = $(am_unittest_gather_OBJECTS)
-unittest_gather_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_gather_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_gather_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_gather_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_heartbeatmap_OBJECTS =  \
-	unittest_heartbeatmap-heartbeat_map.$(OBJEXT) \
-	unittest_heartbeatmap-HeartbeatMap.$(OBJEXT)
+	test/unittest_heartbeatmap-heartbeat_map.$(OBJEXT)
 unittest_heartbeatmap_OBJECTS = $(am_unittest_heartbeatmap_OBJECTS)
-unittest_heartbeatmap_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_heartbeatmap_DEPENDENCIES = $(LIBCOMMON) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_heartbeatmap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_heartbeatmap_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_ipaddr_OBJECTS = unittest_ipaddr-test_ipaddr.$(OBJEXT)
+	$(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_ipaddr_OBJECTS =  \
+	test/unittest_ipaddr-test_ipaddr.$(OBJEXT)
 unittest_ipaddr_OBJECTS = $(am_unittest_ipaddr_OBJECTS)
-unittest_ipaddr_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_ipaddr_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_ipaddr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_lfnindex_OBJECTS =  \
-	unittest_lfnindex-TestLFNIndex.$(OBJEXT)
+	test/os/unittest_lfnindex-TestLFNIndex.$(OBJEXT)
 unittest_lfnindex_OBJECTS = $(am_unittest_lfnindex_OBJECTS)
-unittest_lfnindex_DEPENDENCIES = $(am__DEPENDENCIES_6) \
-	$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3)
+unittest_lfnindex_DEPENDENCIES = $(am__DEPENDENCIES_5) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_lfnindex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_lfnindex_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_libcephfs_config_OBJECTS =  \
-	unittest_libcephfs_config-libcephfs_config.$(OBJEXT)
+	test/unittest_libcephfs_config-libcephfs_config.$(OBJEXT)
 unittest_libcephfs_config_OBJECTS =  \
 	$(am_unittest_libcephfs_config_OBJECTS)
-unittest_libcephfs_config_DEPENDENCIES = libcephfs.la \
-	$(am__DEPENDENCIES_7)
+unittest_libcephfs_config_DEPENDENCIES = $(LIBCEPHFS) \
+	$(am__DEPENDENCIES_13)
 unittest_libcephfs_config_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_libcephfs_config_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_librados_OBJECTS = unittest_librados-librados.$(OBJEXT)
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_librados_OBJECTS =  \
+	test/librados/unittest_librados-librados.$(OBJEXT)
 unittest_librados_OBJECTS = $(am_unittest_librados_OBJECTS)
-unittest_librados_DEPENDENCIES = librados.la $(am__DEPENDENCIES_7)
+unittest_librados_DEPENDENCIES = $(LIBRADOS) $(am__DEPENDENCIES_13)
 unittest_librados_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_librados_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_librados_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_librados_config_OBJECTS =  \
-	unittest_librados_config-librados_config.$(OBJEXT)
+	$(unittest_librados_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_librados_config_OBJECTS = test/librados/unittest_librados_config-librados_config.$(OBJEXT)
 unittest_librados_config_OBJECTS =  \
 	$(am_unittest_librados_config_OBJECTS)
-unittest_librados_config_DEPENDENCIES = librados.la \
-	$(am__DEPENDENCIES_7)
+unittest_librados_config_DEPENDENCIES = $(LIBRADOS) \
+	$(am__DEPENDENCIES_13)
 unittest_librados_config_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_librados_config_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_log_OBJECTS = unittest_log-test.$(OBJEXT) \
-	unittest_log-PrebufferedStreambuf.$(OBJEXT)
+	$(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_log_OBJECTS = log/unittest_log-test.$(OBJEXT)
 unittest_log_OBJECTS = $(am_unittest_log_OBJECTS)
-unittest_log_DEPENDENCIES = libcommon.la $(am__DEPENDENCIES_7)
+unittest_log_DEPENDENCIES = $(LIBCOMMON) $(am__DEPENDENCIES_13)
 unittest_log_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(unittest_log_CXXFLAGS) \
-	$(CXXFLAGS) $(unittest_log_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_mime_OBJECTS = unittest_mime-mime.$(OBJEXT)
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_mime_OBJECTS = test/unittest_mime-mime.$(OBJEXT)
 unittest_mime_OBJECTS = $(am_unittest_mime_OBJECTS)
-unittest_mime_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_mime_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_mime_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_mime_CXXFLAGS) $(CXXFLAGS) $(unittest_mime_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_unittest_mon_moncap_OBJECTS = unittest_mon_moncap-moncap.$(OBJEXT) \
-	unittest_mon_moncap-MonCap.$(OBJEXT)
+	$(unittest_mime_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+am_unittest_mon_moncap_OBJECTS =  \
+	test/mon/unittest_mon_moncap-moncap.$(OBJEXT)
 unittest_mon_moncap_OBJECTS = $(am_unittest_mon_moncap_OBJECTS)
-unittest_mon_moncap_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_mon_moncap_DEPENDENCIES = $(am__DEPENDENCIES_10) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_mon_moncap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_mon_moncap_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_osd_osdcap_OBJECTS = unittest_osd_osdcap-osdcap.$(OBJEXT) \
-	unittest_osd_osdcap-OSDCap.$(OBJEXT)
+	$(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_osd_osdcap_OBJECTS =  \
+	test/osd/unittest_osd_osdcap-osdcap.$(OBJEXT)
 unittest_osd_osdcap_OBJECTS = $(am_unittest_osd_osdcap_OBJECTS)
-unittest_osd_osdcap_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_osd_osdcap_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6)
 unittest_osd_osdcap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_osd_osdcap_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_osd_types_OBJECTS =  \
-	unittest_osd_types-test_osd_types.$(OBJEXT)
+	test/unittest_osd_types-test_osd_types.$(OBJEXT)
 unittest_osd_types_OBJECTS = $(am_unittest_osd_types_OBJECTS)
-unittest_osd_types_DEPENDENCIES = $(am__DEPENDENCIES_3) libcommon.la \
-	$(am__DEPENDENCIES_7)
+unittest_osd_types_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_osd_types_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_perf_counters_OBJECTS =  \
-	unittest_perf_counters-perf_counters.$(OBJEXT)
+	test/unittest_perf_counters-perf_counters.$(OBJEXT)
 unittest_perf_counters_OBJECTS = $(am_unittest_perf_counters_OBJECTS)
-unittest_perf_counters_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_perf_counters_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_perf_counters_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_perf_counters_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_pglog_OBJECTS = unittest_pglog-TestPGLog.$(OBJEXT) \
-	unittest_pglog-class_api.$(OBJEXT) \
-	unittest_pglog-disabled_heap_profiler.$(OBJEXT)
+	$(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_pglog_OBJECTS =  \
+	test/osd/unittest_pglog-TestPGLog.$(OBJEXT)
 unittest_pglog_OBJECTS = $(am_unittest_pglog_OBJECTS)
-unittest_pglog_DEPENDENCIES = libosd.a $(am__DEPENDENCIES_4) \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_7) \
+unittest_pglog_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_6) \
 	$(am__DEPENDENCIES_1)
 unittest_pglog_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_pglog_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_unittest_prebufferedstreambuf_OBJECTS = unittest_prebufferedstreambuf-test_prebufferedstreambuf.$(OBJEXT) \
-	unittest_prebufferedstreambuf-PrebufferedStreambuf.$(OBJEXT)
+am_unittest_prebufferedstreambuf_OBJECTS = test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.$(OBJEXT)
 unittest_prebufferedstreambuf_OBJECTS =  \
 	$(am_unittest_prebufferedstreambuf_OBJECTS)
-unittest_prebufferedstreambuf_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_2)
+unittest_prebufferedstreambuf_DEPENDENCIES = $(LIBCOMMON) \
+	$(am__DEPENDENCIES_13) $(am__DEPENDENCIES_2)
 unittest_prebufferedstreambuf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_run_cmd_OBJECTS = unittest_run_cmd-run_cmd.$(OBJEXT)
+am_unittest_run_cmd_OBJECTS = test/unittest_run_cmd-run_cmd.$(OBJEXT)
 unittest_run_cmd_OBJECTS = $(am_unittest_run_cmd_OBJECTS)
-unittest_run_cmd_DEPENDENCIES = libcephfs.la $(am__DEPENDENCIES_7)
+unittest_run_cmd_DEPENDENCIES = $(LIBCEPHFS) $(am__DEPENDENCIES_13)
 unittest_run_cmd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_unittest_signals_OBJECTS = unittest_signals-signals.$(OBJEXT)
+am_unittest_sharedptr_registry_OBJECTS = test/common/unittest_sharedptr_registry-test_sharedptr_registry.$(OBJEXT)
+unittest_sharedptr_registry_OBJECTS =  \
+	$(am_unittest_sharedptr_registry_OBJECTS)
+unittest_sharedptr_registry_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+unittest_sharedptr_registry_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_sharedptr_registry_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_unittest_signals_OBJECTS = test/unittest_signals-signals.$(OBJEXT)
 unittest_signals_OBJECTS = $(am_unittest_signals_OBJECTS)
-unittest_signals_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_signals_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_signals_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_signals_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_unittest_simple_spin_OBJECTS =  \
-	unittest_simple_spin-simple_spin.$(OBJEXT)
+	test/unittest_simple_spin-simple_spin.$(OBJEXT)
 unittest_simple_spin_OBJECTS = $(am_unittest_simple_spin_OBJECTS)
-unittest_simple_spin_DEPENDENCIES = libcephfs.la $(am__DEPENDENCIES_7)
+unittest_simple_spin_DEPENDENCIES = $(LIBCEPHFS) \
+	$(am__DEPENDENCIES_13)
 unittest_simple_spin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
+am_unittest_sloppy_crc_map_OBJECTS = test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.$(OBJEXT)
+unittest_sloppy_crc_map_OBJECTS =  \
+	$(am_unittest_sloppy_crc_map_OBJECTS)
+unittest_sloppy_crc_map_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
+unittest_sloppy_crc_map_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(unittest_sloppy_crc_map_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_str_list_OBJECTS =  \
-	unittest_str_list-test_str_list.$(OBJEXT)
+	test/unittest_str_list-test_str_list.$(OBJEXT)
 unittest_str_list_OBJECTS = $(am_unittest_str_list_OBJECTS)
-unittest_str_list_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_str_list_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_str_list_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_str_list_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_unittest_striper_OBJECTS = unittest_striper-test_striper.$(OBJEXT)
+am_unittest_striper_OBJECTS =  \
+	test/unittest_striper-test_striper.$(OBJEXT)
 unittest_striper_OBJECTS = $(am_unittest_striper_OBJECTS)
-unittest_striper_DEPENDENCIES = libosdc.la $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_striper_DEPENDENCIES = $(LIBOSDC) $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_striper_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_striper_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_unittest_strtol_OBJECTS = unittest_strtol-strtol.$(OBJEXT)
+am_unittest_strtol_OBJECTS = test/unittest_strtol-strtol.$(OBJEXT)
 unittest_strtol_OBJECTS = $(am_unittest_strtol_OBJECTS)
-unittest_strtol_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_strtol_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_strtol_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_strtol_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_strtol_LDFLAGS) $(LDFLAGS) -o $@
+	$(unittest_strtol_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_unittest_texttable_OBJECTS =  \
-	unittest_texttable-test_texttable.$(OBJEXT) \
-	unittest_texttable-TextTable.$(OBJEXT)
+	test/unittest_texttable-test_texttable.$(OBJEXT)
 unittest_texttable_OBJECTS = $(am_unittest_texttable_OBJECTS)
-unittest_texttable_DEPENDENCIES = librados.la $(am__DEPENDENCIES_7)
+unittest_texttable_DEPENDENCIES = $(LIBCOMMON) $(am__DEPENDENCIES_13)
 unittest_texttable_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_texttable_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_texttable_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_throttle_OBJECTS = unittest_throttle-Throttle.$(OBJEXT)
+	$(unittest_texttable_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_throttle_OBJECTS =  \
+	test/common/unittest_throttle-Throttle.$(OBJEXT)
 unittest_throttle_OBJECTS = $(am_unittest_throttle_OBJECTS)
-unittest_throttle_DEPENDENCIES = libcommon.la $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_throttle_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_throttle_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_throttle_CXXFLAGS) $(CXXFLAGS) \
-	$(unittest_throttle_LDFLAGS) $(LDFLAGS) -o $@
-am_unittest_utf8_OBJECTS = unittest_utf8-utf8.$(OBJEXT)
+	$(unittest_throttle_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_unittest_utf8_OBJECTS = test/unittest_utf8-utf8.$(OBJEXT)
 unittest_utf8_OBJECTS = $(am_unittest_utf8_OBJECTS)
-unittest_utf8_DEPENDENCIES = $(am__DEPENDENCIES_7) \
-	$(am__DEPENDENCIES_3)
+unittest_utf8_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_utf8_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(unittest_utf8_CXXFLAGS) $(CXXFLAGS) $(unittest_utf8_LDFLAGS) \
-	$(LDFLAGS) -o $@
-am_unittest_util_OBJECTS = unittest_util-test_util.$(OBJEXT) \
-	unittest_util-util.$(OBJEXT)
+	$(unittest_utf8_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+am_unittest_util_OBJECTS =  \
+	test/common/unittest_util-test_util.$(OBJEXT)
 unittest_util_OBJECTS = $(am_unittest_util_OBJECTS)
-unittest_util_DEPENDENCIES = libcommon.la $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+unittest_util_DEPENDENCIES = $(LIBCOMMON) $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
 unittest_util_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_util_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
 	-o $@
 am_unittest_workqueue_OBJECTS =  \
-	unittest_workqueue-test_workqueue.$(OBJEXT)
+	test/unittest_workqueue-test_workqueue.$(OBJEXT)
 unittest_workqueue_OBJECTS = $(am_unittest_workqueue_OBJECTS)
-unittest_workqueue_DEPENDENCIES = $(am__DEPENDENCIES_3) \
-	$(am__DEPENDENCIES_7)
+unittest_workqueue_DEPENDENCIES = $(am__DEPENDENCIES_13) \
+	$(am__DEPENDENCIES_6)
 unittest_workqueue_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 SCRIPTS = $(bin_SCRIPTS) $(ceph_sbin_SCRIPTS) $(dist_bin_SCRIPTS) \
-	$(sbin_SCRIPTS) $(shell_common_SCRIPTS)
+	$(sbin_SCRIPTS) $(shell_common_SCRIPTS) $(su_sbin_SCRIPTS)
 DEFAULT_INCLUDES = -I. at am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CCASFLAGS) $(CCASFLAGS)
+AM_V_CPPAS = $(am__v_CPPAS_ at AM_V@)
+am__v_CPPAS_ = $(am__v_CPPAS_ at AM_DEFAULT_V@)
+am__v_CPPAS_0 = @echo "  CPPAS " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -2695,31 +2250,41 @@ am__v_CXXLD_0 = @echo "  CXXLD " $@;
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libcls_lock_client_a_SOURCES) \
-	$(libcls_log_client_a_SOURCES) \
-	$(libcls_refcount_client_a_SOURCES) \
+SOURCES = $(libcls_log_client_a_SOURCES) \
 	$(libcls_replica_log_client_a_SOURCES) \
-	$(libcls_rgw_client_a_SOURCES) \
 	$(libcls_statelog_client_a_SOURCES) \
-	$(libcls_version_client_a_SOURCES) $(libmds_a_SOURCES) \
-	$(libmon_a_SOURCES) $(libos_a_SOURCES) $(libosd_a_SOURCES) \
-	$(librgw_a_SOURCES) $(libcephfs_la_SOURCES) \
-	$(libcephfs_jni_la_SOURCES) $(libclient_la_SOURCES) \
-	$(libcls_kvs_la_SOURCES) $(libcls_lock_la_SOURCES) \
+	$(libcls_version_client_a_SOURCES) $(libos_zfs_a_SOURCES) \
+	$(libarch_la_SOURCES) $(libauth_la_SOURCES) \
+	$(libcephfs_la_SOURCES) $(libcephfs_jni_la_SOURCES) \
+	$(libclient_la_SOURCES) $(libclient_fuse_la_SOURCES) \
+	$(libcls_hello_la_SOURCES) $(libcls_kvs_la_SOURCES) \
+	$(libcls_lock_la_SOURCES) $(libcls_lock_client_la_SOURCES) \
 	$(libcls_log_la_SOURCES) $(libcls_rbd_la_SOURCES) \
-	$(libcls_refcount_la_SOURCES) $(libcls_replica_log_la_SOURCES) \
-	$(libcls_rgw_la_SOURCES) $(libcls_statelog_la_SOURCES) \
+	$(libcls_rbd_client_la_SOURCES) $(libcls_refcount_la_SOURCES) \
+	$(libcls_refcount_client_la_SOURCES) \
+	$(libcls_replica_log_la_SOURCES) $(libcls_rgw_la_SOURCES) \
+	$(libcls_rgw_client_la_SOURCES) $(libcls_statelog_la_SOURCES) \
 	$(libcls_version_la_SOURCES) $(libcommon_la_SOURCES) \
-	$(libglobal_la_SOURCES) $(libhadoopcephfs_la_SOURCES) \
-	$(libosdc_la_SOURCES) $(librados_la_SOURCES) \
-	$(librbd_la_SOURCES) $(libsystest_la_SOURCES) \
+	$(libcommon_crc_la_SOURCES) $(libcrush_la_SOURCES) \
+	$(libec_example_la_SOURCES) \
+	$(libec_fail_to_initialize_la_SOURCES) \
+	$(libec_fail_to_register_la_SOURCES) $(libec_hangs_la_SOURCES) \
+	$(libec_jerasure_la_SOURCES) \
+	$(libec_missing_entry_point_la_SOURCES) \
+	$(libglobal_la_SOURCES) $(libjson_spirit_la_SOURCES) \
+	$(liblog_la_SOURCES) $(libmds_la_SOURCES) $(libmon_la_SOURCES) \
+	$(libmsg_la_SOURCES) $(libos_la_SOURCES) $(libosd_la_SOURCES) \
+	$(libosdc_la_SOURCES) $(libperfglue_la_SOURCES) \
+	$(librados_la_SOURCES) $(librbd_la_SOURCES) \
+	$(librgw_la_SOURCES) $(libsystest_la_SOURCES) \
 	$(ceph_authtool_SOURCES) $(ceph_conf_SOURCES) \
 	$(ceph_dencoder_SOURCES) $(ceph_fuse_SOURCES) \
-	$(ceph_mds_SOURCES) $(ceph_mon_SOURCES) \
-	$(ceph_monstore_tool_SOURCES) $(ceph_osd_SOURCES) \
-	$(ceph_osdomap_tool_SOURCES) $(ceph_syn_SOURCES) \
-	$(ceph_bench_log_SOURCES) $(ceph_dupstore_SOURCES) \
-	$(ceph_filestore_dump_SOURCES) $(ceph_kvstorebench_SOURCES) \
+	$(ceph_kvstore_tool_SOURCES) $(ceph_mds_SOURCES) \
+	$(ceph_mon_SOURCES) $(ceph_monstore_tool_SOURCES) \
+	$(ceph_osd_SOURCES) $(ceph_osdomap_tool_SOURCES) \
+	$(ceph_syn_SOURCES) $(ceph_bench_log_SOURCES) \
+	$(ceph_dupstore_SOURCES) $(ceph_filestore_dump_SOURCES) \
+	$(ceph_filestore_tool_SOURCES) $(ceph_kvstorebench_SOURCES) \
 	$(ceph_mon_store_converter_SOURCES) \
 	$(ceph_multi_stress_watch_SOURCES) $(ceph_omapbench_SOURCES) \
 	$(ceph_psim_SOURCES) $(ceph_radosacl_SOURCES) \
@@ -2729,8 +2294,9 @@ SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_smalliobenchfs_SOURCES) $(ceph_smalliobenchrbd_SOURCES) \
 	$(ceph_streamtest_SOURCES) \
 	$(ceph_test_cfuse_cache_invalidate_SOURCES) \
-	$(ceph_test_cls_lock_SOURCES) $(ceph_test_cls_log_SOURCES) \
-	$(ceph_test_cls_rbd_SOURCES) $(ceph_test_cls_refcount_SOURCES) \
+	$(ceph_test_cls_hello_SOURCES) $(ceph_test_cls_lock_SOURCES) \
+	$(ceph_test_cls_log_SOURCES) $(ceph_test_cls_rbd_SOURCES) \
+	$(ceph_test_cls_refcount_SOURCES) \
 	$(ceph_test_cls_replica_log_SOURCES) \
 	$(ceph_test_cls_rgw_SOURCES) $(ceph_test_cls_rgw_log_SOURCES) \
 	$(ceph_test_cls_rgw_meta_SOURCES) \
@@ -2745,13 +2311,8 @@ SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_test_ioctls_SOURCES) $(ceph_test_keys_SOURCES) \
 	$(ceph_test_keyvaluedb_atomicity_SOURCES) \
 	$(ceph_test_keyvaluedb_iterators_SOURCES) \
-	$(ceph_test_libcephfs_SOURCES) \
-	$(ceph_test_libcephfs_build_SOURCES) \
-	$(ceph_test_libcommon_build_SOURCES) \
-	$(ceph_test_libhadoopcephfs_build_SOURCES) \
-	$(ceph_test_librados_build_SOURCES) \
-	$(ceph_test_librbd_SOURCES) $(ceph_test_librbd_fsx_SOURCES) \
-	$(ceph_test_librgw_build_SOURCES) \
+	$(ceph_test_libcephfs_SOURCES) $(ceph_test_librbd_SOURCES) \
+	$(ceph_test_librbd_fsx_SOURCES) \
 	$(ceph_test_mon_workloadgen_SOURCES) $(ceph_test_msgr_SOURCES) \
 	$(ceph_test_mutate_SOURCES) $(ceph_test_object_map_SOURCES) \
 	$(ceph_test_objectcacher_stress_SOURCES) \
@@ -2773,25 +2334,34 @@ SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_test_rewrite_latency_SOURCES) \
 	$(ceph_test_signal_handlers_SOURCES) \
 	$(ceph_test_snap_mapper_SOURCES) \
-	$(ceph_test_store_tool_SOURCES) \
 	$(ceph_test_stress_watch_SOURCES) $(ceph_test_timers_SOURCES) \
 	$(ceph_test_trans_SOURCES) $(ceph_tpbench_SOURCES) \
 	$(ceph_xattr_bench_SOURCES) $(cephfs_SOURCES) \
-	$(crushtool_SOURCES) $(librados_config_SOURCES) \
-	$(monmaptool_SOURCES) $(mount_ceph_SOURCES) \
-	$(osdmaptool_SOURCES) $(rados_SOURCES) $(radosgw_SOURCES) \
-	$(radosgw_admin_SOURCES) $(rbd_SOURCES) $(rbd_fuse_SOURCES) \
-	$(rest_bench_SOURCES) $(unittest_addrs_SOURCES) \
-	$(unittest_admin_socket_SOURCES) $(unittest_base64_SOURCES) \
+	$(crushtool_SOURCES) $(get_command_descriptions_SOURCES) \
+	$(librados_config_SOURCES) $(monmaptool_SOURCES) \
+	$(mount_ceph_SOURCES) $(osdmaptool_SOURCES) $(rados_SOURCES) \
+	$(radosgw_SOURCES) $(radosgw_admin_SOURCES) $(rbd_SOURCES) \
+	$(rbd_fuse_SOURCES) $(rest_bench_SOURCES) \
+	$(test_build_libcephfs_SOURCES) \
+	$(test_build_libcommon_SOURCES) $(test_build_librados_SOURCES) \
+	$(test_build_librgw_SOURCES) $(unittest_addrs_SOURCES) \
+	$(unittest_admin_socket_SOURCES) $(unittest_arch_SOURCES) \
+	$(unittest_base64_SOURCES) $(unittest_bloom_filter_SOURCES) \
 	$(unittest_bufferlist_SOURCES) \
 	$(unittest_ceph_argparse_SOURCES) \
+	$(unittest_ceph_compatset_SOURCES) \
 	$(unittest_ceph_crypto_SOURCES) \
 	$(unittest_chain_xattr_SOURCES) $(unittest_confutils_SOURCES) \
-	$(unittest_crypto_SOURCES) $(unittest_daemon_config_SOURCES) \
-	$(unittest_encoding_SOURCES) $(unittest_escape_SOURCES) \
-	$(unittest_flatindex_SOURCES) $(unittest_formatter_SOURCES) \
-	$(unittest_gather_SOURCES) $(unittest_heartbeatmap_SOURCES) \
-	$(unittest_ipaddr_SOURCES) $(unittest_lfnindex_SOURCES) \
+	$(unittest_crc32c_SOURCES) $(unittest_crypto_SOURCES) \
+	$(unittest_daemon_config_SOURCES) $(unittest_encoding_SOURCES) \
+	$(unittest_erasure_code_example_SOURCES) \
+	$(unittest_erasure_code_jerasure_SOURCES) \
+	$(unittest_erasure_code_plugin_SOURCES) \
+	$(unittest_erasure_code_plugin_jerasure_SOURCES) \
+	$(unittest_escape_SOURCES) $(unittest_flatindex_SOURCES) \
+	$(unittest_formatter_SOURCES) $(unittest_gather_SOURCES) \
+	$(unittest_heartbeatmap_SOURCES) $(unittest_ipaddr_SOURCES) \
+	$(unittest_lfnindex_SOURCES) \
 	$(unittest_libcephfs_config_SOURCES) \
 	$(unittest_librados_SOURCES) \
 	$(unittest_librados_config_SOURCES) $(unittest_log_SOURCES) \
@@ -2799,37 +2369,51 @@ SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(unittest_osd_osdcap_SOURCES) $(unittest_osd_types_SOURCES) \
 	$(unittest_perf_counters_SOURCES) $(unittest_pglog_SOURCES) \
 	$(unittest_prebufferedstreambuf_SOURCES) \
-	$(unittest_run_cmd_SOURCES) $(unittest_signals_SOURCES) \
-	$(unittest_simple_spin_SOURCES) $(unittest_str_list_SOURCES) \
-	$(unittest_striper_SOURCES) $(unittest_strtol_SOURCES) \
-	$(unittest_texttable_SOURCES) $(unittest_throttle_SOURCES) \
-	$(unittest_utf8_SOURCES) $(unittest_util_SOURCES) \
-	$(unittest_workqueue_SOURCES)
-DIST_SOURCES = $(libcls_lock_client_a_SOURCES) \
-	$(libcls_log_client_a_SOURCES) \
-	$(libcls_refcount_client_a_SOURCES) \
+	$(unittest_run_cmd_SOURCES) \
+	$(unittest_sharedptr_registry_SOURCES) \
+	$(unittest_signals_SOURCES) $(unittest_simple_spin_SOURCES) \
+	$(unittest_sloppy_crc_map_SOURCES) \
+	$(unittest_str_list_SOURCES) $(unittest_striper_SOURCES) \
+	$(unittest_strtol_SOURCES) $(unittest_texttable_SOURCES) \
+	$(unittest_throttle_SOURCES) $(unittest_utf8_SOURCES) \
+	$(unittest_util_SOURCES) $(unittest_workqueue_SOURCES)
+DIST_SOURCES = $(libcls_log_client_a_SOURCES) \
 	$(libcls_replica_log_client_a_SOURCES) \
-	$(libcls_rgw_client_a_SOURCES) \
 	$(libcls_statelog_client_a_SOURCES) \
-	$(libcls_version_client_a_SOURCES) $(libmds_a_SOURCES) \
-	$(libmon_a_SOURCES) $(libos_a_SOURCES) $(libosd_a_SOURCES) \
-	$(am__librgw_a_SOURCES_DIST) $(libcephfs_la_SOURCES) \
+	$(libcls_version_client_a_SOURCES) \
+	$(am__libos_zfs_a_SOURCES_DIST) $(libarch_la_SOURCES) \
+	$(libauth_la_SOURCES) $(libcephfs_la_SOURCES) \
 	$(am__libcephfs_jni_la_SOURCES_DIST) $(libclient_la_SOURCES) \
-	$(libcls_kvs_la_SOURCES) $(libcls_lock_la_SOURCES) \
+	$(am__libclient_fuse_la_SOURCES_DIST) \
+	$(libcls_hello_la_SOURCES) $(libcls_kvs_la_SOURCES) \
+	$(libcls_lock_la_SOURCES) $(libcls_lock_client_la_SOURCES) \
 	$(libcls_log_la_SOURCES) $(libcls_rbd_la_SOURCES) \
-	$(libcls_refcount_la_SOURCES) $(libcls_replica_log_la_SOURCES) \
-	$(libcls_rgw_la_SOURCES) $(libcls_statelog_la_SOURCES) \
+	$(libcls_rbd_client_la_SOURCES) $(libcls_refcount_la_SOURCES) \
+	$(libcls_refcount_client_la_SOURCES) \
+	$(libcls_replica_log_la_SOURCES) $(libcls_rgw_la_SOURCES) \
+	$(libcls_rgw_client_la_SOURCES) $(libcls_statelog_la_SOURCES) \
 	$(libcls_version_la_SOURCES) $(am__libcommon_la_SOURCES_DIST) \
-	$(libglobal_la_SOURCES) $(am__libhadoopcephfs_la_SOURCES_DIST) \
-	$(libosdc_la_SOURCES) $(librados_la_SOURCES) \
-	$(librbd_la_SOURCES) $(libsystest_la_SOURCES) \
+	$(am__libcommon_crc_la_SOURCES_DIST) $(libcrush_la_SOURCES) \
+	$(libec_example_la_SOURCES) \
+	$(libec_fail_to_initialize_la_SOURCES) \
+	$(libec_fail_to_register_la_SOURCES) $(libec_hangs_la_SOURCES) \
+	$(libec_jerasure_la_SOURCES) \
+	$(libec_missing_entry_point_la_SOURCES) \
+	$(libglobal_la_SOURCES) $(libjson_spirit_la_SOURCES) \
+	$(liblog_la_SOURCES) $(libmds_la_SOURCES) $(libmon_la_SOURCES) \
+	$(libmsg_la_SOURCES) $(libos_la_SOURCES) $(libosd_la_SOURCES) \
+	$(libosdc_la_SOURCES) $(am__libperfglue_la_SOURCES_DIST) \
+	$(librados_la_SOURCES) $(librbd_la_SOURCES) \
+	$(am__librgw_la_SOURCES_DIST) $(libsystest_la_SOURCES) \
 	$(ceph_authtool_SOURCES) $(ceph_conf_SOURCES) \
-	$(ceph_dencoder_SOURCES) $(am__ceph_fuse_SOURCES_DIST) \
-	$(am__ceph_mds_SOURCES_DIST) $(am__ceph_mon_SOURCES_DIST) \
-	$(ceph_monstore_tool_SOURCES) $(am__ceph_osd_SOURCES_DIST) \
+	$(am__ceph_dencoder_SOURCES_DIST) \
+	$(am__ceph_fuse_SOURCES_DIST) $(ceph_kvstore_tool_SOURCES) \
+	$(ceph_mds_SOURCES) $(ceph_mon_SOURCES) \
+	$(ceph_monstore_tool_SOURCES) $(ceph_osd_SOURCES) \
 	$(ceph_osdomap_tool_SOURCES) $(ceph_syn_SOURCES) \
 	$(ceph_bench_log_SOURCES) $(ceph_dupstore_SOURCES) \
-	$(ceph_filestore_dump_SOURCES) $(ceph_kvstorebench_SOURCES) \
+	$(ceph_filestore_dump_SOURCES) $(ceph_filestore_tool_SOURCES) \
+	$(ceph_kvstorebench_SOURCES) \
 	$(ceph_mon_store_converter_SOURCES) \
 	$(ceph_multi_stress_watch_SOURCES) $(ceph_omapbench_SOURCES) \
 	$(ceph_psim_SOURCES) $(ceph_radosacl_SOURCES) \
@@ -2840,8 +2424,9 @@ DIST_SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_smalliobenchfs_SOURCES) $(ceph_smalliobenchrbd_SOURCES) \
 	$(ceph_streamtest_SOURCES) \
 	$(ceph_test_cfuse_cache_invalidate_SOURCES) \
-	$(ceph_test_cls_lock_SOURCES) $(ceph_test_cls_log_SOURCES) \
-	$(ceph_test_cls_rbd_SOURCES) $(ceph_test_cls_refcount_SOURCES) \
+	$(ceph_test_cls_hello_SOURCES) $(ceph_test_cls_lock_SOURCES) \
+	$(ceph_test_cls_log_SOURCES) $(ceph_test_cls_rbd_SOURCES) \
+	$(ceph_test_cls_refcount_SOURCES) \
 	$(ceph_test_cls_replica_log_SOURCES) \
 	$(am__ceph_test_cls_rgw_SOURCES_DIST) \
 	$(am__ceph_test_cls_rgw_log_SOURCES_DIST) \
@@ -2855,16 +2440,11 @@ DIST_SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_test_filestore_idempotent_SOURCES) \
 	$(ceph_test_filestore_idempotent_sequence_SOURCES) \
 	$(ceph_test_filestore_workloadgen_SOURCES) \
-	$(ceph_test_ioctls_SOURCES) $(am__ceph_test_keys_SOURCES_DIST) \
+	$(ceph_test_ioctls_SOURCES) $(ceph_test_keys_SOURCES) \
 	$(ceph_test_keyvaluedb_atomicity_SOURCES) \
 	$(ceph_test_keyvaluedb_iterators_SOURCES) \
-	$(ceph_test_libcephfs_SOURCES) \
-	$(am__ceph_test_libcephfs_build_SOURCES_DIST) \
-	$(am__ceph_test_libcommon_build_SOURCES_DIST) \
-	$(am__ceph_test_libhadoopcephfs_build_SOURCES_DIST) \
-	$(am__ceph_test_librados_build_SOURCES_DIST) \
-	$(ceph_test_librbd_SOURCES) $(ceph_test_librbd_fsx_SOURCES) \
-	$(am__ceph_test_librgw_build_SOURCES_DIST) \
+	$(ceph_test_libcephfs_SOURCES) $(ceph_test_librbd_SOURCES) \
+	$(ceph_test_librbd_fsx_SOURCES) \
 	$(ceph_test_mon_workloadgen_SOURCES) $(ceph_test_msgr_SOURCES) \
 	$(ceph_test_mutate_SOURCES) $(ceph_test_object_map_SOURCES) \
 	$(ceph_test_objectcacher_stress_SOURCES) \
@@ -2886,26 +2466,37 @@ DIST_SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(ceph_test_rewrite_latency_SOURCES) \
 	$(ceph_test_signal_handlers_SOURCES) \
 	$(ceph_test_snap_mapper_SOURCES) \
-	$(ceph_test_store_tool_SOURCES) \
 	$(ceph_test_stress_watch_SOURCES) $(ceph_test_timers_SOURCES) \
 	$(ceph_test_trans_SOURCES) $(ceph_tpbench_SOURCES) \
 	$(ceph_xattr_bench_SOURCES) $(cephfs_SOURCES) \
-	$(crushtool_SOURCES) $(librados_config_SOURCES) \
-	$(monmaptool_SOURCES) $(mount_ceph_SOURCES) \
-	$(osdmaptool_SOURCES) $(rados_SOURCES) \
+	$(crushtool_SOURCES) $(get_command_descriptions_SOURCES) \
+	$(librados_config_SOURCES) $(monmaptool_SOURCES) \
+	$(mount_ceph_SOURCES) $(osdmaptool_SOURCES) $(rados_SOURCES) \
 	$(am__radosgw_SOURCES_DIST) $(am__radosgw_admin_SOURCES_DIST) \
 	$(rbd_SOURCES) $(am__rbd_fuse_SOURCES_DIST) \
-	$(am__rest_bench_SOURCES_DIST) $(unittest_addrs_SOURCES) \
-	$(unittest_admin_socket_SOURCES) $(unittest_base64_SOURCES) \
+	$(am__rest_bench_SOURCES_DIST) \
+	$(am__test_build_libcephfs_SOURCES_DIST) \
+	$(am__test_build_libcommon_SOURCES_DIST) \
+	$(am__test_build_librados_SOURCES_DIST) \
+	$(am__test_build_librgw_SOURCES_DIST) \
+	$(unittest_addrs_SOURCES) $(unittest_admin_socket_SOURCES) \
+	$(unittest_arch_SOURCES) $(unittest_base64_SOURCES) \
+	$(unittest_bloom_filter_SOURCES) \
 	$(unittest_bufferlist_SOURCES) \
 	$(unittest_ceph_argparse_SOURCES) \
+	$(unittest_ceph_compatset_SOURCES) \
 	$(unittest_ceph_crypto_SOURCES) \
 	$(unittest_chain_xattr_SOURCES) $(unittest_confutils_SOURCES) \
-	$(unittest_crypto_SOURCES) $(unittest_daemon_config_SOURCES) \
-	$(unittest_encoding_SOURCES) $(unittest_escape_SOURCES) \
-	$(unittest_flatindex_SOURCES) $(unittest_formatter_SOURCES) \
-	$(unittest_gather_SOURCES) $(unittest_heartbeatmap_SOURCES) \
-	$(unittest_ipaddr_SOURCES) $(unittest_lfnindex_SOURCES) \
+	$(unittest_crc32c_SOURCES) $(unittest_crypto_SOURCES) \
+	$(unittest_daemon_config_SOURCES) $(unittest_encoding_SOURCES) \
+	$(unittest_erasure_code_example_SOURCES) \
+	$(unittest_erasure_code_jerasure_SOURCES) \
+	$(unittest_erasure_code_plugin_SOURCES) \
+	$(unittest_erasure_code_plugin_jerasure_SOURCES) \
+	$(unittest_escape_SOURCES) $(unittest_flatindex_SOURCES) \
+	$(unittest_formatter_SOURCES) $(unittest_gather_SOURCES) \
+	$(unittest_heartbeatmap_SOURCES) $(unittest_ipaddr_SOURCES) \
+	$(unittest_lfnindex_SOURCES) \
 	$(unittest_libcephfs_config_SOURCES) \
 	$(unittest_librados_SOURCES) \
 	$(unittest_librados_config_SOURCES) $(unittest_log_SOURCES) \
@@ -2913,12 +2504,14 @@ DIST_SOURCES = $(libcls_lock_client_a_SOURCES) \
 	$(unittest_osd_osdcap_SOURCES) $(unittest_osd_types_SOURCES) \
 	$(unittest_perf_counters_SOURCES) $(unittest_pglog_SOURCES) \
 	$(unittest_prebufferedstreambuf_SOURCES) \
-	$(unittest_run_cmd_SOURCES) $(unittest_signals_SOURCES) \
-	$(unittest_simple_spin_SOURCES) $(unittest_str_list_SOURCES) \
-	$(unittest_striper_SOURCES) $(unittest_strtol_SOURCES) \
-	$(unittest_texttable_SOURCES) $(unittest_throttle_SOURCES) \
-	$(unittest_utf8_SOURCES) $(unittest_util_SOURCES) \
-	$(unittest_workqueue_SOURCES)
+	$(unittest_run_cmd_SOURCES) \
+	$(unittest_sharedptr_registry_SOURCES) \
+	$(unittest_signals_SOURCES) $(unittest_simple_spin_SOURCES) \
+	$(unittest_sloppy_crc_map_SOURCES) \
+	$(unittest_str_list_SOURCES) $(unittest_striper_SOURCES) \
+	$(unittest_strtol_SOURCES) $(unittest_texttable_SOURCES) \
+	$(unittest_throttle_SOURCES) $(unittest_utf8_SOURCES) \
+	$(unittest_util_SOURCES) $(unittest_workqueue_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	html-recursive info-recursive install-data-recursive \
 	install-dvi-recursive install-exec-recursive \
@@ -2930,6 +2523,266 @@ am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
 py_compile = $(top_srcdir)/py-compile
 DATA = $(bash_completion_DATA) $(doc_DATA) $(libcephfs_include_DATA) \
 	$(librbd_include_DATA) $(rados_include_DATA)
+am__noinst_HEADERS_DIST = arch/intel.h arch/neon.h arch/probe.h \
+	auth/cephx/CephxAuthorizeHandler.h auth/cephx/CephxKeyServer.h \
+	auth/cephx/CephxProtocol.h auth/cephx/CephxClientHandler.h \
+	auth/cephx/CephxServiceHandler.h \
+	auth/cephx/CephxSessionHandler.h \
+	auth/none/AuthNoneAuthorizeHandler.h \
+	auth/none/AuthNoneClientHandler.h \
+	auth/none/AuthNoneServiceHandler.h \
+	auth/none/AuthNoneSessionHandler.h \
+	auth/none/AuthNoneProtocol.h \
+	auth/unknown/AuthUnknownAuthorizeHandler.h \
+	auth/unknown/AuthUnknownClientHandler.h \
+	auth/unknown/AuthUnknownServiceHandler.h \
+	auth/unknown/AuthUnknownSessionHandler.h \
+	auth/unknown/AuthUnknownProtocol.h auth/Auth.h \
+	auth/AuthMethodList.h auth/AuthClientHandler.h \
+	auth/AuthServiceHandler.h auth/AuthSessionHandler.h \
+	auth/AuthAuthorizeHandler.h auth/KeyRing.h \
+	auth/RotatingKeyRing.h auth/Crypto.h crush/CrushCompiler.h \
+	crush/CrushTester.h crush/CrushWrapper.h crush/CrushWrapper.i \
+	crush/builder.h crush/crush.h crush/grammar.h crush/hash.h \
+	crush/mapper.h crush/sample.txt crush/types.h \
+	mon/AuthMonitor.h mon/DataHealthService.h mon/Elector.h \
+	mon/LogMonitor.h mon/ConfigKeyService.h mon/HealthMonitor.h \
+	mon/HealthService.h mon/MDSMonitor.h mon/MonmapMonitor.h \
+	mon/MonCap.h mon/MonClient.h mon/MonCommands.h mon/MonMap.h \
+	mon/Monitor.h mon/MonitorStore.h mon/MonitorDBStore.h \
+	mon/OSDMonitor.h mon/PGMap.h mon/PGMonitor.h mon/Paxos.h \
+	mon/PaxosService.h mon/QuorumService.h mon/Session.h \
+	mon/mon_types.h mds/inode_backtrace.h mds/flock.h mds/locks.c \
+	mds/locks.h mds/Anchor.h mds/AnchorClient.h mds/AnchorServer.h \
+	mds/CDentry.h mds/CDir.h mds/CInode.h mds/Capability.h \
+	mds/Dumper.h mds/InoTable.h mds/LocalLock.h mds/Locker.h \
+	mds/LogEvent.h mds/LogSegment.h mds/MDBalancer.h mds/MDCache.h \
+	mds/MDLog.h mds/MDS.h mds/MDSMap.h mds/MDSTable.h \
+	mds/MDSTableServer.h mds/MDSTableClient.h mds/Mutation.h \
+	mds/Migrator.h mds/Resetter.h mds/ScatterLock.h mds/Server.h \
+	mds/SessionMap.h mds/SimpleLock.h mds/SnapClient.h \
+	mds/SnapRealm.h mds/SnapServer.h mds/mds_table_types.h \
+	mds/mdstypes.h mds/snap.h mds/events/ECommitted.h \
+	mds/events/EExport.h mds/events/EFragment.h \
+	mds/events/EImportFinish.h mds/events/EImportStart.h \
+	mds/events/EMetaBlob.h mds/events/EOpen.h \
+	mds/events/EResetJournal.h mds/events/ESession.h \
+	mds/events/ESessions.h mds/events/ESlaveUpdate.h \
+	mds/events/ESubtreeMap.h mds/events/ETableClient.h \
+	mds/events/ETableServer.h mds/events/EUpdate.h \
+	os/btrfs_ioctl.h os/chain_xattr.h os/CollectionIndex.h \
+	os/FileJournal.h os/FileStore.h os/BtrfsFileStoreBackend.h \
+	os/GenericFileStoreBackend.h os/ZFSFileStoreBackend.h \
+	os/FlatIndex.h os/HashIndex.h os/FDCache.h os/WBThrottle.h \
+	os/IndexManager.h os/Journal.h os/JournalingObjectStore.h \
+	os/LFNIndex.h os/ObjectStore.h os/SequencerPosition.h \
+	os/ObjectMap.h os/DBObjectMap.h os/KeyValueDB.h \
+	os/LevelDBStore.h os/ZFS.h \
+	osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h \
+	osd/ErasureCodePluginJerasure/cauchy.h \
+	osd/ErasureCodePluginJerasure/galois.h \
+	osd/ErasureCodePluginJerasure/jerasure.h \
+	osd/ErasureCodePluginJerasure/liberation.h \
+	osd/ErasureCodePluginJerasure/reed_sol.h osd/Ager.h \
+	osd/ClassHandler.h osd/ErasureCodeInterface.h \
+	osd/ErasureCodePlugin.h osd/OSD.h osd/OSDCap.h osd/OSDMap.h \
+	osd/ObjectVersioner.h osd/OpRequest.h osd/SnapMapper.h \
+	osd/PG.h osd/PGLog.h osd/ReplicatedPG.h osd/PGBackend.h \
+	osd/ReplicatedBackend.h osd/Watch.h osd/osd_types.h \
+	osdc/Blinker.h osdc/Filer.h osdc/Journaler.h \
+	osdc/ObjectCacher.h osdc/Objecter.h osdc/Striper.h \
+	osdc/WritebackHandler.h client/Client.h client/Dentry.h \
+	client/Dir.h client/Fh.h client/Inode.h client/MetaRequest.h \
+	client/MetaSession.h client/ClientSnapRealm.h \
+	client/SyntheticClient.h client/Trace.h client/ioctl.h \
+	client/ObjecterWriteback.h client/fuse_ll.h global/pidfile.h \
+	global/global_init.h global/global_context.h \
+	global/signal_handler.h json_spirit/json_spirit.h \
+	json_spirit/json_spirit_error_position.h \
+	json_spirit/json_spirit_reader.h \
+	json_spirit/json_spirit_reader_template.h \
+	json_spirit/json_spirit_stream_reader.h \
+	json_spirit/json_spirit_utils.h \
+	json_spirit/json_spirit_value.h \
+	json_spirit/json_spirit_writer.h \
+	json_spirit/json_spirit_writer_options.h \
+	json_spirit/json_spirit_writer_template.h log/Entry.h \
+	log/EntryQueue.h log/Log.h log/SubsystemMap.h \
+	perfglue/cpu_profiler.h perfglue/heap_profiler.h \
+	common/bloom_filter.hpp common/sctp_crc32.h \
+	common/crc32c_intel_baseline.h common/crc32c_intel_fast.h \
+	common/BackTrace.h common/RefCountedObj.h \
+	common/HeartbeatMap.h common/LogClient.h common/LogEntry.h \
+	common/Preforker.h common/SloppyCRCMap.h common/WorkQueue.h \
+	common/PrioritizedQueue.h common/ceph_argparse.h \
+	common/ceph_context.h common/xattr.h common/blkdev.h \
+	common/compiler_extensions.h common/debug.h common/dout.h \
+	common/escape.h common/fd.h common/version.h common/hex.h \
+	common/entity_name.h common/errno.h common/environment.h \
+	common/likely.h common/lockdep.h common/obj_bencher.h \
+	common/snap_types.h common/Clock.h common/Cond.h \
+	common/ConfUtils.h common/DecayCounter.h common/Finisher.h \
+	common/Formatter.h common/perf_counters.h \
+	common/OutputDataSocket.h common/admin_socket.h \
+	common/admin_socket_client.h common/shared_cache.hpp \
+	common/tracked_int_ptr.hpp common/simple_cache.hpp \
+	common/sharedptr_registry.hpp common/map_cacher.hpp \
+	common/MemoryModel.h common/Mutex.h \
+	common/PrebufferedStreambuf.h common/RWLock.h \
+	common/Semaphore.h common/SimpleRNG.h common/TextTable.h \
+	common/Thread.h common/Throttle.h common/Timer.h \
+	common/TrackedOp.h common/arch.h common/armor.h \
+	common/common_init.h common/pipe.h common/code_environment.h \
+	common/signal.h common/simple_spin.h common/run_cmd.h \
+	common/safe_io.h common/config.h common/config_obs.h \
+	common/config_opts.h common/ceph_crypto.h \
+	common/ceph_crypto_cms.h common/ceph_json.h common/lru_map.h \
+	common/utf8.h common/mime.h common/pick_address.h \
+	common/secret.h common/strtol.h common/static_assert.h \
+	common/AsyncReserver.h common/sync_filesystem.h \
+	common/cmdparse.h common/hobject.h msg/Accepter.h \
+	msg/DispatchQueue.h msg/Dispatcher.h msg/Message.h \
+	msg/Messenger.h msg/Pipe.h msg/SimpleMessenger.h \
+	msg/msg_types.h messages/MAuth.h messages/MAuthReply.h \
+	messages/MCacheExpire.h messages/MClientCaps.h \
+	messages/MClientCapRelease.h messages/MClientLease.h \
+	messages/MClientReconnect.h messages/MClientReply.h \
+	messages/MClientRequest.h messages/MClientRequestForward.h \
+	messages/MClientSession.h messages/MClientSnap.h \
+	messages/MCommand.h messages/MCommandReply.h \
+	messages/MDentryLink.h messages/MDentryUnlink.h \
+	messages/MDirUpdate.h messages/MDiscover.h \
+	messages/MDiscoverReply.h messages/MExportCaps.h \
+	messages/MExportCapsAck.h messages/MExportDir.h \
+	messages/MExportDirAck.h messages/MExportDirCancel.h \
+	messages/MExportDirDiscover.h messages/MExportDirDiscoverAck.h \
+	messages/MExportDirFinish.h messages/MExportDirNotify.h \
+	messages/MExportDirNotifyAck.h messages/MExportDirPrep.h \
+	messages/MExportDirPrepAck.h messages/MGenericMessage.h \
+	messages/MGetPoolStats.h messages/MGetPoolStatsReply.h \
+	messages/MHeartbeat.h messages/MInodeFileCaps.h \
+	messages/MLock.h messages/MLog.h messages/MLogAck.h \
+	messages/MMDSBeacon.h messages/MMDSCacheRejoin.h \
+	messages/MMDSLoadTargets.h messages/MMDSFindIno.h \
+	messages/MMDSFindInoReply.h messages/MMDSFragmentNotify.h \
+	messages/MMDSMap.h messages/MMDSOpenIno.h \
+	messages/MMDSOpenInoReply.h messages/MMDSResolve.h \
+	messages/MMDSResolveAck.h messages/MMDSSlaveRequest.h \
+	messages/MMDSTableRequest.h messages/MMonCommand.h \
+	messages/MMonCommandAck.h messages/MMonElection.h \
+	messages/MMonGetMap.h messages/MMonGetVersion.h \
+	messages/MMonGetVersionReply.h messages/MMonGlobalID.h \
+	messages/MMonHealth.h messages/MMonJoin.h messages/MMonMap.h \
+	messages/MMonPaxos.h messages/MMonProbe.h messages/MMonScrub.h \
+	messages/MMonSubscribe.h messages/MMonSubscribeAck.h \
+	messages/MMonSync.h messages/MOSDAlive.h messages/MOSDBoot.h \
+	messages/MOSDFailure.h messages/MOSDMarkMeDown.h \
+	messages/MOSDMap.h messages/MOSDOp.h messages/MOSDOpReply.h \
+	messages/MOSDPGBackfill.h messages/MOSDPGCreate.h \
+	messages/MOSDPGPush.h messages/MOSDPGPull.h \
+	messages/MOSDPGPushReply.h messages/MOSDPGInfo.h \
+	messages/MOSDPGLog.h messages/MOSDPGMissing.h \
+	messages/MOSDPGNotify.h messages/MOSDPGQuery.h \
+	messages/MOSDPGRemove.h messages/MOSDPGScan.h \
+	messages/MBackfillReserve.h messages/MRecoveryReserve.h \
+	messages/MMonQuorumService.h messages/MOSDPGTemp.h \
+	messages/MOSDPGTrim.h messages/MOSDPing.h \
+	messages/MOSDRepScrub.h messages/MOSDScrub.h \
+	messages/MOSDSubOp.h messages/MOSDSubOpReply.h \
+	messages/MPGStats.h messages/MPGStatsAck.h messages/MPing.h \
+	messages/MPoolOp.h messages/MPoolOpReply.h \
+	messages/MRemoveSnaps.h messages/MRoute.h messages/MForward.h \
+	messages/MStatfs.h messages/MStatfsReply.h \
+	messages/MTimeCheck.h messages/MWatchNotify.h \
+	messages/PaxosServiceMessage.h include/Context.h \
+	include/CompatSet.h include/Distribution.h include/Spinlock.h \
+	include/addr_parsing.h include/assert.h include/atomic.h \
+	include/bitmapper.h include/blobhash.h include/buffer.h \
+	include/byteorder.h include/cephfs/libcephfs.h \
+	include/ceph_features.h include/ceph_frag.h include/ceph_fs.h \
+	include/ceph_hash.h include/cmp.h include/color.h \
+	include/compat.h include/crc32c.h include/encoding.h \
+	include/err.h include/error.h include/filepath.h \
+	include/frag.h include/hash.h include/histogram.h \
+	include/intarith.h include/interval_set.h include/int_types.h \
+	include/ipaddr.h include/linux_fiemap.h include/lru.h \
+	include/msgr.h include/object.h include/page.h \
+	include/rangeset.h include/rados.h include/rbd_types.h \
+	include/statlite.h include/str_list.h include/stringify.h \
+	include/triple.h include/types.h include/utime.h \
+	include/dlist.h include/elist.h include/uuid.h include/xlist.h \
+	include/rados/librados.h include/rados/rados_types.h \
+	include/rados/rados_types.hpp include/rados/librados.hpp \
+	include/rados/librgw.h include/rados/page.h \
+	include/rados/crc32c.h include/rados/buffer.h \
+	include/rbd/features.h include/rbd/librbd.h \
+	include/rbd/librbd.hpp include/util.h librados/snap_set_diff.h \
+	librados/AioCompletionImpl.h librados/IoCtxImpl.h \
+	librados/PoolAsyncCompletionImpl.h librados/RadosClient.h \
+	librbd/AioCompletion.h librbd/AioRequest.h librbd/ImageCtx.h \
+	librbd/internal.h librbd/LibrbdWriteback.h \
+	librbd/parent_types.h librbd/SnapInfo.h librbd/WatchCtx.h \
+	rgw/logrotate.conf rgw/rgw_acl.h rgw/rgw_acl_s3.h \
+	rgw/rgw_acl_swift.h rgw/rgw_client_io.h rgw/rgw_fcgi.h \
+	rgw/rgw_xml.h rgw/rgw_cache.h rgw/rgw_common.h rgw/rgw_cors.h \
+	rgw/rgw_cors_s3.h rgw/rgw_cors_swift.h rgw/rgw_string.h \
+	rgw/rgw_formats.h rgw/rgw_http_errors.h rgw/rgw_log.h \
+	rgw/rgw_multi.h rgw/rgw_policy_s3.h rgw/rgw_gc.h \
+	rgw/rgw_metadata.h rgw/rgw_multi_del.h rgw/rgw_op.h \
+	rgw/rgw_http_client.h rgw/rgw_swift.h rgw/rgw_swift_auth.h \
+	rgw/rgw_quota.h rgw/rgw_rados.h rgw/rgw_replica_log.h \
+	rgw/rgw_resolve.h rgw/rgw_rest.h rgw/rgw_rest_swift.h \
+	rgw/rgw_rest_s3.h rgw/rgw_auth_s3.h rgw/rgw_rest_admin.h \
+	rgw/rgw_rest_usage.h rgw/rgw_rest_user.h rgw/rgw_rest_bucket.h \
+	rgw/rgw_rest_client.h rgw/rgw_rest_conn.h rgw/rgw_tools.h \
+	rgw/rgw_rest_metadata.h rgw/rgw_rest_log.h \
+	rgw/rgw_rest_opstate.h rgw/rgw_rest_replica_log.h \
+	rgw/rgw_rest_config.h rgw/rgw_usage.h rgw/rgw_user.h \
+	rgw/rgw_bucket.h rgw/rgw_keystone.h cls/lock/cls_lock_types.h \
+	cls/lock/cls_lock_ops.h cls/lock/cls_lock_client.h \
+	cls/rbd/cls_rbd.h cls/rbd/cls_rbd_client.h \
+	cls/refcount/cls_refcount_ops.h \
+	cls/refcount/cls_refcount_client.h \
+	cls/version/cls_version_types.h cls/version/cls_version_ops.h \
+	cls/version/cls_version_client.h cls/log/cls_log_types.h \
+	cls/log/cls_log_ops.h cls/log/cls_log_client.h \
+	cls/statelog/cls_statelog_types.h \
+	cls/statelog/cls_statelog_ops.h \
+	cls/statelog/cls_statelog_client.h \
+	cls/replica_log/cls_replica_log_types.h \
+	cls/replica_log/cls_replica_log_ops.h \
+	cls/replica_log/cls_replica_log_client.h \
+	cls/rgw/cls_rgw_client.h cls/rgw/cls_rgw_ops.h \
+	cls/rgw/cls_rgw_types.h key_value_store/key_value_structure.h \
+	key_value_store/kv_flat_btree_async.h \
+	key_value_store/kvs_arg_types.h test/osd/ErasureCodeExample.h \
+	test/osd/RadosModel.h test/osd/Object.h test/osd/TestOpStat.h \
+	test/bench/distribution.h test/bench/rados_backend.h \
+	test/bench/rbd_backend.h test/bench/bencher.h \
+	test/bench/backend.h test/bench/dumb_backend.h \
+	test/bench/stat_collector.h \
+	test/bench/detailed_stat_collector.h \
+	test/bench/testfilestore_backend.h \
+	test/common/ObjectContents.h test/encoding/types.h \
+	test/filestore/DeterministicOpSequence.h \
+	test/filestore/FileStoreTracker.h \
+	test/filestore/FileStoreDiff.h \
+	test/filestore/TestFileStoreState.h \
+	test/filestore/workload_generator.h test/kv_store_bench.h \
+	test/librados/test.h test/ObjectMap/KeyValueDBMemory.h \
+	test/omap_bench.h test/osdc/FakeWriteback.h \
+	test/system/cross_process_sem.h \
+	test/system/st_rados_create_pool.h \
+	test/system/st_rados_list_objects.h \
+	test/system/st_rados_delete_objs.h \
+	test/system/st_rados_delete_pool.h \
+	test/system/st_rados_notify.h test/system/st_rados_watch.h \
+	test/system/systest_runnable.h test/system/systest_settings.h \
+	test/unit.h tools/rados/rados_sync.h tools/common.h cls_acl.cc \
+	cls_crypto.cc fetch_config logrotate.conf sample.ceph.conf \
+	bash_completion/ceph bash_completion/rados bash_completion/rbd \
+	bash_completion/radosgw-admin mount/canonicalize.c \
+	mount/mtab.c objclass/objclass.h
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
@@ -2968,10 +2821,9 @@ am__relativize = \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
-AM_CXXFLAGS = @AM_CXXFLAGS@ $(AM_COMMON_FLAGS) \
-	-DCEPH_LIBDIR=\"${libdir}\" -Wnon-virtual-dtor \
-	-Wno-invalid-offsetof -Wstrict-null-sentinel $(am__append_42) \
-	$(am__append_45)
+AM_CXXFLAGS = @AM_CXXFLAGS@ $(AM_COMMON_CFLAGS) -Wnon-virtual-dtor \
+	-Wno-invalid-offsetof -Wstrict-null-sentinel $(am__append_2) \
+	$(am__append_5) $(am__append_19)
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
@@ -2979,6 +2831,9 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
+CCAS = ${srcdir}/yasm-wrapper
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -3013,7 +2868,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 JAR = @JAR@
-JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
 JDK_CPPFLAGS = @JDK_CPPFLAGS@
@@ -3026,6 +2880,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTCMALLOC = @LIBTCMALLOC@
 LIBTOOL = @LIBTOOL@
+LIBZFS_CFLAGS = @LIBZFS_CFLAGS@
+LIBZFS_LIBS = @LIBZFS_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -3131,24 +2987,20 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-uudecode = @uudecode@
-AUTOMAKE_OPTIONS = gnu
-SUBDIRS = ocf java $(am__append_32)
+AUTOMAKE_OPTIONS = gnu subdir-objects
+SUBDIRS = ocf java $(am__append_45)
 DIST_SUBDIRS = gtest ocf libs3 java
+BUILT_SOURCES = init-ceph
 
 # extra bits
-EXTRA_DIST = libs3/COPYING libs3/ChangeLog libs3/GNUmakefile \
-	libs3/GNUmakefile.mingw libs3/GNUmakefile.osx libs3/INSTALL \
-	libs3/LICENSE libs3/README libs3/TODO libs3/archlinux \
-	libs3/debian libs3/doxyfile libs3/inc libs3/libs3.spec \
-	libs3/mswin libs3/src libs3/test unittest_bufferlist.sh \
+EXTRA_DIST = $(srcdir)/$(shell_scripts:%=%.in) \
 	$(srcdir)/verify-mds-journal.sh $(srcdir)/vstart.sh \
 	$(srcdir)/stop.sh ceph-run $(srcdir)/ceph_common.sh \
 	$(srcdir)/init-radosgw $(srcdir)/init-radosgw.sysv \
 	$(srcdir)/init-rbdmap $(srcdir)/ceph-clsinfo \
 	$(srcdir)/make_version $(srcdir)/check_version \
 	$(srcdir)/.git_version $(srcdir)/ceph-rbdnamer \
-	$(ceph_tool_gui_DATA) $(srcdir)/test/encoding/readable.sh \
+	$(srcdir)/test/encoding/readable.sh \
 	$(srcdir)/test/encoding/check-generated.sh \
 	$(srcdir)/upstart/ceph-all.conf \
 	$(srcdir)/upstart/ceph-mon.conf \
@@ -3165,266 +3017,692 @@ EXTRA_DIST = libs3/COPYING libs3/ChangeLog libs3/GNUmakefile \
 	$(srcdir)/upstart/radosgw-all.conf \
 	$(srcdir)/upstart/radosgw-all-starter.conf ceph.in ceph-disk \
 	ceph-disk-prepare ceph-disk-activate ceph-disk-udev \
-	ceph-create-keys mount.fuse.ceph ceph-rest-api mount.fuse.ceph \
-	rbdmap $(srcdir)/$(shell_scripts:%=%.in)
+	ceph-create-keys ceph-rest-api mount.fuse.ceph rbdmap \
+	unittest_bufferlist.sh yasm-wrapper libs3/COPYING \
+	libs3/ChangeLog libs3/GNUmakefile libs3/GNUmakefile.mingw \
+	libs3/GNUmakefile.osx libs3/INSTALL libs3/LICENSE libs3/README \
+	libs3/TODO libs3/archlinux libs3/debian libs3/doxyfile \
+	libs3/inc libs3/libs3.spec libs3/mswin libs3/src libs3/test \
+	unittest_bufferlist.sh
 CLEANFILES = $(shell_scripts) ceph_ver.h sample.fetch_config
+
+# everything else we want to include in a 'make dist'
+noinst_HEADERS = arch/intel.h arch/neon.h arch/probe.h \
+	auth/cephx/CephxAuthorizeHandler.h auth/cephx/CephxKeyServer.h \
+	auth/cephx/CephxProtocol.h auth/cephx/CephxClientHandler.h \
+	auth/cephx/CephxServiceHandler.h \
+	auth/cephx/CephxSessionHandler.h \
+	auth/none/AuthNoneAuthorizeHandler.h \
+	auth/none/AuthNoneClientHandler.h \
+	auth/none/AuthNoneServiceHandler.h \
+	auth/none/AuthNoneSessionHandler.h \
+	auth/none/AuthNoneProtocol.h \
+	auth/unknown/AuthUnknownAuthorizeHandler.h \
+	auth/unknown/AuthUnknownClientHandler.h \
+	auth/unknown/AuthUnknownServiceHandler.h \
+	auth/unknown/AuthUnknownSessionHandler.h \
+	auth/unknown/AuthUnknownProtocol.h auth/Auth.h \
+	auth/AuthMethodList.h auth/AuthClientHandler.h \
+	auth/AuthServiceHandler.h auth/AuthSessionHandler.h \
+	auth/AuthAuthorizeHandler.h auth/KeyRing.h \
+	auth/RotatingKeyRing.h auth/Crypto.h crush/CrushCompiler.h \
+	crush/CrushTester.h crush/CrushWrapper.h crush/CrushWrapper.i \
+	crush/builder.h crush/crush.h crush/grammar.h crush/hash.h \
+	crush/mapper.h crush/sample.txt crush/types.h \
+	mon/AuthMonitor.h mon/DataHealthService.h mon/Elector.h \
+	mon/LogMonitor.h mon/ConfigKeyService.h mon/HealthMonitor.h \
+	mon/HealthService.h mon/MDSMonitor.h mon/MonmapMonitor.h \
+	mon/MonCap.h mon/MonClient.h mon/MonCommands.h mon/MonMap.h \
+	mon/Monitor.h mon/MonitorStore.h mon/MonitorDBStore.h \
+	mon/OSDMonitor.h mon/PGMap.h mon/PGMonitor.h mon/Paxos.h \
+	mon/PaxosService.h mon/QuorumService.h mon/Session.h \
+	mon/mon_types.h mds/inode_backtrace.h mds/flock.h mds/locks.c \
+	mds/locks.h mds/Anchor.h mds/AnchorClient.h mds/AnchorServer.h \
+	mds/CDentry.h mds/CDir.h mds/CInode.h mds/Capability.h \
+	mds/Dumper.h mds/InoTable.h mds/LocalLock.h mds/Locker.h \
+	mds/LogEvent.h mds/LogSegment.h mds/MDBalancer.h mds/MDCache.h \
+	mds/MDLog.h mds/MDS.h mds/MDSMap.h mds/MDSTable.h \
+	mds/MDSTableServer.h mds/MDSTableClient.h mds/Mutation.h \
+	mds/Migrator.h mds/Resetter.h mds/ScatterLock.h mds/Server.h \
+	mds/SessionMap.h mds/SimpleLock.h mds/SnapClient.h \
+	mds/SnapRealm.h mds/SnapServer.h mds/inode_backtrace.h \
+	mds/mds_table_types.h mds/mdstypes.h mds/snap.h \
+	mds/events/ECommitted.h mds/events/EExport.h \
+	mds/events/EFragment.h mds/events/EImportFinish.h \
+	mds/events/EImportStart.h mds/events/EMetaBlob.h \
+	mds/events/EOpen.h mds/events/EResetJournal.h \
+	mds/events/ESession.h mds/events/ESessions.h \
+	mds/events/ESlaveUpdate.h mds/events/ESubtreeMap.h \
+	mds/events/ETableClient.h mds/events/ETableServer.h \
+	mds/events/EUpdate.h os/btrfs_ioctl.h os/chain_xattr.h \
+	os/CollectionIndex.h os/FileJournal.h os/FileStore.h \
+	os/BtrfsFileStoreBackend.h os/GenericFileStoreBackend.h \
+	os/ZFSFileStoreBackend.h os/FlatIndex.h os/HashIndex.h \
+	os/FDCache.h os/WBThrottle.h os/IndexManager.h os/Journal.h \
+	os/JournalingObjectStore.h os/LFNIndex.h os/ObjectStore.h \
+	os/SequencerPosition.h os/ObjectMap.h os/DBObjectMap.h \
+	os/KeyValueDB.h os/LevelDBStore.h $(am__append_14) \
+	osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h \
+	osd/ErasureCodePluginJerasure/cauchy.h \
+	osd/ErasureCodePluginJerasure/galois.h \
+	osd/ErasureCodePluginJerasure/jerasure.h \
+	osd/ErasureCodePluginJerasure/liberation.h \
+	osd/ErasureCodePluginJerasure/reed_sol.h osd/Ager.h \
+	osd/ClassHandler.h osd/ErasureCodeInterface.h \
+	osd/ErasureCodePlugin.h osd/OSD.h osd/OSDCap.h osd/OSDMap.h \
+	osd/ObjectVersioner.h osd/OpRequest.h osd/SnapMapper.h \
+	osd/PG.h osd/PGLog.h osd/ReplicatedPG.h osd/PGBackend.h \
+	osd/ReplicatedBackend.h osd/Watch.h osd/osd_types.h \
+	osdc/Blinker.h osdc/Filer.h osdc/Journaler.h \
+	osdc/ObjectCacher.h osdc/Objecter.h osdc/Striper.h \
+	osdc/WritebackHandler.h client/Client.h client/Dentry.h \
+	client/Dir.h client/Fh.h client/Inode.h client/MetaRequest.h \
+	client/MetaSession.h client/ClientSnapRealm.h \
+	client/SyntheticClient.h client/Trace.h client/ioctl.h \
+	client/ObjecterWriteback.h $(am__append_16) global/pidfile.h \
+	global/global_init.h global/global_context.h \
+	global/signal_handler.h json_spirit/json_spirit.h \
+	json_spirit/json_spirit_error_position.h \
+	json_spirit/json_spirit_reader.h \
+	json_spirit/json_spirit_reader_template.h \
+	json_spirit/json_spirit_stream_reader.h \
+	json_spirit/json_spirit_utils.h \
+	json_spirit/json_spirit_value.h \
+	json_spirit/json_spirit_writer.h \
+	json_spirit/json_spirit_writer_options.h \
+	json_spirit/json_spirit_writer_template.h log/Entry.h \
+	log/EntryQueue.h log/Log.h log/SubsystemMap.h \
+	perfglue/cpu_profiler.h perfglue/heap_profiler.h \
+	common/bloom_filter.hpp common/sctp_crc32.h \
+	common/crc32c_intel_baseline.h common/crc32c_intel_fast.h \
+	common/BackTrace.h common/RefCountedObj.h \
+	common/HeartbeatMap.h common/LogClient.h common/LogEntry.h \
+	common/Preforker.h common/SloppyCRCMap.h common/WorkQueue.h \
+	common/PrioritizedQueue.h common/ceph_argparse.h \
+	common/ceph_context.h common/xattr.h common/blkdev.h \
+	common/compiler_extensions.h common/debug.h common/dout.h \
+	common/escape.h common/fd.h common/version.h common/hex.h \
+	common/entity_name.h common/errno.h common/environment.h \
+	common/likely.h common/lockdep.h common/obj_bencher.h \
+	common/snap_types.h common/Clock.h common/Cond.h \
+	common/ConfUtils.h common/DecayCounter.h common/Finisher.h \
+	common/Formatter.h common/perf_counters.h \
+	common/OutputDataSocket.h common/admin_socket.h \
+	common/admin_socket_client.h common/shared_cache.hpp \
+	common/tracked_int_ptr.hpp common/simple_cache.hpp \
+	common/sharedptr_registry.hpp common/map_cacher.hpp \
+	common/MemoryModel.h common/Mutex.h \
+	common/PrebufferedStreambuf.h common/RWLock.h \
+	common/Semaphore.h common/SimpleRNG.h common/TextTable.h \
+	common/Thread.h common/Throttle.h common/Timer.h \
+	common/TrackedOp.h common/arch.h common/armor.h \
+	common/common_init.h common/pipe.h common/code_environment.h \
+	common/signal.h common/simple_spin.h common/run_cmd.h \
+	common/safe_io.h common/config.h common/config_obs.h \
+	common/config_opts.h common/ceph_crypto.h \
+	common/ceph_crypto_cms.h common/ceph_json.h common/lru_map.h \
+	common/utf8.h common/mime.h common/pick_address.h \
+	common/secret.h common/strtol.h common/static_assert.h \
+	common/AsyncReserver.h common/sync_filesystem.h \
+	common/cmdparse.h common/hobject.h msg/Accepter.h \
+	msg/DispatchQueue.h msg/Dispatcher.h msg/Message.h \
+	msg/Messenger.h msg/Pipe.h msg/SimpleMessenger.h \
+	msg/msg_types.h messages/MAuth.h messages/MAuthReply.h \
+	messages/MCacheExpire.h messages/MClientCaps.h \
+	messages/MClientCapRelease.h messages/MClientLease.h \
+	messages/MClientReconnect.h messages/MClientReply.h \
+	messages/MClientRequest.h messages/MClientRequestForward.h \
+	messages/MClientSession.h messages/MClientSnap.h \
+	messages/MCommand.h messages/MCommandReply.h \
+	messages/MDentryLink.h messages/MDentryUnlink.h \
+	messages/MDirUpdate.h messages/MDiscover.h \
+	messages/MDiscoverReply.h messages/MExportCaps.h \
+	messages/MExportCapsAck.h messages/MExportDir.h \
+	messages/MExportDirAck.h messages/MExportDirCancel.h \
+	messages/MExportDirDiscover.h messages/MExportDirDiscoverAck.h \
+	messages/MExportDirFinish.h messages/MExportDirNotify.h \
+	messages/MExportDirNotifyAck.h messages/MExportDirPrep.h \
+	messages/MExportDirPrepAck.h messages/MGenericMessage.h \
+	messages/MGetPoolStats.h messages/MGetPoolStatsReply.h \
+	messages/MHeartbeat.h messages/MInodeFileCaps.h \
+	messages/MLock.h messages/MLog.h messages/MLogAck.h \
+	messages/MMDSBeacon.h messages/MMDSCacheRejoin.h \
+	messages/MMDSLoadTargets.h messages/MMDSFindIno.h \
+	messages/MMDSFindInoReply.h messages/MMDSFragmentNotify.h \
+	messages/MMDSMap.h messages/MMDSOpenIno.h \
+	messages/MMDSOpenInoReply.h messages/MMDSResolve.h \
+	messages/MMDSResolveAck.h messages/MMDSSlaveRequest.h \
+	messages/MMDSTableRequest.h messages/MMonCommand.h \
+	messages/MMonCommandAck.h messages/MMonElection.h \
+	messages/MMonGetMap.h messages/MMonGetVersion.h \
+	messages/MMonGetVersionReply.h messages/MMonGlobalID.h \
+	messages/MMonHealth.h messages/MMonJoin.h messages/MMonMap.h \
+	messages/MMonPaxos.h messages/MMonProbe.h messages/MMonScrub.h \
+	messages/MMonSubscribe.h messages/MMonSubscribeAck.h \
+	messages/MMonSync.h messages/MOSDAlive.h messages/MOSDBoot.h \
+	messages/MOSDFailure.h messages/MOSDMarkMeDown.h \
+	messages/MOSDMap.h messages/MOSDOp.h messages/MOSDOpReply.h \
+	messages/MOSDPGBackfill.h messages/MOSDPGCreate.h \
+	messages/MOSDPGPush.h messages/MOSDPGPull.h \
+	messages/MOSDPGPushReply.h messages/MOSDPGInfo.h \
+	messages/MOSDPGLog.h messages/MOSDPGMissing.h \
+	messages/MOSDPGNotify.h messages/MOSDPGQuery.h \
+	messages/MOSDPGRemove.h messages/MOSDPGScan.h \
+	messages/MBackfillReserve.h messages/MRecoveryReserve.h \
+	messages/MMonQuorumService.h messages/MOSDPGTemp.h \
+	messages/MOSDPGTrim.h messages/MOSDPing.h \
+	messages/MOSDRepScrub.h messages/MOSDScrub.h \
+	messages/MOSDSubOp.h messages/MOSDSubOpReply.h \
+	messages/MPGStats.h messages/MPGStatsAck.h messages/MPing.h \
+	messages/MPoolOp.h messages/MPoolOpReply.h \
+	messages/MRemoveSnaps.h messages/MRoute.h messages/MForward.h \
+	messages/MStatfs.h messages/MStatfsReply.h \
+	messages/MTimeCheck.h messages/MWatchNotify.h \
+	messages/PaxosServiceMessage.h include/Context.h \
+	include/CompatSet.h include/Distribution.h include/Spinlock.h \
+	include/addr_parsing.h include/assert.h include/atomic.h \
+	include/bitmapper.h include/blobhash.h include/buffer.h \
+	include/byteorder.h include/cephfs/libcephfs.h \
+	include/ceph_features.h include/ceph_frag.h include/ceph_fs.h \
+	include/ceph_hash.h include/cmp.h include/color.h \
+	include/compat.h include/crc32c.h include/encoding.h \
+	include/err.h include/error.h include/filepath.h \
+	include/frag.h include/hash.h include/histogram.h \
+	include/intarith.h include/interval_set.h include/int_types.h \
+	include/ipaddr.h include/linux_fiemap.h include/lru.h \
+	include/msgr.h include/object.h include/page.h \
+	include/rangeset.h include/rados.h include/rbd_types.h \
+	include/statlite.h include/str_list.h include/stringify.h \
+	include/triple.h include/types.h include/utime.h \
+	include/dlist.h include/elist.h include/uuid.h include/xlist.h \
+	include/rados/librados.h include/rados/rados_types.h \
+	include/rados/rados_types.hpp include/rados/librados.hpp \
+	include/rados/librgw.h include/rados/page.h \
+	include/rados/crc32c.h include/rados/buffer.h \
+	include/rbd/features.h include/rbd/librbd.h \
+	include/rbd/librbd.hpp include/util.h librados/snap_set_diff.h \
+	librados/AioCompletionImpl.h librados/IoCtxImpl.h \
+	librados/PoolAsyncCompletionImpl.h librados/RadosClient.h \
+	librbd/AioCompletion.h librbd/AioRequest.h librbd/ImageCtx.h \
+	librbd/internal.h librbd/LibrbdWriteback.h \
+	librbd/parent_types.h librbd/SnapInfo.h librbd/WatchCtx.h \
+	rgw/logrotate.conf rgw/rgw_acl.h rgw/rgw_acl_s3.h \
+	rgw/rgw_acl_swift.h rgw/rgw_client_io.h rgw/rgw_fcgi.h \
+	rgw/rgw_xml.h rgw/rgw_cache.h rgw/rgw_common.h rgw/rgw_cors.h \
+	rgw/rgw_cors_s3.h rgw/rgw_cors_swift.h rgw/rgw_string.h \
+	rgw/rgw_formats.h rgw/rgw_http_errors.h rgw/rgw_log.h \
+	rgw/rgw_multi.h rgw/rgw_policy_s3.h rgw/rgw_gc.h \
+	rgw/rgw_metadata.h rgw/rgw_multi_del.h rgw/rgw_op.h \
+	rgw/rgw_http_client.h rgw/rgw_swift.h rgw/rgw_swift_auth.h \
+	rgw/rgw_quota.h rgw/rgw_rados.h rgw/rgw_replica_log.h \
+	rgw/rgw_resolve.h rgw/rgw_rest.h rgw/rgw_rest_swift.h \
+	rgw/rgw_rest_s3.h rgw/rgw_auth_s3.h rgw/rgw_rest_admin.h \
+	rgw/rgw_rest_usage.h rgw/rgw_rest_user.h rgw/rgw_rest_bucket.h \
+	rgw/rgw_rest_client.h rgw/rgw_rest_conn.h rgw/rgw_tools.h \
+	rgw/rgw_rest_metadata.h rgw/rgw_rest_log.h \
+	rgw/rgw_rest_opstate.h rgw/rgw_rest_replica_log.h \
+	rgw/rgw_rest_config.h rgw/rgw_usage.h rgw/rgw_user.h \
+	rgw/rgw_bucket.h rgw/rgw_keystone.h cls/lock/cls_lock_types.h \
+	cls/lock/cls_lock_ops.h cls/lock/cls_lock_client.h \
+	cls/rbd/cls_rbd.h cls/rbd/cls_rbd_client.h \
+	cls/refcount/cls_refcount_ops.h \
+	cls/refcount/cls_refcount_client.h \
+	cls/version/cls_version_types.h cls/version/cls_version_ops.h \
+	cls/version/cls_version_client.h cls/log/cls_log_types.h \
+	cls/log/cls_log_ops.h cls/log/cls_log_client.h \
+	cls/statelog/cls_statelog_types.h \
+	cls/statelog/cls_statelog_ops.h \
+	cls/statelog/cls_statelog_client.h \
+	cls/replica_log/cls_replica_log_types.h \
+	cls/replica_log/cls_replica_log_ops.h \
+	cls/replica_log/cls_replica_log_client.h \
+	cls/rgw/cls_rgw_client.h cls/rgw/cls_rgw_ops.h \
+	cls/rgw/cls_rgw_types.h key_value_store/key_value_structure.h \
+	key_value_store/kv_flat_btree_async.h \
+	key_value_store/kvs_arg_types.h test/osd/ErasureCodeExample.h \
+	test/osd/RadosModel.h test/osd/Object.h test/osd/TestOpStat.h \
+	test/bench/distribution.h test/bench/rados_backend.h \
+	test/bench/rbd_backend.h test/bench/bencher.h \
+	test/bench/backend.h test/bench/dumb_backend.h \
+	test/bench/stat_collector.h \
+	test/bench/detailed_stat_collector.h \
+	test/bench/testfilestore_backend.h \
+	test/common/ObjectContents.h test/encoding/types.h \
+	test/filestore/DeterministicOpSequence.h \
+	test/filestore/FileStoreTracker.h \
+	test/filestore/FileStoreDiff.h \
+	test/filestore/TestFileStoreState.h \
+	test/filestore/workload_generator.h test/kv_store_bench.h \
+	test/librados/test.h test/ObjectMap/KeyValueDBMemory.h \
+	test/omap_bench.h test/osd/Object.h test/osd/RadosModel.h \
+	test/osd/TestOpStat.h test/osdc/FakeWriteback.h \
+	test/system/cross_process_sem.h \
+	test/system/st_rados_create_pool.h \
+	test/system/st_rados_list_objects.h \
+	test/system/st_rados_delete_objs.h \
+	test/system/st_rados_delete_pool.h \
+	test/system/st_rados_notify.h test/system/st_rados_watch.h \
+	test/system/systest_runnable.h test/system/systest_settings.h \
+	test/unit.h tools/rados/rados_sync.h tools/common.h cls_acl.cc \
+	cls_crypto.cc fetch_config logrotate.conf sample.ceph.conf \
+	bash_completion/ceph bash_completion/rados bash_completion/rbd \
+	bash_completion/radosgw-admin mount/canonicalize.c \
+	mount/mtab.c objclass/objclass.h
+bin_SCRIPTS = ceph ceph-run ceph-rest-api ceph-clsinfo ceph-debugpack \
+	ceph-rbdnamer ceph-post-file ceph-coverage
+sbin_SCRIPTS = 
+su_sbin_SCRIPTS = mount.fuse.ceph mkcephfs
+dist_bin_SCRIPTS = 
+lib_LTLIBRARIES = librados.la librbd.la libcephfs.la $(am__append_50)
+noinst_LTLIBRARIES = libarch.la libauth.la libcrush.la libmon.la \
+	libmds.la libos.la libosd.la libosdc.la libclient.la \
+	$(am__append_15) libglobal.la libjson_spirit.la liblog.la \
+	libperfglue.la libcommon_crc.la libcommon.la libmsg.la \
+	$(am__append_26) libcls_lock_client.la \
+	libcls_refcount_client.la libcls_rgw_client.la \
+	libcls_rbd_client.la libsystest.la
+noinst_LIBRARIES = $(am__append_13) libcls_version_client.a \
+	libcls_log_client.a libcls_statelog_client.a \
+	libcls_replica_log_client.a
+radoslib_LTLIBRARIES = libcls_hello.la libcls_rbd.la libcls_lock.la \
+	libcls_refcount.la libcls_version.la libcls_log.la \
+	libcls_statelog.la libcls_replica_log.la libcls_rgw.la \
+	libcls_kvs.la
+
 # like bin_PROGRAMS, but these targets are only built for debug builds
-bin_DEBUGPROGRAMS = ceph-osdomap-tool ceph-monstore-tool ceph_psim \
-	ceph_test_mutate ceph_test_rewrite_latency ceph_test_msgr \
-	ceph_test_ioctls ceph_dupstore ceph_streamtest ceph_test_trans \
-	ceph_test_rados ceph_smalliobench ceph_smalliobenchfs \
+bin_DEBUGPROGRAMS = ceph_test_ioctls $(am__append_29) ceph_test_timers \
+	ceph_test_signal_handlers ceph_test_rados ceph_test_mutate \
+	ceph_test_rewrite_latency ceph_test_msgr ceph_streamtest \
+	ceph_test_trans ceph_test_crypto ceph_test_keys \
+	$(am__append_33) ceph_smalliobench ceph_smalliobenchfs \
 	ceph_smalliobenchdumb ceph_smalliobenchrbd ceph_tpbench \
 	ceph_omapbench ceph_kvstorebench ceph_multi_stress_watch \
-	$(am__append_23) $(am__append_24) ceph_test_timers \
-	ceph_test_signal_handlers $(am__append_27) ceph_scratchtool \
-	ceph_scratchtoolpp ceph_radosacl ceph_test_crypto \
-	ceph_test_keys ceph_test_rados_list_parallel \
+	ceph_test_rados_list_parallel \
 	ceph_test_rados_open_pools_parallel \
 	ceph_test_rados_delete_pools_parallel \
-	ceph_test_rados_watch_notify ceph_bench_log $(am__append_40) \
+	ceph_test_rados_watch_notify ceph_bench_log $(am__append_38) \
 	ceph_test_librbd ceph_test_librbd_fsx ceph_test_cls_rbd \
 	ceph_test_cls_refcount ceph_test_cls_version ceph_test_cls_log \
 	ceph_test_cls_statelog ceph_test_cls_replica_log \
-	ceph_test_cls_lock $(am__append_41) ceph_test_mon_workloadgen \
-	ceph_test_rados_api_cmd ceph_test_rados_api_io \
-	ceph_test_rados_api_aio ceph_test_rados_api_list \
-	ceph_test_rados_api_pool ceph_test_rados_api_stat \
-	ceph_test_rados_api_watch_notify ceph_test_rados_api_snapshots \
-	ceph_test_rados_api_cls ceph_test_rados_api_misc \
-	ceph_test_rados_api_lock ceph_test_libcephfs \
-	ceph_test_filestore ceph_test_filestore_workloadgen \
-	ceph_test_filestore_idempotent \
+	ceph_test_cls_lock ceph_test_cls_hello $(am__append_39) \
+	ceph_test_mon_workloadgen ceph_test_rados_api_cmd \
+	ceph_test_rados_api_io ceph_test_rados_api_aio \
+	ceph_test_rados_api_list ceph_test_rados_api_pool \
+	ceph_test_rados_api_stat ceph_test_rados_api_watch_notify \
+	ceph_test_rados_api_snapshots ceph_test_rados_api_cls \
+	ceph_test_rados_api_misc ceph_test_rados_api_lock \
+	ceph_test_libcephfs ceph_test_filestore \
+	ceph_test_filestore_workloadgen ceph_test_filestore_idempotent \
 	ceph_test_filestore_idempotent_sequence ceph_xattr_bench \
 	ceph_test_filejournal ceph_test_stress_watch \
 	ceph_test_objectcacher_stress ceph_test_snap_mapper \
 	ceph_test_object_map ceph_test_keyvaluedb_atomicity \
-	ceph_test_keyvaluedb_iterators ceph_test_store_tool \
-	ceph_test_cfuse_cache_invalidate
-# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin
-ceph_sbindir = $(exec_prefix)$(sbindir)
-ceph_sbin_SCRIPTS = \
-	ceph-disk \
-	ceph-disk-prepare \
-	ceph-disk-activate \
-	ceph-disk-udev \
-	ceph-create-keys
-
-sbin_SCRIPTS = mount.fuse.ceph mkcephfs
-bin_SCRIPTS = ceph ceph-run ceph-rest-api ceph-clsinfo ceph-debugpack \
-	ceph-rbdnamer ceph-coverage
-dist_bin_SCRIPTS = 
-# tests to actually run on "make check"; if you need extra, non-test,
-# executables built, you need to replace this with manual assignments
-# target by target
-TESTS = $(check_PROGRAMS) unittest_bufferlist.sh
-EXTRALIBS = -luuid $(am__append_1) $(am__append_2) $(am__append_3) \
-	$(am__append_46)
-LIBGLOBAL_LDA = libglobal.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-
-# use system leveldb
-LIBOS_LDA = libos.a $(am__append_4) -lleveldb -lsnappy
-
-# monitor
-ceph_mon_SOURCES = ceph_mon.cc common/TextTable.cc $(am__append_17) \
-	$(am__append_22)
-ceph_mon_LDFLAGS = $(AM_LDFLAGS)
-ceph_mon_LDADD = libmon.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) \
-	$(am__append_15)
-ceph_mon_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} $(am__append_16)
-ceph_mon_store_converter_SOURCES = mon_store_converter.cc \
-			       mon/MonitorStore.cc
-
-ceph_mon_store_converter_LDFLAGS = ${AM_LDFLAGS}
-ceph_mon_store_converter_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_mon_store_converter_CXXFLAGS = ${AM_CXXFLAGS}
-
-# osd
-ceph_osd_SOURCES = ceph_osd.cc objclass/class_debug.cc \
-	objclass/class_api.cc $(am__append_11) $(am__append_20)
-ceph_osd_LDADD = libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) \
-	$(am__append_5) $(am__append_9)
-ceph_osd_CXXFLAGS = ${AM_CXXFLAGS} $(am__append_10)
-
-# mds
-ceph_mds_SOURCES = ceph_mds.cc $(am__append_14) $(am__append_21)
-ceph_mds_LDADD = libmds.a libosdc.la $(LIBGLOBAL_LDA) $(am__append_12)
-ceph_mds_CXXFLAGS = ${AM_CXXFLAGS} $(am__append_13)
+	ceph_test_keyvaluedb_iterators \
+	ceph_test_cfuse_cache_invalidate ceph-osdomap-tool \
+	ceph-monstore-tool ceph-kvstore-tool ceph_scratchtool \
+	ceph_scratchtoolpp ceph_psim ceph_dupstore ceph_radosacl
 
-# admin tools
-ceph_conf_SOURCES = ceph_conf.cc
-ceph_conf_LDADD = $(LIBGLOBAL_LDA)
-ceph_conf_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_authtool_SOURCES = ceph_authtool.cc
-ceph_authtool_LDADD = $(LIBGLOBAL_LDA)
-ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc \
-	objclass/class_debug.cc objclass/class_api.cc \
-	perfglue/disabled_heap_profiler.cc
-ceph_filestore_dump_LDADD = libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) \
-	-lboost_program_options $(am__append_6)
-ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc \
-			  os/LevelDBStore.cc
-
-ceph_osdomap_tool_LDFLAGS = ${AM_LDFLAGS}
-ceph_osdomap_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options
-ceph_osdomap_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc \
-			  os/LevelDBStore.cc
-
-ceph_monstore_tool_LDFLAGS = ${AM_LDFLAGS}
-ceph_monstore_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options
-ceph_monstore_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-monmaptool_SOURCES = monmaptool.cc
-monmaptool_LDADD = $(LIBGLOBAL_LDA)
-crushtool_SOURCES = crushtool.cc
-crushtool_LDADD = $(LIBGLOBAL_LDA)
-osdmaptool_SOURCES = osdmaptool.cc
-osdmaptool_LDADD = $(LIBGLOBAL_LDA)
-rgw_dencoder_src = rgw/rgw_dencoder.cc \
-                   rgw/rgw_acl.cc \
-                   rgw/rgw_common.cc \
-                   rgw/rgw_env.cc \
-                   rgw/rgw_json_enc.cc
-
-ceph_dencoder_SOURCES = test/encoding/ceph_dencoder.cc ${rgw_dencoder_src} perfglue/disabled_heap_profiler.cc
-ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_dencoder_LDADD = $(LIBGLOBAL_LDA) libcls_lock_client.a \
-			  libcls_rgw_client.a \
-			  libcls_replica_log_client.a \
-			  libcls_refcount_client.a \
-			  libosd.a libmds.a libosdc.la $(LIBOS_LDA) libmon.a
-
-mount_ceph_SOURCES = mount/mount.ceph.c common/armor.c common/safe_io.c common/secret.c include/addr_parsing.c
-mount_ceph_LDADD = -lkeyutils
+# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin
+ceph_sbindir = $(sbindir)
 
-# user tools
-cephfs_SOURCES = cephfs.cc
-cephfs_LDADD = libcommon.la
-librados_config_SOURCES = librados-config.cc
-librados_config_LDADD = librados.la $(LIBGLOBAL_LDA)
+# certain things go straight into /sbin, though!
+su_sbindir = /sbin
 
-# synthetic client
-ceph_syn_SOURCES = ceph_syn.cc client/SyntheticClient.cc
-ceph_syn_LDADD = libclient.la $(LIBGLOBAL_LDA)
+# tests scripts will be appended to this
+check_SCRIPTS = unittest_bufferlist.sh \
+	test/encoding/check-generated.sh \
+	test/pybind/test_ceph_argparse.py
 
-# fuse targets?
- at WITH_FUSE_TRUE@ceph_fuse_SOURCES = ceph_fuse.cc client/fuse_ll.cc
- at WITH_FUSE_TRUE@ceph_fuse_LDADD = -lfuse libclient.la $(LIBGLOBAL_LDA) \
- at WITH_FUSE_TRUE@	$(am__append_18)
- at WITH_FUSE_TRUE@ceph_fuse_CXXFLAGS = ${AM_CXXFLAGS} $(am__append_19)
- at WITH_FUSE_TRUE@rbd_fuse_SOURCES = rbd_fuse/rbd-fuse.c
- at WITH_FUSE_TRUE@rbd_fuse_LDADD = -lfuse librados.la librbd.la $(LIBGLOBAL_LDA)
- at WITH_FUSE_TRUE@rbd_fuse_CXXFLAGS = ${AM_CXXFLAGS}
+##################################
+AM_COMMON_CPPFLAGS = \
+	-D__CEPH__ \
+	-D_FILE_OFFSET_BITS=64 \
+	-D_REENTRANT \
+	-D_THREAD_SAFE \
+	-D__STDC_FORMAT_MACROS \
+	-D_GNU_SOURCE \
+	-DCEPH_LIBDIR=\"${libdir}\"
 
-# tcmalloc?
- at WITH_TCMALLOC_TRUE@tcmalloc_safety_flags = -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
+AM_COMMON_CFLAGS = \
+	-rdynamic \
+	-Wall \
+	${WARN_TYPE_LIMITS} \
+	${WARN_IGNORED_QUALIFIERS} \
+	-Winit-self \
+	-Wpointer-arith \
+	-Werror=format-security \
+	-fno-strict-aliasing \
+	-fsigned-char
 
-# debug targets
-ceph_psim_SOURCES = psim.cc
-ceph_psim_LDADD = $(LIBGLOBAL_LDA)
-ceph_test_mutate_SOURCES = test/test_mutate.cc
-ceph_test_mutate_LDADD = librados.la $(LIBGLOBAL_LDA)
-ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc
-ceph_test_rewrite_latency_LDADD = libcommon.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_test_msgr_SOURCES = testmsgr.cc
-ceph_test_msgr_LDADD = $(LIBGLOBAL_LDA)
-ceph_test_ioctls_SOURCES = client/test_ioctls.c
-ceph_dupstore_SOURCES = dupstore.cc
-ceph_dupstore_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_dupstore_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_streamtest_SOURCES = streamtest.cc
-ceph_streamtest_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_streamtest_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_trans_SOURCES = test_trans.cc
-ceph_test_trans_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_test_trans_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_rados_SOURCES = test/osd/TestRados.cc test/osd/TestOpStat.cc test/osd/Object.cc  test/osd/RadosModel.cc
-ceph_test_rados_LDADD = librados.la $(LIBGLOBAL_LDA)
-ceph_smalliobench_SOURCES = test/bench/small_io_bench.cc test/bench/rados_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobench_LDADD = librados.la -lboost_program_options $(LIBGLOBAL_LDA)
-ceph_smalliobenchfs_SOURCES = test/bench/small_io_bench_fs.cc test/bench/filestore_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchfs_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_smalliobenchfs_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_smalliobenchdumb_SOURCES = test/bench/small_io_bench_dumb.cc test/bench/dumb_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchdumb_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_smalliobenchdumb_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_smalliobenchrbd_SOURCES = test/bench/small_io_bench_rbd.cc test/bench/rbd_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc
-ceph_smalliobenchrbd_LDADD = librados.la librbd.la -lboost_program_options $(LIBGLOBAL_LDA)
-ceph_tpbench_SOURCES = test/bench/tp_bench.cc test/bench/detailed_stat_collector.cc
-ceph_tpbench_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_omapbench_SOURCES = test/omap_bench.cc
-ceph_omapbench_LDADD = librados.la $(LIBGLOBAL_LDA)
-ceph_kvstorebench_SOURCES = test/kv_store_bench.cc key_value_store/kv_flat_btree_async.cc
-ceph_kvstorebench_LDADD = librados.la $(LIBGLOBAL_LDA)
-ceph_multi_stress_watch_SOURCES = test/multi_stress_watch.cc test/librados/test.cc
-ceph_multi_stress_watch_LDADD = librados.la $(LIBGLOBAL_LDA)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcommon_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcommon_build_LDADD = $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librados_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) $(librados_SOURCES)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librados_build_LDADD = $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librados_build_CXXFLAGS = $(AM_CXXFLAGS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librgw_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) \
- at WITH_BUILD_TESTS_TRUE@			    $(librados_SOURCES) $(librgw_la_SOURCES)
-
- at WITH_BUILD_TESTS_TRUE@ceph_test_librgw_build_LDADD = -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_librgw_build_CXXFLAGS = $(AM_CXXFLAGS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcephfs_build_SOURCES = test/test_libcommon_build.cc $(libcommon_files) \
- at WITH_BUILD_TESTS_TRUE@			    $(libosdc_la_SOURCES)
-
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcephfs_build_LDADD = libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
- at WITH_BUILD_TESTS_TRUE@ceph_test_libcephfs_build_CXXFLAGS = $(AM_CXXFLAGS)
- at WITH_HADOOPCLIENT_TRUE@ceph_test_libhadoopcephfs_build_SOURCES = test/test_libcommon_build.cc \
- at WITH_HADOOPCLIENT_TRUE@         $(libhadoopcephfs_la_SOURCES) \
- at WITH_HADOOPCLIENT_TRUE@	 $(libosdc_la_SOURCES) $(libcommon_files)
-
- at WITH_HADOOPCLIENT_TRUE@ceph_test_libhadoopcephfs_build_LDADD = libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
- at WITH_HADOOPCLIENT_TRUE@ceph_test_libhadoopcephfs_build_CXXFLAGS = $(AM_CXXFLAGS)
-
-##########
-BUILT_SOURCES = init-ceph
-lib_LTLIBRARIES = libcephfs.la librados.la librbd.la $(am__append_37) \
-	$(am__append_38)
-noinst_LTLIBRARIES = libsystest.la libcommon.la libglobal.la \
-	libosdc.la libclient.la
-noinst_LIBRARIES = $(am__append_25) libcls_lock_client.a \
-	libcls_refcount_client.a libcls_version_client.a \
-	libcls_log_client.a libcls_statelog_client.a \
-	libcls_replica_log_client.a libcls_rgw_client.a libmon.a \
-	libmds.a libos.a libosd.a
+AM_CFLAGS = $(AM_COMMON_CFLAGS) $(am__append_4) $(am__append_18)
+AM_CPPFLAGS = $(AM_COMMON_CPPFLAGS)
 
-# libcephfs
-libcephfs_la_SOURCES = \
-	libcephfs.cc
+# note: this is position dependant, it affects the -l options that
+# come after it on the command line. when you use ${AM_LDFLAGS} in
+# later rules, take care where you place it. for more information, see
+# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do
+# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed
+# http://www.gentoo.org/proj/en/qa/asneeded.xml
+# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html
+# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/
+AM_LDFLAGS = -Wl,--as-needed $(am__append_3)
+AM_CCASFLAGS = -f elf64
+
+#####################
+EXTRALIBS = -luuid -lm -lkeyutils $(am__append_6) $(am__append_7) \
+	$(am__append_8) $(am__append_12)
+LIBGLOBAL = libglobal.la
+LIBCOMMON = libcommon.la
+LIBARCH = libarch.la
+LIBPERFGLUE = libperfglue.la $(am__append_11)
+LIBAUTH = libauth.la
+LIBMSG = libmsg.la
+LIBCRUSH = libcrush.la
+LIBJSON_SPIRIT = libjson_spirit.la
+LIBLOG = liblog.la
+
+# Always use system leveldb
+LIBOS = libos.la $(am__append_9) $(am__append_10) -lleveldb -lsnappy
+
+# Libosd always needs osdc and os
+LIBOSD = libosd.la $(LIBOSDC) $(LIBOS) $(LIBPERFGLUE)
+LIBOSDC = libosdc.la
+
+# These have references to syms like ceph_using_tcmalloc(), glue libperfglue to them
+LIBMON = libmon.la $(LIBPERFGLUE)
+LIBMDS = libmds.la $(LIBPERFGLUE)
+LIBCLIENT = libclient.la
+LIBCLIENT_FUSE = libclient_fuse.la
+LIBRADOS = librados.la
+LIBRGW = librgw.la
+LIBRBD = librbd.la
+LIBCEPHFS = libcephfs.la
+
+# Use this for binaries requiring libglobal
+CEPH_GLOBAL = $(LIBGLOBAL) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
+
+# This is set by [lib]/Makefile.am and used for build tests
+
+# important; libmsg before libauth!
+LIBCOMMON_DEPS = libcommon_crc.la $(LIBMSG) $(LIBAUTH) $(LIBCRUSH) \
+	$(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH) -lkeyutils \
+	$(am__append_25)
+LIBRADOS_DEPS = libcls_lock_client.la $(LIBOSDC) $(LIBCOMMON)
+LIBRGW_DEPS = $(am__append_27)
+
+# This is used by the dencoder test
+DENCODER_SOURCES = $(am__append_30)
+DENCODER_DEPS = libcls_lock_client.la libcls_refcount_client.la \
+	libcls_replica_log_client.a libcls_rgw_client.la
+radoslibdir = $(libdir)/rados-classes
+libarch_la_SOURCES = \
+	arch/intel.c \
+	arch/neon.c \
+	arch/probe.cc
+
+libauth_la_SOURCES = \
+	auth/AuthAuthorizeHandler.cc \
+	auth/AuthClientHandler.cc \
+	auth/AuthSessionHandler.cc \
+	auth/AuthServiceHandler.cc \
+	auth/AuthMethodList.cc \
+	auth/cephx/CephxAuthorizeHandler.cc \
+	auth/cephx/CephxClientHandler.cc \
+	auth/cephx/CephxProtocol.cc \
+	auth/cephx/CephxServiceHandler.cc \
+	auth/cephx/CephxSessionHandler.cc \
+	auth/cephx/CephxKeyServer.cc \
+	auth/none/AuthNoneAuthorizeHandler.cc \
+	auth/unknown/AuthUnknownAuthorizeHandler.cc \
+	auth/Crypto.cc \
+	auth/KeyRing.cc \
+	auth/RotatingKeyRing.cc
 
-libcephfs_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libcephfs_la_CXXFLAGS = ${AM_CXXFLAGS}
-libcephfs_la_LIBADD = libclient.la
-libcephfs_la_LDFLAGS = $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \
-            ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*'
+libcrush_la_SOURCES = \
+	crush/builder.c \
+	crush/mapper.c \
+	crush/crush.c \
+	crush/hash.c \
+	crush/CrushWrapper.cc \
+	crush/CrushCompiler.cc \
+	crush/CrushTester.cc
 
-ceph_test_timers_SOURCES = test/TestTimers.cc
-ceph_test_timers_LDADD = $(LIBGLOBAL_LDA)
-ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc
-ceph_test_signal_handlers_LDADD = $(LIBGLOBAL_LDA)
+libmon_la_SOURCES = \
+	mon/Monitor.cc \
+	mon/Paxos.cc \
+	mon/PaxosService.cc \
+	mon/OSDMonitor.cc \
+	mon/MDSMonitor.cc \
+	mon/MonmapMonitor.cc \
+	mon/PGMonitor.cc \
+	mon/PGMap.cc \
+	mon/LogMonitor.cc \
+	mon/AuthMonitor.cc \
+	mon/Elector.cc \
+	mon/MonitorStore.cc \
+	mon/HealthMonitor.cc \
+	mon/DataHealthService.cc \
+	mon/ConfigKeyService.cc
 
-# librados
-librados_SOURCES = \
-	librados/librados.cc \
-	librados/RadosClient.cc \
-	librados/IoCtxImpl.cc \
+libmon_la_LIBADD = $(LIBAUTH) $(LIBCOMMON) $(LIBOS)
+libmds_la_SOURCES = \
+	mds/Anchor.cc \
+	mds/Capability.cc \
+	mds/Dumper.cc \
+	mds/Resetter.cc \
+	mds/MDS.cc \
+	mds/flock.cc \
+	mds/locks.c \
+	mds/journal.cc \
+	mds/Server.cc \
+	mds/Mutation.cc \
+	mds/MDCache.cc \
+	mds/Locker.cc \
+	mds/Migrator.cc \
+	mds/MDBalancer.cc \
+	mds/CDentry.cc \
+	mds/CDir.cc \
+	mds/CInode.cc \
+	mds/LogEvent.cc \
+	mds/MDSTable.cc \
+	mds/InoTable.cc \
+	mds/MDSTableClient.cc \
+	mds/MDSTableServer.cc \
+	mds/AnchorServer.cc \
+	mds/AnchorClient.cc \
+	mds/SnapRealm.cc \
+	mds/SnapServer.cc \
+	mds/snap.cc \
+	mds/SessionMap.cc \
+	mds/MDLog.cc 
+
+libmds_la_LIBADD = $(LIBOSDC)
+libos_la_SOURCES = \
+	os/FileJournal.cc \
+	os/FileStore.cc \
+	os/chain_xattr.cc \
+	os/ObjectStore.cc \
+	os/JournalingObjectStore.cc \
+	os/LFNIndex.cc \
+	os/HashIndex.cc \
+	os/IndexManager.cc \
+	os/FlatIndex.cc \
+	os/DBObjectMap.cc \
+	os/LevelDBStore.cc \
+	os/WBThrottle.cc \
+	os/BtrfsFileStoreBackend.cc \
+	os/GenericFileStoreBackend.cc \
+	os/ZFSFileStoreBackend.cc \
+	common/TrackedOp.cc
+
+ at WITH_LIBZFS_TRUE@libos_zfs_a_SOURCES = os/ZFS.cc
+ at WITH_LIBZFS_TRUE@libos_zfs_a_CXXFLAGS = ${AM_CXXFLAGS} ${LIBZFS_CFLAGS}
+erasure_codelibdir = $(libdir)/erasure-code
+erasure_codelib_LTLIBRARIES = libec_jerasure.la libec_example.la \
+	libec_missing_entry_point.la libec_hangs.la \
+	libec_fail_to_initialize.la libec_fail_to_register.la
+
+# jerasure plugin
+libec_jerasure_la_SOURCES = \
+  osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc \
+  osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc \
+  osd/ErasureCodePluginJerasure/cauchy.c \
+  osd/ErasureCodePluginJerasure/galois.c \
+  osd/ErasureCodePluginJerasure/jerasure.c \
+  osd/ErasureCodePluginJerasure/liberation.c \
+  osd/ErasureCodePluginJerasure/reed_sol.c
+
+libec_jerasure_la_CFLAGS = ${AM_CFLAGS} 
+libec_jerasure_la_CXXFLAGS = ${AM_CXXFLAGS} 
+libec_jerasure_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__erasure_code_.*'
+libosd_la_SOURCES = \
+	osd/ErasureCodePlugin.cc \
+	osd/PG.cc \
+	osd/PGLog.cc \
+	osd/ReplicatedPG.cc \
+	osd/ReplicatedBackend.cc \
+	osd/Ager.cc \
+	osd/OSD.cc \
+	osd/OSDCap.cc \
+	osd/Watch.cc \
+	osd/ClassHandler.cc \
+	osd/OpRequest.cc \
+	common/TrackedOp.cc \
+	osd/SnapMapper.cc \
+	osd/osd_types.cc \
+	objclass/class_api.cc
+
+libosd_la_LIBADD = $(LIBOSDC) $(LIBOS)
+libosdc_la_SOURCES = \
 	osdc/Objecter.cc \
+	osdc/ObjectCacher.cc \
+	osdc/Filer.cc \
 	osdc/Striper.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc
+	osdc/Journaler.cc
+
+libclient_la_SOURCES = \
+	client/Client.cc \
+	client/Inode.cc \
+	client/Dentry.cc \
+	client/MetaRequest.cc \
+	client/ClientSnapRealm.cc \
+	client/MetaSession.cc \
+	client/Trace.cc
+
+libclient_la_LIBADD = $(LIBOSDC) $(LIBEDIT_LIBS)
+ at WITH_FUSE_TRUE@libclient_fuse_la_SOURCES = client/fuse_ll.cc
+ at WITH_FUSE_TRUE@libclient_fuse_la_LIBADD = libclient.la -lfuse
+ceph_test_ioctls_SOURCES = client/test_ioctls.c
+libglobal_la_SOURCES = \
+	global/global_context.cc \
+	global/global_init.cc \
+	global/pidfile.cc \
+	global/signal_handler.cc
+
+libglobal_la_LIBADD = $(LIBCOMMON)
+libjson_spirit_la_SOURCES = \
+	json_spirit/json_spirit_reader.cpp \
+	json_spirit/json_spirit_writer.cpp \
+	json_spirit/json_spirit_value.cpp
+
+liblog_la_SOURCES = \
+	log/Log.cc \
+	log/SubsystemMap.cc
+
+libperfglue_la_SOURCES = $(am__append_17) $(am__append_20) \
+	$(am__append_21) $(am__append_22)
+ at WITH_TCMALLOC_TRUE@libperfglue_la_LIBADD = -ltcmalloc
+
+# these should go out of libcommon
+libcommon_la_SOURCES = ceph_ver.c common/DecayCounter.cc \
+	common/LogClient.cc common/LogEntry.cc \
+	common/PrebufferedStreambuf.cc common/SloppyCRCMap.cc \
+	common/BackTrace.cc common/perf_counters.cc common/Mutex.cc \
+	common/OutputDataSocket.cc common/admin_socket.cc \
+	common/admin_socket_client.cc common/cmdparse.cc \
+	common/escape.c common/Clock.cc common/Throttle.cc \
+	common/Timer.cc common/Finisher.cc common/environment.cc \
+	common/assert.cc common/run_cmd.cc common/WorkQueue.cc \
+	common/ConfUtils.cc common/MemoryModel.cc common/armor.c \
+	common/fd.cc common/xattr.c common/safe_io.c \
+	common/snap_types.cc common/str_list.cc common/errno.cc \
+	common/RefCountedObj.cc common/blkdev.cc common/common_init.cc \
+	common/pipe.c common/ceph_argparse.cc common/ceph_context.cc \
+	common/buffer.cc common/code_environment.cc common/dout.cc \
+	common/signal.cc common/simple_spin.cc common/Thread.cc \
+	common/Formatter.cc common/HeartbeatMap.cc common/config.cc \
+	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
+	common/lockdep.cc common/version.cc common/hex.cc \
+	common/entity_name.cc common/ceph_crypto.cc \
+	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
+	common/pick_address.cc common/util.cc common/TextTable.cc \
+	common/ceph_fs.cc common/ceph_hash.cc common/ceph_strings.cc \
+	common/ceph_frag.cc common/addr_parsing.c common/hobject.cc \
+	common/bloom_filter.cc $(am__append_23) mon/MonCap.cc \
+	mon/MonClient.cc mon/MonMap.cc osd/OSDMap.cc osd/osd_types.cc \
+	mds/MDSMap.cc mds/inode_backtrace.cc mds/mdstypes.cc
+
+# inject crc in common
+libcommon_crc_la_SOURCES = common/sctp_crc32.c common/crc32c.cc \
+	common/crc32c_intel_baseline.c common/crc32c_intel_fast.c \
+	$(am__append_24)
+ at WITH_GOOD_YASM_ELF64_TRUE@libcommon_crc_la_LIBTOOLFLAGS = --tag=CC
+libcommon_la_LIBADD = $(LIBCOMMON_DEPS)
+libmsg_la_SOURCES = \
+	msg/Accepter.cc \
+	msg/DispatchQueue.cc \
+	msg/Message.cc \
+	msg/Messenger.cc \
+	msg/Pipe.cc \
+	msg/SimpleMessenger.cc \
+	msg/msg_types.cc
+
+libcephfs_includedir = $(includedir)/cephfs
+libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h
+librbd_includedir = $(includedir)/rbd
+librbd_include_DATA = \
+	$(srcdir)/include/rbd/features.h \
+	$(srcdir)/include/rbd/librbd.h \
+	$(srcdir)/include/rbd/librbd.hpp
+
+rados_includedir = $(includedir)/rados
+rados_include_DATA = \
+	$(srcdir)/include/rados/librados.h \
+	$(srcdir)/include/rados/rados_types.h \
+	$(srcdir)/include/rados/rados_types.hpp \
+	$(srcdir)/include/rados/librados.hpp \
+	$(srcdir)/include/buffer.h \
+	$(srcdir)/include/page.h \
+	$(srcdir)/include/crc32c.h
+
+librados_la_SOURCES = \
+	librados/librados.cc \
+	librados/RadosClient.cc \
+	librados/IoCtxImpl.cc \
+	librados/snap_set_diff.cc
+
 
-librados_la_SOURCES = ${librados_SOURCES}
-librados_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-librados_la_CXXFLAGS = ${AM_CXXFLAGS}
-librados_la_LIBADD = libcommon.la $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+# We need this to avoid basename conflicts with the librados build tests in test/Makefile.am
+librados_la_CFLAGS = ${AM_CFLAGS}
+librados_la_LIBADD = $(LIBRADOS_DEPS) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
 librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^rados_.*'
+librbd_la_SOURCES = \
+	librbd/librbd.cc \
+	librbd/AioCompletion.cc \
+	librbd/AioRequest.cc \
+	librbd/ImageCtx.cc \
+	librbd/internal.cc \
+	librbd/LibrbdWriteback.cc \
+	librbd/WatchCtx.cc
+
+librbd_la_LIBADD = \
+	$(LIBRADOS) $(LIBOSDC) \
+	libcls_rbd_client.la libcls_lock_client.la \
+	$(PTHREAD_LIBS) $(EXTRALIBS)
 
-# rgw
- at WITH_RADOSGW_TRUE@librgw_a_SOURCES = \
+librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^rbd_.*'
+ at WITH_RADOSGW_TRUE@librgw_la_SOURCES = \
 @WITH_RADOSGW_TRUE@	rgw/librgw.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_acl.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_acl_s3.cc \
@@ -3436,10 +3714,10 @@ librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^
 @WITH_RADOSGW_TRUE@	rgw/rgw_json_enc.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_user.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_bucket.cc\
- at WITH_RADOSGW_TRUE@        rgw/rgw_tools.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_tools.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_rados.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_http_client.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_client.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_http_client.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_client.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_rest_conn.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_op.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_common.cc \
@@ -3453,174 +3731,86 @@ librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^
 @WITH_RADOSGW_TRUE@	rgw/rgw_env.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_cors.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_cors_s3.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_auth_s3.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_auth_s3.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_metadata.cc \
- at WITH_RADOSGW_TRUE@	rgw/rgw_replica_log.cc
-
- at WITH_RADOSGW_TRUE@librgw_a_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
- at WITH_RADOSGW_TRUE@librgw_a_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS}
- at WITH_RADOSGW_TRUE@my_radosgw_ldadd = \
- at WITH_RADOSGW_TRUE@       libglobal.la librgw.a librados.la libcls_rgw_client.a libcls_log_client.a \
- at WITH_RADOSGW_TRUE@       libcls_statelog_client.a libcls_replica_log_client.a libcls_lock_client.a \
- at WITH_RADOSGW_TRUE@       libcls_refcount_client.a libcls_version_client.a -lcurl -lexpat \
- at WITH_RADOSGW_TRUE@       $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) $(LIBGLOBAL_LDA)
+ at WITH_RADOSGW_TRUE@	rgw/rgw_replica_log.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_keystone.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_quota.cc
 
+ at WITH_RADOSGW_TRUE@librgw_la_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS}
 @WITH_RADOSGW_TRUE at radosgw_SOURCES = \
 @WITH_RADOSGW_TRUE@	rgw/rgw_resolve.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_swift.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_s3.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_usage.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_user.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_bucket.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_metadata.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_replica_log.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_log.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_opstate.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_replica_log.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_rest_config.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_http_client.cc \
- at WITH_RADOSGW_TRUE@        rgw/rgw_swift.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_swift.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_s3.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_usage.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_user.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_bucket.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_metadata.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_replica_log.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_log.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_opstate.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_replica_log.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_rest_config.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_http_client.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_swift.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_swift_auth.cc \
 @WITH_RADOSGW_TRUE@	rgw/rgw_main.cc
 
- at WITH_RADOSGW_TRUE@radosgw_LDADD = $(my_radosgw_ldadd) -lfcgi -lresolv
- at WITH_RADOSGW_TRUE@radosgw_CXXFLAGS = ${AM_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@radosgw_LDADD = $(LIBRGW) $(LIBRGW_DEPS) -lresolv $(CEPH_GLOBAL)
 @WITH_RADOSGW_TRUE at radosgw_admin_SOURCES = rgw/rgw_admin.cc
- at WITH_RADOSGW_TRUE@radosgw_admin_CXXFLAGS = ${AM_CXXFLAGS}
- at WITH_RADOSGW_TRUE@radosgw_admin_LDADD = $(my_radosgw_ldadd)
+ at WITH_RADOSGW_TRUE@radosgw_admin_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
 @WITH_RADOSGW_TRUE at ceph_rgw_multiparser_SOURCES = rgw/rgw_multiparser.cc
- at WITH_RADOSGW_TRUE@ceph_rgw_multiparser_CXXFLAGS = ${AM_CXXFLAGS}
- at WITH_RADOSGW_TRUE@ceph_rgw_multiparser_LDADD = $(my_radosgw_ldadd)
- at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_SOURCES = rgw/rgw_jsonparser.cc rgw/rgw_common.cc rgw/rgw_env.cc rgw/rgw_json_enc.cc
- at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
- at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_LDADD = $(my_radosgw_ldadd)
+ at WITH_RADOSGW_TRUE@ceph_rgw_multiparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
+ at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_SOURCES = \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_jsonparser.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_common.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_env.cc \
+ at WITH_RADOSGW_TRUE@	rgw/rgw_json_enc.cc
 
-# librbd
-librbd_la_SOURCES = \
-	librbd/librbd.cc \
-	librbd/AioCompletion.cc \
-	librbd/AioRequest.cc \
-	cls/rbd/cls_rbd_client.cc \
-	librbd/ImageCtx.cc \
-	librbd/internal.cc \
-	librbd/LibrbdWriteback.cc \
-	librbd/WatchCtx.cc \
-	osdc/ObjectCacher.cc \
-	osdc/Striper.cc \
-	librados/snap_set_diff.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc \
-	common/util.cc
-
-librbd_la_CFLAGS = ${AM_CFLAGS} ${CRYPTO_CFLAGS}
-librbd_la_CXXFLAGS = ${AM_CXXFLAGS}
-librbd_la_LIBADD = librados.la
-librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 \
-	-export-symbols-regex '^rbd_.*' $(PTHREAD_LIBS) $(EXTRALIBS) 
-
-rados_SOURCES = rados.cc rados_import.cc rados_export.cc rados_sync.cc common/obj_bencher.cc
-rados_LDADD = libcls_lock_client.a librados.la $(LIBGLOBAL_LDA)
- at WITH_REST_BENCH_TRUE@rest_bench_SOURCES = tools/rest_bench.cc common/obj_bencher.cc
- at WITH_REST_BENCH_TRUE@rest_bench_LDADD = $(LIBGLOBAL_LDA) \
- at WITH_REST_BENCH_TRUE@	$(am__append_29) $(am__append_30)
- at WITH_REST_BENCH_TRUE@rest_bench_CXXFLAGS = ${AM_CXXFLAGS} \
- at WITH_REST_BENCH_TRUE@	$(am__append_31)
-ceph_scratchtool_SOURCES = scratchtool.c
-ceph_scratchtool_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-ceph_scratchtoolpp_SOURCES = scratchtoolpp.cc
-ceph_scratchtoolpp_LDADD = librados.la $(PTHREAD_LIBS) -lm
-ceph_radosacl_SOURCES = radosacl.cc
-ceph_radosacl_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
-rbd_SOURCES = rbd.cc common/secret.c common/TextTable.cc common/util.cc
-rbd_CXXFLAGS = ${AM_CXXFLAGS}
-rbd_LDADD = librbd.la librados.la $(LIBGLOBAL_LDA) -lkeyutils
-ceph_test_crypto_SOURCES = testcrypto.cc
-ceph_test_crypto_LDADD = $(LIBGLOBAL_LDA)
-ceph_test_crypto_CXXFLAGS = ${AM_CXXFLAGS}
-ceph_test_keys_SOURCES = testkeys.cc $(am__append_36)
-ceph_test_keys_LDADD = libmon.a $(LIBGLOBAL_LDA) $(am__append_34)
-ceph_test_keys_CXXFLAGS = ${AM_CXXFLAGS} $(am__append_35)
-
-# rbd: rados block device class
+ at WITH_RADOSGW_TRUE@ceph_rgw_jsonparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
+libcls_hello_la_SOURCES = cls/hello/cls_hello.cc
+libcls_hello_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_hello_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
 libcls_rbd_la_SOURCES = cls/rbd/cls_rbd.cc
-libcls_rbd_la_CFLAGS = ${AM_CFLAGS}
-libcls_rbd_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_rbd_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_rbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-radoslibdir = $(libdir)/rados-classes
-radoslib_LTLIBRARIES = libcls_rbd.la libcls_lock.la libcls_refcount.la \
-	libcls_version.la libcls_log.la libcls_statelog.la \
-	libcls_replica_log.la libcls_rgw.la libcls_kvs.la
-
-# lock class
 libcls_lock_la_SOURCES = cls/lock/cls_lock.cc
-libcls_lock_la_CFLAGS = ${AM_CFLAGS}
-libcls_lock_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_lock_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_lock_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-# refcount class
 libcls_refcount_la_SOURCES = \
 	cls/refcount/cls_refcount.cc \
 	cls/refcount/cls_refcount_ops.cc \
-	common/ceph_json.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp
+	common/ceph_json.cc 
 
-libcls_refcount_la_CFLAGS = ${AM_CFLAGS}
-libcls_refcount_la_CXXFLAGS = ${AM_CXXFLAGS}
-libcls_refcount_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_refcount_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_refcount_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-# version class
 libcls_version_la_SOURCES = cls/version/cls_version.cc
-libcls_version_la_CFLAGS = ${AM_CFLAGS}
-libcls_version_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_version_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_version_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-# log class
 libcls_log_la_SOURCES = cls/log/cls_log.cc
-libcls_log_la_CFLAGS = ${AM_CFLAGS}
-libcls_log_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
 libcls_statelog_la_SOURCES = cls/statelog/cls_statelog.cc
-libcls_statelog_la_CFLAGS = ${AM_CFLAGS}
-libcls_statelog_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_statelog_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_statelog_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-# replica log class
 libcls_replica_log_la_SOURCES = cls/replica_log/cls_replica_log.cc
-libcls_replica_log_la_CFLAGS = ${AM_CFLAGS}
-libcls_replica_log_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_replica_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_replica_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-
-# rgw: rados gateway
 libcls_rgw_la_SOURCES = \
 	cls/rgw/cls_rgw.cc \
 	cls/rgw/cls_rgw_ops.cc \
 	cls/rgw/cls_rgw_types.cc \
-	common/ceph_json.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp
+	common/ceph_json.cc
 
-libcls_rgw_la_CFLAGS = ${AM_CFLAGS}
-libcls_rgw_la_CXXFLAGS = ${AM_CXXFLAGS}
-libcls_rgw_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_rgw_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_rgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
-libcls_lock_client_a_SOURCES = \
-	cls/lock/cls_lock_client.cc  \
+libcls_lock_client_la_SOURCES = \
+	cls/lock/cls_lock_client.cc \
 	cls/lock/cls_lock_types.cc \
 	cls/lock/cls_lock_ops.cc
 
-libcls_refcount_client_a_SOURCES = \
+libcls_refcount_client_la_SOURCES = \
 	cls/refcount/cls_refcount_client.cc \
 	cls/refcount/cls_refcount_ops.cc
 
@@ -3628,69 +3818,179 @@ libcls_version_client_a_SOURCES = \
 	cls/version/cls_version_client.cc \
 	cls/version/cls_version_types.cc
 
-libcls_log_client_a_SOURCES = \
-	cls/log/cls_log_client.cc
-
-libcls_statelog_client_a_SOURCES = \
-	cls/statelog/cls_statelog_client.cc
-
+libcls_log_client_a_SOURCES = cls/log/cls_log_client.cc
+libcls_statelog_client_a_SOURCES = cls/statelog/cls_statelog_client.cc
 libcls_replica_log_client_a_SOURCES = \
 	cls/replica_log/cls_replica_log_types.cc \
 	cls/replica_log/cls_replica_log_ops.cc \
 	cls/replica_log/cls_replica_log_client.cc
 
-libcls_rgw_client_a_SOURCES = \
+libcls_rgw_client_la_SOURCES = \
 	cls/rgw/cls_rgw_client.cc \
 	cls/rgw/cls_rgw_types.cc \
 	cls/rgw/cls_rgw_ops.cc
 
- at WITH_HADOOPCLIENT_TRUE@JAVA_BASE = /usr/lib/jvm/java-6-sun
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_SOURCES = client/hadoop/CephFSInterface.cc
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_LIBADD = libcephfs.la
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_CFLAGS = ${AM_CFLAGS}
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_CXXFLAGS = ${AM_CXXFLAGS}
- at WITH_HADOOPCLIENT_TRUE@libhadoopcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex 'hadoopcephfs_.*'
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_SOURCES = \
- at ENABLE_CEPHFS_JAVA_TRUE@	java/native/libcephfs_jni.cc \
- at ENABLE_CEPHFS_JAVA_TRUE@	java/native/ScopedLocalRef.h \
- at ENABLE_CEPHFS_JAVA_TRUE@	java/native/JniConstants.cpp \
- at ENABLE_CEPHFS_JAVA_TRUE@	java/native/JniConstants.h
-
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_LIBADD = libcephfs.la $(EXTRALIBS)
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_CPPFLAGS = $(JDK_CPPFLAGS)
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_CXXFLAGS = ${AM_CXXFLAGS}
- at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0
-
-# key_value_store: key value store class
+libcls_rbd_client_la_SOURCES = cls/rbd/cls_rbd_client.cc
 libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc
-libcls_kvs_la_CFLAGS = ${AM_CFLAGS}
-libcls_kvs_la_CXXFLAGS = ${AM_CXXFLAGS}
 libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libcls_kvs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+ceph_test_timers_SOURCES = test/TestTimers.cc
+ceph_test_timers_LDADD = $(CEPH_GLOBAL)
+ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc
+ceph_test_signal_handlers_LDADD = $(CEPH_GLOBAL)
+ceph_test_rados_SOURCES = \
+	test/osd/TestRados.cc \
+	test/osd/TestOpStat.cc \
+	test/osd/Object.cc \
+	test/osd/RadosModel.cc
+
+ceph_test_rados_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_test_mutate_SOURCES = test/test_mutate.cc
+ceph_test_mutate_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc
+ceph_test_rewrite_latency_LDADD = $(LIBCOMMON) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
+ceph_test_msgr_SOURCES = test/testmsgr.cc
+ceph_test_msgr_LDADD = $(CEPH_GLOBAL)
+ceph_streamtest_SOURCES = test/streamtest.cc
+ceph_streamtest_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_test_trans_SOURCES = test/test_trans.cc
+ceph_test_trans_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_test_crypto_SOURCES = test/testcrypto.cc
+ceph_test_crypto_LDADD = $(CEPH_GLOBAL)
+ceph_test_keys_SOURCES = test/testkeys.cc
+ceph_test_keys_LDADD = $(LIBMON) $(CEPH_GLOBAL) 
+ceph_dencoder_SOURCES = \
+	test/encoding/ceph_dencoder.cc \
+	$(DENCODER_SOURCES)
+
+ceph_dencoder_LDADD = \
+	$(LIBOSD) $(LIBMDS) $(LIBMON) \
+	$(DENCODER_DEPS) $(CEPH_GLOBAL)
+
+
+# These should always use explicit _CFLAGS/_CXXFLAGS so avoid basename conflicts
+ceph_dencoder_CFLAGS = ${AM_CFLAGS} $(am__append_31)
+ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS} $(am__append_32)
+get_command_descriptions_SOURCES = test/common/get_command_descriptions.cc
+get_command_descriptions_LDADD = $(LIBMON) $(LIBCOMMON) $(CEPH_GLOBAL)
+
+# These should all use explicit _CXXFLAGS so avoid basename conflicts
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_SOURCES = \
+ at WITH_BUILD_TESTS_TRUE@	test/buildtest_skeleton.cc \
+ at WITH_BUILD_TESTS_TRUE@	$(libcommon_la_SOURCES)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_LDADD = \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBCOMMON_DEPS) \
+ at WITH_BUILD_TESTS_TRUE@	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_LDFLAGS = -static-libtool-libs
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_CFLAGS = $(AM_CFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_libcommon_CXXFLAGS = $(AM_CXXFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_SOURCES = \
+ at WITH_BUILD_TESTS_TRUE@	test/buildtest_skeleton.cc \
+ at WITH_BUILD_TESTS_TRUE@	$(librados_la_SOURCES)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_LDADD = \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBRADOS_DEPS) \
+ at WITH_BUILD_TESTS_TRUE@	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_LDFLAGS = -static-libtool-libs
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_CFLAGS = $(AM_CFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librados_CXXFLAGS = $(AM_CXXFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_SOURCES = \
+ at WITH_BUILD_TESTS_TRUE@	test/buildtest_skeleton.cc \
+ at WITH_BUILD_TESTS_TRUE@	$(librgw_la_SOURCES)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_LDADD = \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBRGW_DEPS) \
+ at WITH_BUILD_TESTS_TRUE@	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \
+ at WITH_BUILD_TESTS_TRUE@	$(CEPH_GLOBAL)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_LDFLAGS = -static-libtool-libs
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_CFLAGS = $(AM_CFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_librgw_CXXFLAGS = $(AM_CXXFLAGS)
+
+# I dont get this one... testing the osdc build but link in libcephfs?
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_SOURCES = \
+ at WITH_BUILD_TESTS_TRUE@	test/buildtest_skeleton.cc \
+ at WITH_BUILD_TESTS_TRUE@	$(libosdc_la_SOURCES)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_LDADD = \
+ at WITH_BUILD_TESTS_TRUE@	$(LIBCEPHFS) -lexpat \
+ at WITH_BUILD_TESTS_TRUE@	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_LDFLAGS = -static-libtool-libs
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_CFLAGS = $(AM_CFLAGS)
+ at WITH_BUILD_TESTS_TRUE@test_build_libcephfs_CXXFLAGS = $(AM_CXXFLAGS)
+ceph_smalliobench_SOURCES = \
+	test/bench/small_io_bench.cc \
+	test/bench/rados_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+
+ceph_smalliobench_LDADD = $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL)
+ceph_smalliobenchfs_SOURCES = \
+	test/bench/small_io_bench_fs.cc \
+	test/bench/testfilestore_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+
+ceph_smalliobenchfs_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+ceph_smalliobenchdumb_SOURCES = \
+	test/bench/small_io_bench_dumb.cc \
+	test/bench/dumb_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+
+ceph_smalliobenchdumb_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+ceph_smalliobenchrbd_SOURCES = \
+	test/bench/small_io_bench_rbd.cc \
+	test/bench/rbd_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+
+ceph_smalliobenchrbd_LDADD = $(LIBRBD) $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL)
+ceph_tpbench_SOURCES = \
+	test/bench/tp_bench.cc \
+	test/bench/detailed_stat_collector.cc
+
+ceph_tpbench_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+ceph_omapbench_SOURCES = test/omap_bench.cc
+ceph_omapbench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_kvstorebench_SOURCES = \
+	test/kv_store_bench.cc \
+	key_value_store/kv_flat_btree_async.cc
+
+ceph_kvstorebench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_multi_stress_watch_SOURCES = \
+	test/multi_stress_watch.cc \
+	test/librados/test.cc
+
+ceph_multi_stress_watch_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
 libsystest_la_SOURCES = \
 	test/system/cross_process_sem.cc \
 	test/system/systest_runnable.cc \
 	test/system/systest_settings.cc
 
-libsystest_la_LIBADD = $(LIBGLOBAL_LDA)
+libsystest_la_LIBADD = $(CEPH_GLOBAL)
 ceph_test_rados_list_parallel_SOURCES = \
 	test/system/rados_list_parallel.cc \
 	test/system/st_rados_create_pool.cc \
 	test/system/st_rados_list_objects.cc
 
-ceph_test_rados_list_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
+ceph_test_rados_list_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
 ceph_test_rados_open_pools_parallel_SOURCES = \
 	test/system/rados_open_pools_parallel.cc \
 	test/system/st_rados_create_pool.cc
 
-ceph_test_rados_open_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
+ceph_test_rados_open_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
 ceph_test_rados_delete_pools_parallel_SOURCES = \
 	test/system/rados_delete_pools_parallel.cc \
 	test/system/st_rados_create_pool.cc \
 	test/system/st_rados_delete_pool.cc \
 	test/system/st_rados_list_objects.cc
 
-ceph_test_rados_delete_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
+ceph_test_rados_delete_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
 ceph_test_rados_watch_notify_SOURCES = \
 	test/system/rados_watch_notify.cc \
 	test/system/st_rados_create_pool.cc \
@@ -3699,380 +3999,554 @@ ceph_test_rados_watch_notify_SOURCES = \
 	test/system/st_rados_watch.cc \
 	test/system/st_rados_notify.cc
 
-ceph_test_rados_watch_notify_LDADD = libsystest.la librados.la $(PTHREAD_LIBS)
-ceph_bench_log_SOURCES = \
-	test/bench_log.cc
-
-ceph_bench_log_LDADD = libcommon.la $(LIBGLOBAL_LDA)
+ceph_test_rados_watch_notify_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
+ceph_bench_log_SOURCES = test/bench_log.cc
+ceph_bench_log_LDADD = $(CEPH_GLOBAL)
 UNITTEST_CXXFLAGS = \
+	$(AM_CXXFLAGS) \
 	-I$(top_srcdir)/src/gtest/include \
 	-I$(top_builddir)/src/gtest/include
 
-UNITTEST_STATIC_LDADD = \
+UNITTEST_LDADD = \
 	$(top_builddir)/src/gtest/lib/libgtest.a \
 	$(top_builddir)/src/gtest/lib/libgtest_main.a \
 	$(PTHREAD_LIBS)
 
-UNITTEST_LDADD = ${UNITTEST_STATIC_LDADD}
 unittest_encoding_SOURCES = test/encoding.cc
-unittest_encoding_LDADD = libcephfs.la librados.la $(PTHREAD_LIBS) -lm \
-			  ${UNITTEST_LDADD}
-
-unittest_encoding_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} \
-		     -fno-strict-aliasing
-
+unittest_encoding_LDADD = $(LIBCEPHFS) $(LIBRADOS) -lm $(UNITTEST_LDADD)
+unittest_encoding_CXXFLAGS = $(UNITTEST_CXXFLAGS) -fno-strict-aliasing
 unittest_addrs_SOURCES = test/test_addrs.cc
-unittest_addrs_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_addrs_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-unittest_util_SOURCES = test/common/test_util.cc common/util.cc
-unittest_util_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_util_LDADD = libcommon.la $(PTHREAD_LIBS) -lm ${UNITTEST_LDADD} $(CRYPTO_LIBS) $(EXTRALIBS)
+unittest_addrs_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_addrs_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_bloom_filter_SOURCES = test/common/test_bloom_filter.cc
+unittest_bloom_filter_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_bloom_filter_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_sharedptr_registry_SOURCES = test/common/test_sharedptr_registry.cc
+unittest_sharedptr_registry_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_sharedptr_registry_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_sloppy_crc_map_SOURCES = test/common/test_sloppy_crc_map.cc
+unittest_sloppy_crc_map_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_sloppy_crc_map_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_util_SOURCES = test/common/test_util.cc
+unittest_util_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_util_LDADD = $(LIBCOMMON) -lm $(UNITTEST_LDADD) $(CRYPTO_LIBS) $(EXTRALIBS)
 unittest_workqueue_SOURCES = test/test_workqueue.cc
-unittest_workqueue_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_workqueue_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} 
+unittest_workqueue_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_workqueue_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
 unittest_striper_SOURCES = test/test_striper.cc 
-unittest_striper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_striper_LDADD = libosdc.la $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc common/PrebufferedStreambuf.cc
-unittest_prebufferedstreambuf_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_prebufferedstreambuf_LDADD = ${UNITTEST_LDADD} $(EXTRALIBS)
+unittest_striper_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_striper_LDADD = $(LIBOSDC) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc 
+unittest_prebufferedstreambuf_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_prebufferedstreambuf_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(EXTRALIBS)
 unittest_str_list_SOURCES = test/test_str_list.cc
-unittest_str_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_str_list_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} 
-unittest_log_SOURCES = log/test.cc common/PrebufferedStreambuf.cc
-unittest_log_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_log_LDADD = libcommon.la ${UNITTEST_LDADD}
-unittest_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2
+unittest_str_list_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_str_list_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_log_SOURCES = log/test.cc
+unittest_log_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD)
+unittest_log_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2
 unittest_throttle_SOURCES = test/common/Throttle.cc
-unittest_throttle_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_throttle_LDADD = libcommon.la ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_throttle_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2
+unittest_throttle_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_throttle_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2
 unittest_base64_SOURCES = test/base64.cc
-unittest_base64_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_base64_LDADD = libcephfs.la -lm ${UNITTEST_LDADD}
-unittest_base64_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_base64_LDADD = $(LIBCEPHFS) -lm $(UNITTEST_LDADD)
+unittest_base64_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_ceph_argparse_SOURCES = test/ceph_argparse.cc
-unittest_ceph_argparse_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_ceph_argparse_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD}
-unittest_ceph_argparse_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_ceph_argparse_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_argparse_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_ceph_compatset_SOURCES = test/ceph_compatset.cc
+unittest_ceph_compatset_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_compatset_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+libec_example_la_SOURCES = test/osd/ErasureCodePluginExample.cc
+libec_example_la_CFLAGS = ${AM_CFLAGS}
+libec_example_la_CXXFLAGS = ${AM_CXXFLAGS}
+libec_example_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_example_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+libec_missing_entry_point_la_SOURCES = test/osd/ErasureCodePluginMissingEntryPoint.cc
+libec_missing_entry_point_la_CFLAGS = ${AM_CFLAGS}
+libec_missing_entry_point_la_CXXFLAGS = ${AM_CXXFLAGS}
+libec_missing_entry_point_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_missing_entry_point_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+libec_hangs_la_SOURCES = test/osd/ErasureCodePluginHangs.cc
+libec_hangs_la_CFLAGS = ${AM_CFLAGS}
+libec_hangs_la_CXXFLAGS = ${AM_CXXFLAGS}
+libec_hangs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_hangs_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+libec_fail_to_initialize_la_SOURCES = test/osd/ErasureCodePluginFailToInitialize.cc
+libec_fail_to_initialize_la_CFLAGS = ${AM_CFLAGS}
+libec_fail_to_initialize_la_CXXFLAGS = ${AM_CXXFLAGS}
+libec_fail_to_initialize_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_fail_to_initialize_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+libec_fail_to_register_la_SOURCES = test/osd/ErasureCodePluginFailToRegister.cc
+libec_fail_to_register_la_CFLAGS = ${AM_CFLAGS}
+libec_fail_to_register_la_CXXFLAGS = ${AM_CXXFLAGS}
+libec_fail_to_register_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_fail_to_register_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+unittest_erasure_code_plugin_SOURCES = test/osd/TestErasureCodePlugin.cc 
+unittest_erasure_code_plugin_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_plugin_LDADD = $(LIBOSD) $(LIBCOMMON) \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL) $(am__append_34)
+unittest_erasure_code_jerasure_SOURCES = \
+	test/osd/TestErasureCodeJerasure.cc \
+	$(libec_jerasure_la_SOURCES)
+
+unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL) $(am__append_35)
+unittest_erasure_code_plugin_jerasure_SOURCES = \
+	test/osd/TestErasureCodePluginJerasure.cc
+
+unittest_erasure_code_plugin_jerasure_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_erasure_code_plugin_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL) $(am__append_36)
+unittest_erasure_code_example_SOURCES = test/osd/TestErasureCodeExample.cc 
+unittest_erasure_code_example_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_example_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
 unittest_osd_types_SOURCES = test/test_osd_types.cc
-unittest_osd_types_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_osd_types_LDADD = $(LIBGLOBAL_LDA) libcommon.la ${UNITTEST_LDADD} 
-unittest_pglog_SOURCES = test/osd/TestPGLog.cc objclass/class_api.cc perfglue/disabled_heap_profiler.cc
-unittest_pglog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_pglog_LDADD = libosd.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) \
-	${UNITTEST_LDADD} $(am__append_39)
+unittest_osd_types_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_osd_types_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) 
+unittest_pglog_SOURCES = test/osd/TestPGLog.cc
+unittest_pglog_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_pglog_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL) \
+	$(am__append_37)
 unittest_gather_SOURCES = test/gather.cc
-unittest_gather_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_gather_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_gather_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_gather_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_run_cmd_SOURCES = test/run_cmd.cc
-unittest_run_cmd_LDADD = libcephfs.la ${UNITTEST_LDADD}
-unittest_run_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_run_cmd_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_run_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_signals_SOURCES = test/signals.cc
-unittest_signals_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_signals_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_signals_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_signals_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_simple_spin_SOURCES = test/simple_spin.cc
-unittest_simple_spin_LDADD = libcephfs.la ${UNITTEST_LDADD}
-unittest_simple_spin_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_simple_spin_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_simple_spin_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_librados_SOURCES = test/librados/librados.cc
-unittest_librados_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_librados_LDADD = librados.la ${UNITTEST_LDADD}
-unittest_librados_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_librados_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+unittest_librados_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_bufferlist_SOURCES = test/bufferlist.cc
-unittest_bufferlist_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) 
-unittest_bufferlist_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_bufferlist_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) 
+unittest_bufferlist_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_crc32c_SOURCES = test/common/test_crc32c.cc
+unittest_crc32c_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_crc32c_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_arch_SOURCES = test/test_arch.c
+unittest_arch_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_arch_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_crypto_SOURCES = test/crypto.cc
-unittest_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS}
-unittest_crypto_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_perf_counters_SOURCES = test/perf_counters.cc
-unittest_perf_counters_LDFLAGS = ${AM_LDFLAGS}
-unittest_perf_counters_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD}
-unittest_perf_counters_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_perf_counters_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_perf_counters_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_admin_socket_SOURCES = test/admin_socket.cc
-unittest_admin_socket_LDFLAGS = ${AM_LDFLAGS}
-unittest_admin_socket_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} libcommon.la
-unittest_admin_socket_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_admin_socket_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_admin_socket_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_ceph_crypto_SOURCES = test/ceph_crypto.cc
-unittest_ceph_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS}
-unittest_ceph_crypto_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_ceph_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_ceph_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_utf8_SOURCES = test/utf8.cc
-unittest_utf8_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_utf8_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_utf8_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_utf8_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_utf8_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_mime_SOURCES = test/mime.cc
-unittest_mime_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_mime_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_mime_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_mime_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_mime_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_escape_SOURCES = test/escape.cc
-unittest_escape_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_escape_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_escape_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_escape_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_escape_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_chain_xattr_SOURCES = test/filestore/chain_xattr.cc
-unittest_chain_xattr_LDFLAGS = ${AM_LDFLAGS}
-unittest_chain_xattr_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_chain_xattr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
+unittest_chain_xattr_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_chain_xattr_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_flatindex_SOURCES = test/os/TestFlatIndex.cc
-unittest_flatindex_LDFLAGS = ${AM_LDFLAGS}
-unittest_flatindex_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_flatindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
+unittest_flatindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_flatindex_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_strtol_SOURCES = test/strtol.cc
-unittest_strtol_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_strtol_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_strtol_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_strtol_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_strtol_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_confutils_SOURCES = test/confutils.cc
-unittest_confutils_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_confutils_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_confutils_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc common/HeartbeatMap.cc
-unittest_heartbeatmap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_heartbeatmap_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_heartbeatmap_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_formatter_SOURCES = test/formatter.cc rgw/rgw_formats.cc
-unittest_formatter_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_formatter_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_formatter_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_confutils_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_confutils_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc
+unittest_heartbeatmap_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_heartbeatmap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+
+# why does this include rgw/rgw_formats.cc...?
+unittest_formatter_SOURCES = \
+	test/formatter.cc \
+	rgw/rgw_formats.cc
+
+unittest_formatter_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_formatter_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_libcephfs_config_SOURCES = test/libcephfs_config.cc
-unittest_libcephfs_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_libcephfs_config_LDADD = libcephfs.la ${UNITTEST_LDADD}
-unittest_libcephfs_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_libcephfs_config_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_libcephfs_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_lfnindex_SOURCES = test/os/TestLFNIndex.cc
-unittest_lfnindex_LDFLAGS = ${AM_LDFLAGS}
-unittest_lfnindex_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-unittest_lfnindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
+unittest_lfnindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_lfnindex_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_librados_config_SOURCES = test/librados/librados_config.cc
-unittest_librados_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_librados_config_LDADD = librados.la ${UNITTEST_LDADD}
-unittest_librados_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_librados_config_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+unittest_librados_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 
 #unittest_librgw_link_SOURCES = test/librgw_link.cc
 #unittest_librgw_link_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-#unittest_librgw_link_LDADD =  librgw.la ${UNITTEST_LDADD}
+#unittest_librgw_link_LDADD = $(LIBRGW) ${UNITTEST_LDADD}
 #unittest_librgw_link_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
 #check_PROGRAMS += unittest_librgw_link
 unittest_daemon_config_SOURCES = test/daemon_config.cc
-unittest_daemon_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_daemon_config_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_daemon_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc osd/OSDCap.cc
-unittest_osd_osdcap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_osd_osdcap_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_osd_osdcap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_mon_moncap_SOURCES = test/mon/moncap.cc mon/MonCap.cc
-unittest_mon_moncap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_mon_moncap_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA}
-unittest_mon_moncap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_daemon_config_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_daemon_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc 
+unittest_osd_osdcap_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_osd_osdcap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_mon_moncap_SOURCES = test/mon/moncap.cc
+unittest_mon_moncap_LDADD = $(LIBMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_mon_moncap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 
 #if WITH_RADOSGW
 #unittest_librgw_SOURCES = test/librgw.cc
 #unittest_librgw_LDFLAGS = -lrt $(PTHREAD_CFLAGS) -lcurl ${AM_LDFLAGS}
-#unittest_librgw_LDADD =  librgw.la librados.la ${UNITTEST_LDADD} -lexpat $(LIBGLOBAL_LDA)
+#unittest_librgw_LDADD =  librgw.la $(LIBRADOS) ${UNITTEST_LDADD} -lexpat $(CEPH_GLOBAL)
 #unittest_librgw_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
 #check_PROGRAMS += unittest_librgw
-#endif
+#endif # WITH_RADOSGW
 unittest_ipaddr_SOURCES = test/test_ipaddr.cc
-unittest_ipaddr_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA)
-unittest_ipaddr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_texttable_SOURCES = test/test_texttable.cc common/TextTable.cc 
-unittest_texttable_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-unittest_texttable_LDADD = librados.la ${UNITTEST_LDADD}
-unittest_texttable_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_ipaddr_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ipaddr_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_texttable_SOURCES = test/test_texttable.cc
+unittest_texttable_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD)
+unittest_texttable_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 @WITH_RADOSGW_TRUE at ceph_test_cors_SOURCES = test/test_cors.cc
- at WITH_RADOSGW_TRUE@ceph_test_cors_LDADD = librados.la librgw.a $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} -lcurl -luuid -lexpat
- at WITH_RADOSGW_TRUE@ceph_test_cors_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@ceph_test_cors_LDADD = \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+ at WITH_RADOSGW_TRUE@	$(UNITTEST_LDADD) \
+ at WITH_RADOSGW_TRUE@	-lcurl -luuid -lexpat
+
+ at WITH_RADOSGW_TRUE@ceph_test_cors_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 @WITH_RADOSGW_TRUE at ceph_test_cls_rgw_meta_SOURCES = test/test_rgw_admin_meta.cc
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_LDFLAGS = libglobal.la 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- at WITH_RADOSGW_TRUE@ libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_LDADD = \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+ at WITH_RADOSGW_TRUE@	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+ at WITH_RADOSGW_TRUE@	-lcurl -luuid -lexpat \
+ at WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_statelog_client.a libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_meta_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 @WITH_RADOSGW_TRUE at ceph_test_cls_rgw_log_SOURCES = test/test_rgw_admin_log.cc
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_LDFLAGS = libglobal.la 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- at WITH_RADOSGW_TRUE@ libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_LDADD = \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+ at WITH_RADOSGW_TRUE@	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+ at WITH_RADOSGW_TRUE@	-lcurl -luuid -lexpat \
+ at WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_statelog_client.a libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 @WITH_RADOSGW_TRUE at ceph_test_cls_rgw_opstate_SOURCES = test/test_rgw_admin_opstate.cc
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_LDFLAGS = libglobal.la 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(CRYPTO_LIBS) -lcurl -luuid -lexpat  librados.la libcls_version_client.a \
- at WITH_RADOSGW_TRUE@ libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a
-
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_librbd_SOURCES = test/librbd/test_librbd.cc test/librados/test.cc
-ceph_test_librbd_LDADD = librbd.la librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_librbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_LDADD = \
+ at WITH_RADOSGW_TRUE@	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+ at WITH_RADOSGW_TRUE@	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+ at WITH_RADOSGW_TRUE@	-lcurl -luuid -lexpat \
+ at WITH_RADOSGW_TRUE@	libcls_version_client.a libcls_log_client.a \
+ at WITH_RADOSGW_TRUE@	libcls_statelog_client.a libcls_refcount_client.la \
+ at WITH_RADOSGW_TRUE@	libcls_rgw_client.la libcls_lock_client.la
+
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_opstate_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_librbd_SOURCES = \
+	test/librbd/test_librbd.cc \
+	test/librados/test.cc
+
+ceph_test_librbd_LDADD = $(LIBRBD) $(LIBRADOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_librbd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
-ceph_test_librbd_fsx_LDADD = librbd.la librados.la -lm
+ceph_test_librbd_fsx_LDADD = $(LIBRBD) $(LIBRADOS) -lm
 ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
-ceph_test_cls_rbd_SOURCES = test/cls_rbd/test_cls_rbd.cc \
-	test/librados/test.cc \
-	cls/rbd/cls_rbd_client.cc \
-	cls/lock/cls_lock_client.cc \
-	cls/lock/cls_lock_types.cc \
-	cls/lock/cls_lock_ops.cc
+ceph_test_cls_rbd_SOURCES = \
+	test/cls_rbd/test_cls_rbd.cc \
+	test/librados/test.cc
 
-ceph_test_cls_rbd_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_rbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_cls_refcount_SOURCES = test/cls_refcount/test_cls_refcount.cc \
+ceph_test_cls_rbd_LDADD = $(LIBRADOS) libcls_rbd_client.la libcls_lock_client.la $(UNITTEST_LDADD)
+ceph_test_cls_rbd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_refcount_SOURCES = \
+	test/cls_refcount/test_cls_refcount.cc \
 	test/librados/test.cc
 
-ceph_test_cls_refcount_LDADD = librados.la libcls_refcount_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_refcount_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_cls_version_SOURCES = test/cls_version/test_cls_version.cc \
+ceph_test_cls_refcount_LDADD = $(LIBRADOS) libcls_refcount_client.la $(UNITTEST_LDADD)
+ceph_test_cls_refcount_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_version_SOURCES = \
+	test/cls_version/test_cls_version.cc \
 	test/librados/test.cc
 
-ceph_test_cls_version_LDADD = librados.la libcls_version_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_version_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_cls_log_SOURCES = test/cls_log/test_cls_log.cc \
+ceph_test_cls_version_LDADD = $(LIBRADOS) libcls_version_client.a $(UNITTEST_LDADD)
+ceph_test_cls_version_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_log_SOURCES = \
+	test/cls_log/test_cls_log.cc \
 	test/librados/test.cc
 
-ceph_test_cls_log_LDADD = libglobal.la librados.la libcls_log_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_cls_statelog_SOURCES = test/cls_statelog/test_cls_statelog.cc \
+ceph_test_cls_log_LDADD = $(LIBRADOS) libcls_log_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_statelog_SOURCES = \
+	test/cls_statelog/test_cls_statelog.cc \
 	test/librados/test.cc
 
-ceph_test_cls_statelog_LDADD = libglobal.la librados.la libcls_statelog_client.a ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_statelog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+ceph_test_cls_statelog_LDADD = $(LIBRADOS) libcls_statelog_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_statelog_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 ceph_test_cls_replica_log_SOURCES = \
 	test/cls_replica_log/test_cls_replica_log.cc \
 	test/librados/test.cc
 
-ceph_test_cls_replica_log_LDADD = libglobal.la librados.la \
-	libcls_replica_log_client.a ${UNITTEST_STATIC_LDADD}
+ceph_test_cls_replica_log_LDADD = \
+	$(LIBRADOS) libcls_replica_log_client.a \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL)
+
+ceph_test_cls_replica_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_lock_SOURCES = \
+	test/cls_lock/test_cls_lock.cc \
+	test/librados/test.cc
+
+ceph_test_cls_lock_LDADD = $(LIBRADOS) libcls_lock_client.la $(UNITTEST_LDADD)
+ceph_test_cls_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_cls_hello_SOURCES = \
+	test/cls_hello/test_cls_hello.cc \
+	test/librados/test.cc
+
+ceph_test_cls_hello_LDADD = \
+	$(LIBRADOS) $(CRYPTO_LIBS) \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL)
 
-ceph_test_cls_replica_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_cls_lock_SOURCES = test/cls_lock/test_cls_lock.cc test/librados/test.cc
-ceph_test_cls_lock_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_cls_lock_LDADD = libcls_lock_client.a librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_cls_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_SOURCES = test/cls_rgw/test_cls_rgw.cc \
+ceph_test_cls_hello_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_SOURCES = \
+ at WITH_RADOSGW_TRUE@	test/cls_rgw/test_cls_rgw.cc \
 @WITH_RADOSGW_TRUE@	test/librados/test.cc
 
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_LDADD = librados.la libcls_rgw_client.a ${UNITTEST_STATIC_LDADD}
- at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_mon_workloadgen_SOURCES = \
-     test/mon/test_mon_workloadgen.cc \
-		 osdc/Objecter.cc \
-		 osdc/Striper.cc
-
-ceph_test_mon_workloadgen_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_mon_workloadgen_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_test_rados_api_cmd_SOURCES = test/librados/cmd.cc test/librados/test.cc
-ceph_test_rados_api_cmd_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_cmd_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_io_SOURCES = test/librados/io.cc test/librados/test.cc
-ceph_test_rados_api_io_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_io_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_io_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_aio_SOURCES = test/librados/aio.cc test/librados/test.cc
-ceph_test_rados_api_aio_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_aio_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_aio_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_list_SOURCES = test/librados/list.cc test/librados/test.cc
-ceph_test_rados_api_list_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_list_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_pool_SOURCES = test/librados/pool.cc test/librados/test.cc
-ceph_test_rados_api_pool_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_pool_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_pool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_stat_SOURCES = test/librados/stat.cc test/librados/test.cc
-ceph_test_rados_api_stat_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_stat_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_stat_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_watch_notify_SOURCES = test/librados/watch_notify.cc test/librados/test.cc
-ceph_test_rados_api_watch_notify_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_watch_notify_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_watch_notify_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_snapshots_SOURCES = test/librados/snapshots.cc test/librados/test.cc
-ceph_test_rados_api_snapshots_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_snapshots_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_snapshots_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_cls_SOURCES = test/librados/cls.cc test/librados/test.cc
-ceph_test_rados_api_cls_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_cls_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_cls_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_misc_SOURCES = test/librados/misc.cc test/librados/test.cc
-ceph_test_rados_api_misc_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_misc_LDADD = librados.la $(LIBGLOBAL_LDA) ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_misc_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_rados_api_lock_SOURCES = test/librados/lock.cc test/librados/test.cc
-ceph_test_rados_api_lock_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_rados_api_lock_LDADD = librados.la ${UNITTEST_STATIC_LDADD}
-ceph_test_rados_api_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-ceph_test_libcephfs_SOURCES = test/libcephfs/test.cc test/libcephfs/readdir_r_cb.cc test/libcephfs/caps.cc test/libcephfs/multiclient.cc
-ceph_test_libcephfs_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
-ceph_test_libcephfs_LDADD = ${UNITTEST_STATIC_LDADD} libcephfs.la
-ceph_test_libcephfs_CXXFLAGS = $(AM_CXXFLAGS) ${UNITTEST_CXXFLAGS}
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_LDADD = $(LIBRADOS) libcls_rgw_client.la $(UNITTEST_LDADD)
+ at WITH_RADOSGW_TRUE@ceph_test_cls_rgw_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_mon_workloadgen_SOURCES = test/mon/test_mon_workloadgen.cc
+ceph_test_mon_workloadgen_LDADD = $(LIBOS) $(LIBOSDC) $(CEPH_GLOBAL)
+ceph_test_rados_api_cmd_SOURCES = \
+	test/librados/cmd.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_cmd_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_io_SOURCES = \
+	test/librados/io.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_io_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_io_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_aio_SOURCES = \
+	test/librados/aio.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_aio_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_aio_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_list_SOURCES = \
+	test/librados/list.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_list_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_list_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_pool_SOURCES = \
+	test/librados/pool.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_pool_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_pool_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_stat_SOURCES = \
+	test/librados/stat.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_stat_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_stat_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_watch_notify_SOURCES = \
+	test/librados/watch_notify.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_watch_notify_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_watch_notify_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_snapshots_SOURCES = \
+	test/librados/snapshots.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_snapshots_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_snapshots_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_cls_SOURCES = \
+	test/librados/cls.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_cls_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_cls_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_misc_SOURCES = \
+	test/librados/misc.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_misc_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_rados_api_misc_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_rados_api_lock_SOURCES = \
+	test/librados/lock.cc \
+	test/librados/test.cc
+
+ceph_test_rados_api_lock_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_libcephfs_SOURCES = \
+	test/libcephfs/test.cc \
+	test/libcephfs/readdir_r_cb.cc \
+	test/libcephfs/caps.cc \
+	test/libcephfs/multiclient.cc
+
+ceph_test_libcephfs_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+ceph_test_libcephfs_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 ceph_test_filestore_SOURCES = test/filestore/store_test.cc
-ceph_test_filestore_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_filestore_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS}
+ceph_test_filestore_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_filestore_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 ceph_test_filestore_workloadgen_SOURCES = \
-     test/filestore/workload_generator.cc \
-     test/filestore/TestFileStoreState.cc
-
-ceph_test_filestore_workloadgen_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_filestore_workloadgen_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_workloadgen_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_test_filestore_idempotent_SOURCES = test/filestore/test_idempotent.cc test/filestore/FileStoreTracker.cc test/common/ObjectContents.cc
-ceph_test_filestore_idempotent_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_filestore_idempotent_CXXFLAGS = $(AM_CXXFLAGS)
+	test/filestore/workload_generator.cc \
+	test/filestore/TestFileStoreState.cc
+
+ceph_test_filestore_workloadgen_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_test_filestore_idempotent_SOURCES = \
+	test/filestore/test_idempotent.cc \
+	test/filestore/FileStoreTracker.cc \
+	test/common/ObjectContents.cc
+
+ceph_test_filestore_idempotent_LDADD = $(LIBOS) $(CEPH_GLOBAL)
 ceph_test_filestore_idempotent_sequence_SOURCES = \
-     test/filestore/test_idempotent_sequence.cc \
-     test/filestore/DeterministicOpSequence.cc \
-     test/filestore/TestFileStoreState.cc \
-     test/filestore/FileStoreDiff.cc
+	test/filestore/test_idempotent_sequence.cc \
+	test/filestore/DeterministicOpSequence.cc \
+	test/filestore/TestFileStoreState.cc \
+	test/filestore/FileStoreDiff.cc
 
-ceph_test_filestore_idempotent_sequence_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
-ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA)
+ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS) $(CEPH_GLOBAL)
 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}  ${CRYPTO_CXXFLAGS}
+ceph_xattr_bench_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_xattr_bench_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 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}
-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}
-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}
-ceph_test_snap_mapper_SOURCES = test/test_snap_mapper.cc osd/SnapMapper.cc
-ceph_test_snap_mapper_LDFLAGS = ${AM_LDFLAGS}
-ceph_test_snap_mapper_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA)
-ceph_test_snap_mapper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS}
-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} ${CRYPTO_CXXFLAGS}
-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} ${CRYPTO_CXXFLAGS}
-ceph_test_keyvaluedb_iterators_SOURCES = test/ObjectMap/test_keyvaluedb_iterators.cc \
-                                    test/ObjectMap/KeyValueDBMemory.cc \
-                                    os/LevelDBStore.cc
-
-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} ${CRYPTO_CXXFLAGS}
-ceph_test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc \
-			  os/LevelDBStore.cc
-
-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}
+ceph_test_filejournal_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_filejournal_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_stress_watch_SOURCES = \
+	test/test_stress_watch.cc \
+	test/librados/test.cc
+
+ceph_test_stress_watch_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_stress_watch_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_objectcacher_stress_SOURCES = \
+	test/osdc/object_cacher_stress.cc \
+	test/osdc/FakeWriteback.cc
+
+ceph_test_objectcacher_stress_LDADD = $(LIBOSDC) $(CEPH_GLOBAL)
+ceph_test_snap_mapper_SOURCES = test/test_snap_mapper.cc
+ceph_test_snap_mapper_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_snap_mapper_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_object_map_SOURCES = \
+	test/ObjectMap/test_object_map.cc \
+	test/ObjectMap/KeyValueDBMemory.cc
+
+ceph_test_object_map_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_object_map_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc
+ceph_test_keyvaluedb_atomicity_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_keyvaluedb_atomicity_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_test_keyvaluedb_iterators_SOURCES = \
+	test/ObjectMap/test_keyvaluedb_iterators.cc \
+	test/ObjectMap/KeyValueDBMemory.cc
+
+ceph_test_keyvaluedb_iterators_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_keyvaluedb_iterators_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 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}
+ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc
+ceph_osdomap_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc
+ceph_monstore_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+ceph_kvstore_tool_SOURCES = tools/ceph-kvstore-tool.cc
+ceph_kvstore_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_kvstore_tool_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ceph_filestore_tool_SOURCES = tools/ceph-filestore-tool.cc
+ceph_filestore_tool_LDADD = $(LIBOSD) $(LIBOS) $(CEPH_GLOBAL) \
+	-lboost_program_options $(am__append_40)
+ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc
+ceph_filestore_dump_LDADD = $(LIBOSD) $(LIBOS) $(CEPH_GLOBAL) \
+	-lboost_program_options $(am__append_41)
+monmaptool_SOURCES = tools/monmaptool.cc
+monmaptool_LDADD = $(CEPH_GLOBAL)
+crushtool_SOURCES = tools/crushtool.cc
+crushtool_LDADD = $(CEPH_GLOBAL)
+osdmaptool_SOURCES = tools/osdmaptool.cc
+osdmaptool_LDADD = $(CEPH_GLOBAL)
+ceph_scratchtool_SOURCES = tools/scratchtool.c
+ceph_scratchtool_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_scratchtoolpp_SOURCES = tools/scratchtoolpp.cc
+ceph_scratchtoolpp_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_psim_SOURCES = tools/psim.cc
+ceph_psim_LDADD = $(CEPH_GLOBAL)
+ceph_dupstore_SOURCES = tools/dupstore.cc
+ceph_dupstore_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_radosacl_SOURCES = tools/radosacl.cc
+ceph_radosacl_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+rados_SOURCES = tools/rados/rados.cc tools/rados/rados_import.cc \
+	tools/rados/rados_export.cc tools/rados/rados_sync.cc \
+	common/obj_bencher.cc # needs cleanup so it can go in \
+	libcommon.la
+rados_LDADD = libcls_lock_client.la $(LIBRADOS) $(CEPH_GLOBAL)
+ at WITH_REST_BENCH_TRUE@rest_bench_SOURCES = tools/rest_bench.cc \
+ at WITH_REST_BENCH_TRUE@	common/obj_bencher.cc # needs cleanup so \
+ at WITH_REST_BENCH_TRUE@	it can go in libcommon.la
+ at WITH_REST_BENCH_TRUE@rest_bench_LDADD = $(CEPH_GLOBAL) \
+ at WITH_REST_BENCH_TRUE@	$(am__append_43) $(am__append_44)
+ at WITH_REST_BENCH_TRUE@@WITH_SYSTEM_LIBS3_FALSE at rest_bench_CXXFLAGS = ${AM_CXXFLAGS} -I$(top_srcdir)/src/libs3/inc
+ceph_conf_SOURCES = tools/ceph_conf.cc
+ceph_conf_LDADD = $(CEPH_GLOBAL)
+ceph_authtool_SOURCES = tools/ceph_authtool.cc
+ceph_authtool_LDADD = $(CEPH_GLOBAL)
+ceph_mon_store_converter_SOURCES = tools/mon_store_converter.cc
+ceph_mon_store_converter_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL)
+
+# subdirs
+
+# core daemons
+ceph_mon_SOURCES = ceph_mon.cc
+ceph_mon_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL)
+ceph_osd_SOURCES = ceph_osd.cc
+ceph_osd_LDADD = $(LIBOSD) $(CEPH_GLOBAL) $(am__append_46)
+ceph_mds_SOURCES = ceph_mds.cc
+ceph_mds_LDADD = $(LIBMDS) $(LIBOSDC) $(CEPH_GLOBAL)
+
+# admin tools
+
+# user tools
+mount_ceph_SOURCES = mount/mount.ceph.c
+mount_ceph_LDADD = $(LIBCOMMON)
+cephfs_SOURCES = cephfs.cc
+cephfs_LDADD = $(LIBCOMMON)
+librados_config_SOURCES = librados-config.cc
+librados_config_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+ceph_syn_SOURCES = ceph_syn.cc client/SyntheticClient.cc # uses \
+	g_conf.. needs cleanup
+ceph_syn_LDADD = $(LIBCLIENT) $(CEPH_GLOBAL)
+rbd_SOURCES = rbd.cc 
+rbd_LDADD = $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
+
+# Fuse targets
+ at WITH_FUSE_TRUE@ceph_fuse_SOURCES = ceph_fuse.cc
+ at WITH_FUSE_TRUE@ceph_fuse_LDADD = $(LIBCLIENT_FUSE) $(CEPH_GLOBAL)
+ at WITH_FUSE_TRUE@rbd_fuse_SOURCES = rbd_fuse/rbd-fuse.c
+ at WITH_FUSE_TRUE@rbd_fuse_LDADD = -lfuse $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
+
+# libcephfs (this should go somewhere else in the future)
+libcephfs_la_SOURCES = libcephfs.cc
+libcephfs_la_LIBADD = $(LIBCLIENT) $(LIBCOMMON) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+libcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*'
+
+# jni library (java source is in src/java)
+ at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_SOURCES = \
+ at ENABLE_CEPHFS_JAVA_TRUE@	java/native/libcephfs_jni.cc \
+ at ENABLE_CEPHFS_JAVA_TRUE@	java/native/ScopedLocalRef.h \
+ at ENABLE_CEPHFS_JAVA_TRUE@	java/native/JniConstants.cpp \
+ at ENABLE_CEPHFS_JAVA_TRUE@	java/native/JniConstants.h
+
+ at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_LIBADD = $(LIBCEPHFS) $(EXTRALIBS)
+ at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_CPPFLAGS = $(JDK_CPPFLAGS) $(AM_CPPFLAGS)
+ at ENABLE_CEPHFS_JAVA_TRUE@libcephfs_jni_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0
 
 # shell scripts
 editpaths = sed \
@@ -4084,35 +4558,13 @@ editpaths = sed \
 	-e 's|@prefix[@]|$(prefix)|g' \
 	-e 's|@@GCOV_PREFIX_STRIP[@][@]|$(GCOV_PREFIX_STRIP)|g'
 
-shell_scripts = init-ceph mkcephfs ceph-debugpack ceph-coverage
-AM_COMMON_FLAGS = \
-	-D__CEPH__ \
-	-D_FILE_OFFSET_BITS=64 \
-	-D_REENTRANT \
-	-D_THREAD_SAFE \
-	-D__STDC_FORMAT_MACROS \
-	-D_GNU_SOURCE \
-	-rdynamic \
-	-Wall \
-	${WARN_TYPE_LIMITS} \
-	${WARN_IGNORED_QUALIFIERS} \
-	-Winit-self \
-	-Wpointer-arith \
-	-Werror=format-security \
-	-fno-strict-aliasing \
-	-fsigned-char
 
-AM_CFLAGS = $(AM_COMMON_FLAGS) $(am__append_44)
-# note: this is position dependant, it affects the -l options that
-# come after it on the command line. when you use ${AM_LDFLAGS} in
-# later rules, take care where you place it. for more information, see
-# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do
-# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed
-# http://www.gentoo.org/proj/en/qa/asneeded.xml
-# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html
-# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/
-AM_LDFLAGS = -Wl,--as-needed $(am__append_43)
+# coverage
+shell_scripts = ceph-debugpack ceph-post-file init-ceph mkcephfs \
+	ceph-coverage
 doc_DATA = $(srcdir)/sample.ceph.conf sample.fetch_config
+
+# various scripts
 shell_commondir = $(libdir)/ceph
 shell_common_SCRIPTS = ceph_common.sh
 bash_completiondir = $(sysconfdir)/bash_completion.d
@@ -4121,783 +4573,29 @@ bash_completion_DATA = $(srcdir)/bash_completion/ceph \
                $(srcdir)/bash_completion/rbd \
                $(srcdir)/bash_completion/radosgw-admin
 
-libcephfs_includedir = $(includedir)/cephfs
-libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h
-librbd_includedir = $(includedir)/rbd
-librbd_include_DATA = \
-	$(srcdir)/include/rbd/features.h \
-	$(srcdir)/include/rbd/librbd.h \
-	$(srcdir)/include/rbd/librbd.hpp
-
-rados_includedir = $(includedir)/rados
-rados_include_DATA = \
-	$(srcdir)/include/rados/librados.h \
-	$(srcdir)/include/rados/rados_types.h \
-	$(srcdir)/include/rados/rados_types.hpp \
-	$(srcdir)/include/rados/librados.hpp \
-	$(srcdir)/include/buffer.h \
-	$(srcdir)/include/page.h \
-	$(srcdir)/include/crc32c.h
-
-
-# libs
-libcommon_la_SOURCES = $(libcommon_files)
-libcommon_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libcommon_la_CXXFLAGS = ${AM_CXXFLAGS}
-libcommon_la_LDFLAGS = -lrt
-libglobal_la_SOURCES = \
-	global/global_context.cc \
-	global/global_init.cc \
-	global/pidfile.cc \
-	global/signal_handler.cc
-
-libglobal_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS}
-libglobal_la_CXXFLAGS = ${AM_CXXFLAGS}
-libglobal_la_LIBADD = libcommon.la
-crush_files = \
-	crush/builder.c \
-	crush/mapper.c \
-	crush/crush.c \
-	crush/hash.c \
-	crush/CrushWrapper.cc \
-	crush/CrushCompiler.cc \
-	crush/CrushTester.cc
-
-
-# this list ommits the ceph_ver.c file
-libcommon_files = ./ceph_ver.c auth/AuthAuthorizeHandler.cc \
-	auth/AuthClientHandler.cc auth/AuthSessionHandler.cc \
-	auth/AuthMethodList.cc auth/cephx/CephxAuthorizeHandler.cc \
-	auth/cephx/CephxClientHandler.cc auth/cephx/CephxProtocol.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/none/AuthNoneAuthorizeHandler.cc \
-	auth/unknown/AuthUnknownAuthorizeHandler.cc auth/Crypto.cc \
-	auth/KeyRing.cc auth/RotatingKeyRing.cc common/DecayCounter.cc \
-	common/LogClient.cc common/LogEntry.cc \
-	common/PrebufferedStreambuf.cc common/BackTrace.cc \
-	common/perf_counters.cc common/Mutex.cc \
-	common/OutputDataSocket.cc common/admin_socket.cc \
-	common/admin_socket_client.cc common/cmdparse.cc \
-	common/escape.c common/Clock.cc common/Throttle.cc \
-	common/Timer.cc common/Finisher.cc common/environment.cc \
-	common/sctp_crc32.c common/crc32c-intel.c common/assert.cc \
-	common/run_cmd.cc common/WorkQueue.cc common/ConfUtils.cc \
-	common/MemoryModel.cc common/armor.c common/fd.cc \
-	common/xattr.c common/safe_io.c common/snap_types.cc \
-	common/str_list.cc common/errno.cc \
-	json_spirit/json_spirit_reader.cpp \
-	json_spirit/json_spirit_writer.cpp \
-	json_spirit/json_spirit_value.cpp log/Log.cc \
-	log/SubsystemMap.cc mon/MonCap.cc mon/MonClient.cc \
-	mon/MonMap.cc msg/Accepter.cc msg/DispatchQueue.cc \
-	msg/Message.cc common/RefCountedObj.cc msg/Messenger.cc \
-	msg/Pipe.cc msg/SimpleMessenger.cc msg/msg_types.cc \
-	os/hobject.cc osd/OSDMap.cc osd/osd_types.cc mds/MDSMap.cc \
-	mds/inode_backtrace.cc mds/mdstypes.cc common/blkdev.cc \
-	common/common_init.cc common/pipe.c common/ceph_argparse.cc \
-	common/ceph_context.cc common/buffer.cc \
-	common/code_environment.cc common/dout.cc common/signal.cc \
-	common/simple_spin.cc common/Thread.cc common/Formatter.cc \
-	common/HeartbeatMap.cc include/ceph_fs.cc include/ceph_hash.cc \
-	include/ceph_strings.cc include/ceph_frag.cc common/config.cc \
-	common/utf8.c common/mime.c common/strtol.cc common/page.cc \
-	common/lockdep.cc common/version.cc common/hex.cc \
-	common/entity_name.cc common/ceph_crypto.cc \
-	common/ceph_crypto_cms.cc common/ceph_json.cc common/ipaddr.cc \
-	common/pick_address.cc include/addr_parsing.c $(crush_files) \
-	$(am__append_47) $(am__append_48)
-libmon_a_SOURCES = \
-	auth/cephx/CephxKeyServer.cc \
-	auth/cephx/CephxServiceHandler.cc \
-	auth/cephx/CephxSessionHandler.cc \
-	auth/AuthServiceHandler.cc \
-	auth/AuthSessionHandler.cc \
-	mon/Monitor.cc \
-	mon/Paxos.cc \
-	mon/PaxosService.cc \
-	mon/OSDMonitor.cc \
-	mon/MDSMonitor.cc \
-	mon/MonmapMonitor.cc \
-	mon/PGMonitor.cc \
-	mon/PGMap.cc \
-	mon/LogMonitor.cc \
-	mon/AuthMonitor.cc \
-	mon/Elector.cc \
-	mon/MonitorStore.cc \
-	os/LevelDBStore.cc \
-	mon/HealthMonitor.cc \
-	mon/DataHealthService.cc \
-	mon/ConfigKeyService.cc \
-	common/util.cc
-
-libmon_a_CXXFLAGS = ${AM_CXXFLAGS}
-libmds_a_SOURCES = \
-	mds/Anchor.cc \
-	mds/Capability.cc \
-	mds/Dumper.cc \
-	mds/Resetter.cc \
-	mds/MDS.cc \
-	mds/flock.cc \
-	mds/locks.c \
-	mds/journal.cc \
-	mds/Server.cc \
-	mds/Mutation.cc \
-	mds/MDCache.cc \
-	mds/Locker.cc \
-	mds/Migrator.cc \
-	mds/MDBalancer.cc \
-	mds/CDentry.cc \
-	mds/CDir.cc \
-	mds/CInode.cc \
-	mds/LogEvent.cc \
-	mds/MDSTable.cc \
-	mds/InoTable.cc \
-	mds/MDSTableClient.cc \
-	mds/MDSTableServer.cc \
-	mds/AnchorServer.cc \
-	mds/AnchorClient.cc \
-	mds/SnapRealm.cc \
-	mds/SnapServer.cc \
-	mds/snap.cc \
-	mds/SessionMap.cc \
-	mds/MDLog.cc \
-	osdc/Journaler.cc
-
-libos_a_SOURCES = \
-	os/FileJournal.cc \
-	os/FileStore.cc \
-	os/chain_xattr.cc \
-	os/ObjectStore.cc \
-	os/JournalingObjectStore.cc \
-	os/LFNIndex.cc \
-	os/HashIndex.cc \
-	os/IndexManager.cc \
-	os/FlatIndex.cc \
-	os/DBObjectMap.cc \
-	os/LevelDBStore.cc \
-	os/WBThrottle.cc
+ceph_sbin_SCRIPTS = \
+	ceph-disk \
+	ceph-disk-prepare \
+	ceph-disk-activate \
+	ceph-disk-udev \
+	ceph-create-keys
 
-libos_a_CXXFLAGS = ${AM_CXXFLAGS}
-libosd_a_SOURCES = \
-	osd/PG.cc \
-	osd/PGLog.cc \
-	osd/ReplicatedPG.cc \
-	osd/Ager.cc \
-	osd/OSD.cc \
-	osd/OSDCap.cc \
-	osd/Watch.cc \
-	osd/ClassHandler.cc \
-	osd/OpRequest.cc \
-	osd/SnapMapper.cc
 
-libosd_a_CXXFLAGS = ${AM_CXXFLAGS}
-libosdc_la_SOURCES = \
-	osdc/Objecter.cc \
-	osdc/ObjectCacher.cc \
-	osdc/Filer.cc \
-	osdc/Striper.cc
+# tests to actually run on "make check"; if you need extra, non-test,
+# executables built, you need to replace this with manual assignments
+# target by target
+TESTS = \
+	$(check_PROGRAMS) \
+	$(check_SCRIPTS)
 
-libosdc_la_CXXFLAGS = ${AM_CXXFLAGS}
-libosdc_la_LIBADD = libcommon.la
-libclient_la_SOURCES = \
-	client/Client.cc \
-	client/Inode.cc \
-	client/Dentry.cc \
-	client/MetaRequest.cc \
-	client/ClientSnapRealm.cc \
-	client/MetaSession.cc \
-	client/Trace.cc
 
-libclient_la_LIBADD = libosdc.la $(LIBEDIT_LIBS)
+# pybind
 python_PYTHON = pybind/rados.py \
 		pybind/rbd.py \
 		pybind/cephfs.py \
 		pybind/ceph_argparse.py \
 		pybind/ceph_rest_api.py
 
-
-# headers... and everything else we want to include in a 'make dist' 
-# that autotools doesn't magically identify.
-noinst_HEADERS = \
-	rados_sync.h \
-	auth/cephx/CephxAuthorizeHandler.h\
-	auth/cephx/CephxKeyServer.h\
-	auth/cephx/CephxProtocol.h\
-	auth/cephx/CephxClientHandler.h\
-	auth/cephx/CephxServiceHandler.h\
-	auth/cephx/CephxSessionHandler.h\
-	auth/none/AuthNoneAuthorizeHandler.h\
-	auth/none/AuthNoneClientHandler.h\
-	auth/none/AuthNoneServiceHandler.h\
-	auth/none/AuthNoneSessionHandler.h\
-	auth/none/AuthNoneProtocol.h\
-	auth/unknown/AuthUnknownAuthorizeHandler.h\
-	auth/unknown/AuthUnknownClientHandler.h\
-	auth/unknown/AuthUnknownServiceHandler.h\
-	auth/unknown/AuthUnknownSessionHandler.h\
-	auth/unknown/AuthUnknownProtocol.h\
-	auth/Auth.h\
-	auth/AuthMethodList.h\
-	auth/AuthClientHandler.h\
-	auth/AuthServiceHandler.h\
-	auth/AuthSessionHandler.h\
-	auth/AuthAuthorizeHandler.h\
-	auth/KeyRing.h\
-	auth/RotatingKeyRing.h\
-	auth/Crypto.h\
-	bash_completion/ceph\
-	bash_completion/rados\
-	bash_completion/rbd\
-	bash_completion/radosgw-admin\
-        client/Client.h\
-	client/Dentry.h\
-	client/Dir.h\
-	client/Fh.h\
-	client/Inode.h\
-	client/MetaRequest.h\
-	client/MetaSession.h\
-	client/ClientSnapRealm.h\
-        client/SyntheticClient.h\
-        client/Trace.h\
-        client/fuse_ll.h\
-	client/ioctl.h\
-        client/hadoop/CephFSInterface.h\
-	client/ObjecterWriteback.h\
-	cls_acl.cc\
-	cls_crypto.cc\
-	cls/lock/cls_lock_types.h\
-	cls/lock/cls_lock_ops.h\
-	cls/lock/cls_lock_client.h\
-	cls/rbd/cls_rbd.h\
-	cls/rbd/cls_rbd_client.h\
-	cls/refcount/cls_refcount_ops.h\
-	cls/refcount/cls_refcount_client.h\
-	cls/version/cls_version_types.h\
-	cls/version/cls_version_ops.h\
-	cls/version/cls_version_client.h\
-	cls/log/cls_log_types.h\
-	cls/log/cls_log_ops.h\
-	cls/log/cls_log_client.h\
-	cls/statelog/cls_statelog_types.h\
-	cls/statelog/cls_statelog_ops.h\
-	cls/statelog/cls_statelog_client.h\
-	cls/replica_log/cls_replica_log_types.h\
-	cls/replica_log/cls_replica_log_ops.h\
-	cls/replica_log/cls_replica_log_client.h\
-	cls/rgw/cls_rgw_client.h\
-	cls/rgw/cls_rgw_ops.h\
-	cls/rgw/cls_rgw_types.h\
-	common/BackTrace.h\
-	common/RefCountedObj.h\
-	common/HeartbeatMap.h\
-	common/LogClient.h\
-	common/LogEntry.h\
-	common/Preforker.h\
-	common/WorkQueue.h\
-	common/PrioritizedQueue.h\
-	common/ceph_argparse.h\
-	common/ceph_context.h\
-	common/xattr.h\
-	common/blkdev.h\
-	common/compiler_extensions.h\
-	common/debug.h\
-	common/dout.h\
-	common/escape.h\
-	common/fd.h\
-	common/version.h\
-	common/hex.h\
-	common/entity_name.h\
-	common/errno.h\
-	common/environment.h\
-	common/likely.h\
-	common/lockdep.h\
-	common/obj_bencher.h\
-	common/snap_types.h\
-        common/Clock.h\
-        common/Cond.h\
-        common/ConfUtils.h\
-        common/DecayCounter.h\
-        common/Finisher.h\
-	common/Formatter.h\
-        common/perf_counters.h\
-	common/OutputDataSocket.h \
-	common/admin_socket.h \
-	common/admin_socket_client.h \
-	common/shared_cache.hpp \
-	common/tracked_int_ptr.hpp \
-	common/simple_cache.hpp \
-	common/sharedptr_registry.hpp \
-	common/map_cacher.hpp \
-        common/MemoryModel.h\
-        common/Mutex.h\
-	common/PrebufferedStreambuf.h\
-        common/RWLock.h\
-        common/Semaphore.h\
-	common/SimpleRNG.h\
-	common/TextTable.h\
-        common/Thread.h\
-        common/Throttle.h\
-        common/Timer.h\
-	common/TrackedOp.h\
-        common/arch.h\
-        common/armor.h\
-	global/global_init.h \
-	global/global_context.h \
-        common/common_init.h\
-        common/pipe.h\
-	common/code_environment.h \
-        common/signal.h\
-        global/signal_handler.h\
-        common/simple_spin.h\
-        common/run_cmd.h\
-	common/safe_io.h\
-        common/config.h\
-        common/config_obs.h\
-	common/config_opts.h\
-	common/ceph_crypto.h\
-	common/ceph_crypto_cms.h\
-	common/ceph_json.h\
-	common/lru_map.h\
-	common/utf8.h\
-	common/mime.h\
-	common/pick_address.h\
-	common/secret.h\
-	common/strtol.h\
-	common/static_assert.h\
-	common/AsyncReserver.h\
-	crush/CrushCompiler.h\
-	crush/CrushTester.h\
-        crush/CrushWrapper.h\
-        crush/CrushWrapper.i\
-        crush/builder.h\
-        crush/crush.h\
-        crush/grammar.h\
-        crush/hash.h\
-        crush/mapper.h\
-        crush/sample.txt\
-        crush/types.h\
-	fetch_config\
-	include/bloom_filter.hpp\
-        include/Context.h\
-	include/CompatSet.h\
-        include/Distribution.h\
-	include/addr_parsing.h\
-	include/assert.h\
-        include/atomic.h\
-        include/bitmapper.h\
-        include/blobhash.h\
-        include/buffer.h\
-        include/byteorder.h\
-	include/cephfs/libcephfs.h\
-	include/ceph_features.h\
-	include/ceph_frag.h\
-        include/ceph_fs.h\
-        include/ceph_hash.h\
-	include/cmp.h\
-	include/color.h\
-	include/compat.h\
-	include/crc32c.h\
-        include/encoding.h\
-        include/err.h\
-        include/error.h\
-        include/filepath.h\
-        include/frag.h\
-        include/hash.h\
-        include/intarith.h\
-        include/interval_set.h\
-        include/inttypes.h\
-	include/ipaddr.h\
-	include/linux_fiemap.h\
-        include/lru.h\
-	include/msgr.h\
-        include/object.h\
-        include/page.h\
-        include/rangeset.h\
-	include/rados.h\
-	include/rbd_types.h\
-        include/statlite.h\
-	include/str_list.h\
-	include/stringify.h\
-        include/triple.h\
-        include/types.h\
-        include/utime.h\
-        include/dlist.h\
-        include/elist.h\
-	include/uuid.h\
-        include/xlist.h\
-	include/rados/librados.h\
-	include/rados/rados_types.h\
-	include/rados/rados_types.hpp\
-	include/rados/librados.hpp\
-	include/rados/librgw.h\
-	include/rados/page.h\
-	include/rados/crc32c.h\
-	include/rados/buffer.h\
-	include/rbd/features.h\
-	include/rbd/librbd.h\
-	include/rbd/librbd.hpp\
-        include/util.h\
-	librados/snap_set_diff.h\
-	librados/AioCompletionImpl.h\
-	librados/IoCtxImpl.h\
-	librados/PoolAsyncCompletionImpl.h\
-	librados/RadosClient.h\
-	librbd/AioCompletion.h\
-	librbd/AioRequest.h\
-	librbd/ImageCtx.h\
-	librbd/internal.h\
-	librbd/LibrbdWriteback.h\
-	librbd/parent_types.h\
-	librbd/SnapInfo.h\
-	librbd/WatchCtx.h\
-	logrotate.conf\
-	json_spirit/json_spirit.h\
-	json_spirit/json_spirit_error_position.h\
-	json_spirit/json_spirit_reader.h\
-	json_spirit/json_spirit_reader_template.h\
-	json_spirit/json_spirit_stream_reader.h\
-	json_spirit/json_spirit_utils.h\
-	json_spirit/json_spirit_value.h\
-	json_spirit/json_spirit_writer.h\
-	json_spirit/json_spirit_writer_options.h\
-	json_spirit/json_spirit_writer_template.h\
-	key_value_store/key_value_structure.h\
-	key_value_store/kv_flat_btree_async.h\
-	key_value_store/kvs_arg_types.h\
-	log/Entry.h\
-	log/EntryQueue.h\
-	log/Log.h\
-	log/SubsystemMap.h\
-	mds/inode_backtrace.h\
-	mds/flock.h\
-	mds/locks.c\
-	mds/locks.h\
-        mds/Anchor.h\
-        mds/AnchorClient.h\
-        mds/AnchorServer.h\
-        mds/CDentry.h\
-        mds/CDir.h\
-        mds/CInode.h\
-        mds/Capability.h\
-	mds/Dumper.h\
-        mds/InoTable.h\
-        mds/LocalLock.h\
-        mds/Locker.h\
-        mds/LogEvent.h\
-        mds/LogSegment.h\
-        mds/MDBalancer.h\
-        mds/MDCache.h\
-        mds/MDLog.h\
-        mds/MDS.h\
-        mds/MDSMap.h\
-	mds/MDSTable.h\
-	mds/MDSTableServer.h\
-	mds/MDSTableClient.h\
-	mds/Mutation.h\
-        mds/Migrator.h\
-	mds/Resetter.h\
-        mds/ScatterLock.h\
-        mds/Server.h\
-        mds/SessionMap.h\
-        mds/SimpleLock.h\
-        mds/SnapClient.h\
-	mds/SnapRealm.h\
-        mds/SnapServer.h\
-        mds/events/ECommitted.h\
-        mds/events/EExport.h\
-        mds/events/EFragment.h\
-        mds/events/EImportFinish.h\
-        mds/events/EImportStart.h\
-        mds/events/EMetaBlob.h\
-        mds/events/EOpen.h\
-	mds/events/EResetJournal.h\
-        mds/events/ESession.h\
-        mds/events/ESessions.h\
-        mds/events/ESlaveUpdate.h\
-        mds/events/ESubtreeMap.h\
-	mds/events/ETableClient.h\
-	mds/events/ETableServer.h\
-        mds/events/EUpdate.h\
-        mds/mds_table_types.h\
-        mds/mdstypes.h\
-        mds/snap.h\
-        messages/MAuth.h\
-        messages/MAuthReply.h\
-	messages/MCacheExpire.h\
-        messages/MClientCaps.h\
-        messages/MClientCapRelease.h\
-        messages/MClientLease.h\
-        messages/MClientReconnect.h\
-        messages/MClientReply.h\
-        messages/MClientRequest.h\
-        messages/MClientRequestForward.h\
-        messages/MClientSession.h\
-        messages/MClientSnap.h\
-        messages/MCommand.h\
-        messages/MCommandReply.h\
-        messages/MDentryLink.h\
-        messages/MDentryUnlink.h\
-        messages/MDirUpdate.h\
-        messages/MDiscover.h\
-        messages/MDiscoverReply.h\
-        messages/MExportCaps.h\
-        messages/MExportCapsAck.h\
-        messages/MExportDir.h\
-        messages/MExportDirAck.h\
-        messages/MExportDirCancel.h\
-        messages/MExportDirDiscover.h\
-        messages/MExportDirDiscoverAck.h\
-        messages/MExportDirFinish.h\
-        messages/MExportDirNotify.h\
-        messages/MExportDirNotifyAck.h\
-        messages/MExportDirPrep.h\
-        messages/MExportDirPrepAck.h\
-        messages/MGenericMessage.h\
-        messages/MGetPoolStats.h\
-        messages/MGetPoolStatsReply.h\
-        messages/MHeartbeat.h\
-        messages/MInodeFileCaps.h\
-        messages/MLock.h\
-	messages/MLog.h\
-	messages/MLogAck.h\
-        messages/MMDSBeacon.h\
-        messages/MMDSCacheRejoin.h\
-	messages/MMDSLoadTargets.h\
-	messages/MMDSFindIno.h\
-	messages/MMDSFindInoReply.h\
-        messages/MMDSFragmentNotify.h\
-        messages/MMDSMap.h\
-	messages/MMDSOpenIno.h \
-	messages/MMDSOpenInoReply.h \
-        messages/MMDSResolve.h\
-        messages/MMDSResolveAck.h\
-        messages/MMDSSlaveRequest.h\
-        messages/MMDSTableRequest.h\
-        messages/MMonCommand.h\
-        messages/MMonCommandAck.h\
-        messages/MMonElection.h\
-        messages/MMonGetMap.h\
-        messages/MMonGetVersion.h\
-        messages/MMonGetVersionReply.h\
-	messages/MMonGlobalID.h\
-	messages/MMonHealth.h\
-	messages/MMonJoin.h\
-        messages/MMonMap.h\
-        messages/MMonPaxos.h\
-        messages/MMonProbe.h\
-        messages/MMonScrub.h \
-        messages/MMonSubscribe.h\
-        messages/MMonSubscribeAck.h\
-        messages/MMonSync.h \
-        messages/MOSDAlive.h\
-        messages/MOSDBoot.h\
-        messages/MOSDFailure.h\
-        messages/MOSDMarkMeDown.h\
-        messages/MOSDMap.h\
-        messages/MOSDOp.h\
-        messages/MOSDOpReply.h\
-	messages/MOSDPGBackfill.h\
-        messages/MOSDPGCreate.h\
-        messages/MOSDPGPush.h\
-        messages/MOSDPGPull.h\
-        messages/MOSDPGPushReply.h\
-        messages/MOSDPGInfo.h\
-        messages/MOSDPGLog.h\
-        messages/MOSDPGMissing.h\
-        messages/MOSDPGNotify.h\
-        messages/MOSDPGQuery.h\
-        messages/MOSDPGRemove.h\
-	messages/MOSDPGScan.h\
-        messages/MBackfillReserve.h\
-        messages/MRecoveryReserve.h\
-	messages/MMonQuorumService.h\
-        messages/MOSDPGTemp.h\
-        messages/MOSDPGTrim.h\
-        messages/MOSDPing.h\
-	messages/MOSDRepScrub.h\
-	messages/MOSDScrub.h\
-        messages/MOSDSubOp.h\
-        messages/MOSDSubOpReply.h\
-        messages/MPGStats.h\
-        messages/MPGStatsAck.h\
-        messages/MPing.h\
-	messages/MPoolOp.h\
-	messages/MPoolOpReply.h\
-        messages/MRemoveSnaps.h\
-	messages/MRoute.h\
-	messages/MForward.h\
-        messages/MStatfs.h\
-        messages/MStatfsReply.h\
-	messages/MTimeCheck.h\
-        messages/MWatchNotify.h\
-	messages/PaxosServiceMessage.h\
-	mon/AuthMonitor.h\
-        mon/DataHealthService.h\
-        mon/Elector.h\
-	mon/LogMonitor.h\
-	mon/ConfigKeyService.h\
-        mon/HealthMonitor.h\
-        mon/HealthService.h\
-        mon/MDSMonitor.h\
-	mon/MonmapMonitor.h\
-        mon/MonCap.h\
-        mon/MonClient.h\
-	mon/MonCommands.h\
-        mon/MonMap.h\
-        mon/Monitor.h\
-	mon/MonitorStore.h\
-        mon/MonitorDBStore.h\
-        mon/OSDMonitor.h\
-        mon/PGMap.h\
-        mon/PGMonitor.h\
-        mon/Paxos.h\
-        mon/PaxosService.h\
-	mon/QuorumService.h\
-        mon/Session.h\
-        mon/mon_types.h\
-	mount/canonicalize.c\
-	mount/mtab.c\
-	msg/Accepter.h\
-	msg/DispatchQueue.h\
-        msg/Dispatcher.h\
-        msg/Message.h\
-        msg/Messenger.h\
-	msg/Pipe.h\
-        msg/SimpleMessenger.h\
-        msg/msg_types.h\
-	objclass/objclass.h\
-	os/btrfs_ioctl.h\
-	os/chain_xattr.h\
-	os/hobject.h \
-	os/CollectionIndex.h\
-        os/FileJournal.h\
-        os/FileStore.h\
-	os/FlatIndex.h\
-	os/HashIndex.h\
-	os/FDCache.h\
-	os/WBThrottle.h\
-	os/IndexManager.h\
-        os/Journal.h\
-        os/JournalingObjectStore.h\
-	os/LFNIndex.h\
-        os/ObjectStore.h\
-	os/SequencerPosition.h\
-        osd/Ager.h\
-	osd/ClassHandler.h\
-        osd/OSD.h\
-        osd/OSDCap.h\
-        osd/OSDMap.h\
-        osd/ObjectVersioner.h\
-	osd/OpRequest.h\
-	osd/SnapMapper.h\
-        osd/PG.h\
-        osd/PGLog.h\
-        osd/ReplicatedPG.h\
-        osd/Watch.h\
-        osd/osd_types.h\
-        osdc/Blinker.h\
-        osdc/Filer.h\
-        osdc/Journaler.h\
-        osdc/ObjectCacher.h\
-        osdc/Objecter.h\
-	osdc/Striper.h\
-	osdc/WritebackHandler.h\
-        perfglue/cpu_profiler.h\
-        perfglue/heap_profiler.h\
-	rgw/logrotate.conf\
-	rgw/rgw_acl.h\
-	rgw/rgw_acl_s3.h\
-	rgw/rgw_acl_swift.h\
-	rgw/rgw_client_io.h\
-	rgw/rgw_fcgi.h\
-	rgw/rgw_xml.h\
-	rgw/rgw_cache.h\
-	rgw/rgw_common.h\
-	rgw/rgw_cors.h\
-	rgw/rgw_cors_s3.h\
-	rgw/rgw_cors_swift.h\
-	rgw/rgw_string.h\
-	rgw/rgw_formats.h\
-	rgw/rgw_http_errors.h\
-	rgw/rgw_log.h\
-	rgw/rgw_multi.h\
-	rgw/rgw_policy_s3.h\
-	rgw/rgw_gc.h\
-	rgw/rgw_metadata.h\
-	rgw/rgw_multi_del.h\
-	rgw/rgw_op.h\
-	rgw/rgw_http_client.h\
-	rgw/rgw_swift.h\
-	rgw/rgw_swift_auth.h\
-	rgw/rgw_rados.h\
-	rgw/rgw_replica_log.h \
-	rgw/rgw_resolve.h\
-	rgw/rgw_rest.h\
-	rgw/rgw_rest_swift.h\
-	rgw/rgw_rest_s3.h\
-	rgw/rgw_auth_s3.h\
-	rgw/rgw_rest_admin.h\
-	rgw/rgw_rest_usage.h\
-	rgw/rgw_rest_user.h\
-	rgw/rgw_rest_bucket.h\
-	rgw/rgw_rest_client.h\
-	rgw/rgw_rest_conn.h\
-	rgw/rgw_tools.h\
-	rgw/rgw_rest_metadata.h\
-	rgw/rgw_rest_log.h\
-	rgw/rgw_rest_opstate.h\
-	rgw/rgw_rest_replica_log.h\
-	rgw/rgw_rest_config.h\
-	rgw/rgw_usage.h\
-	rgw/rgw_user.h\
-	rgw/rgw_bucket.h\
-        sample.ceph.conf\
-	tools/common.h\
-	test/osd/RadosModel.h\
-	test/osd/Object.h\
-	test/osd/TestOpStat.h\
-	global/pidfile.h\
-	common/sync_filesystem.h \
-        test/bench/distribution.h \
-        test/bench/rados_backend.h \
-        test/bench/rbd_backend.h \
-        test/bench/bencher.h \
-        test/bench/backend.h \
-        test/bench/dumb_backend.h \
-        test/bench/stat_collector.h \
-        test/bench/detailed_stat_collector.h \
-        test/bench/filestore_backend.h \
-        test/common/ObjectContents.h \
-        test/encoding/types.h \
-        test/filestore/DeterministicOpSequence.h \
-        test/filestore/FileStoreTracker.h \
-        test/filestore/FileStoreDiff.h \
-        test/filestore/TestFileStoreState.h \
-        test/filestore/workload_generator.h \
-        test/kv_store_bench.h \
-        test/librados/test.h \
-        test/ObjectMap/KeyValueDBMemory.h \
-        test/omap_bench.h \
-        test/osd/Object.h \
-        test/osd/RadosModel.h \
-        test/osd/TestOpStat.h \
-        test/osdc/FakeWriteback.h \
-        test/system/cross_process_sem.h \
-        test/system/st_rados_create_pool.h \
-        test/system/st_rados_list_objects.h \
-        test/system/st_rados_delete_objs.h \
-        test/system/st_rados_delete_pool.h \
-        test/system/st_rados_notify.h \
-        test/system/st_rados_watch.h \
-        test/system/systest_runnable.h \
-        test/system/systest_settings.h \
-        test/unit.h \
-	os/ObjectMap.h \
-	os/DBObjectMap.h \
-	os/KeyValueDB.h \
-	os/LevelDBStore.h \
-	common/cmdparse.h
-
 @ENABLE_COVERAGE_TRUE at COV_DIR = $(DESTDIR)$(libdir)/ceph/coverage
 @ENABLE_COVERAGE_TRUE at COV_FILES = $(srcdir)/*.gcno
 @ENABLE_COVERAGE_TRUE at COV_LIB_FILES = $(srcdir)/.libs/*.gcno
@@ -4905,8 +4603,8 @@ all: $(BUILT_SOURCES) acconfig.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .cc .cpp .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+.SUFFIXES: .S .c .cc .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/Makefile-env.am $(srcdir)/arch/Makefile.am $(srcdir)/auth/Makefile.am $(srcdir)/crush/Makefile.am $(srcdir)/mon/Makefile.am $(srcdir)/mds/Makefile.am $(srcdir)/os/Makefile.am $(srcdir)/osd/Makefile.am $(srcdir)/osd/ErasureCodePluginJerasure/Makefile.am $(srcdir)/osdc/Makefile.am $(srcdir)/client/Makefile.am $(srcdir)/global/Makefile.am $(srcdir)/json_spirit/Makefile.am $(srcdir)/log/Makefile.am $(srcdir)/perfglue/Makefile.am $(srcdi [...]
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -4927,6 +4625,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
+$(srcdir)/Makefile-env.am $(srcdir)/arch/Makefile.am $(srcdir)/auth/Makefile.am $(srcdir)/crush/Makefile.am $(srcdir)/mon/Makefile.am $(srcdir)/mds/Makefile.am $(srcdir)/os/Makefile.am $(srcdir)/osd/Makefile.am $(srcdir)/osd/ErasureCodePluginJerasure/Makefile.am $(srcdir)/osdc/Makefile.am $(srcdir)/client/Makefile.am $(srcdir)/global/Makefile.am $(srcdir)/json_spirit/Makefile.am $(srcdir)/log/Makefile.am $(srcdir)/perfglue/Makefile.am $(srcdir)/common/Makefile.am $(srcdir)/msg/Makefile.a [...]
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -4954,54 +4653,107 @@ distclean-hdr:
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libcls_lock_client.a: $(libcls_lock_client_a_OBJECTS) $(libcls_lock_client_a_DEPENDENCIES) $(EXTRA_libcls_lock_client_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libcls_lock_client.a
-	$(AM_V_AR)$(libcls_lock_client_a_AR) libcls_lock_client.a $(libcls_lock_client_a_OBJECTS) $(libcls_lock_client_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libcls_lock_client.a
+cls/log/$(am__dirstamp):
+	@$(MKDIR_P) cls/log
+	@: > cls/log/$(am__dirstamp)
+cls/log/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/log/$(DEPDIR)
+	@: > cls/log/$(DEPDIR)/$(am__dirstamp)
+cls/log/cls_log_client.$(OBJEXT): cls/log/$(am__dirstamp) \
+	cls/log/$(DEPDIR)/$(am__dirstamp)
 libcls_log_client.a: $(libcls_log_client_a_OBJECTS) $(libcls_log_client_a_DEPENDENCIES) $(EXTRA_libcls_log_client_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcls_log_client.a
 	$(AM_V_AR)$(libcls_log_client_a_AR) libcls_log_client.a $(libcls_log_client_a_OBJECTS) $(libcls_log_client_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libcls_log_client.a
-libcls_refcount_client.a: $(libcls_refcount_client_a_OBJECTS) $(libcls_refcount_client_a_DEPENDENCIES) $(EXTRA_libcls_refcount_client_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libcls_refcount_client.a
-	$(AM_V_AR)$(libcls_refcount_client_a_AR) libcls_refcount_client.a $(libcls_refcount_client_a_OBJECTS) $(libcls_refcount_client_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libcls_refcount_client.a
+cls/replica_log/$(am__dirstamp):
+	@$(MKDIR_P) cls/replica_log
+	@: > cls/replica_log/$(am__dirstamp)
+cls/replica_log/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/replica_log/$(DEPDIR)
+	@: > cls/replica_log/$(DEPDIR)/$(am__dirstamp)
+cls/replica_log/cls_replica_log_types.$(OBJEXT):  \
+	cls/replica_log/$(am__dirstamp) \
+	cls/replica_log/$(DEPDIR)/$(am__dirstamp)
+cls/replica_log/cls_replica_log_ops.$(OBJEXT):  \
+	cls/replica_log/$(am__dirstamp) \
+	cls/replica_log/$(DEPDIR)/$(am__dirstamp)
+cls/replica_log/cls_replica_log_client.$(OBJEXT):  \
+	cls/replica_log/$(am__dirstamp) \
+	cls/replica_log/$(DEPDIR)/$(am__dirstamp)
 libcls_replica_log_client.a: $(libcls_replica_log_client_a_OBJECTS) $(libcls_replica_log_client_a_DEPENDENCIES) $(EXTRA_libcls_replica_log_client_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcls_replica_log_client.a
 	$(AM_V_AR)$(libcls_replica_log_client_a_AR) libcls_replica_log_client.a $(libcls_replica_log_client_a_OBJECTS) $(libcls_replica_log_client_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libcls_replica_log_client.a
-libcls_rgw_client.a: $(libcls_rgw_client_a_OBJECTS) $(libcls_rgw_client_a_DEPENDENCIES) $(EXTRA_libcls_rgw_client_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libcls_rgw_client.a
-	$(AM_V_AR)$(libcls_rgw_client_a_AR) libcls_rgw_client.a $(libcls_rgw_client_a_OBJECTS) $(libcls_rgw_client_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libcls_rgw_client.a
+cls/statelog/$(am__dirstamp):
+	@$(MKDIR_P) cls/statelog
+	@: > cls/statelog/$(am__dirstamp)
+cls/statelog/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/statelog/$(DEPDIR)
+	@: > cls/statelog/$(DEPDIR)/$(am__dirstamp)
+cls/statelog/cls_statelog_client.$(OBJEXT):  \
+	cls/statelog/$(am__dirstamp) \
+	cls/statelog/$(DEPDIR)/$(am__dirstamp)
 libcls_statelog_client.a: $(libcls_statelog_client_a_OBJECTS) $(libcls_statelog_client_a_DEPENDENCIES) $(EXTRA_libcls_statelog_client_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcls_statelog_client.a
 	$(AM_V_AR)$(libcls_statelog_client_a_AR) libcls_statelog_client.a $(libcls_statelog_client_a_OBJECTS) $(libcls_statelog_client_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libcls_statelog_client.a
+cls/version/$(am__dirstamp):
+	@$(MKDIR_P) cls/version
+	@: > cls/version/$(am__dirstamp)
+cls/version/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/version/$(DEPDIR)
+	@: > cls/version/$(DEPDIR)/$(am__dirstamp)
+cls/version/cls_version_client.$(OBJEXT): cls/version/$(am__dirstamp) \
+	cls/version/$(DEPDIR)/$(am__dirstamp)
+cls/version/cls_version_types.$(OBJEXT): cls/version/$(am__dirstamp) \
+	cls/version/$(DEPDIR)/$(am__dirstamp)
 libcls_version_client.a: $(libcls_version_client_a_OBJECTS) $(libcls_version_client_a_DEPENDENCIES) $(EXTRA_libcls_version_client_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcls_version_client.a
 	$(AM_V_AR)$(libcls_version_client_a_AR) libcls_version_client.a $(libcls_version_client_a_OBJECTS) $(libcls_version_client_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libcls_version_client.a
-libmds.a: $(libmds_a_OBJECTS) $(libmds_a_DEPENDENCIES) $(EXTRA_libmds_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libmds.a
-	$(AM_V_AR)$(libmds_a_AR) libmds.a $(libmds_a_OBJECTS) $(libmds_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libmds.a
-libmon.a: $(libmon_a_OBJECTS) $(libmon_a_DEPENDENCIES) $(EXTRA_libmon_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libmon.a
-	$(AM_V_AR)$(libmon_a_AR) libmon.a $(libmon_a_OBJECTS) $(libmon_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libmon.a
-libos.a: $(libos_a_OBJECTS) $(libos_a_DEPENDENCIES) $(EXTRA_libos_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libos.a
-	$(AM_V_AR)$(libos_a_AR) libos.a $(libos_a_OBJECTS) $(libos_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libos.a
-libosd.a: $(libosd_a_OBJECTS) $(libosd_a_DEPENDENCIES) $(EXTRA_libosd_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libosd.a
-	$(AM_V_AR)$(libosd_a_AR) libosd.a $(libosd_a_OBJECTS) $(libosd_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libosd.a
-librgw.a: $(librgw_a_OBJECTS) $(librgw_a_DEPENDENCIES) $(EXTRA_librgw_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f librgw.a
-	$(AM_V_AR)$(librgw_a_AR) librgw.a $(librgw_a_OBJECTS) $(librgw_a_LIBADD)
-	$(AM_V_at)$(RANLIB) librgw.a
+os/$(am__dirstamp):
+	@$(MKDIR_P) os
+	@: > os/$(am__dirstamp)
+os/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) os/$(DEPDIR)
+	@: > os/$(DEPDIR)/$(am__dirstamp)
+os/libos_zfs_a-ZFS.$(OBJEXT): os/$(am__dirstamp) \
+	os/$(DEPDIR)/$(am__dirstamp)
+libos_zfs.a: $(libos_zfs_a_OBJECTS) $(libos_zfs_a_DEPENDENCIES) $(EXTRA_libos_zfs_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libos_zfs.a
+	$(AM_V_AR)$(libos_zfs_a_AR) libos_zfs.a $(libos_zfs_a_OBJECTS) $(libos_zfs_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libos_zfs.a
+install-erasure_codelibLTLIBRARIES: $(erasure_codelib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(erasure_codelibdir)" || $(MKDIR_P) "$(DESTDIR)$(erasure_codelibdir)"
+	@list='$(erasure_codelib_LTLIBRARIES)'; test -n "$(erasure_codelibdir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(erasure_codelibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(erasure_codelibdir)"; \
+	}
+
+uninstall-erasure_codelibLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(erasure_codelib_LTLIBRARIES)'; test -n "$(erasure_codelibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(erasure_codelibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(erasure_codelibdir)/$$f"; \
+	done
+
+clean-erasure_codelibLTLIBRARIES:
+	-test -z "$(erasure_codelib_LTLIBRARIES)" || rm -f $(erasure_codelib_LTLIBRARIES)
+	@list='$(erasure_codelib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@@ -5073,42 +4825,787 @@ clean-radoslibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+arch/$(am__dirstamp):
+	@$(MKDIR_P) arch
+	@: > arch/$(am__dirstamp)
+arch/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) arch/$(DEPDIR)
+	@: > arch/$(DEPDIR)/$(am__dirstamp)
+arch/intel.lo: arch/$(am__dirstamp) arch/$(DEPDIR)/$(am__dirstamp)
+arch/neon.lo: arch/$(am__dirstamp) arch/$(DEPDIR)/$(am__dirstamp)
+arch/probe.lo: arch/$(am__dirstamp) arch/$(DEPDIR)/$(am__dirstamp)
+libarch.la: $(libarch_la_OBJECTS) $(libarch_la_DEPENDENCIES) $(EXTRA_libarch_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libarch_la_OBJECTS) $(libarch_la_LIBADD) $(LIBS)
+auth/$(am__dirstamp):
+	@$(MKDIR_P) auth
+	@: > auth/$(am__dirstamp)
+auth/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) auth/$(DEPDIR)
+	@: > auth/$(DEPDIR)/$(am__dirstamp)
+auth/AuthAuthorizeHandler.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+auth/AuthClientHandler.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+auth/AuthSessionHandler.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+auth/AuthServiceHandler.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+auth/AuthMethodList.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/$(am__dirstamp):
+	@$(MKDIR_P) auth/cephx
+	@: > auth/cephx/$(am__dirstamp)
+auth/cephx/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) auth/cephx/$(DEPDIR)
+	@: > auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxAuthorizeHandler.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxClientHandler.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxProtocol.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxServiceHandler.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxSessionHandler.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/cephx/CephxKeyServer.lo: auth/cephx/$(am__dirstamp) \
+	auth/cephx/$(DEPDIR)/$(am__dirstamp)
+auth/none/$(am__dirstamp):
+	@$(MKDIR_P) auth/none
+	@: > auth/none/$(am__dirstamp)
+auth/none/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) auth/none/$(DEPDIR)
+	@: > auth/none/$(DEPDIR)/$(am__dirstamp)
+auth/none/AuthNoneAuthorizeHandler.lo: auth/none/$(am__dirstamp) \
+	auth/none/$(DEPDIR)/$(am__dirstamp)
+auth/unknown/$(am__dirstamp):
+	@$(MKDIR_P) auth/unknown
+	@: > auth/unknown/$(am__dirstamp)
+auth/unknown/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) auth/unknown/$(DEPDIR)
+	@: > auth/unknown/$(DEPDIR)/$(am__dirstamp)
+auth/unknown/AuthUnknownAuthorizeHandler.lo:  \
+	auth/unknown/$(am__dirstamp) \
+	auth/unknown/$(DEPDIR)/$(am__dirstamp)
+auth/Crypto.lo: auth/$(am__dirstamp) auth/$(DEPDIR)/$(am__dirstamp)
+auth/KeyRing.lo: auth/$(am__dirstamp) auth/$(DEPDIR)/$(am__dirstamp)
+auth/RotatingKeyRing.lo: auth/$(am__dirstamp) \
+	auth/$(DEPDIR)/$(am__dirstamp)
+libauth.la: $(libauth_la_OBJECTS) $(libauth_la_DEPENDENCIES) $(EXTRA_libauth_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libauth_la_OBJECTS) $(libauth_la_LIBADD) $(LIBS)
 libcephfs.la: $(libcephfs_la_OBJECTS) $(libcephfs_la_DEPENDENCIES) $(EXTRA_libcephfs_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcephfs_la_LINK) -rpath $(libdir) $(libcephfs_la_OBJECTS) $(libcephfs_la_LIBADD) $(LIBS)
+java/native/$(am__dirstamp):
+	@$(MKDIR_P) java/native
+	@: > java/native/$(am__dirstamp)
+java/native/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) java/native/$(DEPDIR)
+	@: > java/native/$(DEPDIR)/$(am__dirstamp)
+java/native/libcephfs_jni_la-libcephfs_jni.lo:  \
+	java/native/$(am__dirstamp) \
+	java/native/$(DEPDIR)/$(am__dirstamp)
+java/native/libcephfs_jni_la-JniConstants.lo:  \
+	java/native/$(am__dirstamp) \
+	java/native/$(DEPDIR)/$(am__dirstamp)
 libcephfs_jni.la: $(libcephfs_jni_la_OBJECTS) $(libcephfs_jni_la_DEPENDENCIES) $(EXTRA_libcephfs_jni_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcephfs_jni_la_LINK) $(am_libcephfs_jni_la_rpath) $(libcephfs_jni_la_OBJECTS) $(libcephfs_jni_la_LIBADD) $(LIBS)
+client/$(am__dirstamp):
+	@$(MKDIR_P) client
+	@: > client/$(am__dirstamp)
+client/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) client/$(DEPDIR)
+	@: > client/$(DEPDIR)/$(am__dirstamp)
+client/Client.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/Inode.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/Dentry.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/MetaRequest.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/ClientSnapRealm.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/MetaSession.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+client/Trace.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
 libclient.la: $(libclient_la_OBJECTS) $(libclient_la_DEPENDENCIES) $(EXTRA_libclient_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(CXXLINK)  $(libclient_la_OBJECTS) $(libclient_la_LIBADD) $(LIBS)
+client/fuse_ll.lo: client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
+libclient_fuse.la: $(libclient_fuse_la_OBJECTS) $(libclient_fuse_la_DEPENDENCIES) $(EXTRA_libclient_fuse_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK) $(am_libclient_fuse_la_rpath) $(libclient_fuse_la_OBJECTS) $(libclient_fuse_la_LIBADD) $(LIBS)
+cls/hello/$(am__dirstamp):
+	@$(MKDIR_P) cls/hello
+	@: > cls/hello/$(am__dirstamp)
+cls/hello/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/hello/$(DEPDIR)
+	@: > cls/hello/$(DEPDIR)/$(am__dirstamp)
+cls/hello/cls_hello.lo: cls/hello/$(am__dirstamp) \
+	cls/hello/$(DEPDIR)/$(am__dirstamp)
+libcls_hello.la: $(libcls_hello_la_OBJECTS) $(libcls_hello_la_DEPENDENCIES) $(EXTRA_libcls_hello_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libcls_hello_la_LINK) -rpath $(radoslibdir) $(libcls_hello_la_OBJECTS) $(libcls_hello_la_LIBADD) $(LIBS)
+key_value_store/$(am__dirstamp):
+	@$(MKDIR_P) key_value_store
+	@: > key_value_store/$(am__dirstamp)
+key_value_store/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) key_value_store/$(DEPDIR)
+	@: > key_value_store/$(DEPDIR)/$(am__dirstamp)
+key_value_store/cls_kvs.lo: key_value_store/$(am__dirstamp) \
+	key_value_store/$(DEPDIR)/$(am__dirstamp)
 libcls_kvs.la: $(libcls_kvs_la_OBJECTS) $(libcls_kvs_la_DEPENDENCIES) $(EXTRA_libcls_kvs_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_kvs_la_LINK) -rpath $(radoslibdir) $(libcls_kvs_la_OBJECTS) $(libcls_kvs_la_LIBADD) $(LIBS)
+cls/lock/$(am__dirstamp):
+	@$(MKDIR_P) cls/lock
+	@: > cls/lock/$(am__dirstamp)
+cls/lock/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/lock/$(DEPDIR)
+	@: > cls/lock/$(DEPDIR)/$(am__dirstamp)
+cls/lock/cls_lock.lo: cls/lock/$(am__dirstamp) \
+	cls/lock/$(DEPDIR)/$(am__dirstamp)
 libcls_lock.la: $(libcls_lock_la_OBJECTS) $(libcls_lock_la_DEPENDENCIES) $(EXTRA_libcls_lock_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_lock_la_LINK) -rpath $(radoslibdir) $(libcls_lock_la_OBJECTS) $(libcls_lock_la_LIBADD) $(LIBS)
+cls/lock/cls_lock_client.lo: cls/lock/$(am__dirstamp) \
+	cls/lock/$(DEPDIR)/$(am__dirstamp)
+cls/lock/cls_lock_types.lo: cls/lock/$(am__dirstamp) \
+	cls/lock/$(DEPDIR)/$(am__dirstamp)
+cls/lock/cls_lock_ops.lo: cls/lock/$(am__dirstamp) \
+	cls/lock/$(DEPDIR)/$(am__dirstamp)
+libcls_lock_client.la: $(libcls_lock_client_la_OBJECTS) $(libcls_lock_client_la_DEPENDENCIES) $(EXTRA_libcls_lock_client_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcls_lock_client_la_OBJECTS) $(libcls_lock_client_la_LIBADD) $(LIBS)
+cls/log/cls_log.lo: cls/log/$(am__dirstamp) \
+	cls/log/$(DEPDIR)/$(am__dirstamp)
 libcls_log.la: $(libcls_log_la_OBJECTS) $(libcls_log_la_DEPENDENCIES) $(EXTRA_libcls_log_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_log_la_LINK) -rpath $(radoslibdir) $(libcls_log_la_OBJECTS) $(libcls_log_la_LIBADD) $(LIBS)
+cls/rbd/$(am__dirstamp):
+	@$(MKDIR_P) cls/rbd
+	@: > cls/rbd/$(am__dirstamp)
+cls/rbd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/rbd/$(DEPDIR)
+	@: > cls/rbd/$(DEPDIR)/$(am__dirstamp)
+cls/rbd/cls_rbd.lo: cls/rbd/$(am__dirstamp) \
+	cls/rbd/$(DEPDIR)/$(am__dirstamp)
 libcls_rbd.la: $(libcls_rbd_la_OBJECTS) $(libcls_rbd_la_DEPENDENCIES) $(EXTRA_libcls_rbd_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_rbd_la_LINK) -rpath $(radoslibdir) $(libcls_rbd_la_OBJECTS) $(libcls_rbd_la_LIBADD) $(LIBS)
+cls/rbd/cls_rbd_client.lo: cls/rbd/$(am__dirstamp) \
+	cls/rbd/$(DEPDIR)/$(am__dirstamp)
+libcls_rbd_client.la: $(libcls_rbd_client_la_OBJECTS) $(libcls_rbd_client_la_DEPENDENCIES) $(EXTRA_libcls_rbd_client_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcls_rbd_client_la_OBJECTS) $(libcls_rbd_client_la_LIBADD) $(LIBS)
+cls/refcount/$(am__dirstamp):
+	@$(MKDIR_P) cls/refcount
+	@: > cls/refcount/$(am__dirstamp)
+cls/refcount/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/refcount/$(DEPDIR)
+	@: > cls/refcount/$(DEPDIR)/$(am__dirstamp)
+cls/refcount/cls_refcount.lo: cls/refcount/$(am__dirstamp) \
+	cls/refcount/$(DEPDIR)/$(am__dirstamp)
+cls/refcount/cls_refcount_ops.lo: cls/refcount/$(am__dirstamp) \
+	cls/refcount/$(DEPDIR)/$(am__dirstamp)
+common/$(am__dirstamp):
+	@$(MKDIR_P) common
+	@: > common/$(am__dirstamp)
+common/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) common/$(DEPDIR)
+	@: > common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_json.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
 libcls_refcount.la: $(libcls_refcount_la_OBJECTS) $(libcls_refcount_la_DEPENDENCIES) $(EXTRA_libcls_refcount_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_refcount_la_LINK) -rpath $(radoslibdir) $(libcls_refcount_la_OBJECTS) $(libcls_refcount_la_LIBADD) $(LIBS)
+cls/refcount/cls_refcount_client.lo: cls/refcount/$(am__dirstamp) \
+	cls/refcount/$(DEPDIR)/$(am__dirstamp)
+libcls_refcount_client.la: $(libcls_refcount_client_la_OBJECTS) $(libcls_refcount_client_la_DEPENDENCIES) $(EXTRA_libcls_refcount_client_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcls_refcount_client_la_OBJECTS) $(libcls_refcount_client_la_LIBADD) $(LIBS)
+cls/replica_log/cls_replica_log.lo: cls/replica_log/$(am__dirstamp) \
+	cls/replica_log/$(DEPDIR)/$(am__dirstamp)
 libcls_replica_log.la: $(libcls_replica_log_la_OBJECTS) $(libcls_replica_log_la_DEPENDENCIES) $(EXTRA_libcls_replica_log_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_replica_log_la_LINK) -rpath $(radoslibdir) $(libcls_replica_log_la_OBJECTS) $(libcls_replica_log_la_LIBADD) $(LIBS)
+cls/rgw/$(am__dirstamp):
+	@$(MKDIR_P) cls/rgw
+	@: > cls/rgw/$(am__dirstamp)
+cls/rgw/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) cls/rgw/$(DEPDIR)
+	@: > cls/rgw/$(DEPDIR)/$(am__dirstamp)
+cls/rgw/cls_rgw.lo: cls/rgw/$(am__dirstamp) \
+	cls/rgw/$(DEPDIR)/$(am__dirstamp)
+cls/rgw/cls_rgw_ops.lo: cls/rgw/$(am__dirstamp) \
+	cls/rgw/$(DEPDIR)/$(am__dirstamp)
+cls/rgw/cls_rgw_types.lo: cls/rgw/$(am__dirstamp) \
+	cls/rgw/$(DEPDIR)/$(am__dirstamp)
 libcls_rgw.la: $(libcls_rgw_la_OBJECTS) $(libcls_rgw_la_DEPENDENCIES) $(EXTRA_libcls_rgw_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_rgw_la_LINK) -rpath $(radoslibdir) $(libcls_rgw_la_OBJECTS) $(libcls_rgw_la_LIBADD) $(LIBS)
+cls/rgw/cls_rgw_client.lo: cls/rgw/$(am__dirstamp) \
+	cls/rgw/$(DEPDIR)/$(am__dirstamp)
+libcls_rgw_client.la: $(libcls_rgw_client_la_OBJECTS) $(libcls_rgw_client_la_DEPENDENCIES) $(EXTRA_libcls_rgw_client_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcls_rgw_client_la_OBJECTS) $(libcls_rgw_client_la_LIBADD) $(LIBS)
+cls/statelog/cls_statelog.lo: cls/statelog/$(am__dirstamp) \
+	cls/statelog/$(DEPDIR)/$(am__dirstamp)
 libcls_statelog.la: $(libcls_statelog_la_OBJECTS) $(libcls_statelog_la_DEPENDENCIES) $(EXTRA_libcls_statelog_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_statelog_la_LINK) -rpath $(radoslibdir) $(libcls_statelog_la_OBJECTS) $(libcls_statelog_la_LIBADD) $(LIBS)
+cls/version/cls_version.lo: cls/version/$(am__dirstamp) \
+	cls/version/$(DEPDIR)/$(am__dirstamp)
 libcls_version.la: $(libcls_version_la_OBJECTS) $(libcls_version_la_DEPENDENCIES) $(EXTRA_libcls_version_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libcls_version_la_LINK) -rpath $(radoslibdir) $(libcls_version_la_OBJECTS) $(libcls_version_la_LIBADD) $(LIBS)
+common/DecayCounter.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/LogClient.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/LogEntry.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/PrebufferedStreambuf.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/SloppyCRCMap.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/BackTrace.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/perf_counters.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Mutex.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/OutputDataSocket.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/admin_socket.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/admin_socket_client.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/cmdparse.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/escape.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Clock.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Throttle.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Timer.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Finisher.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/environment.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/assert.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/run_cmd.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/WorkQueue.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ConfUtils.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/MemoryModel.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/armor.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/fd.lo: common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/xattr.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/safe_io.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/snap_types.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/str_list.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/errno.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/RefCountedObj.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/blkdev.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/common_init.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/pipe.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_argparse.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_context.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/buffer.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/code_environment.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/dout.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/signal.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/simple_spin.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Thread.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/Formatter.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/HeartbeatMap.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/config.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/utf8.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/mime.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/strtol.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/page.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/lockdep.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/version.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/hex.lo: common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/entity_name.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_crypto.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_crypto_cms.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ipaddr.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/pick_address.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/util.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/TextTable.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_fs.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_hash.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_strings.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/ceph_frag.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/addr_parsing.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/hobject.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/bloom_filter.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/secret.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+mon/$(am__dirstamp):
+	@$(MKDIR_P) mon
+	@: > mon/$(am__dirstamp)
+mon/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) mon/$(DEPDIR)
+	@: > mon/$(DEPDIR)/$(am__dirstamp)
+mon/MonCap.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/MonClient.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/MonMap.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+osd/$(am__dirstamp):
+	@$(MKDIR_P) osd
+	@: > osd/$(am__dirstamp)
+osd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) osd/$(DEPDIR)
+	@: > osd/$(DEPDIR)/$(am__dirstamp)
+osd/OSDMap.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/osd_types.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+mds/$(am__dirstamp):
+	@$(MKDIR_P) mds
+	@: > mds/$(am__dirstamp)
+mds/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) mds/$(DEPDIR)
+	@: > mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDSMap.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/inode_backtrace.lo: mds/$(am__dirstamp) \
+	mds/$(DEPDIR)/$(am__dirstamp)
+mds/mdstypes.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
 libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES) $(EXTRA_libcommon_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libcommon_la_LINK)  $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)
+common/libcommon_crc_la-sctp_crc32.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/libcommon_crc_la-crc32c.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/libcommon_crc_la-crc32c_intel_baseline.lo:  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/libcommon_crc_la-crc32c_intel_fast.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/libcommon_crc_la-crc32c_intel_fast_asm.lo:  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo:  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+libcommon_crc.la: $(libcommon_crc_la_OBJECTS) $(libcommon_crc_la_DEPENDENCIES) $(EXTRA_libcommon_crc_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libcommon_crc_la_LINK)  $(libcommon_crc_la_OBJECTS) $(libcommon_crc_la_LIBADD) $(LIBS)
+crush/$(am__dirstamp):
+	@$(MKDIR_P) crush
+	@: > crush/$(am__dirstamp)
+crush/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crush/$(DEPDIR)
+	@: > crush/$(DEPDIR)/$(am__dirstamp)
+crush/builder.lo: crush/$(am__dirstamp) \
+	crush/$(DEPDIR)/$(am__dirstamp)
+crush/mapper.lo: crush/$(am__dirstamp) crush/$(DEPDIR)/$(am__dirstamp)
+crush/crush.lo: crush/$(am__dirstamp) crush/$(DEPDIR)/$(am__dirstamp)
+crush/hash.lo: crush/$(am__dirstamp) crush/$(DEPDIR)/$(am__dirstamp)
+crush/CrushWrapper.lo: crush/$(am__dirstamp) \
+	crush/$(DEPDIR)/$(am__dirstamp)
+crush/CrushCompiler.lo: crush/$(am__dirstamp) \
+	crush/$(DEPDIR)/$(am__dirstamp)
+crush/CrushTester.lo: crush/$(am__dirstamp) \
+	crush/$(DEPDIR)/$(am__dirstamp)
+libcrush.la: $(libcrush_la_OBJECTS) $(libcrush_la_DEPENDENCIES) $(EXTRA_libcrush_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libcrush_la_OBJECTS) $(libcrush_la_LIBADD) $(LIBS)
+test/osd/$(am__dirstamp):
+	@$(MKDIR_P) test/osd
+	@: > test/osd/$(am__dirstamp)
+test/osd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/osd/$(DEPDIR)
+	@: > test/osd/$(DEPDIR)/$(am__dirstamp)
+test/osd/libec_example_la-ErasureCodePluginExample.lo:  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+libec_example.la: $(libec_example_la_OBJECTS) $(libec_example_la_DEPENDENCIES) $(EXTRA_libec_example_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_example_la_LINK) -rpath $(erasure_codelibdir) $(libec_example_la_OBJECTS) $(libec_example_la_LIBADD) $(LIBS)
+test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo:  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+libec_fail_to_initialize.la: $(libec_fail_to_initialize_la_OBJECTS) $(libec_fail_to_initialize_la_DEPENDENCIES) $(EXTRA_libec_fail_to_initialize_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_fail_to_initialize_la_LINK) -rpath $(erasure_codelibdir) $(libec_fail_to_initialize_la_OBJECTS) $(libec_fail_to_initialize_la_LIBADD) $(LIBS)
+test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo:  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+libec_fail_to_register.la: $(libec_fail_to_register_la_OBJECTS) $(libec_fail_to_register_la_DEPENDENCIES) $(EXTRA_libec_fail_to_register_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_fail_to_register_la_LINK) -rpath $(erasure_codelibdir) $(libec_fail_to_register_la_OBJECTS) $(libec_fail_to_register_la_LIBADD) $(LIBS)
+test/osd/libec_hangs_la-ErasureCodePluginHangs.lo:  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+libec_hangs.la: $(libec_hangs_la_OBJECTS) $(libec_hangs_la_DEPENDENCIES) $(EXTRA_libec_hangs_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_hangs_la_LINK) -rpath $(erasure_codelibdir) $(libec_hangs_la_OBJECTS) $(libec_hangs_la_LIBADD) $(LIBS)
+osd/ErasureCodePluginJerasure/$(am__dirstamp):
+	@$(MKDIR_P) osd/ErasureCodePluginJerasure
+	@: > osd/ErasureCodePluginJerasure/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) osd/ErasureCodePluginJerasure/$(DEPDIR)
+	@: > osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo:  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+libec_jerasure.la: $(libec_jerasure_la_OBJECTS) $(libec_jerasure_la_DEPENDENCIES) $(EXTRA_libec_jerasure_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_jerasure_la_LINK) -rpath $(erasure_codelibdir) $(libec_jerasure_la_OBJECTS) $(libec_jerasure_la_LIBADD) $(LIBS)
+test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo:  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+libec_missing_entry_point.la: $(libec_missing_entry_point_la_OBJECTS) $(libec_missing_entry_point_la_DEPENDENCIES) $(EXTRA_libec_missing_entry_point_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libec_missing_entry_point_la_LINK) -rpath $(erasure_codelibdir) $(libec_missing_entry_point_la_OBJECTS) $(libec_missing_entry_point_la_LIBADD) $(LIBS)
+global/$(am__dirstamp):
+	@$(MKDIR_P) global
+	@: > global/$(am__dirstamp)
+global/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) global/$(DEPDIR)
+	@: > global/$(DEPDIR)/$(am__dirstamp)
+global/global_context.lo: global/$(am__dirstamp) \
+	global/$(DEPDIR)/$(am__dirstamp)
+global/global_init.lo: global/$(am__dirstamp) \
+	global/$(DEPDIR)/$(am__dirstamp)
+global/pidfile.lo: global/$(am__dirstamp) \
+	global/$(DEPDIR)/$(am__dirstamp)
+global/signal_handler.lo: global/$(am__dirstamp) \
+	global/$(DEPDIR)/$(am__dirstamp)
 libglobal.la: $(libglobal_la_OBJECTS) $(libglobal_la_DEPENDENCIES) $(EXTRA_libglobal_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libglobal_la_LINK)  $(libglobal_la_OBJECTS) $(libglobal_la_LIBADD) $(LIBS)
-libhadoopcephfs.la: $(libhadoopcephfs_la_OBJECTS) $(libhadoopcephfs_la_DEPENDENCIES) $(EXTRA_libhadoopcephfs_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libhadoopcephfs_la_LINK) $(am_libhadoopcephfs_la_rpath) $(libhadoopcephfs_la_OBJECTS) $(libhadoopcephfs_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK)  $(libglobal_la_OBJECTS) $(libglobal_la_LIBADD) $(LIBS)
+json_spirit/$(am__dirstamp):
+	@$(MKDIR_P) json_spirit
+	@: > json_spirit/$(am__dirstamp)
+json_spirit/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) json_spirit/$(DEPDIR)
+	@: > json_spirit/$(DEPDIR)/$(am__dirstamp)
+json_spirit/json_spirit_reader.lo: json_spirit/$(am__dirstamp) \
+	json_spirit/$(DEPDIR)/$(am__dirstamp)
+json_spirit/json_spirit_writer.lo: json_spirit/$(am__dirstamp) \
+	json_spirit/$(DEPDIR)/$(am__dirstamp)
+json_spirit/json_spirit_value.lo: json_spirit/$(am__dirstamp) \
+	json_spirit/$(DEPDIR)/$(am__dirstamp)
+libjson_spirit.la: $(libjson_spirit_la_OBJECTS) $(libjson_spirit_la_DEPENDENCIES) $(EXTRA_libjson_spirit_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libjson_spirit_la_OBJECTS) $(libjson_spirit_la_LIBADD) $(LIBS)
+log/$(am__dirstamp):
+	@$(MKDIR_P) log
+	@: > log/$(am__dirstamp)
+log/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) log/$(DEPDIR)
+	@: > log/$(DEPDIR)/$(am__dirstamp)
+log/Log.lo: log/$(am__dirstamp) log/$(DEPDIR)/$(am__dirstamp)
+log/SubsystemMap.lo: log/$(am__dirstamp) log/$(DEPDIR)/$(am__dirstamp)
+liblog.la: $(liblog_la_OBJECTS) $(liblog_la_DEPENDENCIES) $(EXTRA_liblog_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(liblog_la_OBJECTS) $(liblog_la_LIBADD) $(LIBS)
+mds/Anchor.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Capability.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Dumper.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Resetter.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDS.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/flock.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/locks.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/journal.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Server.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Mutation.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDCache.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Locker.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/Migrator.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDBalancer.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/CDentry.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/CDir.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/CInode.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/LogEvent.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDSTable.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/InoTable.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDSTableClient.lo: mds/$(am__dirstamp) \
+	mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDSTableServer.lo: mds/$(am__dirstamp) \
+	mds/$(DEPDIR)/$(am__dirstamp)
+mds/AnchorServer.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/AnchorClient.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/SnapRealm.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/SnapServer.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/snap.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/SessionMap.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/MDLog.lo: mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+libmds.la: $(libmds_la_OBJECTS) $(libmds_la_DEPENDENCIES) $(EXTRA_libmds_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libmds_la_OBJECTS) $(libmds_la_LIBADD) $(LIBS)
+mon/Monitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/Paxos.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/PaxosService.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/OSDMonitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/MDSMonitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/MonmapMonitor.lo: mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+mon/PGMonitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/PGMap.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/LogMonitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/AuthMonitor.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/Elector.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/MonitorStore.lo: mon/$(am__dirstamp) mon/$(DEPDIR)/$(am__dirstamp)
+mon/HealthMonitor.lo: mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+mon/DataHealthService.lo: mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+mon/ConfigKeyService.lo: mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+libmon.la: $(libmon_la_OBJECTS) $(libmon_la_DEPENDENCIES) $(EXTRA_libmon_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libmon_la_OBJECTS) $(libmon_la_LIBADD) $(LIBS)
+msg/$(am__dirstamp):
+	@$(MKDIR_P) msg
+	@: > msg/$(am__dirstamp)
+msg/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) msg/$(DEPDIR)
+	@: > msg/$(DEPDIR)/$(am__dirstamp)
+msg/Accepter.lo: msg/$(am__dirstamp) msg/$(DEPDIR)/$(am__dirstamp)
+msg/DispatchQueue.lo: msg/$(am__dirstamp) \
+	msg/$(DEPDIR)/$(am__dirstamp)
+msg/Message.lo: msg/$(am__dirstamp) msg/$(DEPDIR)/$(am__dirstamp)
+msg/Messenger.lo: msg/$(am__dirstamp) msg/$(DEPDIR)/$(am__dirstamp)
+msg/Pipe.lo: msg/$(am__dirstamp) msg/$(DEPDIR)/$(am__dirstamp)
+msg/SimpleMessenger.lo: msg/$(am__dirstamp) \
+	msg/$(DEPDIR)/$(am__dirstamp)
+msg/msg_types.lo: msg/$(am__dirstamp) msg/$(DEPDIR)/$(am__dirstamp)
+libmsg.la: $(libmsg_la_OBJECTS) $(libmsg_la_DEPENDENCIES) $(EXTRA_libmsg_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libmsg_la_OBJECTS) $(libmsg_la_LIBADD) $(LIBS)
+os/FileJournal.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/FileStore.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/chain_xattr.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/ObjectStore.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/JournalingObjectStore.lo: os/$(am__dirstamp) \
+	os/$(DEPDIR)/$(am__dirstamp)
+os/LFNIndex.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/HashIndex.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/IndexManager.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/FlatIndex.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/DBObjectMap.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/LevelDBStore.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/WBThrottle.lo: os/$(am__dirstamp) os/$(DEPDIR)/$(am__dirstamp)
+os/BtrfsFileStoreBackend.lo: os/$(am__dirstamp) \
+	os/$(DEPDIR)/$(am__dirstamp)
+os/GenericFileStoreBackend.lo: os/$(am__dirstamp) \
+	os/$(DEPDIR)/$(am__dirstamp)
+os/ZFSFileStoreBackend.lo: os/$(am__dirstamp) \
+	os/$(DEPDIR)/$(am__dirstamp)
+common/TrackedOp.lo: common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+libos.la: $(libos_la_OBJECTS) $(libos_la_DEPENDENCIES) $(EXTRA_libos_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libos_la_OBJECTS) $(libos_la_LIBADD) $(LIBS)
+osd/ErasureCodePlugin.lo: osd/$(am__dirstamp) \
+	osd/$(DEPDIR)/$(am__dirstamp)
+osd/PG.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/PGLog.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/ReplicatedPG.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/ReplicatedBackend.lo: osd/$(am__dirstamp) \
+	osd/$(DEPDIR)/$(am__dirstamp)
+osd/Ager.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/OSD.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/OSDCap.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/Watch.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/ClassHandler.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/OpRequest.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+osd/SnapMapper.lo: osd/$(am__dirstamp) osd/$(DEPDIR)/$(am__dirstamp)
+objclass/$(am__dirstamp):
+	@$(MKDIR_P) objclass
+	@: > objclass/$(am__dirstamp)
+objclass/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) objclass/$(DEPDIR)
+	@: > objclass/$(DEPDIR)/$(am__dirstamp)
+objclass/class_api.lo: objclass/$(am__dirstamp) \
+	objclass/$(DEPDIR)/$(am__dirstamp)
+libosd.la: $(libosd_la_OBJECTS) $(libosd_la_DEPENDENCIES) $(EXTRA_libosd_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libosd_la_OBJECTS) $(libosd_la_LIBADD) $(LIBS)
+osdc/$(am__dirstamp):
+	@$(MKDIR_P) osdc
+	@: > osdc/$(am__dirstamp)
+osdc/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) osdc/$(DEPDIR)
+	@: > osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/Objecter.lo: osdc/$(am__dirstamp) osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/ObjectCacher.lo: osdc/$(am__dirstamp) \
+	osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/Filer.lo: osdc/$(am__dirstamp) osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/Striper.lo: osdc/$(am__dirstamp) osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/Journaler.lo: osdc/$(am__dirstamp) osdc/$(DEPDIR)/$(am__dirstamp)
 libosdc.la: $(libosdc_la_OBJECTS) $(libosdc_la_DEPENDENCIES) $(EXTRA_libosdc_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libosdc_la_LINK)  $(libosdc_la_OBJECTS) $(libosdc_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK)  $(libosdc_la_OBJECTS) $(libosdc_la_LIBADD) $(LIBS)
+perfglue/$(am__dirstamp):
+	@$(MKDIR_P) perfglue
+	@: > perfglue/$(am__dirstamp)
+perfglue/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) perfglue/$(DEPDIR)
+	@: > perfglue/$(DEPDIR)/$(am__dirstamp)
+perfglue/heap_profiler.lo: perfglue/$(am__dirstamp) \
+	perfglue/$(DEPDIR)/$(am__dirstamp)
+perfglue/disabled_heap_profiler.lo: perfglue/$(am__dirstamp) \
+	perfglue/$(DEPDIR)/$(am__dirstamp)
+perfglue/cpu_profiler.lo: perfglue/$(am__dirstamp) \
+	perfglue/$(DEPDIR)/$(am__dirstamp)
+perfglue/disabled_stubs.lo: perfglue/$(am__dirstamp) \
+	perfglue/$(DEPDIR)/$(am__dirstamp)
+libperfglue.la: $(libperfglue_la_OBJECTS) $(libperfglue_la_DEPENDENCIES) $(EXTRA_libperfglue_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(CXXLINK)  $(libperfglue_la_OBJECTS) $(libperfglue_la_LIBADD) $(LIBS)
+librados/$(am__dirstamp):
+	@$(MKDIR_P) librados
+	@: > librados/$(am__dirstamp)
+librados/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) librados/$(DEPDIR)
+	@: > librados/$(DEPDIR)/$(am__dirstamp)
+librados/librados.lo: librados/$(am__dirstamp) \
+	librados/$(DEPDIR)/$(am__dirstamp)
+librados/RadosClient.lo: librados/$(am__dirstamp) \
+	librados/$(DEPDIR)/$(am__dirstamp)
+librados/IoCtxImpl.lo: librados/$(am__dirstamp) \
+	librados/$(DEPDIR)/$(am__dirstamp)
+librados/snap_set_diff.lo: librados/$(am__dirstamp) \
+	librados/$(DEPDIR)/$(am__dirstamp)
 librados.la: $(librados_la_OBJECTS) $(librados_la_DEPENDENCIES) $(EXTRA_librados_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(librados_la_LINK) -rpath $(libdir) $(librados_la_OBJECTS) $(librados_la_LIBADD) $(LIBS)
+librbd/$(am__dirstamp):
+	@$(MKDIR_P) librbd
+	@: > librbd/$(am__dirstamp)
+librbd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) librbd/$(DEPDIR)
+	@: > librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/librbd.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/AioCompletion.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/AioRequest.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/ImageCtx.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/internal.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/LibrbdWriteback.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
+librbd/WatchCtx.lo: librbd/$(am__dirstamp) \
+	librbd/$(DEPDIR)/$(am__dirstamp)
 librbd.la: $(librbd_la_OBJECTS) $(librbd_la_DEPENDENCIES) $(EXTRA_librbd_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(librbd_la_LINK) -rpath $(libdir) $(librbd_la_OBJECTS) $(librbd_la_LIBADD) $(LIBS)
+rgw/$(am__dirstamp):
+	@$(MKDIR_P) rgw
+	@: > rgw/$(am__dirstamp)
+rgw/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) rgw/$(DEPDIR)
+	@: > rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-librgw.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_acl.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_acl_s3.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_acl_swift.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_client_io.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_fcgi.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_xml.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_usage.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_json_enc.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_user.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_bucket.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_tools.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_rados.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_http_client.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_rest_client.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_rest_conn.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_op.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_common.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_cache.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_formats.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_log.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_multi.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_policy_s3.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_gc.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_multi_del.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_env.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_cors.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_cors_s3.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_auth_s3.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_metadata.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_replica_log.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_keystone.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/librgw_la-rgw_quota.lo: rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+librgw.la: $(librgw_la_OBJECTS) $(librgw_la_DEPENDENCIES) $(EXTRA_librgw_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(librgw_la_LINK) $(am_librgw_la_rpath) $(librgw_la_OBJECTS) $(librgw_la_LIBADD) $(LIBS)
+test/system/$(am__dirstamp):
+	@$(MKDIR_P) test/system
+	@: > test/system/$(am__dirstamp)
+test/system/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/system/$(DEPDIR)
+	@: > test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/cross_process_sem.lo: test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/systest_runnable.lo: test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/systest_settings.lo: test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
 libsystest.la: $(libsystest_la_OBJECTS) $(libsystest_la_DEPENDENCIES) $(EXTRA_libsystest_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(CXXLINK)  $(libsystest_la_OBJECTS) $(libsystest_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
@@ -5163,6 +5660,15 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 install-sbinPROGRAMS: $(sbin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@@ -5206,426 +5712,1446 @@ clean-sbinPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
+install-su_sbinPROGRAMS: $(su_sbin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(su_sbindir)" || $(MKDIR_P) "$(DESTDIR)$(su_sbindir)"
+	@list='$(su_sbin_PROGRAMS)'; test -n "$(su_sbindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(su_sbindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(su_sbindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-su_sbinPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(su_sbin_PROGRAMS)'; test -n "$(su_sbindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(su_sbindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(su_sbindir)" && rm -f $$files
+
+clean-su_sbinPROGRAMS:
+	@list='$(su_sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+tools/$(am__dirstamp):
+	@$(MKDIR_P) tools
+	@: > tools/$(am__dirstamp)
+tools/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) tools/$(DEPDIR)
+	@: > tools/$(DEPDIR)/$(am__dirstamp)
+tools/ceph_authtool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph-authtool$(EXEEXT): $(ceph_authtool_OBJECTS) $(ceph_authtool_DEPENDENCIES) $(EXTRA_ceph_authtool_DEPENDENCIES) 
 	@rm -f ceph-authtool$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_authtool_OBJECTS) $(ceph_authtool_LDADD) $(LIBS)
+tools/ceph_conf.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph-conf$(EXEEXT): $(ceph_conf_OBJECTS) $(ceph_conf_DEPENDENCIES) $(EXTRA_ceph_conf_DEPENDENCIES) 
 	@rm -f ceph-conf$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_conf_LINK) $(ceph_conf_OBJECTS) $(ceph_conf_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_conf_OBJECTS) $(ceph_conf_LDADD) $(LIBS)
+test/encoding/$(am__dirstamp):
+	@$(MKDIR_P) test/encoding
+	@: > test/encoding/$(am__dirstamp)
+test/encoding/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/encoding/$(DEPDIR)
+	@: > test/encoding/$(DEPDIR)/$(am__dirstamp)
+test/encoding/ceph_dencoder-ceph_dencoder.$(OBJEXT):  \
+	test/encoding/$(am__dirstamp) \
+	test/encoding/$(DEPDIR)/$(am__dirstamp)
+rgw/ceph_dencoder-rgw_dencoder.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/ceph_dencoder-rgw_acl.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/ceph_dencoder-rgw_common.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/ceph_dencoder-rgw_env.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/ceph_dencoder-rgw_json_enc.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 ceph-dencoder$(EXEEXT): $(ceph_dencoder_OBJECTS) $(ceph_dencoder_DEPENDENCIES) $(EXTRA_ceph_dencoder_DEPENDENCIES) 
 	@rm -f ceph-dencoder$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_dencoder_LINK) $(ceph_dencoder_OBJECTS) $(ceph_dencoder_LDADD) $(LIBS)
 ceph-fuse$(EXEEXT): $(ceph_fuse_OBJECTS) $(ceph_fuse_DEPENDENCIES) $(EXTRA_ceph_fuse_DEPENDENCIES) 
 	@rm -f ceph-fuse$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_fuse_LINK) $(ceph_fuse_OBJECTS) $(ceph_fuse_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_fuse_OBJECTS) $(ceph_fuse_LDADD) $(LIBS)
+tools/ceph_kvstore_tool-ceph-kvstore-tool.$(OBJEXT):  \
+	tools/$(am__dirstamp) tools/$(DEPDIR)/$(am__dirstamp)
+ceph-kvstore-tool$(EXEEXT): $(ceph_kvstore_tool_OBJECTS) $(ceph_kvstore_tool_DEPENDENCIES) $(EXTRA_ceph_kvstore_tool_DEPENDENCIES) 
+	@rm -f ceph-kvstore-tool$(EXEEXT)
+	$(AM_V_CXXLD)$(ceph_kvstore_tool_LINK) $(ceph_kvstore_tool_OBJECTS) $(ceph_kvstore_tool_LDADD) $(LIBS)
 ceph-mds$(EXEEXT): $(ceph_mds_OBJECTS) $(ceph_mds_DEPENDENCIES) $(EXTRA_ceph_mds_DEPENDENCIES) 
 	@rm -f ceph-mds$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_mds_LINK) $(ceph_mds_OBJECTS) $(ceph_mds_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_mds_OBJECTS) $(ceph_mds_LDADD) $(LIBS)
 ceph-mon$(EXEEXT): $(ceph_mon_OBJECTS) $(ceph_mon_DEPENDENCIES) $(EXTRA_ceph_mon_DEPENDENCIES) 
 	@rm -f ceph-mon$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_mon_LINK) $(ceph_mon_OBJECTS) $(ceph_mon_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_mon_OBJECTS) $(ceph_mon_LDADD) $(LIBS)
+tools/ceph-monstore-tool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph-monstore-tool$(EXEEXT): $(ceph_monstore_tool_OBJECTS) $(ceph_monstore_tool_DEPENDENCIES) $(EXTRA_ceph_monstore_tool_DEPENDENCIES) 
 	@rm -f ceph-monstore-tool$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_monstore_tool_LINK) $(ceph_monstore_tool_OBJECTS) $(ceph_monstore_tool_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_monstore_tool_OBJECTS) $(ceph_monstore_tool_LDADD) $(LIBS)
 ceph-osd$(EXEEXT): $(ceph_osd_OBJECTS) $(ceph_osd_DEPENDENCIES) $(EXTRA_ceph_osd_DEPENDENCIES) 
 	@rm -f ceph-osd$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_osd_LINK) $(ceph_osd_OBJECTS) $(ceph_osd_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_osd_OBJECTS) $(ceph_osd_LDADD) $(LIBS)
+tools/ceph-osdomap-tool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph-osdomap-tool$(EXEEXT): $(ceph_osdomap_tool_OBJECTS) $(ceph_osdomap_tool_DEPENDENCIES) $(EXTRA_ceph_osdomap_tool_DEPENDENCIES) 
 	@rm -f ceph-osdomap-tool$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_osdomap_tool_LINK) $(ceph_osdomap_tool_OBJECTS) $(ceph_osdomap_tool_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_osdomap_tool_OBJECTS) $(ceph_osdomap_tool_LDADD) $(LIBS)
+client/SyntheticClient.$(OBJEXT): client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
 ceph-syn$(EXEEXT): $(ceph_syn_OBJECTS) $(ceph_syn_DEPENDENCIES) $(EXTRA_ceph_syn_DEPENDENCIES) 
 	@rm -f ceph-syn$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_syn_OBJECTS) $(ceph_syn_LDADD) $(LIBS)
+test/$(am__dirstamp):
+	@$(MKDIR_P) test
+	@: > test/$(am__dirstamp)
+test/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/$(DEPDIR)
+	@: > test/$(DEPDIR)/$(am__dirstamp)
+test/bench_log.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_bench_log$(EXEEXT): $(ceph_bench_log_OBJECTS) $(ceph_bench_log_DEPENDENCIES) $(EXTRA_ceph_bench_log_DEPENDENCIES) 
 	@rm -f ceph_bench_log$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_bench_log_OBJECTS) $(ceph_bench_log_LDADD) $(LIBS)
+tools/dupstore.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_dupstore$(EXEEXT): $(ceph_dupstore_OBJECTS) $(ceph_dupstore_DEPENDENCIES) $(EXTRA_ceph_dupstore_DEPENDENCIES) 
 	@rm -f ceph_dupstore$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_dupstore_LINK) $(ceph_dupstore_OBJECTS) $(ceph_dupstore_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_dupstore_OBJECTS) $(ceph_dupstore_LDADD) $(LIBS)
+tools/ceph-filestore-dump.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_filestore_dump$(EXEEXT): $(ceph_filestore_dump_OBJECTS) $(ceph_filestore_dump_DEPENDENCIES) $(EXTRA_ceph_filestore_dump_DEPENDENCIES) 
 	@rm -f ceph_filestore_dump$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_filestore_dump_OBJECTS) $(ceph_filestore_dump_LDADD) $(LIBS)
+tools/ceph-filestore-tool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
+ceph_filestore_tool$(EXEEXT): $(ceph_filestore_tool_OBJECTS) $(ceph_filestore_tool_DEPENDENCIES) $(EXTRA_ceph_filestore_tool_DEPENDENCIES) 
+	@rm -f ceph_filestore_tool$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_filestore_tool_OBJECTS) $(ceph_filestore_tool_LDADD) $(LIBS)
+test/kv_store_bench.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
+key_value_store/kv_flat_btree_async.$(OBJEXT):  \
+	key_value_store/$(am__dirstamp) \
+	key_value_store/$(DEPDIR)/$(am__dirstamp)
 ceph_kvstorebench$(EXEEXT): $(ceph_kvstorebench_OBJECTS) $(ceph_kvstorebench_DEPENDENCIES) $(EXTRA_ceph_kvstorebench_DEPENDENCIES) 
 	@rm -f ceph_kvstorebench$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_kvstorebench_OBJECTS) $(ceph_kvstorebench_LDADD) $(LIBS)
+tools/mon_store_converter.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_mon_store_converter$(EXEEXT): $(ceph_mon_store_converter_OBJECTS) $(ceph_mon_store_converter_DEPENDENCIES) $(EXTRA_ceph_mon_store_converter_DEPENDENCIES) 
 	@rm -f ceph_mon_store_converter$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_mon_store_converter_LINK) $(ceph_mon_store_converter_OBJECTS) $(ceph_mon_store_converter_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_mon_store_converter_OBJECTS) $(ceph_mon_store_converter_LDADD) $(LIBS)
+test/multi_stress_watch.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
+test/librados/$(am__dirstamp):
+	@$(MKDIR_P) test/librados
+	@: > test/librados/$(am__dirstamp)
+test/librados/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/librados/$(DEPDIR)
+	@: > test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/test.$(OBJEXT): test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_multi_stress_watch$(EXEEXT): $(ceph_multi_stress_watch_OBJECTS) $(ceph_multi_stress_watch_DEPENDENCIES) $(EXTRA_ceph_multi_stress_watch_DEPENDENCIES) 
 	@rm -f ceph_multi_stress_watch$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_multi_stress_watch_OBJECTS) $(ceph_multi_stress_watch_LDADD) $(LIBS)
+test/omap_bench.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_omapbench$(EXEEXT): $(ceph_omapbench_OBJECTS) $(ceph_omapbench_DEPENDENCIES) $(EXTRA_ceph_omapbench_DEPENDENCIES) 
 	@rm -f ceph_omapbench$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_omapbench_OBJECTS) $(ceph_omapbench_LDADD) $(LIBS)
+tools/psim.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_psim$(EXEEXT): $(ceph_psim_OBJECTS) $(ceph_psim_DEPENDENCIES) $(EXTRA_ceph_psim_DEPENDENCIES) 
 	@rm -f ceph_psim$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_psim_OBJECTS) $(ceph_psim_LDADD) $(LIBS)
+tools/radosacl.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_radosacl$(EXEEXT): $(ceph_radosacl_OBJECTS) $(ceph_radosacl_DEPENDENCIES) $(EXTRA_ceph_radosacl_DEPENDENCIES) 
 	@rm -f ceph_radosacl$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_radosacl_OBJECTS) $(ceph_radosacl_LDADD) $(LIBS)
+rgw/rgw_jsonparser.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_common.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_env.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_json_enc.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 ceph_rgw_jsonparser$(EXEEXT): $(ceph_rgw_jsonparser_OBJECTS) $(ceph_rgw_jsonparser_DEPENDENCIES) $(EXTRA_ceph_rgw_jsonparser_DEPENDENCIES) 
 	@rm -f ceph_rgw_jsonparser$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_rgw_jsonparser_LINK) $(ceph_rgw_jsonparser_OBJECTS) $(ceph_rgw_jsonparser_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_rgw_jsonparser_OBJECTS) $(ceph_rgw_jsonparser_LDADD) $(LIBS)
+rgw/rgw_multiparser.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 ceph_rgw_multiparser$(EXEEXT): $(ceph_rgw_multiparser_OBJECTS) $(ceph_rgw_multiparser_DEPENDENCIES) $(EXTRA_ceph_rgw_multiparser_DEPENDENCIES) 
 	@rm -f ceph_rgw_multiparser$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_rgw_multiparser_LINK) $(ceph_rgw_multiparser_OBJECTS) $(ceph_rgw_multiparser_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_rgw_multiparser_OBJECTS) $(ceph_rgw_multiparser_LDADD) $(LIBS)
+tools/scratchtool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_scratchtool$(EXEEXT): $(ceph_scratchtool_OBJECTS) $(ceph_scratchtool_DEPENDENCIES) $(EXTRA_ceph_scratchtool_DEPENDENCIES) 
 	@rm -f ceph_scratchtool$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ceph_scratchtool_OBJECTS) $(ceph_scratchtool_LDADD) $(LIBS)
+tools/scratchtoolpp.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 ceph_scratchtoolpp$(EXEEXT): $(ceph_scratchtoolpp_OBJECTS) $(ceph_scratchtoolpp_DEPENDENCIES) $(EXTRA_ceph_scratchtoolpp_DEPENDENCIES) 
 	@rm -f ceph_scratchtoolpp$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_scratchtoolpp_OBJECTS) $(ceph_scratchtoolpp_LDADD) $(LIBS)
+test/bench/$(am__dirstamp):
+	@$(MKDIR_P) test/bench
+	@: > test/bench/$(am__dirstamp)
+test/bench/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/bench/$(DEPDIR)
+	@: > test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/small_io_bench.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/rados_backend.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/detailed_stat_collector.$(OBJEXT):  \
+	test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/bencher.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
 ceph_smalliobench$(EXEEXT): $(ceph_smalliobench_OBJECTS) $(ceph_smalliobench_DEPENDENCIES) $(EXTRA_ceph_smalliobench_DEPENDENCIES) 
 	@rm -f ceph_smalliobench$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_smalliobench_OBJECTS) $(ceph_smalliobench_LDADD) $(LIBS)
+test/bench/small_io_bench_dumb.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/dumb_backend.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
 ceph_smalliobenchdumb$(EXEEXT): $(ceph_smalliobenchdumb_OBJECTS) $(ceph_smalliobenchdumb_DEPENDENCIES) $(EXTRA_ceph_smalliobenchdumb_DEPENDENCIES) 
 	@rm -f ceph_smalliobenchdumb$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_smalliobenchdumb_LINK) $(ceph_smalliobenchdumb_OBJECTS) $(ceph_smalliobenchdumb_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_smalliobenchdumb_OBJECTS) $(ceph_smalliobenchdumb_LDADD) $(LIBS)
+test/bench/small_io_bench_fs.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/testfilestore_backend.$(OBJEXT):  \
+	test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
 ceph_smalliobenchfs$(EXEEXT): $(ceph_smalliobenchfs_OBJECTS) $(ceph_smalliobenchfs_DEPENDENCIES) $(EXTRA_ceph_smalliobenchfs_DEPENDENCIES) 
 	@rm -f ceph_smalliobenchfs$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_smalliobenchfs_LINK) $(ceph_smalliobenchfs_OBJECTS) $(ceph_smalliobenchfs_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_smalliobenchfs_OBJECTS) $(ceph_smalliobenchfs_LDADD) $(LIBS)
+test/bench/small_io_bench_rbd.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
+test/bench/rbd_backend.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
 ceph_smalliobenchrbd$(EXEEXT): $(ceph_smalliobenchrbd_OBJECTS) $(ceph_smalliobenchrbd_DEPENDENCIES) $(EXTRA_ceph_smalliobenchrbd_DEPENDENCIES) 
 	@rm -f ceph_smalliobenchrbd$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_smalliobenchrbd_OBJECTS) $(ceph_smalliobenchrbd_LDADD) $(LIBS)
+test/streamtest.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_streamtest$(EXEEXT): $(ceph_streamtest_OBJECTS) $(ceph_streamtest_DEPENDENCIES) $(EXTRA_ceph_streamtest_DEPENDENCIES) 
 	@rm -f ceph_streamtest$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_streamtest_LINK) $(ceph_streamtest_OBJECTS) $(ceph_streamtest_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_streamtest_OBJECTS) $(ceph_streamtest_LDADD) $(LIBS)
+test/test_cfuse_cache_invalidate.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cfuse_cache_invalidate$(EXEEXT): $(ceph_test_cfuse_cache_invalidate_OBJECTS) $(ceph_test_cfuse_cache_invalidate_DEPENDENCIES) $(EXTRA_ceph_test_cfuse_cache_invalidate_DEPENDENCIES) 
 	@rm -f ceph_test_cfuse_cache_invalidate$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_cfuse_cache_invalidate_LINK) $(ceph_test_cfuse_cache_invalidate_OBJECTS) $(ceph_test_cfuse_cache_invalidate_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_cfuse_cache_invalidate_OBJECTS) $(ceph_test_cfuse_cache_invalidate_LDADD) $(LIBS)
+test/cls_hello/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_hello
+	@: > test/cls_hello/$(am__dirstamp)
+test/cls_hello/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_hello/$(DEPDIR)
+	@: > test/cls_hello/$(DEPDIR)/$(am__dirstamp)
+test/cls_hello/ceph_test_cls_hello-test_cls_hello.$(OBJEXT):  \
+	test/cls_hello/$(am__dirstamp) \
+	test/cls_hello/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_hello-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+ceph_test_cls_hello$(EXEEXT): $(ceph_test_cls_hello_OBJECTS) $(ceph_test_cls_hello_DEPENDENCIES) $(EXTRA_ceph_test_cls_hello_DEPENDENCIES) 
+	@rm -f ceph_test_cls_hello$(EXEEXT)
+	$(AM_V_CXXLD)$(ceph_test_cls_hello_LINK) $(ceph_test_cls_hello_OBJECTS) $(ceph_test_cls_hello_LDADD) $(LIBS)
+test/cls_lock/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_lock
+	@: > test/cls_lock/$(am__dirstamp)
+test/cls_lock/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_lock/$(DEPDIR)
+	@: > test/cls_lock/$(DEPDIR)/$(am__dirstamp)
+test/cls_lock/ceph_test_cls_lock-test_cls_lock.$(OBJEXT):  \
+	test/cls_lock/$(am__dirstamp) \
+	test/cls_lock/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_lock-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_lock$(EXEEXT): $(ceph_test_cls_lock_OBJECTS) $(ceph_test_cls_lock_DEPENDENCIES) $(EXTRA_ceph_test_cls_lock_DEPENDENCIES) 
 	@rm -f ceph_test_cls_lock$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_lock_LINK) $(ceph_test_cls_lock_OBJECTS) $(ceph_test_cls_lock_LDADD) $(LIBS)
+test/cls_log/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_log
+	@: > test/cls_log/$(am__dirstamp)
+test/cls_log/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_log/$(DEPDIR)
+	@: > test/cls_log/$(DEPDIR)/$(am__dirstamp)
+test/cls_log/ceph_test_cls_log-test_cls_log.$(OBJEXT):  \
+	test/cls_log/$(am__dirstamp) \
+	test/cls_log/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_log-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_log$(EXEEXT): $(ceph_test_cls_log_OBJECTS) $(ceph_test_cls_log_DEPENDENCIES) $(EXTRA_ceph_test_cls_log_DEPENDENCIES) 
 	@rm -f ceph_test_cls_log$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_log_LINK) $(ceph_test_cls_log_OBJECTS) $(ceph_test_cls_log_LDADD) $(LIBS)
+test/cls_rbd/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_rbd
+	@: > test/cls_rbd/$(am__dirstamp)
+test/cls_rbd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_rbd/$(DEPDIR)
+	@: > test/cls_rbd/$(DEPDIR)/$(am__dirstamp)
+test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.$(OBJEXT):  \
+	test/cls_rbd/$(am__dirstamp) \
+	test/cls_rbd/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_rbd-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_rbd$(EXEEXT): $(ceph_test_cls_rbd_OBJECTS) $(ceph_test_cls_rbd_DEPENDENCIES) $(EXTRA_ceph_test_cls_rbd_DEPENDENCIES) 
 	@rm -f ceph_test_cls_rbd$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_rbd_LINK) $(ceph_test_cls_rbd_OBJECTS) $(ceph_test_cls_rbd_LDADD) $(LIBS)
+test/cls_refcount/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_refcount
+	@: > test/cls_refcount/$(am__dirstamp)
+test/cls_refcount/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_refcount/$(DEPDIR)
+	@: > test/cls_refcount/$(DEPDIR)/$(am__dirstamp)
+test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.$(OBJEXT):  \
+	test/cls_refcount/$(am__dirstamp) \
+	test/cls_refcount/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_refcount-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_refcount$(EXEEXT): $(ceph_test_cls_refcount_OBJECTS) $(ceph_test_cls_refcount_DEPENDENCIES) $(EXTRA_ceph_test_cls_refcount_DEPENDENCIES) 
 	@rm -f ceph_test_cls_refcount$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_refcount_LINK) $(ceph_test_cls_refcount_OBJECTS) $(ceph_test_cls_refcount_LDADD) $(LIBS)
+test/cls_replica_log/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_replica_log
+	@: > test/cls_replica_log/$(am__dirstamp)
+test/cls_replica_log/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_replica_log/$(DEPDIR)
+	@: > test/cls_replica_log/$(DEPDIR)/$(am__dirstamp)
+test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.$(OBJEXT):  \
+	test/cls_replica_log/$(am__dirstamp) \
+	test/cls_replica_log/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_replica_log-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_replica_log$(EXEEXT): $(ceph_test_cls_replica_log_OBJECTS) $(ceph_test_cls_replica_log_DEPENDENCIES) $(EXTRA_ceph_test_cls_replica_log_DEPENDENCIES) 
 	@rm -f ceph_test_cls_replica_log$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_replica_log_LINK) $(ceph_test_cls_replica_log_OBJECTS) $(ceph_test_cls_replica_log_LDADD) $(LIBS)
+test/cls_rgw/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_rgw
+	@: > test/cls_rgw/$(am__dirstamp)
+test/cls_rgw/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_rgw/$(DEPDIR)
+	@: > test/cls_rgw/$(DEPDIR)/$(am__dirstamp)
+test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.$(OBJEXT):  \
+	test/cls_rgw/$(am__dirstamp) \
+	test/cls_rgw/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_rgw-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_rgw$(EXEEXT): $(ceph_test_cls_rgw_OBJECTS) $(ceph_test_cls_rgw_DEPENDENCIES) $(EXTRA_ceph_test_cls_rgw_DEPENDENCIES) 
 	@rm -f ceph_test_cls_rgw$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_rgw_LINK) $(ceph_test_cls_rgw_OBJECTS) $(ceph_test_cls_rgw_LDADD) $(LIBS)
+test/ceph_test_cls_rgw_log-test_rgw_admin_log.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_rgw_log$(EXEEXT): $(ceph_test_cls_rgw_log_OBJECTS) $(ceph_test_cls_rgw_log_DEPENDENCIES) $(EXTRA_ceph_test_cls_rgw_log_DEPENDENCIES) 
 	@rm -f ceph_test_cls_rgw_log$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_rgw_log_LINK) $(ceph_test_cls_rgw_log_OBJECTS) $(ceph_test_cls_rgw_log_LDADD) $(LIBS)
+test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_rgw_meta$(EXEEXT): $(ceph_test_cls_rgw_meta_OBJECTS) $(ceph_test_cls_rgw_meta_DEPENDENCIES) $(EXTRA_ceph_test_cls_rgw_meta_DEPENDENCIES) 
 	@rm -f ceph_test_cls_rgw_meta$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_rgw_meta_LINK) $(ceph_test_cls_rgw_meta_OBJECTS) $(ceph_test_cls_rgw_meta_LDADD) $(LIBS)
+test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_rgw_opstate$(EXEEXT): $(ceph_test_cls_rgw_opstate_OBJECTS) $(ceph_test_cls_rgw_opstate_DEPENDENCIES) $(EXTRA_ceph_test_cls_rgw_opstate_DEPENDENCIES) 
 	@rm -f ceph_test_cls_rgw_opstate$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_rgw_opstate_LINK) $(ceph_test_cls_rgw_opstate_OBJECTS) $(ceph_test_cls_rgw_opstate_LDADD) $(LIBS)
+test/cls_statelog/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_statelog
+	@: > test/cls_statelog/$(am__dirstamp)
+test/cls_statelog/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_statelog/$(DEPDIR)
+	@: > test/cls_statelog/$(DEPDIR)/$(am__dirstamp)
+test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.$(OBJEXT):  \
+	test/cls_statelog/$(am__dirstamp) \
+	test/cls_statelog/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_statelog-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_statelog$(EXEEXT): $(ceph_test_cls_statelog_OBJECTS) $(ceph_test_cls_statelog_DEPENDENCIES) $(EXTRA_ceph_test_cls_statelog_DEPENDENCIES) 
 	@rm -f ceph_test_cls_statelog$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_statelog_LINK) $(ceph_test_cls_statelog_OBJECTS) $(ceph_test_cls_statelog_LDADD) $(LIBS)
+test/cls_version/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_version
+	@: > test/cls_version/$(am__dirstamp)
+test/cls_version/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/cls_version/$(DEPDIR)
+	@: > test/cls_version/$(DEPDIR)/$(am__dirstamp)
+test/cls_version/ceph_test_cls_version-test_cls_version.$(OBJEXT):  \
+	test/cls_version/$(am__dirstamp) \
+	test/cls_version/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_cls_version-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cls_version$(EXEEXT): $(ceph_test_cls_version_OBJECTS) $(ceph_test_cls_version_DEPENDENCIES) $(EXTRA_ceph_test_cls_version_DEPENDENCIES) 
 	@rm -f ceph_test_cls_version$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cls_version_LINK) $(ceph_test_cls_version_OBJECTS) $(ceph_test_cls_version_LDADD) $(LIBS)
+test/ceph_test_cors-test_cors.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_cors$(EXEEXT): $(ceph_test_cors_OBJECTS) $(ceph_test_cors_DEPENDENCIES) $(EXTRA_ceph_test_cors_DEPENDENCIES) 
 	@rm -f ceph_test_cors$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_cors_LINK) $(ceph_test_cors_OBJECTS) $(ceph_test_cors_LDADD) $(LIBS)
+test/testcrypto.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_crypto$(EXEEXT): $(ceph_test_crypto_OBJECTS) $(ceph_test_crypto_DEPENDENCIES) $(EXTRA_ceph_test_crypto_DEPENDENCIES) 
 	@rm -f ceph_test_crypto$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_crypto_LINK) $(ceph_test_crypto_OBJECTS) $(ceph_test_crypto_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_crypto_OBJECTS) $(ceph_test_crypto_LDADD) $(LIBS)
+test/ceph_test_filejournal-test_filejournal.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_filejournal$(EXEEXT): $(ceph_test_filejournal_OBJECTS) $(ceph_test_filejournal_DEPENDENCIES) $(EXTRA_ceph_test_filejournal_DEPENDENCIES) 
 	@rm -f ceph_test_filejournal$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_filejournal_LINK) $(ceph_test_filejournal_OBJECTS) $(ceph_test_filejournal_LDADD) $(LIBS)
+test/filestore/$(am__dirstamp):
+	@$(MKDIR_P) test/filestore
+	@: > test/filestore/$(am__dirstamp)
+test/filestore/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/filestore/$(DEPDIR)
+	@: > test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/filestore/ceph_test_filestore-store_test.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
 ceph_test_filestore$(EXEEXT): $(ceph_test_filestore_OBJECTS) $(ceph_test_filestore_DEPENDENCIES) $(EXTRA_ceph_test_filestore_DEPENDENCIES) 
 	@rm -f ceph_test_filestore$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_filestore_LINK) $(ceph_test_filestore_OBJECTS) $(ceph_test_filestore_LDADD) $(LIBS)
+test/filestore/test_idempotent.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/filestore/FileStoreTracker.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/common/$(am__dirstamp):
+	@$(MKDIR_P) test/common
+	@: > test/common/$(am__dirstamp)
+test/common/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/common/$(DEPDIR)
+	@: > test/common/$(DEPDIR)/$(am__dirstamp)
+test/common/ObjectContents.$(OBJEXT): test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
 ceph_test_filestore_idempotent$(EXEEXT): $(ceph_test_filestore_idempotent_OBJECTS) $(ceph_test_filestore_idempotent_DEPENDENCIES) $(EXTRA_ceph_test_filestore_idempotent_DEPENDENCIES) 
 	@rm -f ceph_test_filestore_idempotent$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_filestore_idempotent_LINK) $(ceph_test_filestore_idempotent_OBJECTS) $(ceph_test_filestore_idempotent_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_filestore_idempotent_OBJECTS) $(ceph_test_filestore_idempotent_LDADD) $(LIBS)
+test/filestore/test_idempotent_sequence.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/filestore/DeterministicOpSequence.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/filestore/TestFileStoreState.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
+test/filestore/FileStoreDiff.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
 ceph_test_filestore_idempotent_sequence$(EXEEXT): $(ceph_test_filestore_idempotent_sequence_OBJECTS) $(ceph_test_filestore_idempotent_sequence_DEPENDENCIES) $(EXTRA_ceph_test_filestore_idempotent_sequence_DEPENDENCIES) 
 	@rm -f ceph_test_filestore_idempotent_sequence$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_filestore_idempotent_sequence_LINK) $(ceph_test_filestore_idempotent_sequence_OBJECTS) $(ceph_test_filestore_idempotent_sequence_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_filestore_idempotent_sequence_OBJECTS) $(ceph_test_filestore_idempotent_sequence_LDADD) $(LIBS)
+test/filestore/workload_generator.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
 ceph_test_filestore_workloadgen$(EXEEXT): $(ceph_test_filestore_workloadgen_OBJECTS) $(ceph_test_filestore_workloadgen_DEPENDENCIES) $(EXTRA_ceph_test_filestore_workloadgen_DEPENDENCIES) 
 	@rm -f ceph_test_filestore_workloadgen$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_filestore_workloadgen_LINK) $(ceph_test_filestore_workloadgen_OBJECTS) $(ceph_test_filestore_workloadgen_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_filestore_workloadgen_OBJECTS) $(ceph_test_filestore_workloadgen_LDADD) $(LIBS)
+client/test_ioctls.$(OBJEXT): client/$(am__dirstamp) \
+	client/$(DEPDIR)/$(am__dirstamp)
 ceph_test_ioctls$(EXEEXT): $(ceph_test_ioctls_OBJECTS) $(ceph_test_ioctls_DEPENDENCIES) $(EXTRA_ceph_test_ioctls_DEPENDENCIES) 
 	@rm -f ceph_test_ioctls$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ceph_test_ioctls_OBJECTS) $(ceph_test_ioctls_LDADD) $(LIBS)
+test/testkeys.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_keys$(EXEEXT): $(ceph_test_keys_OBJECTS) $(ceph_test_keys_DEPENDENCIES) $(EXTRA_ceph_test_keys_DEPENDENCIES) 
 	@rm -f ceph_test_keys$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_keys_LINK) $(ceph_test_keys_OBJECTS) $(ceph_test_keys_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_keys_OBJECTS) $(ceph_test_keys_LDADD) $(LIBS)
+test/ObjectMap/$(am__dirstamp):
+	@$(MKDIR_P) test/ObjectMap
+	@: > test/ObjectMap/$(am__dirstamp)
+test/ObjectMap/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/ObjectMap/$(DEPDIR)
+	@: > test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
+test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.$(OBJEXT):  \
+	test/ObjectMap/$(am__dirstamp) \
+	test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
 ceph_test_keyvaluedb_atomicity$(EXEEXT): $(ceph_test_keyvaluedb_atomicity_OBJECTS) $(ceph_test_keyvaluedb_atomicity_DEPENDENCIES) $(EXTRA_ceph_test_keyvaluedb_atomicity_DEPENDENCIES) 
 	@rm -f ceph_test_keyvaluedb_atomicity$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_keyvaluedb_atomicity_LINK) $(ceph_test_keyvaluedb_atomicity_OBJECTS) $(ceph_test_keyvaluedb_atomicity_LDADD) $(LIBS)
+test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.$(OBJEXT):  \
+	test/ObjectMap/$(am__dirstamp) \
+	test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
+test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.$(OBJEXT):  \
+	test/ObjectMap/$(am__dirstamp) \
+	test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
 ceph_test_keyvaluedb_iterators$(EXEEXT): $(ceph_test_keyvaluedb_iterators_OBJECTS) $(ceph_test_keyvaluedb_iterators_DEPENDENCIES) $(EXTRA_ceph_test_keyvaluedb_iterators_DEPENDENCIES) 
 	@rm -f ceph_test_keyvaluedb_iterators$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_keyvaluedb_iterators_LINK) $(ceph_test_keyvaluedb_iterators_OBJECTS) $(ceph_test_keyvaluedb_iterators_LDADD) $(LIBS)
+test/libcephfs/$(am__dirstamp):
+	@$(MKDIR_P) test/libcephfs
+	@: > test/libcephfs/$(am__dirstamp)
+test/libcephfs/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/libcephfs/$(DEPDIR)
+	@: > test/libcephfs/$(DEPDIR)/$(am__dirstamp)
+test/libcephfs/ceph_test_libcephfs-test.$(OBJEXT):  \
+	test/libcephfs/$(am__dirstamp) \
+	test/libcephfs/$(DEPDIR)/$(am__dirstamp)
+test/libcephfs/ceph_test_libcephfs-readdir_r_cb.$(OBJEXT):  \
+	test/libcephfs/$(am__dirstamp) \
+	test/libcephfs/$(DEPDIR)/$(am__dirstamp)
+test/libcephfs/ceph_test_libcephfs-caps.$(OBJEXT):  \
+	test/libcephfs/$(am__dirstamp) \
+	test/libcephfs/$(DEPDIR)/$(am__dirstamp)
+test/libcephfs/ceph_test_libcephfs-multiclient.$(OBJEXT):  \
+	test/libcephfs/$(am__dirstamp) \
+	test/libcephfs/$(DEPDIR)/$(am__dirstamp)
 ceph_test_libcephfs$(EXEEXT): $(ceph_test_libcephfs_OBJECTS) $(ceph_test_libcephfs_DEPENDENCIES) $(EXTRA_ceph_test_libcephfs_DEPENDENCIES) 
 	@rm -f ceph_test_libcephfs$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_libcephfs_LINK) $(ceph_test_libcephfs_OBJECTS) $(ceph_test_libcephfs_LDADD) $(LIBS)
-ceph_test_libcephfs_build$(EXEEXT): $(ceph_test_libcephfs_build_OBJECTS) $(ceph_test_libcephfs_build_DEPENDENCIES) $(EXTRA_ceph_test_libcephfs_build_DEPENDENCIES) 
-	@rm -f ceph_test_libcephfs_build$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_libcephfs_build_LINK) $(ceph_test_libcephfs_build_OBJECTS) $(ceph_test_libcephfs_build_LDADD) $(LIBS)
-ceph_test_libcommon_build$(EXEEXT): $(ceph_test_libcommon_build_OBJECTS) $(ceph_test_libcommon_build_DEPENDENCIES) $(EXTRA_ceph_test_libcommon_build_DEPENDENCIES) 
-	@rm -f ceph_test_libcommon_build$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_libcommon_build_OBJECTS) $(ceph_test_libcommon_build_LDADD) $(LIBS)
-ceph_test_libhadoopcephfs_build$(EXEEXT): $(ceph_test_libhadoopcephfs_build_OBJECTS) $(ceph_test_libhadoopcephfs_build_DEPENDENCIES) $(EXTRA_ceph_test_libhadoopcephfs_build_DEPENDENCIES) 
-	@rm -f ceph_test_libhadoopcephfs_build$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_libhadoopcephfs_build_LINK) $(ceph_test_libhadoopcephfs_build_OBJECTS) $(ceph_test_libhadoopcephfs_build_LDADD) $(LIBS)
-ceph_test_librados_build$(EXEEXT): $(ceph_test_librados_build_OBJECTS) $(ceph_test_librados_build_DEPENDENCIES) $(EXTRA_ceph_test_librados_build_DEPENDENCIES) 
-	@rm -f ceph_test_librados_build$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_librados_build_LINK) $(ceph_test_librados_build_OBJECTS) $(ceph_test_librados_build_LDADD) $(LIBS)
+test/librbd/$(am__dirstamp):
+	@$(MKDIR_P) test/librbd
+	@: > test/librbd/$(am__dirstamp)
+test/librbd/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/librbd/$(DEPDIR)
+	@: > test/librbd/$(DEPDIR)/$(am__dirstamp)
+test/librbd/ceph_test_librbd-test_librbd.$(OBJEXT):  \
+	test/librbd/$(am__dirstamp) \
+	test/librbd/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_librbd-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_librbd$(EXEEXT): $(ceph_test_librbd_OBJECTS) $(ceph_test_librbd_DEPENDENCIES) $(EXTRA_ceph_test_librbd_DEPENDENCIES) 
 	@rm -f ceph_test_librbd$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_librbd_LINK) $(ceph_test_librbd_OBJECTS) $(ceph_test_librbd_LDADD) $(LIBS)
+test/librbd/ceph_test_librbd_fsx-fsx.$(OBJEXT):  \
+	test/librbd/$(am__dirstamp) \
+	test/librbd/$(DEPDIR)/$(am__dirstamp)
 ceph_test_librbd_fsx$(EXEEXT): $(ceph_test_librbd_fsx_OBJECTS) $(ceph_test_librbd_fsx_DEPENDENCIES) $(EXTRA_ceph_test_librbd_fsx_DEPENDENCIES) 
 	@rm -f ceph_test_librbd_fsx$(EXEEXT)
 	$(AM_V_CCLD)$(ceph_test_librbd_fsx_LINK) $(ceph_test_librbd_fsx_OBJECTS) $(ceph_test_librbd_fsx_LDADD) $(LIBS)
-ceph_test_librgw_build$(EXEEXT): $(ceph_test_librgw_build_OBJECTS) $(ceph_test_librgw_build_DEPENDENCIES) $(EXTRA_ceph_test_librgw_build_DEPENDENCIES) 
-	@rm -f ceph_test_librgw_build$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_librgw_build_LINK) $(ceph_test_librgw_build_OBJECTS) $(ceph_test_librgw_build_LDADD) $(LIBS)
+test/mon/$(am__dirstamp):
+	@$(MKDIR_P) test/mon
+	@: > test/mon/$(am__dirstamp)
+test/mon/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/mon/$(DEPDIR)
+	@: > test/mon/$(DEPDIR)/$(am__dirstamp)
+test/mon/test_mon_workloadgen.$(OBJEXT): test/mon/$(am__dirstamp) \
+	test/mon/$(DEPDIR)/$(am__dirstamp)
 ceph_test_mon_workloadgen$(EXEEXT): $(ceph_test_mon_workloadgen_OBJECTS) $(ceph_test_mon_workloadgen_DEPENDENCIES) $(EXTRA_ceph_test_mon_workloadgen_DEPENDENCIES) 
 	@rm -f ceph_test_mon_workloadgen$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_mon_workloadgen_LINK) $(ceph_test_mon_workloadgen_OBJECTS) $(ceph_test_mon_workloadgen_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_mon_workloadgen_OBJECTS) $(ceph_test_mon_workloadgen_LDADD) $(LIBS)
+test/testmsgr.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_msgr$(EXEEXT): $(ceph_test_msgr_OBJECTS) $(ceph_test_msgr_DEPENDENCIES) $(EXTRA_ceph_test_msgr_DEPENDENCIES) 
 	@rm -f ceph_test_msgr$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_msgr_OBJECTS) $(ceph_test_msgr_LDADD) $(LIBS)
+test/test_mutate.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_mutate$(EXEEXT): $(ceph_test_mutate_OBJECTS) $(ceph_test_mutate_DEPENDENCIES) $(EXTRA_ceph_test_mutate_DEPENDENCIES) 
 	@rm -f ceph_test_mutate$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_mutate_OBJECTS) $(ceph_test_mutate_LDADD) $(LIBS)
+test/ObjectMap/ceph_test_object_map-test_object_map.$(OBJEXT):  \
+	test/ObjectMap/$(am__dirstamp) \
+	test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
+test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.$(OBJEXT):  \
+	test/ObjectMap/$(am__dirstamp) \
+	test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
 ceph_test_object_map$(EXEEXT): $(ceph_test_object_map_OBJECTS) $(ceph_test_object_map_DEPENDENCIES) $(EXTRA_ceph_test_object_map_DEPENDENCIES) 
 	@rm -f ceph_test_object_map$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_object_map_LINK) $(ceph_test_object_map_OBJECTS) $(ceph_test_object_map_LDADD) $(LIBS)
+test/osdc/$(am__dirstamp):
+	@$(MKDIR_P) test/osdc
+	@: > test/osdc/$(am__dirstamp)
+test/osdc/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/osdc/$(DEPDIR)
+	@: > test/osdc/$(DEPDIR)/$(am__dirstamp)
+test/osdc/object_cacher_stress.$(OBJEXT): test/osdc/$(am__dirstamp) \
+	test/osdc/$(DEPDIR)/$(am__dirstamp)
+test/osdc/FakeWriteback.$(OBJEXT): test/osdc/$(am__dirstamp) \
+	test/osdc/$(DEPDIR)/$(am__dirstamp)
 ceph_test_objectcacher_stress$(EXEEXT): $(ceph_test_objectcacher_stress_OBJECTS) $(ceph_test_objectcacher_stress_DEPENDENCIES) $(EXTRA_ceph_test_objectcacher_stress_DEPENDENCIES) 
 	@rm -f ceph_test_objectcacher_stress$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_objectcacher_stress_LINK) $(ceph_test_objectcacher_stress_OBJECTS) $(ceph_test_objectcacher_stress_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_objectcacher_stress_OBJECTS) $(ceph_test_objectcacher_stress_LDADD) $(LIBS)
+test/osd/TestRados.$(OBJEXT): test/osd/$(am__dirstamp) \
+	test/osd/$(DEPDIR)/$(am__dirstamp)
+test/osd/TestOpStat.$(OBJEXT): test/osd/$(am__dirstamp) \
+	test/osd/$(DEPDIR)/$(am__dirstamp)
+test/osd/Object.$(OBJEXT): test/osd/$(am__dirstamp) \
+	test/osd/$(DEPDIR)/$(am__dirstamp)
+test/osd/RadosModel.$(OBJEXT): test/osd/$(am__dirstamp) \
+	test/osd/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados$(EXEEXT): $(ceph_test_rados_OBJECTS) $(ceph_test_rados_DEPENDENCIES) $(EXTRA_ceph_test_rados_DEPENDENCIES) 
 	@rm -f ceph_test_rados$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rados_OBJECTS) $(ceph_test_rados_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_aio-aio.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_aio-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_aio$(EXEEXT): $(ceph_test_rados_api_aio_OBJECTS) $(ceph_test_rados_api_aio_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_aio_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_aio$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_aio_LINK) $(ceph_test_rados_api_aio_OBJECTS) $(ceph_test_rados_api_aio_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_cls-cls.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_cls-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_cls$(EXEEXT): $(ceph_test_rados_api_cls_OBJECTS) $(ceph_test_rados_api_cls_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_cls_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_cls$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_cls_LINK) $(ceph_test_rados_api_cls_OBJECTS) $(ceph_test_rados_api_cls_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_cmd-cmd.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_cmd-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_cmd$(EXEEXT): $(ceph_test_rados_api_cmd_OBJECTS) $(ceph_test_rados_api_cmd_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_cmd_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_cmd$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_cmd_LINK) $(ceph_test_rados_api_cmd_OBJECTS) $(ceph_test_rados_api_cmd_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_io-io.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_io-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_io$(EXEEXT): $(ceph_test_rados_api_io_OBJECTS) $(ceph_test_rados_api_io_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_io_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_io$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_io_LINK) $(ceph_test_rados_api_io_OBJECTS) $(ceph_test_rados_api_io_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_list-list.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_list-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_list$(EXEEXT): $(ceph_test_rados_api_list_OBJECTS) $(ceph_test_rados_api_list_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_list_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_list$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_list_LINK) $(ceph_test_rados_api_list_OBJECTS) $(ceph_test_rados_api_list_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_lock-lock.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_lock-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_lock$(EXEEXT): $(ceph_test_rados_api_lock_OBJECTS) $(ceph_test_rados_api_lock_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_lock_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_lock$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_lock_LINK) $(ceph_test_rados_api_lock_OBJECTS) $(ceph_test_rados_api_lock_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_misc-misc.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_misc-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_misc$(EXEEXT): $(ceph_test_rados_api_misc_OBJECTS) $(ceph_test_rados_api_misc_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_misc_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_misc$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_misc_LINK) $(ceph_test_rados_api_misc_OBJECTS) $(ceph_test_rados_api_misc_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_pool-pool.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_pool-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_pool$(EXEEXT): $(ceph_test_rados_api_pool_OBJECTS) $(ceph_test_rados_api_pool_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_pool_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_pool$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_pool_LINK) $(ceph_test_rados_api_pool_OBJECTS) $(ceph_test_rados_api_pool_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_snapshots-snapshots.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_snapshots-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_snapshots$(EXEEXT): $(ceph_test_rados_api_snapshots_OBJECTS) $(ceph_test_rados_api_snapshots_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_snapshots_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_snapshots$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_snapshots_LINK) $(ceph_test_rados_api_snapshots_OBJECTS) $(ceph_test_rados_api_snapshots_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_stat-stat.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_stat-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_stat$(EXEEXT): $(ceph_test_rados_api_stat_OBJECTS) $(ceph_test_rados_api_stat_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_stat_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_stat$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_stat_LINK) $(ceph_test_rados_api_stat_OBJECTS) $(ceph_test_rados_api_stat_LDADD) $(LIBS)
+test/librados/ceph_test_rados_api_watch_notify-watch_notify.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_rados_api_watch_notify-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_api_watch_notify$(EXEEXT): $(ceph_test_rados_api_watch_notify_OBJECTS) $(ceph_test_rados_api_watch_notify_DEPENDENCIES) $(EXTRA_ceph_test_rados_api_watch_notify_DEPENDENCIES) 
 	@rm -f ceph_test_rados_api_watch_notify$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_rados_api_watch_notify_LINK) $(ceph_test_rados_api_watch_notify_OBJECTS) $(ceph_test_rados_api_watch_notify_LDADD) $(LIBS)
+test/system/rados_delete_pools_parallel.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_create_pool.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_delete_pool.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_list_objects.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_delete_pools_parallel$(EXEEXT): $(ceph_test_rados_delete_pools_parallel_OBJECTS) $(ceph_test_rados_delete_pools_parallel_DEPENDENCIES) $(EXTRA_ceph_test_rados_delete_pools_parallel_DEPENDENCIES) 
 	@rm -f ceph_test_rados_delete_pools_parallel$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rados_delete_pools_parallel_OBJECTS) $(ceph_test_rados_delete_pools_parallel_LDADD) $(LIBS)
+test/system/rados_list_parallel.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_list_parallel$(EXEEXT): $(ceph_test_rados_list_parallel_OBJECTS) $(ceph_test_rados_list_parallel_DEPENDENCIES) $(EXTRA_ceph_test_rados_list_parallel_DEPENDENCIES) 
 	@rm -f ceph_test_rados_list_parallel$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rados_list_parallel_OBJECTS) $(ceph_test_rados_list_parallel_LDADD) $(LIBS)
+test/system/rados_open_pools_parallel.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_open_pools_parallel$(EXEEXT): $(ceph_test_rados_open_pools_parallel_OBJECTS) $(ceph_test_rados_open_pools_parallel_DEPENDENCIES) $(EXTRA_ceph_test_rados_open_pools_parallel_DEPENDENCIES) 
 	@rm -f ceph_test_rados_open_pools_parallel$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rados_open_pools_parallel_OBJECTS) $(ceph_test_rados_open_pools_parallel_LDADD) $(LIBS)
+test/system/rados_watch_notify.$(OBJEXT): test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_delete_objs.$(OBJEXT):  \
+	test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_watch.$(OBJEXT): test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
+test/system/st_rados_notify.$(OBJEXT): test/system/$(am__dirstamp) \
+	test/system/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rados_watch_notify$(EXEEXT): $(ceph_test_rados_watch_notify_OBJECTS) $(ceph_test_rados_watch_notify_DEPENDENCIES) $(EXTRA_ceph_test_rados_watch_notify_DEPENDENCIES) 
 	@rm -f ceph_test_rados_watch_notify$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rados_watch_notify_OBJECTS) $(ceph_test_rados_watch_notify_LDADD) $(LIBS)
+test/test_rewrite_latency.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_rewrite_latency$(EXEEXT): $(ceph_test_rewrite_latency_OBJECTS) $(ceph_test_rewrite_latency_DEPENDENCIES) $(EXTRA_ceph_test_rewrite_latency_DEPENDENCIES) 
 	@rm -f ceph_test_rewrite_latency$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_rewrite_latency_OBJECTS) $(ceph_test_rewrite_latency_LDADD) $(LIBS)
+test/TestSignalHandlers.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_signal_handlers$(EXEEXT): $(ceph_test_signal_handlers_OBJECTS) $(ceph_test_signal_handlers_DEPENDENCIES) $(EXTRA_ceph_test_signal_handlers_DEPENDENCIES) 
 	@rm -f ceph_test_signal_handlers$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_signal_handlers_OBJECTS) $(ceph_test_signal_handlers_LDADD) $(LIBS)
+test/ceph_test_snap_mapper-test_snap_mapper.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_snap_mapper$(EXEEXT): $(ceph_test_snap_mapper_OBJECTS) $(ceph_test_snap_mapper_DEPENDENCIES) $(EXTRA_ceph_test_snap_mapper_DEPENDENCIES) 
 	@rm -f ceph_test_snap_mapper$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_snap_mapper_LINK) $(ceph_test_snap_mapper_OBJECTS) $(ceph_test_snap_mapper_LDADD) $(LIBS)
-ceph_test_store_tool$(EXEEXT): $(ceph_test_store_tool_OBJECTS) $(ceph_test_store_tool_DEPENDENCIES) $(EXTRA_ceph_test_store_tool_DEPENDENCIES) 
-	@rm -f ceph_test_store_tool$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_store_tool_LINK) $(ceph_test_store_tool_OBJECTS) $(ceph_test_store_tool_LDADD) $(LIBS)
+test/ceph_test_stress_watch-test_stress_watch.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+test/librados/ceph_test_stress_watch-test.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 ceph_test_stress_watch$(EXEEXT): $(ceph_test_stress_watch_OBJECTS) $(ceph_test_stress_watch_DEPENDENCIES) $(EXTRA_ceph_test_stress_watch_DEPENDENCIES) 
 	@rm -f ceph_test_stress_watch$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_test_stress_watch_LINK) $(ceph_test_stress_watch_OBJECTS) $(ceph_test_stress_watch_LDADD) $(LIBS)
+test/TestTimers.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_timers$(EXEEXT): $(ceph_test_timers_OBJECTS) $(ceph_test_timers_DEPENDENCIES) $(EXTRA_ceph_test_timers_DEPENDENCIES) 
 	@rm -f ceph_test_timers$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_timers_OBJECTS) $(ceph_test_timers_LDADD) $(LIBS)
+test/test_trans.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_test_trans$(EXEEXT): $(ceph_test_trans_OBJECTS) $(ceph_test_trans_DEPENDENCIES) $(EXTRA_ceph_test_trans_DEPENDENCIES) 
 	@rm -f ceph_test_trans$(EXEEXT)
-	$(AM_V_CXXLD)$(ceph_test_trans_LINK) $(ceph_test_trans_OBJECTS) $(ceph_test_trans_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ceph_test_trans_OBJECTS) $(ceph_test_trans_LDADD) $(LIBS)
+test/bench/tp_bench.$(OBJEXT): test/bench/$(am__dirstamp) \
+	test/bench/$(DEPDIR)/$(am__dirstamp)
 ceph_tpbench$(EXEEXT): $(ceph_tpbench_OBJECTS) $(ceph_tpbench_DEPENDENCIES) $(EXTRA_ceph_tpbench_DEPENDENCIES) 
 	@rm -f ceph_tpbench$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ceph_tpbench_OBJECTS) $(ceph_tpbench_LDADD) $(LIBS)
+test/ceph_xattr_bench-xattr_bench.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 ceph_xattr_bench$(EXEEXT): $(ceph_xattr_bench_OBJECTS) $(ceph_xattr_bench_DEPENDENCIES) $(EXTRA_ceph_xattr_bench_DEPENDENCIES) 
 	@rm -f ceph_xattr_bench$(EXEEXT)
 	$(AM_V_CXXLD)$(ceph_xattr_bench_LINK) $(ceph_xattr_bench_OBJECTS) $(ceph_xattr_bench_LDADD) $(LIBS)
 cephfs$(EXEEXT): $(cephfs_OBJECTS) $(cephfs_DEPENDENCIES) $(EXTRA_cephfs_DEPENDENCIES) 
 	@rm -f cephfs$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cephfs_OBJECTS) $(cephfs_LDADD) $(LIBS)
+tools/crushtool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 crushtool$(EXEEXT): $(crushtool_OBJECTS) $(crushtool_DEPENDENCIES) $(EXTRA_crushtool_DEPENDENCIES) 
 	@rm -f crushtool$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(crushtool_OBJECTS) $(crushtool_LDADD) $(LIBS)
+test/common/get_command_descriptions.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
+get_command_descriptions$(EXEEXT): $(get_command_descriptions_OBJECTS) $(get_command_descriptions_DEPENDENCIES) $(EXTRA_get_command_descriptions_DEPENDENCIES) 
+	@rm -f get_command_descriptions$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(get_command_descriptions_OBJECTS) $(get_command_descriptions_LDADD) $(LIBS)
 librados-config$(EXEEXT): $(librados_config_OBJECTS) $(librados_config_DEPENDENCIES) $(EXTRA_librados_config_DEPENDENCIES) 
 	@rm -f librados-config$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(librados_config_OBJECTS) $(librados_config_LDADD) $(LIBS)
+tools/monmaptool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 monmaptool$(EXEEXT): $(monmaptool_OBJECTS) $(monmaptool_DEPENDENCIES) $(EXTRA_monmaptool_DEPENDENCIES) 
 	@rm -f monmaptool$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(monmaptool_OBJECTS) $(monmaptool_LDADD) $(LIBS)
+mount/$(am__dirstamp):
+	@$(MKDIR_P) mount
+	@: > mount/$(am__dirstamp)
+mount/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) mount/$(DEPDIR)
+	@: > mount/$(DEPDIR)/$(am__dirstamp)
+mount/mount.ceph.$(OBJEXT): mount/$(am__dirstamp) \
+	mount/$(DEPDIR)/$(am__dirstamp)
 mount.ceph$(EXEEXT): $(mount_ceph_OBJECTS) $(mount_ceph_DEPENDENCIES) $(EXTRA_mount_ceph_DEPENDENCIES) 
 	@rm -f mount.ceph$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mount_ceph_OBJECTS) $(mount_ceph_LDADD) $(LIBS)
+tools/osdmaptool.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
 osdmaptool$(EXEEXT): $(osdmaptool_OBJECTS) $(osdmaptool_DEPENDENCIES) $(EXTRA_osdmaptool_DEPENDENCIES) 
 	@rm -f osdmaptool$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(osdmaptool_OBJECTS) $(osdmaptool_LDADD) $(LIBS)
+tools/rados/$(am__dirstamp):
+	@$(MKDIR_P) tools/rados
+	@: > tools/rados/$(am__dirstamp)
+tools/rados/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) tools/rados/$(DEPDIR)
+	@: > tools/rados/$(DEPDIR)/$(am__dirstamp)
+tools/rados/rados.$(OBJEXT): tools/rados/$(am__dirstamp) \
+	tools/rados/$(DEPDIR)/$(am__dirstamp)
+tools/rados/rados_import.$(OBJEXT): tools/rados/$(am__dirstamp) \
+	tools/rados/$(DEPDIR)/$(am__dirstamp)
+tools/rados/rados_export.$(OBJEXT): tools/rados/$(am__dirstamp) \
+	tools/rados/$(DEPDIR)/$(am__dirstamp)
+tools/rados/rados_sync.$(OBJEXT): tools/rados/$(am__dirstamp) \
+	tools/rados/$(DEPDIR)/$(am__dirstamp)
+common/obj_bencher.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
 rados$(EXEEXT): $(rados_OBJECTS) $(rados_DEPENDENCIES) $(EXTRA_rados_DEPENDENCIES) 
 	@rm -f rados$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(rados_OBJECTS) $(rados_LDADD) $(LIBS)
+rgw/rgw_resolve.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_swift.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_s3.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_usage.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_user.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_bucket.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_metadata.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_replica_log.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_log.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_opstate.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_replica_log.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_rest_config.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_http_client.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_swift.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_swift_auth.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/rgw_main.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 radosgw$(EXEEXT): $(radosgw_OBJECTS) $(radosgw_DEPENDENCIES) $(EXTRA_radosgw_DEPENDENCIES) 
 	@rm -f radosgw$(EXEEXT)
-	$(AM_V_CXXLD)$(radosgw_LINK) $(radosgw_OBJECTS) $(radosgw_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(radosgw_OBJECTS) $(radosgw_LDADD) $(LIBS)
+rgw/rgw_admin.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 radosgw-admin$(EXEEXT): $(radosgw_admin_OBJECTS) $(radosgw_admin_DEPENDENCIES) $(EXTRA_radosgw_admin_DEPENDENCIES) 
 	@rm -f radosgw-admin$(EXEEXT)
-	$(AM_V_CXXLD)$(radosgw_admin_LINK) $(radosgw_admin_OBJECTS) $(radosgw_admin_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(radosgw_admin_OBJECTS) $(radosgw_admin_LDADD) $(LIBS)
 rbd$(EXEEXT): $(rbd_OBJECTS) $(rbd_DEPENDENCIES) $(EXTRA_rbd_DEPENDENCIES) 
 	@rm -f rbd$(EXEEXT)
-	$(AM_V_CXXLD)$(rbd_LINK) $(rbd_OBJECTS) $(rbd_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(rbd_OBJECTS) $(rbd_LDADD) $(LIBS)
+rbd_fuse/$(am__dirstamp):
+	@$(MKDIR_P) rbd_fuse
+	@: > rbd_fuse/$(am__dirstamp)
+rbd_fuse/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) rbd_fuse/$(DEPDIR)
+	@: > rbd_fuse/$(DEPDIR)/$(am__dirstamp)
+rbd_fuse/rbd-fuse.$(OBJEXT): rbd_fuse/$(am__dirstamp) \
+	rbd_fuse/$(DEPDIR)/$(am__dirstamp)
 rbd-fuse$(EXEEXT): $(rbd_fuse_OBJECTS) $(rbd_fuse_DEPENDENCIES) $(EXTRA_rbd_fuse_DEPENDENCIES) 
 	@rm -f rbd-fuse$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rbd_fuse_OBJECTS) $(rbd_fuse_LDADD) $(LIBS)
+tools/rest_bench-rest_bench.$(OBJEXT): tools/$(am__dirstamp) \
+	tools/$(DEPDIR)/$(am__dirstamp)
+common/rest_bench-obj_bencher.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
 rest-bench$(EXEEXT): $(rest_bench_OBJECTS) $(rest_bench_DEPENDENCIES) $(EXTRA_rest_bench_DEPENDENCIES) 
 	@rm -f rest-bench$(EXEEXT)
 	$(AM_V_CXXLD)$(rest_bench_LINK) $(rest_bench_OBJECTS) $(rest_bench_LDADD) $(LIBS)
+test/test_build_libcephfs-buildtest_skeleton.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+osdc/test_build_libcephfs-Objecter.$(OBJEXT): osdc/$(am__dirstamp) \
+	osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/test_build_libcephfs-ObjectCacher.$(OBJEXT):  \
+	osdc/$(am__dirstamp) osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/test_build_libcephfs-Filer.$(OBJEXT): osdc/$(am__dirstamp) \
+	osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/test_build_libcephfs-Striper.$(OBJEXT): osdc/$(am__dirstamp) \
+	osdc/$(DEPDIR)/$(am__dirstamp)
+osdc/test_build_libcephfs-Journaler.$(OBJEXT): osdc/$(am__dirstamp) \
+	osdc/$(DEPDIR)/$(am__dirstamp)
+test_build_libcephfs$(EXEEXT): $(test_build_libcephfs_OBJECTS) $(test_build_libcephfs_DEPENDENCIES) $(EXTRA_test_build_libcephfs_DEPENDENCIES) 
+	@rm -f test_build_libcephfs$(EXEEXT)
+	$(AM_V_CXXLD)$(test_build_libcephfs_LINK) $(test_build_libcephfs_OBJECTS) $(test_build_libcephfs_LDADD) $(LIBS)
+test/test_build_libcommon-buildtest_skeleton.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-DecayCounter.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-LogClient.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-LogEntry.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-PrebufferedStreambuf.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-SloppyCRCMap.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-BackTrace.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-perf_counters.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Mutex.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-OutputDataSocket.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-admin_socket.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-admin_socket_client.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-cmdparse.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-escape.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Clock.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Throttle.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Timer.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Finisher.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-environment.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-assert.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-run_cmd.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-WorkQueue.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ConfUtils.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-MemoryModel.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-armor.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-fd.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-xattr.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-safe_io.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-snap_types.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-str_list.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-errno.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-RefCountedObj.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-blkdev.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-common_init.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-pipe.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_argparse.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_context.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-buffer.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-code_environment.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-dout.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-signal.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-simple_spin.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Thread.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-Formatter.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-HeartbeatMap.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-config.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-utf8.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-mime.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-strtol.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-page.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-lockdep.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-version.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-hex.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-entity_name.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_crypto.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_crypto_cms.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_json.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ipaddr.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-pick_address.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-util.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-TextTable.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_fs.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_hash.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_strings.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-ceph_frag.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-addr_parsing.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-hobject.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-bloom_filter.$(OBJEXT):  \
+	common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
+common/test_build_libcommon-secret.$(OBJEXT): common/$(am__dirstamp) \
+	common/$(DEPDIR)/$(am__dirstamp)
+mon/test_build_libcommon-MonCap.$(OBJEXT): mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+mon/test_build_libcommon-MonClient.$(OBJEXT): mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+mon/test_build_libcommon-MonMap.$(OBJEXT): mon/$(am__dirstamp) \
+	mon/$(DEPDIR)/$(am__dirstamp)
+osd/test_build_libcommon-OSDMap.$(OBJEXT): osd/$(am__dirstamp) \
+	osd/$(DEPDIR)/$(am__dirstamp)
+osd/test_build_libcommon-osd_types.$(OBJEXT): osd/$(am__dirstamp) \
+	osd/$(DEPDIR)/$(am__dirstamp)
+mds/test_build_libcommon-MDSMap.$(OBJEXT): mds/$(am__dirstamp) \
+	mds/$(DEPDIR)/$(am__dirstamp)
+mds/test_build_libcommon-inode_backtrace.$(OBJEXT):  \
+	mds/$(am__dirstamp) mds/$(DEPDIR)/$(am__dirstamp)
+mds/test_build_libcommon-mdstypes.$(OBJEXT): mds/$(am__dirstamp) \
+	mds/$(DEPDIR)/$(am__dirstamp)
+test_build_libcommon$(EXEEXT): $(test_build_libcommon_OBJECTS) $(test_build_libcommon_DEPENDENCIES) $(EXTRA_test_build_libcommon_DEPENDENCIES) 
+	@rm -f test_build_libcommon$(EXEEXT)
+	$(AM_V_CXXLD)$(test_build_libcommon_LINK) $(test_build_libcommon_OBJECTS) $(test_build_libcommon_LDADD) $(LIBS)
+test/test_build_librados-buildtest_skeleton.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+librados/test_build_librados-librados.$(OBJEXT):  \
+	librados/$(am__dirstamp) librados/$(DEPDIR)/$(am__dirstamp)
+librados/test_build_librados-RadosClient.$(OBJEXT):  \
+	librados/$(am__dirstamp) librados/$(DEPDIR)/$(am__dirstamp)
+librados/test_build_librados-IoCtxImpl.$(OBJEXT):  \
+	librados/$(am__dirstamp) librados/$(DEPDIR)/$(am__dirstamp)
+librados/test_build_librados-snap_set_diff.$(OBJEXT):  \
+	librados/$(am__dirstamp) librados/$(DEPDIR)/$(am__dirstamp)
+test_build_librados$(EXEEXT): $(test_build_librados_OBJECTS) $(test_build_librados_DEPENDENCIES) $(EXTRA_test_build_librados_DEPENDENCIES) 
+	@rm -f test_build_librados$(EXEEXT)
+	$(AM_V_CXXLD)$(test_build_librados_LINK) $(test_build_librados_OBJECTS) $(test_build_librados_LDADD) $(LIBS)
+test/test_build_librgw-buildtest_skeleton.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-librgw.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_acl.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_acl_s3.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_acl_swift.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_client_io.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_fcgi.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_xml.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_usage.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_json_enc.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_user.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_bucket.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_tools.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_rados.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_http_client.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_rest_client.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_rest_conn.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_op.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_common.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_cache.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_formats.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_log.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_multi.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_policy_s3.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_gc.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_multi_del.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_env.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_cors.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_cors_s3.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_auth_s3.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_metadata.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_replica_log.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_keystone.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+rgw/test_build_librgw-rgw_quota.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
+test_build_librgw$(EXEEXT): $(test_build_librgw_OBJECTS) $(test_build_librgw_DEPENDENCIES) $(EXTRA_test_build_librgw_DEPENDENCIES) 
+	@rm -f test_build_librgw$(EXEEXT)
+	$(AM_V_CXXLD)$(test_build_librgw_LINK) $(test_build_librgw_OBJECTS) $(test_build_librgw_LDADD) $(LIBS)
+test/unittest_addrs-test_addrs.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_addrs$(EXEEXT): $(unittest_addrs_OBJECTS) $(unittest_addrs_DEPENDENCIES) $(EXTRA_unittest_addrs_DEPENDENCIES) 
 	@rm -f unittest_addrs$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_addrs_LINK) $(unittest_addrs_OBJECTS) $(unittest_addrs_LDADD) $(LIBS)
+test/unittest_admin_socket-admin_socket.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_admin_socket$(EXEEXT): $(unittest_admin_socket_OBJECTS) $(unittest_admin_socket_DEPENDENCIES) $(EXTRA_unittest_admin_socket_DEPENDENCIES) 
 	@rm -f unittest_admin_socket$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_admin_socket_LINK) $(unittest_admin_socket_OBJECTS) $(unittest_admin_socket_LDADD) $(LIBS)
+test/test_arch.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
+unittest_arch$(EXEEXT): $(unittest_arch_OBJECTS) $(unittest_arch_DEPENDENCIES) $(EXTRA_unittest_arch_DEPENDENCIES) 
+	@rm -f unittest_arch$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unittest_arch_OBJECTS) $(unittest_arch_LDADD) $(LIBS)
+test/unittest_base64-base64.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_base64$(EXEEXT): $(unittest_base64_OBJECTS) $(unittest_base64_DEPENDENCIES) $(EXTRA_unittest_base64_DEPENDENCIES) 
 	@rm -f unittest_base64$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_base64_LINK) $(unittest_base64_OBJECTS) $(unittest_base64_LDADD) $(LIBS)
+test/common/unittest_bloom_filter-test_bloom_filter.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
+unittest_bloom_filter$(EXEEXT): $(unittest_bloom_filter_OBJECTS) $(unittest_bloom_filter_DEPENDENCIES) $(EXTRA_unittest_bloom_filter_DEPENDENCIES) 
+	@rm -f unittest_bloom_filter$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_bloom_filter_LINK) $(unittest_bloom_filter_OBJECTS) $(unittest_bloom_filter_LDADD) $(LIBS)
+test/unittest_bufferlist-bufferlist.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_bufferlist$(EXEEXT): $(unittest_bufferlist_OBJECTS) $(unittest_bufferlist_DEPENDENCIES) $(EXTRA_unittest_bufferlist_DEPENDENCIES) 
 	@rm -f unittest_bufferlist$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_bufferlist_LINK) $(unittest_bufferlist_OBJECTS) $(unittest_bufferlist_LDADD) $(LIBS)
+test/unittest_ceph_argparse-ceph_argparse.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_ceph_argparse$(EXEEXT): $(unittest_ceph_argparse_OBJECTS) $(unittest_ceph_argparse_DEPENDENCIES) $(EXTRA_unittest_ceph_argparse_DEPENDENCIES) 
 	@rm -f unittest_ceph_argparse$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_ceph_argparse_LINK) $(unittest_ceph_argparse_OBJECTS) $(unittest_ceph_argparse_LDADD) $(LIBS)
+test/unittest_ceph_compatset-ceph_compatset.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
+unittest_ceph_compatset$(EXEEXT): $(unittest_ceph_compatset_OBJECTS) $(unittest_ceph_compatset_DEPENDENCIES) $(EXTRA_unittest_ceph_compatset_DEPENDENCIES) 
+	@rm -f unittest_ceph_compatset$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_ceph_compatset_LINK) $(unittest_ceph_compatset_OBJECTS) $(unittest_ceph_compatset_LDADD) $(LIBS)
+test/unittest_ceph_crypto-ceph_crypto.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_ceph_crypto$(EXEEXT): $(unittest_ceph_crypto_OBJECTS) $(unittest_ceph_crypto_DEPENDENCIES) $(EXTRA_unittest_ceph_crypto_DEPENDENCIES) 
 	@rm -f unittest_ceph_crypto$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_ceph_crypto_LINK) $(unittest_ceph_crypto_OBJECTS) $(unittest_ceph_crypto_LDADD) $(LIBS)
+test/filestore/unittest_chain_xattr-chain_xattr.$(OBJEXT):  \
+	test/filestore/$(am__dirstamp) \
+	test/filestore/$(DEPDIR)/$(am__dirstamp)
 unittest_chain_xattr$(EXEEXT): $(unittest_chain_xattr_OBJECTS) $(unittest_chain_xattr_DEPENDENCIES) $(EXTRA_unittest_chain_xattr_DEPENDENCIES) 
 	@rm -f unittest_chain_xattr$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_chain_xattr_LINK) $(unittest_chain_xattr_OBJECTS) $(unittest_chain_xattr_LDADD) $(LIBS)
+test/unittest_confutils-confutils.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_confutils$(EXEEXT): $(unittest_confutils_OBJECTS) $(unittest_confutils_DEPENDENCIES) $(EXTRA_unittest_confutils_DEPENDENCIES) 
 	@rm -f unittest_confutils$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_confutils_LINK) $(unittest_confutils_OBJECTS) $(unittest_confutils_LDADD) $(LIBS)
+test/common/unittest_crc32c-test_crc32c.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
+unittest_crc32c$(EXEEXT): $(unittest_crc32c_OBJECTS) $(unittest_crc32c_DEPENDENCIES) $(EXTRA_unittest_crc32c_DEPENDENCIES) 
+	@rm -f unittest_crc32c$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_crc32c_LINK) $(unittest_crc32c_OBJECTS) $(unittest_crc32c_LDADD) $(LIBS)
+test/unittest_crypto-crypto.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_crypto$(EXEEXT): $(unittest_crypto_OBJECTS) $(unittest_crypto_DEPENDENCIES) $(EXTRA_unittest_crypto_DEPENDENCIES) 
 	@rm -f unittest_crypto$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_crypto_LINK) $(unittest_crypto_OBJECTS) $(unittest_crypto_LDADD) $(LIBS)
+test/unittest_daemon_config-daemon_config.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_daemon_config$(EXEEXT): $(unittest_daemon_config_OBJECTS) $(unittest_daemon_config_DEPENDENCIES) $(EXTRA_unittest_daemon_config_DEPENDENCIES) 
 	@rm -f unittest_daemon_config$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_daemon_config_LINK) $(unittest_daemon_config_OBJECTS) $(unittest_daemon_config_LDADD) $(LIBS)
+test/unittest_encoding-encoding.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_encoding$(EXEEXT): $(unittest_encoding_OBJECTS) $(unittest_encoding_DEPENDENCIES) $(EXTRA_unittest_encoding_DEPENDENCIES) 
 	@rm -f unittest_encoding$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_encoding_LINK) $(unittest_encoding_OBJECTS) $(unittest_encoding_LDADD) $(LIBS)
+test/osd/unittest_erasure_code_example-TestErasureCodeExample.$(OBJEXT):  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+unittest_erasure_code_example$(EXEEXT): $(unittest_erasure_code_example_OBJECTS) $(unittest_erasure_code_example_DEPENDENCIES) $(EXTRA_unittest_erasure_code_example_DEPENDENCIES) 
+	@rm -f unittest_erasure_code_example$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_erasure_code_example_LINK) $(unittest_erasure_code_example_OBJECTS) $(unittest_erasure_code_example_LDADD) $(LIBS)
+test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.$(OBJEXT):  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/cauchy.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/galois.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/jerasure.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/liberation.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+osd/ErasureCodePluginJerasure/reed_sol.$(OBJEXT):  \
+	osd/ErasureCodePluginJerasure/$(am__dirstamp) \
+	osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+unittest_erasure_code_jerasure$(EXEEXT): $(unittest_erasure_code_jerasure_OBJECTS) $(unittest_erasure_code_jerasure_DEPENDENCIES) $(EXTRA_unittest_erasure_code_jerasure_DEPENDENCIES) 
+	@rm -f unittest_erasure_code_jerasure$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_erasure_code_jerasure_LINK) $(unittest_erasure_code_jerasure_OBJECTS) $(unittest_erasure_code_jerasure_LDADD) $(LIBS)
+test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.$(OBJEXT):  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+unittest_erasure_code_plugin$(EXEEXT): $(unittest_erasure_code_plugin_OBJECTS) $(unittest_erasure_code_plugin_DEPENDENCIES) $(EXTRA_unittest_erasure_code_plugin_DEPENDENCIES) 
+	@rm -f unittest_erasure_code_plugin$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_erasure_code_plugin_LINK) $(unittest_erasure_code_plugin_OBJECTS) $(unittest_erasure_code_plugin_LDADD) $(LIBS)
+test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.$(OBJEXT):  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
+unittest_erasure_code_plugin_jerasure$(EXEEXT): $(unittest_erasure_code_plugin_jerasure_OBJECTS) $(unittest_erasure_code_plugin_jerasure_DEPENDENCIES) $(EXTRA_unittest_erasure_code_plugin_jerasure_DEPENDENCIES) 
+	@rm -f unittest_erasure_code_plugin_jerasure$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_erasure_code_plugin_jerasure_LINK) $(unittest_erasure_code_plugin_jerasure_OBJECTS) $(unittest_erasure_code_plugin_jerasure_LDADD) $(LIBS)
+test/unittest_escape-escape.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_escape$(EXEEXT): $(unittest_escape_OBJECTS) $(unittest_escape_DEPENDENCIES) $(EXTRA_unittest_escape_DEPENDENCIES) 
 	@rm -f unittest_escape$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_escape_LINK) $(unittest_escape_OBJECTS) $(unittest_escape_LDADD) $(LIBS)
+test/os/$(am__dirstamp):
+	@$(MKDIR_P) test/os
+	@: > test/os/$(am__dirstamp)
+test/os/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) test/os/$(DEPDIR)
+	@: > test/os/$(DEPDIR)/$(am__dirstamp)
+test/os/unittest_flatindex-TestFlatIndex.$(OBJEXT):  \
+	test/os/$(am__dirstamp) test/os/$(DEPDIR)/$(am__dirstamp)
 unittest_flatindex$(EXEEXT): $(unittest_flatindex_OBJECTS) $(unittest_flatindex_DEPENDENCIES) $(EXTRA_unittest_flatindex_DEPENDENCIES) 
 	@rm -f unittest_flatindex$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_flatindex_LINK) $(unittest_flatindex_OBJECTS) $(unittest_flatindex_LDADD) $(LIBS)
+test/unittest_formatter-formatter.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
+rgw/unittest_formatter-rgw_formats.$(OBJEXT): rgw/$(am__dirstamp) \
+	rgw/$(DEPDIR)/$(am__dirstamp)
 unittest_formatter$(EXEEXT): $(unittest_formatter_OBJECTS) $(unittest_formatter_DEPENDENCIES) $(EXTRA_unittest_formatter_DEPENDENCIES) 
 	@rm -f unittest_formatter$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_formatter_LINK) $(unittest_formatter_OBJECTS) $(unittest_formatter_LDADD) $(LIBS)
+test/unittest_gather-gather.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_gather$(EXEEXT): $(unittest_gather_OBJECTS) $(unittest_gather_DEPENDENCIES) $(EXTRA_unittest_gather_DEPENDENCIES) 
 	@rm -f unittest_gather$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_gather_LINK) $(unittest_gather_OBJECTS) $(unittest_gather_LDADD) $(LIBS)
+test/unittest_heartbeatmap-heartbeat_map.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_heartbeatmap$(EXEEXT): $(unittest_heartbeatmap_OBJECTS) $(unittest_heartbeatmap_DEPENDENCIES) $(EXTRA_unittest_heartbeatmap_DEPENDENCIES) 
 	@rm -f unittest_heartbeatmap$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_heartbeatmap_LINK) $(unittest_heartbeatmap_OBJECTS) $(unittest_heartbeatmap_LDADD) $(LIBS)
+test/unittest_ipaddr-test_ipaddr.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_ipaddr$(EXEEXT): $(unittest_ipaddr_OBJECTS) $(unittest_ipaddr_DEPENDENCIES) $(EXTRA_unittest_ipaddr_DEPENDENCIES) 
 	@rm -f unittest_ipaddr$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_ipaddr_LINK) $(unittest_ipaddr_OBJECTS) $(unittest_ipaddr_LDADD) $(LIBS)
+test/os/unittest_lfnindex-TestLFNIndex.$(OBJEXT):  \
+	test/os/$(am__dirstamp) test/os/$(DEPDIR)/$(am__dirstamp)
 unittest_lfnindex$(EXEEXT): $(unittest_lfnindex_OBJECTS) $(unittest_lfnindex_DEPENDENCIES) $(EXTRA_unittest_lfnindex_DEPENDENCIES) 
 	@rm -f unittest_lfnindex$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_lfnindex_LINK) $(unittest_lfnindex_OBJECTS) $(unittest_lfnindex_LDADD) $(LIBS)
+test/unittest_libcephfs_config-libcephfs_config.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_libcephfs_config$(EXEEXT): $(unittest_libcephfs_config_OBJECTS) $(unittest_libcephfs_config_DEPENDENCIES) $(EXTRA_unittest_libcephfs_config_DEPENDENCIES) 
 	@rm -f unittest_libcephfs_config$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_libcephfs_config_LINK) $(unittest_libcephfs_config_OBJECTS) $(unittest_libcephfs_config_LDADD) $(LIBS)
+test/librados/unittest_librados-librados.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 unittest_librados$(EXEEXT): $(unittest_librados_OBJECTS) $(unittest_librados_DEPENDENCIES) $(EXTRA_unittest_librados_DEPENDENCIES) 
 	@rm -f unittest_librados$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_librados_LINK) $(unittest_librados_OBJECTS) $(unittest_librados_LDADD) $(LIBS)
+test/librados/unittest_librados_config-librados_config.$(OBJEXT):  \
+	test/librados/$(am__dirstamp) \
+	test/librados/$(DEPDIR)/$(am__dirstamp)
 unittest_librados_config$(EXEEXT): $(unittest_librados_config_OBJECTS) $(unittest_librados_config_DEPENDENCIES) $(EXTRA_unittest_librados_config_DEPENDENCIES) 
 	@rm -f unittest_librados_config$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_librados_config_LINK) $(unittest_librados_config_OBJECTS) $(unittest_librados_config_LDADD) $(LIBS)
+log/unittest_log-test.$(OBJEXT): log/$(am__dirstamp) \
+	log/$(DEPDIR)/$(am__dirstamp)
 unittest_log$(EXEEXT): $(unittest_log_OBJECTS) $(unittest_log_DEPENDENCIES) $(EXTRA_unittest_log_DEPENDENCIES) 
 	@rm -f unittest_log$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_log_LINK) $(unittest_log_OBJECTS) $(unittest_log_LDADD) $(LIBS)
+test/unittest_mime-mime.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_mime$(EXEEXT): $(unittest_mime_OBJECTS) $(unittest_mime_DEPENDENCIES) $(EXTRA_unittest_mime_DEPENDENCIES) 
 	@rm -f unittest_mime$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_mime_LINK) $(unittest_mime_OBJECTS) $(unittest_mime_LDADD) $(LIBS)
+test/mon/unittest_mon_moncap-moncap.$(OBJEXT):  \
+	test/mon/$(am__dirstamp) test/mon/$(DEPDIR)/$(am__dirstamp)
 unittest_mon_moncap$(EXEEXT): $(unittest_mon_moncap_OBJECTS) $(unittest_mon_moncap_DEPENDENCIES) $(EXTRA_unittest_mon_moncap_DEPENDENCIES) 
 	@rm -f unittest_mon_moncap$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_mon_moncap_LINK) $(unittest_mon_moncap_OBJECTS) $(unittest_mon_moncap_LDADD) $(LIBS)
+test/osd/unittest_osd_osdcap-osdcap.$(OBJEXT):  \
+	test/osd/$(am__dirstamp) test/osd/$(DEPDIR)/$(am__dirstamp)
 unittest_osd_osdcap$(EXEEXT): $(unittest_osd_osdcap_OBJECTS) $(unittest_osd_osdcap_DEPENDENCIES) $(EXTRA_unittest_osd_osdcap_DEPENDENCIES) 
 	@rm -f unittest_osd_osdcap$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_osd_osdcap_LINK) $(unittest_osd_osdcap_OBJECTS) $(unittest_osd_osdcap_LDADD) $(LIBS)
+test/unittest_osd_types-test_osd_types.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_osd_types$(EXEEXT): $(unittest_osd_types_OBJECTS) $(unittest_osd_types_DEPENDENCIES) $(EXTRA_unittest_osd_types_DEPENDENCIES) 
 	@rm -f unittest_osd_types$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_osd_types_LINK) $(unittest_osd_types_OBJECTS) $(unittest_osd_types_LDADD) $(LIBS)
+test/unittest_perf_counters-perf_counters.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_perf_counters$(EXEEXT): $(unittest_perf_counters_OBJECTS) $(unittest_perf_counters_DEPENDENCIES) $(EXTRA_unittest_perf_counters_DEPENDENCIES) 
 	@rm -f unittest_perf_counters$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_perf_counters_LINK) $(unittest_perf_counters_OBJECTS) $(unittest_perf_counters_LDADD) $(LIBS)
+test/osd/unittest_pglog-TestPGLog.$(OBJEXT): test/osd/$(am__dirstamp) \
+	test/osd/$(DEPDIR)/$(am__dirstamp)
 unittest_pglog$(EXEEXT): $(unittest_pglog_OBJECTS) $(unittest_pglog_DEPENDENCIES) $(EXTRA_unittest_pglog_DEPENDENCIES) 
 	@rm -f unittest_pglog$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_pglog_LINK) $(unittest_pglog_OBJECTS) $(unittest_pglog_LDADD) $(LIBS)
+test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_prebufferedstreambuf$(EXEEXT): $(unittest_prebufferedstreambuf_OBJECTS) $(unittest_prebufferedstreambuf_DEPENDENCIES) $(EXTRA_unittest_prebufferedstreambuf_DEPENDENCIES) 
 	@rm -f unittest_prebufferedstreambuf$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_prebufferedstreambuf_LINK) $(unittest_prebufferedstreambuf_OBJECTS) $(unittest_prebufferedstreambuf_LDADD) $(LIBS)
+test/unittest_run_cmd-run_cmd.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_run_cmd$(EXEEXT): $(unittest_run_cmd_OBJECTS) $(unittest_run_cmd_DEPENDENCIES) $(EXTRA_unittest_run_cmd_DEPENDENCIES) 
 	@rm -f unittest_run_cmd$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_run_cmd_LINK) $(unittest_run_cmd_OBJECTS) $(unittest_run_cmd_LDADD) $(LIBS)
+test/common/unittest_sharedptr_registry-test_sharedptr_registry.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
+unittest_sharedptr_registry$(EXEEXT): $(unittest_sharedptr_registry_OBJECTS) $(unittest_sharedptr_registry_DEPENDENCIES) $(EXTRA_unittest_sharedptr_registry_DEPENDENCIES) 
+	@rm -f unittest_sharedptr_registry$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_sharedptr_registry_LINK) $(unittest_sharedptr_registry_OBJECTS) $(unittest_sharedptr_registry_LDADD) $(LIBS)
+test/unittest_signals-signals.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_signals$(EXEEXT): $(unittest_signals_OBJECTS) $(unittest_signals_DEPENDENCIES) $(EXTRA_unittest_signals_DEPENDENCIES) 
 	@rm -f unittest_signals$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_signals_LINK) $(unittest_signals_OBJECTS) $(unittest_signals_LDADD) $(LIBS)
+test/unittest_simple_spin-simple_spin.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_simple_spin$(EXEEXT): $(unittest_simple_spin_OBJECTS) $(unittest_simple_spin_DEPENDENCIES) $(EXTRA_unittest_simple_spin_DEPENDENCIES) 
 	@rm -f unittest_simple_spin$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_simple_spin_LINK) $(unittest_simple_spin_OBJECTS) $(unittest_simple_spin_LDADD) $(LIBS)
+test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
+unittest_sloppy_crc_map$(EXEEXT): $(unittest_sloppy_crc_map_OBJECTS) $(unittest_sloppy_crc_map_DEPENDENCIES) $(EXTRA_unittest_sloppy_crc_map_DEPENDENCIES) 
+	@rm -f unittest_sloppy_crc_map$(EXEEXT)
+	$(AM_V_CXXLD)$(unittest_sloppy_crc_map_LINK) $(unittest_sloppy_crc_map_OBJECTS) $(unittest_sloppy_crc_map_LDADD) $(LIBS)
+test/unittest_str_list-test_str_list.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_str_list$(EXEEXT): $(unittest_str_list_OBJECTS) $(unittest_str_list_DEPENDENCIES) $(EXTRA_unittest_str_list_DEPENDENCIES) 
 	@rm -f unittest_str_list$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_str_list_LINK) $(unittest_str_list_OBJECTS) $(unittest_str_list_LDADD) $(LIBS)
+test/unittest_striper-test_striper.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_striper$(EXEEXT): $(unittest_striper_OBJECTS) $(unittest_striper_DEPENDENCIES) $(EXTRA_unittest_striper_DEPENDENCIES) 
 	@rm -f unittest_striper$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_striper_LINK) $(unittest_striper_OBJECTS) $(unittest_striper_LDADD) $(LIBS)
+test/unittest_strtol-strtol.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_strtol$(EXEEXT): $(unittest_strtol_OBJECTS) $(unittest_strtol_DEPENDENCIES) $(EXTRA_unittest_strtol_DEPENDENCIES) 
 	@rm -f unittest_strtol$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_strtol_LINK) $(unittest_strtol_OBJECTS) $(unittest_strtol_LDADD) $(LIBS)
+test/unittest_texttable-test_texttable.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_texttable$(EXEEXT): $(unittest_texttable_OBJECTS) $(unittest_texttable_DEPENDENCIES) $(EXTRA_unittest_texttable_DEPENDENCIES) 
 	@rm -f unittest_texttable$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_texttable_LINK) $(unittest_texttable_OBJECTS) $(unittest_texttable_LDADD) $(LIBS)
+test/common/unittest_throttle-Throttle.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
 unittest_throttle$(EXEEXT): $(unittest_throttle_OBJECTS) $(unittest_throttle_DEPENDENCIES) $(EXTRA_unittest_throttle_DEPENDENCIES) 
 	@rm -f unittest_throttle$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_throttle_LINK) $(unittest_throttle_OBJECTS) $(unittest_throttle_LDADD) $(LIBS)
+test/unittest_utf8-utf8.$(OBJEXT): test/$(am__dirstamp) \
+	test/$(DEPDIR)/$(am__dirstamp)
 unittest_utf8$(EXEEXT): $(unittest_utf8_OBJECTS) $(unittest_utf8_DEPENDENCIES) $(EXTRA_unittest_utf8_DEPENDENCIES) 
 	@rm -f unittest_utf8$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_utf8_LINK) $(unittest_utf8_OBJECTS) $(unittest_utf8_LDADD) $(LIBS)
+test/common/unittest_util-test_util.$(OBJEXT):  \
+	test/common/$(am__dirstamp) \
+	test/common/$(DEPDIR)/$(am__dirstamp)
 unittest_util$(EXEEXT): $(unittest_util_OBJECTS) $(unittest_util_DEPENDENCIES) $(EXTRA_unittest_util_DEPENDENCIES) 
 	@rm -f unittest_util$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_util_LINK) $(unittest_util_OBJECTS) $(unittest_util_LDADD) $(LIBS)
+test/unittest_workqueue-test_workqueue.$(OBJEXT):  \
+	test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
 unittest_workqueue$(EXEEXT): $(unittest_workqueue_OBJECTS) $(unittest_workqueue_DEPENDENCIES) $(EXTRA_unittest_workqueue_DEPENDENCIES) 
 	@rm -f unittest_workqueue$(EXEEXT)
 	$(AM_V_CXXLD)$(unittest_workqueue_LINK) $(unittest_workqueue_OBJECTS) $(unittest_workqueue_LDADD) $(LIBS)
@@ -5682,14750 +7208,5685 @@ install-ceph_sbinSCRIPTS: $(ceph_sbin_SCRIPTS)
 	while read type dir files; do \
 	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
 	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(ceph_sbindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(ceph_sbindir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-ceph_sbinSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(ceph_sbin_SCRIPTS)'; test -n "$(ceph_sbindir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(ceph_sbindir)'; $(am__uninstall_files_from_dir)
-install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n' \
-	    -e 'h;s|.*|.|' \
-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-	      if (++n[d] == $(am__install_max)) { \
-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-	    else { print "f", d "/" $$4, $$1 } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-dist_binSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-install-sbinSCRIPTS: $(sbin_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
-	@list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n' \
-	    -e 'h;s|.*|.|' \
-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-	      if (++n[d] == $(am__install_max)) { \
-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-	    else { print "f", d "/" $$4, $$1 } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-sbinSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
-install-shell_commonSCRIPTS: $(shell_common_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	test -z "$(shell_commondir)" || $(MKDIR_P) "$(DESTDIR)$(shell_commondir)"
-	@list='$(shell_common_SCRIPTS)'; test -n "$(shell_commondir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n' \
-	    -e 'h;s|.*|.|' \
-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-	      if (++n[d] == $(am__install_max)) { \
-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-	    else { print "f", d "/" $$4, $$1 } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(shell_commondir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(shell_commondir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-shell_commonSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(shell_common_SCRIPTS)'; test -n "$(shell_commondir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(shell_commondir)'; $(am__uninstall_files_from_dir)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Accepter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Anchor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AnchorClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AnchorServer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthMethodList.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthNoneAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AuthUnknownAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BackTrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CDentry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CDir.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CInode.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Capability.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CephxAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CephxClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CephxProtocol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Client.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ClientSnapRealm.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Clock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ConfUtils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CrushCompiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CrushTester.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CrushWrapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DecayCounter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Dentry.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DispatchQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Dumper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Finisher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/InoTable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Inode.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Journaler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/KeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Locker.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/LogClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/LogEntry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/LogEvent.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDBalancer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDCache.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDLog.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDS.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDSMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDSTable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDSTableClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MDSTableServer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MemoryModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Message.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Messenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MetaRequest.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MetaSession.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Migrator.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MonClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MonMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Mutation.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Mutex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/OSDMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Object.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/OutputDataSocket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RadosModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RefCountedObj.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Resetter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RotatingKeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Server.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SessionMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SimpleMessenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SnapRealm.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SnapServer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SubsystemMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SyntheticClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestOpStat.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestRados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestSignalHandlers.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestTimers.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Thread.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Timer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Trace.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/WorkQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/addr_parsing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/admin_socket_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/armor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/assert.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bench_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bencher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/blkdev.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/builder.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph-filestore-dump.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_authtool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_conf-ceph_conf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_context.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_crypto_cms.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-ceph_dencoder.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-rgw_acl.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-rgw_common.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-rgw_dencoder.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-rgw_env.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dencoder-rgw_json_enc.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_dupstore-dupstore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_frag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_fuse-ceph_fuse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_fuse-fuse_ll.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_json.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mds-ceph_mds.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mds-disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mds-heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon-TextTable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon-ceph_mon.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon-disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon-heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon_store_converter-MonitorStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_monstore_tool-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd-ceph_osd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd-class_api.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd-class_debug.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd-disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd-heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchdumb-bencher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchfs-bencher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_streamtest-streamtest.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_strings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_syn.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_lock-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_log-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_log-test_cls_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_refcount-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_replica_log-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rgw-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_statelog-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_version-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cls_version-test_cls_version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_cors-test_cors.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_crypto-testcrypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filejournal-test_filejournal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore-store_test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keys-heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keys-testkeys.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs-caps.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs-multiclient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Accepter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Clock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Filer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Finisher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-LogClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Message.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Messenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-MonClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-MonMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Mutex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Objecter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Thread.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-Timer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-assert.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-blkdev.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-code_environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-common_init.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-dout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-entity_name.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-errno.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-fd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-hex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-hobject.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-lockdep.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-msg_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-page.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-pick_address.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-signal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-snap_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libcephfs_build-version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Accepter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthMethodList.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-BackTrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CephxProtocol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Clock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ConfUtils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CrushCompiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CrushTester.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-CrushWrapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-DecayCounter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-DispatchQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Finisher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-KeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-LogClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-LogEntry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-MDSMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-MemoryModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Message.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Messenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-MonClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-MonMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Mutex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-OSDMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Objecter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-RadosClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-RefCountedObj.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-SubsystemMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Thread.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-Timer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-WorkQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-admin_socket_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-assert.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-blkdev.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_context.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_frag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_json.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ceph_strings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-cls_lock_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-cls_lock_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-cmdparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-code_environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-common_init.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-cpu_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-disabled_stubs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-dout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-entity_name.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-errno.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-fd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-hex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-hobject.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-inode_backtrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-json_spirit_value.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-librados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-lockdep.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-mdstypes.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-msg_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-page.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-pick_address.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-signal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-snap_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librados_build-version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librbd-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librbd-test_librbd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librbd_fsx-fsx.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Accepter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-BackTrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Clock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ConfUtils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CrushTester.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-DecayCounter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Finisher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-KeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-LogClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-LogEntry.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-MDSMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-MemoryModel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Message.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Messenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-MonClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-MonMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Mutex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-OSDMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Objecter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-RadosClient.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Thread.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-Timer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-WorkQueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-assert.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-blkdev.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_context.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_frag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_fs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_json.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ceph_strings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-cmdparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-code_environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-common_init.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-dout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-entity_name.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-errno.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-fd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-hex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-hobject.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-librados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-lockdep.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-mdstypes.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-msg_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-page.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-pick_address.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-signal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-snap_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_librgw_build-version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_mon_workloadgen-Striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_object_map-DBObjectMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_object_map-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_object_map-test_object_map.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_aio-aio.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_aio-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_cls-cls.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_cls-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_cmd-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_io-io.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_io-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_list-list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_list-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_lock-lock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_lock-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_misc-misc.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_misc-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_pool-pool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_pool-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_snapshots-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_stat-stat.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_stat-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_store_tool-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_store_tool-test_store_tool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_stress_watch-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_test_trans-test_trans.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_ver.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_xattr_bench-xattr_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cephfs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/class_api.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/class_debug.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_lock_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_lock_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_lock_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_log_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_refcount_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_refcount_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_replica_log_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_replica_log_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_replica_log_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_rgw_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_rgw_ops.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_rgw_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_statelog_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_version_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cls_version_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cmdparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/code_environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/common_init.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cpu_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crc32c-intel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cross_process_sem.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crush.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crushtool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/detailed_stat_collector.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disabled_stubs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/entity_name.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/environment.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/errno.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/escape.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/flock.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hash.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hobject.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/inode_backtrace.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/journal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/json_spirit_reader.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/json_spirit_value.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/json_spirit_writer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/kv_flat_btree_async.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/kv_store_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcephfs_jni_la-JniConstants.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcephfs_la-libcephfs.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_kvs_la-cls_kvs.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_lock_la-cls_lock.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_log_la-cls_log.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rbd_la-cls_rbd.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-ceph_json.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-cls_refcount.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-cls_refcount_ops.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-json_spirit_reader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-json_spirit_value.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_refcount_la-json_spirit_writer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_replica_log_la-cls_replica_log.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-ceph_json.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-cls_rgw.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-cls_rgw_ops.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-cls_rgw_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-json_spirit_reader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-json_spirit_value.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_rgw_la-json_spirit_writer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_statelog_la-cls_statelog.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcls_version_la-cls_version.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Accepter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthAuthorizeHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthClientHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthMethodList.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthNoneAuthorizeHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthSessionHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-AuthUnknownAuthorizeHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-BackTrace.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CephxAuthorizeHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CephxClientHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CephxProtocol.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CephxSessionHandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Clock.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ConfUtils.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CrushCompiler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CrushTester.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-CrushWrapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Crypto.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-DecayCounter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-DispatchQueue.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Finisher.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Formatter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-HeartbeatMap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-KeyRing.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Log.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-LogClient.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-LogEntry.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-MDSMap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-MemoryModel.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Message.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Messenger.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-MonCap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-MonClient.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-MonMap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Mutex.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-OSDMap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-OutputDataSocket.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Pipe.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-PrebufferedStreambuf.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-RefCountedObj.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-RotatingKeyRing.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-SimpleMessenger.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-SubsystemMap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Thread.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Throttle.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-Timer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-WorkQueue.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-addr_parsing.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-admin_socket.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-admin_socket_client.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-armor.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-assert.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-blkdev.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-buffer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-builder.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_argparse.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_context.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_crypto.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_crypto_cms.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_frag.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_fs.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_hash.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_json.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_strings.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ceph_ver.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-cmdparse.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-code_environment.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-common_init.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-config.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-cpu_profiler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-crc32c-intel.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-crush.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-disabled_stubs.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-dout.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-entity_name.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-environment.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-errno.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-escape.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-fd.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-hash.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-hex.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-hobject.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-inode_backtrace.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-ipaddr.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-json_spirit_reader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-json_spirit_value.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-json_spirit_writer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-lockdep.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-mapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-mdstypes.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-mime.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-msg_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-osd_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-page.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-perf_counters.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-pick_address.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-pipe.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-run_cmd.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-safe_io.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-sctp_crc32.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-signal.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-simple_spin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-snap_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-str_list.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-strtol.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-utf8.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-version.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcommon_la-xattr.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libglobal_la-global_context.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libglobal_la-global_init.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libglobal_la-pidfile.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libglobal_la-signal_handler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libhadoopcephfs_la-CephFSInterface.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-AuthMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-AuthServiceHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-AuthSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-CephxKeyServer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-CephxServiceHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-CephxSessionHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-ConfigKeyService.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-DataHealthService.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-Elector.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-HealthMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-LogMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-MDSMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-Monitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-MonitorStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-MonmapMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-OSDMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-PGMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-PGMonitor.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-Paxos.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-PaxosService.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmon_a-util.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-DBObjectMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-FileJournal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-FileStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-FlatIndex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-HashIndex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-IndexManager.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-JournalingObjectStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-LFNIndex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-LevelDBStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-ObjectStore.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-WBThrottle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libos_a-chain_xattr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-Ager.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-ClassHandler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-OSD.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-OSDCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-OpRequest.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-PG.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-PGLog.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-ReplicatedPG.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-SnapMapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosd_a-Watch.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosdc_la-Filer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosdc_la-ObjectCacher.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosdc_la-Objecter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libosdc_la-Striper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-IoCtxImpl.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-Objecter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-RadosClient.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-Striper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-cls_lock_client.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-cls_lock_ops.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-cls_lock_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados_la-librados.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-AioCompletion.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-AioRequest.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-ImageCtx.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-LibrbdWriteback.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-ObjectCacher.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-Striper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-WatchCtx.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-cls_lock_client.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-cls_lock_ops.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-cls_lock_types.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-cls_rbd_client.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-internal.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-librbd.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-snap_set_diff.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librbd_la-util.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-librgw.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_acl.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_acl_s3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_acl_swift.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_auth_s3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_bucket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_cache.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_client_io.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_common.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_cors.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_cors_s3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_env.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_fcgi.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_formats.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_gc.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_http_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_json_enc.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_metadata.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_multi.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_multi_del.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_op.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_policy_s3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_rados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_replica_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_rest_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_rest_conn.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_tools.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_usage.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_user.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librgw_a-rgw_xml.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lockdep.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/locks.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mapper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mdstypes.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mime.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/monmaptool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mount.ceph.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/msg_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/multi_stress_watch.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/obj_bencher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/omap_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/osdmaptool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/page.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pick_address.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipe.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/psim.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_backend.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_delete_pools_parallel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_export.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_import.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_list_parallel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_open_pools_parallel.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_sync.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rados_watch_notify.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosacl.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_http_client.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_main.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_replica_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_resolve.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_bucket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_metadata.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_opstate.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_replica_log.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_s3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_swift.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_usage.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_rest_user.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_swift.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw-rgw_swift_auth.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radosgw_admin-rgw_admin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd-TextTable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd-fuse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd-rbd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd-util.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd_backend.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rest_bench-obj_bencher.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rest_bench-rest_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/safe_io.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scratchtool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scratchtoolpp.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sctp_crc32.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/secret.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/signal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/small_io_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/small_io_bench_rbd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/snap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/snap_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_create_pool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_delete_objs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_delete_pool.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_list_objects.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_notify.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/st_rados_watch.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/systest_runnable.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/systest_settings.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_ioctls.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_libcommon_build.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_mutate.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_rewrite_latency.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testmsgr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tp_bench.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_addrs-test_addrs.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_admin_socket-admin_socket.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_base64-base64.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_bufferlist-bufferlist.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_chain_xattr-chain_xattr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_confutils-confutils.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_crypto-crypto.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_daemon_config-daemon_config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_encoding-encoding.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_escape-escape.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_flatindex-TestFlatIndex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_formatter-formatter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_formatter-rgw_formats.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_gather-gather.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_ipaddr-test_ipaddr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_librados-librados.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_librados_config-librados_config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_log-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_log-test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_mime-mime.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_mon_moncap-MonCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_mon_moncap-moncap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_osd_osdcap-OSDCap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_osd_osdcap-osdcap.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_osd_types-test_osd_types.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_perf_counters-perf_counters.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_pglog-TestPGLog.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_pglog-class_api.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_pglog-disabled_heap_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_run_cmd-run_cmd.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_signals-signals.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_simple_spin-simple_spin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_str_list-test_str_list.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_striper-test_striper.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_strtol-strtol.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_texttable-TextTable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_texttable-test_texttable.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_throttle-Throttle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_utf8-utf8.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_util-test_util.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_util-util.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unittest_workqueue-test_workqueue.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/utf8.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/version.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xattr.Po at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-locks.o: mds/locks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT locks.o -MD -MP -MF $(DEPDIR)/locks.Tpo -c -o locks.o `test -f 'mds/locks.c' || echo '$(srcdir)/'`mds/locks.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/locks.Tpo $(DEPDIR)/locks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mds/locks.c' object='locks.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o locks.o `test -f 'mds/locks.c' || echo '$(srcdir)/'`mds/locks.c
-
-locks.obj: mds/locks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT locks.obj -MD -MP -MF $(DEPDIR)/locks.Tpo -c -o locks.obj `if test -f 'mds/locks.c'; then $(CYGPATH_W) 'mds/locks.c'; else $(CYGPATH_W) '$(srcdir)/mds/locks.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/locks.Tpo $(DEPDIR)/locks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mds/locks.c' object='locks.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o locks.obj `if test -f 'mds/locks.c'; then $(CYGPATH_W) 'mds/locks.c'; else $(CYGPATH_W) '$(srcdir)/mds/locks.c'; fi`
-
-libcommon_la-ceph_ver.lo: ./ceph_ver.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-ceph_ver.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_ver.Tpo -c -o libcommon_la-ceph_ver.lo `test -f './ceph_ver.c' || echo '$(srcdir)/'`./ceph_ver.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_ver.Tpo $(DEPDIR)/libcommon_la-ceph_ver.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='./ceph_ver.c' object='libcommon_la-ceph_ver.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-ceph_ver.lo `test -f './ceph_ver.c' || echo '$(srcdir)/'`./ceph_ver.c
-
-libcommon_la-escape.lo: common/escape.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-escape.lo -MD -MP -MF $(DEPDIR)/libcommon_la-escape.Tpo -c -o libcommon_la-escape.lo `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-escape.Tpo $(DEPDIR)/libcommon_la-escape.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/escape.c' object='libcommon_la-escape.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-escape.lo `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
-
-libcommon_la-sctp_crc32.lo: common/sctp_crc32.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-sctp_crc32.lo -MD -MP -MF $(DEPDIR)/libcommon_la-sctp_crc32.Tpo -c -o libcommon_la-sctp_crc32.lo `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-sctp_crc32.Tpo $(DEPDIR)/libcommon_la-sctp_crc32.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/sctp_crc32.c' object='libcommon_la-sctp_crc32.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-sctp_crc32.lo `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
-
-libcommon_la-crc32c-intel.lo: common/crc32c-intel.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-crc32c-intel.lo -MD -MP -MF $(DEPDIR)/libcommon_la-crc32c-intel.Tpo -c -o libcommon_la-crc32c-intel.lo `test -f 'common/crc32c-intel.c' || echo '$(srcdir)/'`common/crc32c-intel.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-crc32c-intel.Tpo $(DEPDIR)/libcommon_la-crc32c-intel.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/crc32c-intel.c' object='libcommon_la-crc32c-intel.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-crc32c-intel.lo `test -f 'common/crc32c-intel.c' || echo '$(srcdir)/'`common/crc32c-intel.c
-
-libcommon_la-armor.lo: common/armor.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-armor.lo -MD -MP -MF $(DEPDIR)/libcommon_la-armor.Tpo -c -o libcommon_la-armor.lo `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-armor.Tpo $(DEPDIR)/libcommon_la-armor.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/armor.c' object='libcommon_la-armor.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-armor.lo `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
-
-libcommon_la-xattr.lo: common/xattr.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-xattr.lo -MD -MP -MF $(DEPDIR)/libcommon_la-xattr.Tpo -c -o libcommon_la-xattr.lo `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-xattr.Tpo $(DEPDIR)/libcommon_la-xattr.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/xattr.c' object='libcommon_la-xattr.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-xattr.lo `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
-
-libcommon_la-safe_io.lo: common/safe_io.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-safe_io.lo -MD -MP -MF $(DEPDIR)/libcommon_la-safe_io.Tpo -c -o libcommon_la-safe_io.lo `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-safe_io.Tpo $(DEPDIR)/libcommon_la-safe_io.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/safe_io.c' object='libcommon_la-safe_io.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-safe_io.lo `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
-
-libcommon_la-pipe.lo: common/pipe.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-pipe.lo -MD -MP -MF $(DEPDIR)/libcommon_la-pipe.Tpo -c -o libcommon_la-pipe.lo `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-pipe.Tpo $(DEPDIR)/libcommon_la-pipe.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/pipe.c' object='libcommon_la-pipe.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-pipe.lo `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
-
-libcommon_la-utf8.lo: common/utf8.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-utf8.lo -MD -MP -MF $(DEPDIR)/libcommon_la-utf8.Tpo -c -o libcommon_la-utf8.lo `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-utf8.Tpo $(DEPDIR)/libcommon_la-utf8.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/utf8.c' object='libcommon_la-utf8.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-utf8.lo `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
-
-libcommon_la-mime.lo: common/mime.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-mime.lo -MD -MP -MF $(DEPDIR)/libcommon_la-mime.Tpo -c -o libcommon_la-mime.lo `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-mime.Tpo $(DEPDIR)/libcommon_la-mime.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/mime.c' object='libcommon_la-mime.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-mime.lo `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
-
-libcommon_la-addr_parsing.lo: include/addr_parsing.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-addr_parsing.lo -MD -MP -MF $(DEPDIR)/libcommon_la-addr_parsing.Tpo -c -o libcommon_la-addr_parsing.lo `test -f 'include/addr_parsing.c' || echo '$(srcdir)/'`include/addr_parsing.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-addr_parsing.Tpo $(DEPDIR)/libcommon_la-addr_parsing.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='include/addr_parsing.c' object='libcommon_la-addr_parsing.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-addr_parsing.lo `test -f 'include/addr_parsing.c' || echo '$(srcdir)/'`include/addr_parsing.c
-
-libcommon_la-builder.lo: crush/builder.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-builder.lo -MD -MP -MF $(DEPDIR)/libcommon_la-builder.Tpo -c -o libcommon_la-builder.lo `test -f 'crush/builder.c' || echo '$(srcdir)/'`crush/builder.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-builder.Tpo $(DEPDIR)/libcommon_la-builder.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/builder.c' object='libcommon_la-builder.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-builder.lo `test -f 'crush/builder.c' || echo '$(srcdir)/'`crush/builder.c
-
-libcommon_la-mapper.lo: crush/mapper.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-mapper.lo -MD -MP -MF $(DEPDIR)/libcommon_la-mapper.Tpo -c -o libcommon_la-mapper.lo `test -f 'crush/mapper.c' || echo '$(srcdir)/'`crush/mapper.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-mapper.Tpo $(DEPDIR)/libcommon_la-mapper.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/mapper.c' object='libcommon_la-mapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-mapper.lo `test -f 'crush/mapper.c' || echo '$(srcdir)/'`crush/mapper.c
-
-libcommon_la-crush.lo: crush/crush.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-crush.lo -MD -MP -MF $(DEPDIR)/libcommon_la-crush.Tpo -c -o libcommon_la-crush.lo `test -f 'crush/crush.c' || echo '$(srcdir)/'`crush/crush.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-crush.Tpo $(DEPDIR)/libcommon_la-crush.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/crush.c' object='libcommon_la-crush.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-crush.lo `test -f 'crush/crush.c' || echo '$(srcdir)/'`crush/crush.c
-
-libcommon_la-hash.lo: crush/hash.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT libcommon_la-hash.lo -MD -MP -MF $(DEPDIR)/libcommon_la-hash.Tpo -c -o libcommon_la-hash.lo `test -f 'crush/hash.c' || echo '$(srcdir)/'`crush/hash.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-hash.Tpo $(DEPDIR)/libcommon_la-hash.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/hash.c' object='libcommon_la-hash.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o libcommon_la-hash.lo `test -f 'crush/hash.c' || echo '$(srcdir)/'`crush/hash.c
-
-test_ioctls.o: client/test_ioctls.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_ioctls.o -MD -MP -MF $(DEPDIR)/test_ioctls.Tpo -c -o test_ioctls.o `test -f 'client/test_ioctls.c' || echo '$(srcdir)/'`client/test_ioctls.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_ioctls.Tpo $(DEPDIR)/test_ioctls.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='client/test_ioctls.c' object='test_ioctls.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_ioctls.o `test -f 'client/test_ioctls.c' || echo '$(srcdir)/'`client/test_ioctls.c
-
-test_ioctls.obj: client/test_ioctls.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_ioctls.obj -MD -MP -MF $(DEPDIR)/test_ioctls.Tpo -c -o test_ioctls.obj `if test -f 'client/test_ioctls.c'; then $(CYGPATH_W) 'client/test_ioctls.c'; else $(CYGPATH_W) '$(srcdir)/client/test_ioctls.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_ioctls.Tpo $(DEPDIR)/test_ioctls.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='client/test_ioctls.c' object='test_ioctls.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_ioctls.obj `if test -f 'client/test_ioctls.c'; then $(CYGPATH_W) 'client/test_ioctls.c'; else $(CYGPATH_W) '$(srcdir)/client/test_ioctls.c'; fi`
-
-ceph_ver.o: ./ceph_ver.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ceph_ver.o -MD -MP -MF $(DEPDIR)/ceph_ver.Tpo -c -o ceph_ver.o `test -f './ceph_ver.c' || echo '$(srcdir)/'`./ceph_ver.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_ver.Tpo $(DEPDIR)/ceph_ver.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='./ceph_ver.c' object='ceph_ver.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ceph_ver.o `test -f './ceph_ver.c' || echo '$(srcdir)/'`./ceph_ver.c
-
-ceph_ver.obj: ./ceph_ver.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ceph_ver.obj -MD -MP -MF $(DEPDIR)/ceph_ver.Tpo -c -o ceph_ver.obj `if test -f './ceph_ver.c'; then $(CYGPATH_W) './ceph_ver.c'; else $(CYGPATH_W) '$(srcdir)/./ceph_ver.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_ver.Tpo $(DEPDIR)/ceph_ver.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='./ceph_ver.c' object='ceph_ver.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ceph_ver.obj `if test -f './ceph_ver.c'; then $(CYGPATH_W) './ceph_ver.c'; else $(CYGPATH_W) '$(srcdir)/./ceph_ver.c'; fi`
-
-escape.o: common/escape.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT escape.o -MD -MP -MF $(DEPDIR)/escape.Tpo -c -o escape.o `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/escape.Tpo $(DEPDIR)/escape.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/escape.c' object='escape.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o escape.o `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
-
-escape.obj: common/escape.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT escape.obj -MD -MP -MF $(DEPDIR)/escape.Tpo -c -o escape.obj `if test -f 'common/escape.c'; then $(CYGPATH_W) 'common/escape.c'; else $(CYGPATH_W) '$(srcdir)/common/escape.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/escape.Tpo $(DEPDIR)/escape.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/escape.c' object='escape.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o escape.obj `if test -f 'common/escape.c'; then $(CYGPATH_W) 'common/escape.c'; else $(CYGPATH_W) '$(srcdir)/common/escape.c'; fi`
-
-sctp_crc32.o: common/sctp_crc32.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sctp_crc32.o -MD -MP -MF $(DEPDIR)/sctp_crc32.Tpo -c -o sctp_crc32.o `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/sctp_crc32.Tpo $(DEPDIR)/sctp_crc32.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/sctp_crc32.c' object='sctp_crc32.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sctp_crc32.o `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
-
-sctp_crc32.obj: common/sctp_crc32.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sctp_crc32.obj -MD -MP -MF $(DEPDIR)/sctp_crc32.Tpo -c -o sctp_crc32.obj `if test -f 'common/sctp_crc32.c'; then $(CYGPATH_W) 'common/sctp_crc32.c'; else $(CYGPATH_W) '$(srcdir)/common/sctp_crc32.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/sctp_crc32.Tpo $(DEPDIR)/sctp_crc32.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/sctp_crc32.c' object='sctp_crc32.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sctp_crc32.obj `if test -f 'common/sctp_crc32.c'; then $(CYGPATH_W) 'common/sctp_crc32.c'; else $(CYGPATH_W) '$(srcdir)/common/sctp_crc32.c'; fi`
-
-crc32c-intel.o: common/crc32c-intel.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crc32c-intel.o -MD -MP -MF $(DEPDIR)/crc32c-intel.Tpo -c -o crc32c-intel.o `test -f 'common/crc32c-intel.c' || echo '$(srcdir)/'`common/crc32c-intel.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/crc32c-intel.Tpo $(DEPDIR)/crc32c-intel.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/crc32c-intel.c' object='crc32c-intel.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crc32c-intel.o `test -f 'common/crc32c-intel.c' || echo '$(srcdir)/'`common/crc32c-intel.c
-
-crc32c-intel.obj: common/crc32c-intel.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crc32c-intel.obj -MD -MP -MF $(DEPDIR)/crc32c-intel.Tpo -c -o crc32c-intel.obj `if test -f 'common/crc32c-intel.c'; then $(CYGPATH_W) 'common/crc32c-intel.c'; else $(CYGPATH_W) '$(srcdir)/common/crc32c-intel.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/crc32c-intel.Tpo $(DEPDIR)/crc32c-intel.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/crc32c-intel.c' object='crc32c-intel.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crc32c-intel.obj `if test -f 'common/crc32c-intel.c'; then $(CYGPATH_W) 'common/crc32c-intel.c'; else $(CYGPATH_W) '$(srcdir)/common/crc32c-intel.c'; fi`
-
-armor.o: common/armor.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT armor.o -MD -MP -MF $(DEPDIR)/armor.Tpo -c -o armor.o `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/armor.Tpo $(DEPDIR)/armor.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/armor.c' object='armor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o armor.o `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
-
-armor.obj: common/armor.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT armor.obj -MD -MP -MF $(DEPDIR)/armor.Tpo -c -o armor.obj `if test -f 'common/armor.c'; then $(CYGPATH_W) 'common/armor.c'; else $(CYGPATH_W) '$(srcdir)/common/armor.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/armor.Tpo $(DEPDIR)/armor.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/armor.c' object='armor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o armor.obj `if test -f 'common/armor.c'; then $(CYGPATH_W) 'common/armor.c'; else $(CYGPATH_W) '$(srcdir)/common/armor.c'; fi`
-
-xattr.o: common/xattr.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xattr.o -MD -MP -MF $(DEPDIR)/xattr.Tpo -c -o xattr.o `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xattr.Tpo $(DEPDIR)/xattr.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/xattr.c' object='xattr.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xattr.o `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
-
-xattr.obj: common/xattr.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xattr.obj -MD -MP -MF $(DEPDIR)/xattr.Tpo -c -o xattr.obj `if test -f 'common/xattr.c'; then $(CYGPATH_W) 'common/xattr.c'; else $(CYGPATH_W) '$(srcdir)/common/xattr.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xattr.Tpo $(DEPDIR)/xattr.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/xattr.c' object='xattr.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xattr.obj `if test -f 'common/xattr.c'; then $(CYGPATH_W) 'common/xattr.c'; else $(CYGPATH_W) '$(srcdir)/common/xattr.c'; fi`
-
-safe_io.o: common/safe_io.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT safe_io.o -MD -MP -MF $(DEPDIR)/safe_io.Tpo -c -o safe_io.o `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/safe_io.Tpo $(DEPDIR)/safe_io.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/safe_io.c' object='safe_io.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o safe_io.o `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
-
-safe_io.obj: common/safe_io.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT safe_io.obj -MD -MP -MF $(DEPDIR)/safe_io.Tpo -c -o safe_io.obj `if test -f 'common/safe_io.c'; then $(CYGPATH_W) 'common/safe_io.c'; else $(CYGPATH_W) '$(srcdir)/common/safe_io.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/safe_io.Tpo $(DEPDIR)/safe_io.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/safe_io.c' object='safe_io.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o safe_io.obj `if test -f 'common/safe_io.c'; then $(CYGPATH_W) 'common/safe_io.c'; else $(CYGPATH_W) '$(srcdir)/common/safe_io.c'; fi`
-
-pipe.o: common/pipe.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pipe.o -MD -MP -MF $(DEPDIR)/pipe.Tpo -c -o pipe.o `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pipe.Tpo $(DEPDIR)/pipe.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/pipe.c' object='pipe.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pipe.o `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
-
-pipe.obj: common/pipe.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pipe.obj -MD -MP -MF $(DEPDIR)/pipe.Tpo -c -o pipe.obj `if test -f 'common/pipe.c'; then $(CYGPATH_W) 'common/pipe.c'; else $(CYGPATH_W) '$(srcdir)/common/pipe.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pipe.Tpo $(DEPDIR)/pipe.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/pipe.c' object='pipe.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pipe.obj `if test -f 'common/pipe.c'; then $(CYGPATH_W) 'common/pipe.c'; else $(CYGPATH_W) '$(srcdir)/common/pipe.c'; fi`
-
-utf8.o: common/utf8.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utf8.o -MD -MP -MF $(DEPDIR)/utf8.Tpo -c -o utf8.o `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/utf8.Tpo $(DEPDIR)/utf8.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/utf8.c' object='utf8.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utf8.o `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
-
-utf8.obj: common/utf8.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utf8.obj -MD -MP -MF $(DEPDIR)/utf8.Tpo -c -o utf8.obj `if test -f 'common/utf8.c'; then $(CYGPATH_W) 'common/utf8.c'; else $(CYGPATH_W) '$(srcdir)/common/utf8.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/utf8.Tpo $(DEPDIR)/utf8.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/utf8.c' object='utf8.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utf8.obj `if test -f 'common/utf8.c'; then $(CYGPATH_W) 'common/utf8.c'; else $(CYGPATH_W) '$(srcdir)/common/utf8.c'; fi`
-
-mime.o: common/mime.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mime.o -MD -MP -MF $(DEPDIR)/mime.Tpo -c -o mime.o `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mime.Tpo $(DEPDIR)/mime.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/mime.c' object='mime.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mime.o `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
-
-mime.obj: common/mime.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mime.obj -MD -MP -MF $(DEPDIR)/mime.Tpo -c -o mime.obj `if test -f 'common/mime.c'; then $(CYGPATH_W) 'common/mime.c'; else $(CYGPATH_W) '$(srcdir)/common/mime.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mime.Tpo $(DEPDIR)/mime.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/mime.c' object='mime.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mime.obj `if test -f 'common/mime.c'; then $(CYGPATH_W) 'common/mime.c'; else $(CYGPATH_W) '$(srcdir)/common/mime.c'; fi`
-
-addr_parsing.o: include/addr_parsing.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT addr_parsing.o -MD -MP -MF $(DEPDIR)/addr_parsing.Tpo -c -o addr_parsing.o `test -f 'include/addr_parsing.c' || echo '$(srcdir)/'`include/addr_parsing.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/addr_parsing.Tpo $(DEPDIR)/addr_parsing.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='include/addr_parsing.c' object='addr_parsing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o addr_parsing.o `test -f 'include/addr_parsing.c' || echo '$(srcdir)/'`include/addr_parsing.c
-
-addr_parsing.obj: include/addr_parsing.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT addr_parsing.obj -MD -MP -MF $(DEPDIR)/addr_parsing.Tpo -c -o addr_parsing.obj `if test -f 'include/addr_parsing.c'; then $(CYGPATH_W) 'include/addr_parsing.c'; else $(CYGPATH_W) '$(srcdir)/include/addr_parsing.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/addr_parsing.Tpo $(DEPDIR)/addr_parsing.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='include/addr_parsing.c' object='addr_parsing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o addr_parsing.obj `if test -f 'include/addr_parsing.c'; then $(CYGPATH_W) 'include/addr_parsing.c'; else $(CYGPATH_W) '$(srcdir)/include/addr_parsing.c'; fi`
-
-builder.o: crush/builder.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT builder.o -MD -MP -MF $(DEPDIR)/builder.Tpo -c -o builder.o `test -f 'crush/builder.c' || echo '$(srcdir)/'`crush/builder.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/builder.Tpo $(DEPDIR)/builder.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/builder.c' object='builder.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o builder.o `test -f 'crush/builder.c' || echo '$(srcdir)/'`crush/builder.c
-
-builder.obj: crush/builder.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT builder.obj -MD -MP -MF $(DEPDIR)/builder.Tpo -c -o builder.obj `if test -f 'crush/builder.c'; then $(CYGPATH_W) 'crush/builder.c'; else $(CYGPATH_W) '$(srcdir)/crush/builder.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/builder.Tpo $(DEPDIR)/builder.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/builder.c' object='builder.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o builder.obj `if test -f 'crush/builder.c'; then $(CYGPATH_W) 'crush/builder.c'; else $(CYGPATH_W) '$(srcdir)/crush/builder.c'; fi`
-
-mapper.o: crush/mapper.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mapper.o -MD -MP -MF $(DEPDIR)/mapper.Tpo -c -o mapper.o `test -f 'crush/mapper.c' || echo '$(srcdir)/'`crush/mapper.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mapper.Tpo $(DEPDIR)/mapper.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/mapper.c' object='mapper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mapper.o `test -f 'crush/mapper.c' || echo '$(srcdir)/'`crush/mapper.c
-
-mapper.obj: crush/mapper.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mapper.obj -MD -MP -MF $(DEPDIR)/mapper.Tpo -c -o mapper.obj `if test -f 'crush/mapper.c'; then $(CYGPATH_W) 'crush/mapper.c'; else $(CYGPATH_W) '$(srcdir)/crush/mapper.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mapper.Tpo $(DEPDIR)/mapper.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/mapper.c' object='mapper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mapper.obj `if test -f 'crush/mapper.c'; then $(CYGPATH_W) 'crush/mapper.c'; else $(CYGPATH_W) '$(srcdir)/crush/mapper.c'; fi`
-
-crush.o: crush/crush.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crush.o -MD -MP -MF $(DEPDIR)/crush.Tpo -c -o crush.o `test -f 'crush/crush.c' || echo '$(srcdir)/'`crush/crush.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/crush.Tpo $(DEPDIR)/crush.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/crush.c' object='crush.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crush.o `test -f 'crush/crush.c' || echo '$(srcdir)/'`crush/crush.c
-
-crush.obj: crush/crush.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crush.obj -MD -MP -MF $(DEPDIR)/crush.Tpo -c -o crush.obj `if test -f 'crush/crush.c'; then $(CYGPATH_W) 'crush/crush.c'; else $(CYGPATH_W) '$(srcdir)/crush/crush.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/crush.Tpo $(DEPDIR)/crush.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/crush.c' object='crush.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crush.obj `if test -f 'crush/crush.c'; then $(CYGPATH_W) 'crush/crush.c'; else $(CYGPATH_W) '$(srcdir)/crush/crush.c'; fi`
-
-hash.o: crush/hash.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.o -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.o `test -f 'crush/hash.c' || echo '$(srcdir)/'`crush/hash.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/hash.c' object='hash.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.o `test -f 'crush/hash.c' || echo '$(srcdir)/'`crush/hash.c
-
-hash.obj: crush/hash.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.obj -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.obj `if test -f 'crush/hash.c'; then $(CYGPATH_W) 'crush/hash.c'; else $(CYGPATH_W) '$(srcdir)/crush/hash.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crush/hash.c' object='hash.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.obj `if test -f 'crush/hash.c'; then $(CYGPATH_W) 'crush/hash.c'; else $(CYGPATH_W) '$(srcdir)/crush/hash.c'; fi`
-
-ceph_test_librbd_fsx-fsx.o: test/librbd/fsx.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -MT ceph_test_librbd_fsx-fsx.o -MD -MP -MF $(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo -c -o ceph_test_librbd_fsx-fsx.o `test -f 'test/librbd/fsx.c' || echo '$(srcdir)/'`test/librbd/fsx.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo $(DEPDIR)/ceph_test_librbd_fsx-fsx.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test/librbd/fsx.c' object='ceph_test_librbd_fsx-fsx.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -c -o ceph_test_librbd_fsx-fsx.o `test -f 'test/librbd/fsx.c' || echo '$(srcdir)/'`test/librbd/fsx.c
-
-ceph_test_librbd_fsx-fsx.obj: test/librbd/fsx.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -MT ceph_test_librbd_fsx-fsx.obj -MD -MP -MF $(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo -c -o ceph_test_librbd_fsx-fsx.obj `if test -f 'test/librbd/fsx.c'; then $(CYGPATH_W) 'test/librbd/fsx.c'; else $(CYGPATH_W) '$(srcdir)/test/librbd/fsx.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo $(DEPDIR)/ceph_test_librbd_fsx-fsx.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test/librbd/fsx.c' object='ceph_test_librbd_fsx-fsx.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -c -o ceph_test_librbd_fsx-fsx.obj `if test -f 'test/librbd/fsx.c'; then $(CYGPATH_W) 'test/librbd/fsx.c'; else $(CYGPATH_W) '$(srcdir)/test/librbd/fsx.c'; fi`
-
-mount.ceph.o: mount/mount.ceph.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mount.ceph.o -MD -MP -MF $(DEPDIR)/mount.ceph.Tpo -c -o mount.ceph.o `test -f 'mount/mount.ceph.c' || echo '$(srcdir)/'`mount/mount.ceph.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mount.ceph.Tpo $(DEPDIR)/mount.ceph.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mount/mount.ceph.c' object='mount.ceph.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mount.ceph.o `test -f 'mount/mount.ceph.c' || echo '$(srcdir)/'`mount/mount.ceph.c
-
-mount.ceph.obj: mount/mount.ceph.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mount.ceph.obj -MD -MP -MF $(DEPDIR)/mount.ceph.Tpo -c -o mount.ceph.obj `if test -f 'mount/mount.ceph.c'; then $(CYGPATH_W) 'mount/mount.ceph.c'; else $(CYGPATH_W) '$(srcdir)/mount/mount.ceph.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mount.ceph.Tpo $(DEPDIR)/mount.ceph.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mount/mount.ceph.c' object='mount.ceph.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mount.ceph.obj `if test -f 'mount/mount.ceph.c'; then $(CYGPATH_W) 'mount/mount.ceph.c'; else $(CYGPATH_W) '$(srcdir)/mount/mount.ceph.c'; fi`
-
-secret.o: common/secret.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secret.o -MD -MP -MF $(DEPDIR)/secret.Tpo -c -o secret.o `test -f 'common/secret.c' || echo '$(srcdir)/'`common/secret.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/secret.Tpo $(DEPDIR)/secret.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/secret.c' object='secret.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secret.o `test -f 'common/secret.c' || echo '$(srcdir)/'`common/secret.c
-
-secret.obj: common/secret.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secret.obj -MD -MP -MF $(DEPDIR)/secret.Tpo -c -o secret.obj `if test -f 'common/secret.c'; then $(CYGPATH_W) 'common/secret.c'; else $(CYGPATH_W) '$(srcdir)/common/secret.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/secret.Tpo $(DEPDIR)/secret.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/secret.c' object='secret.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secret.obj `if test -f 'common/secret.c'; then $(CYGPATH_W) 'common/secret.c'; else $(CYGPATH_W) '$(srcdir)/common/secret.c'; fi`
-
-rbd-fuse.o: rbd_fuse/rbd-fuse.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rbd-fuse.o -MD -MP -MF $(DEPDIR)/rbd-fuse.Tpo -c -o rbd-fuse.o `test -f 'rbd_fuse/rbd-fuse.c' || echo '$(srcdir)/'`rbd_fuse/rbd-fuse.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-fuse.Tpo $(DEPDIR)/rbd-fuse.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rbd_fuse/rbd-fuse.c' object='rbd-fuse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rbd-fuse.o `test -f 'rbd_fuse/rbd-fuse.c' || echo '$(srcdir)/'`rbd_fuse/rbd-fuse.c
-
-rbd-fuse.obj: rbd_fuse/rbd-fuse.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rbd-fuse.obj -MD -MP -MF $(DEPDIR)/rbd-fuse.Tpo -c -o rbd-fuse.obj `if test -f 'rbd_fuse/rbd-fuse.c'; then $(CYGPATH_W) 'rbd_fuse/rbd-fuse.c'; else $(CYGPATH_W) '$(srcdir)/rbd_fuse/rbd-fuse.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-fuse.Tpo $(DEPDIR)/rbd-fuse.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rbd_fuse/rbd-fuse.c' object='rbd-fuse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rbd-fuse.obj `if test -f 'rbd_fuse/rbd-fuse.c'; then $(CYGPATH_W) 'rbd_fuse/rbd-fuse.c'; else $(CYGPATH_W) '$(srcdir)/rbd_fuse/rbd-fuse.c'; fi`
-
-.cc.o:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-cls_lock_client.o: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_client.o -MD -MP -MF $(DEPDIR)/cls_lock_client.Tpo -c -o cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_client.Tpo $(DEPDIR)/cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='cls_lock_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
-
-cls_lock_client.obj: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_client.obj -MD -MP -MF $(DEPDIR)/cls_lock_client.Tpo -c -o cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_client.Tpo $(DEPDIR)/cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='cls_lock_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
-
-cls_lock_types.o: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_types.o -MD -MP -MF $(DEPDIR)/cls_lock_types.Tpo -c -o cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_types.Tpo $(DEPDIR)/cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='cls_lock_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
-
-cls_lock_types.obj: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_types.obj -MD -MP -MF $(DEPDIR)/cls_lock_types.Tpo -c -o cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_types.Tpo $(DEPDIR)/cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='cls_lock_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
-
-cls_lock_ops.o: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_ops.o -MD -MP -MF $(DEPDIR)/cls_lock_ops.Tpo -c -o cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_ops.Tpo $(DEPDIR)/cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='cls_lock_ops.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
-
-cls_lock_ops.obj: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_lock_ops.obj -MD -MP -MF $(DEPDIR)/cls_lock_ops.Tpo -c -o cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_lock_ops.Tpo $(DEPDIR)/cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='cls_lock_ops.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
-
-cls_log_client.o: cls/log/cls_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_log_client.o -MD -MP -MF $(DEPDIR)/cls_log_client.Tpo -c -o cls_log_client.o `test -f 'cls/log/cls_log_client.cc' || echo '$(srcdir)/'`cls/log/cls_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_log_client.Tpo $(DEPDIR)/cls_log_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/log/cls_log_client.cc' object='cls_log_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_log_client.o `test -f 'cls/log/cls_log_client.cc' || echo '$(srcdir)/'`cls/log/cls_log_client.cc
-
-cls_log_client.obj: cls/log/cls_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_log_client.obj -MD -MP -MF $(DEPDIR)/cls_log_client.Tpo -c -o cls_log_client.obj `if test -f 'cls/log/cls_log_client.cc'; then $(CYGPATH_W) 'cls/log/cls_log_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/log/cls_log_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_log_client.Tpo $(DEPDIR)/cls_log_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/log/cls_log_client.cc' object='cls_log_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_log_client.obj `if test -f 'cls/log/cls_log_client.cc'; then $(CYGPATH_W) 'cls/log/cls_log_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/log/cls_log_client.cc'; fi`
-
-cls_refcount_client.o: cls/refcount/cls_refcount_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_refcount_client.o -MD -MP -MF $(DEPDIR)/cls_refcount_client.Tpo -c -o cls_refcount_client.o `test -f 'cls/refcount/cls_refcount_client.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_refcount_client.Tpo $(DEPDIR)/cls_refcount_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount_client.cc' object='cls_refcount_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_refcount_client.o `test -f 'cls/refcount/cls_refcount_client.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_client.cc
-
-cls_refcount_client.obj: cls/refcount/cls_refcount_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_refcount_client.obj -MD -MP -MF $(DEPDIR)/cls_refcount_client.Tpo -c -o cls_refcount_client.obj `if test -f 'cls/refcount/cls_refcount_client.cc'; then $(CYGPATH_W) 'cls/refcount/cls_refcount_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/refcount/cls_refcount_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_refcount_client.Tpo $(DEPDIR)/cls_refcount_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount_client.cc' object='cls_refcount_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_refcount_client.obj `if test -f 'cls/refcount/cls_refcount_client.cc'; then $(CYGPATH_W) 'cls/refcount/cls_refcount_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/refcount/cls_refcount_client.cc'; fi`
-
-cls_refcount_ops.o: cls/refcount/cls_refcount_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_refcount_ops.o -MD -MP -MF $(DEPDIR)/cls_refcount_ops.Tpo -c -o cls_refcount_ops.o `test -f 'cls/refcount/cls_refcount_ops.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_refcount_ops.Tpo $(DEPDIR)/cls_refcount_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount_ops.cc' object='cls_refcount_ops.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_refcount_ops.o `test -f 'cls/refcount/cls_refcount_ops.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_ops.cc
-
-cls_refcount_ops.obj: cls/refcount/cls_refcount_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_refcount_ops.obj -MD -MP -MF $(DEPDIR)/cls_refcount_ops.Tpo -c -o cls_refcount_ops.obj `if test -f 'cls/refcount/cls_refcount_ops.cc'; then $(CYGPATH_W) 'cls/refcount/cls_refcount_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/refcount/cls_refcount_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_refcount_ops.Tpo $(DEPDIR)/cls_refcount_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount_ops.cc' object='cls_refcount_ops.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_refcount_ops.obj `if test -f 'cls/refcount/cls_refcount_ops.cc'; then $(CYGPATH_W) 'cls/refcount/cls_refcount_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/refcount/cls_refcount_ops.cc'; fi`
-
-cls_replica_log_types.o: cls/replica_log/cls_replica_log_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_types.o -MD -MP -MF $(DEPDIR)/cls_replica_log_types.Tpo -c -o cls_replica_log_types.o `test -f 'cls/replica_log/cls_replica_log_types.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_types.Tpo $(DEPDIR)/cls_replica_log_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_types.cc' object='cls_replica_log_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_types.o `test -f 'cls/replica_log/cls_replica_log_types.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_types.cc
-
-cls_replica_log_types.obj: cls/replica_log/cls_replica_log_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_types.obj -MD -MP -MF $(DEPDIR)/cls_replica_log_types.Tpo -c -o cls_replica_log_types.obj `if test -f 'cls/replica_log/cls_replica_log_types.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_types.Tpo $(DEPDIR)/cls_replica_log_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_types.cc' object='cls_replica_log_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_types.obj `if test -f 'cls/replica_log/cls_replica_log_types.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_types.cc'; fi`
-
-cls_replica_log_ops.o: cls/replica_log/cls_replica_log_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_ops.o -MD -MP -MF $(DEPDIR)/cls_replica_log_ops.Tpo -c -o cls_replica_log_ops.o `test -f 'cls/replica_log/cls_replica_log_ops.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_ops.Tpo $(DEPDIR)/cls_replica_log_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_ops.cc' object='cls_replica_log_ops.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_ops.o `test -f 'cls/replica_log/cls_replica_log_ops.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_ops.cc
-
-cls_replica_log_ops.obj: cls/replica_log/cls_replica_log_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_ops.obj -MD -MP -MF $(DEPDIR)/cls_replica_log_ops.Tpo -c -o cls_replica_log_ops.obj `if test -f 'cls/replica_log/cls_replica_log_ops.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_ops.Tpo $(DEPDIR)/cls_replica_log_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_ops.cc' object='cls_replica_log_ops.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_ops.obj `if test -f 'cls/replica_log/cls_replica_log_ops.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_ops.cc'; fi`
-
-cls_replica_log_client.o: cls/replica_log/cls_replica_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_client.o -MD -MP -MF $(DEPDIR)/cls_replica_log_client.Tpo -c -o cls_replica_log_client.o `test -f 'cls/replica_log/cls_replica_log_client.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_client.Tpo $(DEPDIR)/cls_replica_log_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_client.cc' object='cls_replica_log_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_client.o `test -f 'cls/replica_log/cls_replica_log_client.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log_client.cc
-
-cls_replica_log_client.obj: cls/replica_log/cls_replica_log_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_replica_log_client.obj -MD -MP -MF $(DEPDIR)/cls_replica_log_client.Tpo -c -o cls_replica_log_client.obj `if test -f 'cls/replica_log/cls_replica_log_client.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_replica_log_client.Tpo $(DEPDIR)/cls_replica_log_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log_client.cc' object='cls_replica_log_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_replica_log_client.obj `if test -f 'cls/replica_log/cls_replica_log_client.cc'; then $(CYGPATH_W) 'cls/replica_log/cls_replica_log_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/replica_log/cls_replica_log_client.cc'; fi`
-
-cls_rgw_client.o: cls/rgw/cls_rgw_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_client.o -MD -MP -MF $(DEPDIR)/cls_rgw_client.Tpo -c -o cls_rgw_client.o `test -f 'cls/rgw/cls_rgw_client.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_client.Tpo $(DEPDIR)/cls_rgw_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_client.cc' object='cls_rgw_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_client.o `test -f 'cls/rgw/cls_rgw_client.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_client.cc
-
-cls_rgw_client.obj: cls/rgw/cls_rgw_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_client.obj -MD -MP -MF $(DEPDIR)/cls_rgw_client.Tpo -c -o cls_rgw_client.obj `if test -f 'cls/rgw/cls_rgw_client.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_client.Tpo $(DEPDIR)/cls_rgw_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_client.cc' object='cls_rgw_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_client.obj `if test -f 'cls/rgw/cls_rgw_client.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_client.cc'; fi`
-
-cls_rgw_types.o: cls/rgw/cls_rgw_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_types.o -MD -MP -MF $(DEPDIR)/cls_rgw_types.Tpo -c -o cls_rgw_types.o `test -f 'cls/rgw/cls_rgw_types.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_types.Tpo $(DEPDIR)/cls_rgw_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_types.cc' object='cls_rgw_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_types.o `test -f 'cls/rgw/cls_rgw_types.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_types.cc
-
-cls_rgw_types.obj: cls/rgw/cls_rgw_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_types.obj -MD -MP -MF $(DEPDIR)/cls_rgw_types.Tpo -c -o cls_rgw_types.obj `if test -f 'cls/rgw/cls_rgw_types.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_types.Tpo $(DEPDIR)/cls_rgw_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_types.cc' object='cls_rgw_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_types.obj `if test -f 'cls/rgw/cls_rgw_types.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_types.cc'; fi`
-
-cls_rgw_ops.o: cls/rgw/cls_rgw_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_ops.o -MD -MP -MF $(DEPDIR)/cls_rgw_ops.Tpo -c -o cls_rgw_ops.o `test -f 'cls/rgw/cls_rgw_ops.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_ops.Tpo $(DEPDIR)/cls_rgw_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_ops.cc' object='cls_rgw_ops.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_ops.o `test -f 'cls/rgw/cls_rgw_ops.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_ops.cc
-
-cls_rgw_ops.obj: cls/rgw/cls_rgw_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_rgw_ops.obj -MD -MP -MF $(DEPDIR)/cls_rgw_ops.Tpo -c -o cls_rgw_ops.obj `if test -f 'cls/rgw/cls_rgw_ops.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_rgw_ops.Tpo $(DEPDIR)/cls_rgw_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_ops.cc' object='cls_rgw_ops.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_rgw_ops.obj `if test -f 'cls/rgw/cls_rgw_ops.cc'; then $(CYGPATH_W) 'cls/rgw/cls_rgw_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rgw/cls_rgw_ops.cc'; fi`
-
-cls_statelog_client.o: cls/statelog/cls_statelog_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_statelog_client.o -MD -MP -MF $(DEPDIR)/cls_statelog_client.Tpo -c -o cls_statelog_client.o `test -f 'cls/statelog/cls_statelog_client.cc' || echo '$(srcdir)/'`cls/statelog/cls_statelog_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_statelog_client.Tpo $(DEPDIR)/cls_statelog_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/statelog/cls_statelog_client.cc' object='cls_statelog_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_statelog_client.o `test -f 'cls/statelog/cls_statelog_client.cc' || echo '$(srcdir)/'`cls/statelog/cls_statelog_client.cc
-
-cls_statelog_client.obj: cls/statelog/cls_statelog_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_statelog_client.obj -MD -MP -MF $(DEPDIR)/cls_statelog_client.Tpo -c -o cls_statelog_client.obj `if test -f 'cls/statelog/cls_statelog_client.cc'; then $(CYGPATH_W) 'cls/statelog/cls_statelog_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/statelog/cls_statelog_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_statelog_client.Tpo $(DEPDIR)/cls_statelog_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/statelog/cls_statelog_client.cc' object='cls_statelog_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_statelog_client.obj `if test -f 'cls/statelog/cls_statelog_client.cc'; then $(CYGPATH_W) 'cls/statelog/cls_statelog_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/statelog/cls_statelog_client.cc'; fi`
-
-cls_version_client.o: cls/version/cls_version_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_version_client.o -MD -MP -MF $(DEPDIR)/cls_version_client.Tpo -c -o cls_version_client.o `test -f 'cls/version/cls_version_client.cc' || echo '$(srcdir)/'`cls/version/cls_version_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_version_client.Tpo $(DEPDIR)/cls_version_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/version/cls_version_client.cc' object='cls_version_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_version_client.o `test -f 'cls/version/cls_version_client.cc' || echo '$(srcdir)/'`cls/version/cls_version_client.cc
-
-cls_version_client.obj: cls/version/cls_version_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_version_client.obj -MD -MP -MF $(DEPDIR)/cls_version_client.Tpo -c -o cls_version_client.obj `if test -f 'cls/version/cls_version_client.cc'; then $(CYGPATH_W) 'cls/version/cls_version_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/version/cls_version_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_version_client.Tpo $(DEPDIR)/cls_version_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/version/cls_version_client.cc' object='cls_version_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_version_client.obj `if test -f 'cls/version/cls_version_client.cc'; then $(CYGPATH_W) 'cls/version/cls_version_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/version/cls_version_client.cc'; fi`
-
-cls_version_types.o: cls/version/cls_version_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_version_types.o -MD -MP -MF $(DEPDIR)/cls_version_types.Tpo -c -o cls_version_types.o `test -f 'cls/version/cls_version_types.cc' || echo '$(srcdir)/'`cls/version/cls_version_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_version_types.Tpo $(DEPDIR)/cls_version_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/version/cls_version_types.cc' object='cls_version_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_version_types.o `test -f 'cls/version/cls_version_types.cc' || echo '$(srcdir)/'`cls/version/cls_version_types.cc
-
-cls_version_types.obj: cls/version/cls_version_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cls_version_types.obj -MD -MP -MF $(DEPDIR)/cls_version_types.Tpo -c -o cls_version_types.obj `if test -f 'cls/version/cls_version_types.cc'; then $(CYGPATH_W) 'cls/version/cls_version_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/version/cls_version_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cls_version_types.Tpo $(DEPDIR)/cls_version_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/version/cls_version_types.cc' object='cls_version_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cls_version_types.obj `if test -f 'cls/version/cls_version_types.cc'; then $(CYGPATH_W) 'cls/version/cls_version_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/version/cls_version_types.cc'; fi`
-
-Anchor.o: mds/Anchor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Anchor.o -MD -MP -MF $(DEPDIR)/Anchor.Tpo -c -o Anchor.o `test -f 'mds/Anchor.cc' || echo '$(srcdir)/'`mds/Anchor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Anchor.Tpo $(DEPDIR)/Anchor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Anchor.cc' object='Anchor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Anchor.o `test -f 'mds/Anchor.cc' || echo '$(srcdir)/'`mds/Anchor.cc
-
-Anchor.obj: mds/Anchor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Anchor.obj -MD -MP -MF $(DEPDIR)/Anchor.Tpo -c -o Anchor.obj `if test -f 'mds/Anchor.cc'; then $(CYGPATH_W) 'mds/Anchor.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Anchor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Anchor.Tpo $(DEPDIR)/Anchor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Anchor.cc' object='Anchor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Anchor.obj `if test -f 'mds/Anchor.cc'; then $(CYGPATH_W) 'mds/Anchor.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Anchor.cc'; fi`
-
-Capability.o: mds/Capability.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Capability.o -MD -MP -MF $(DEPDIR)/Capability.Tpo -c -o Capability.o `test -f 'mds/Capability.cc' || echo '$(srcdir)/'`mds/Capability.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Capability.Tpo $(DEPDIR)/Capability.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Capability.cc' object='Capability.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Capability.o `test -f 'mds/Capability.cc' || echo '$(srcdir)/'`mds/Capability.cc
-
-Capability.obj: mds/Capability.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Capability.obj -MD -MP -MF $(DEPDIR)/Capability.Tpo -c -o Capability.obj `if test -f 'mds/Capability.cc'; then $(CYGPATH_W) 'mds/Capability.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Capability.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Capability.Tpo $(DEPDIR)/Capability.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Capability.cc' object='Capability.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Capability.obj `if test -f 'mds/Capability.cc'; then $(CYGPATH_W) 'mds/Capability.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Capability.cc'; fi`
-
-Dumper.o: mds/Dumper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Dumper.o -MD -MP -MF $(DEPDIR)/Dumper.Tpo -c -o Dumper.o `test -f 'mds/Dumper.cc' || echo '$(srcdir)/'`mds/Dumper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Dumper.Tpo $(DEPDIR)/Dumper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Dumper.cc' object='Dumper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Dumper.o `test -f 'mds/Dumper.cc' || echo '$(srcdir)/'`mds/Dumper.cc
-
-Dumper.obj: mds/Dumper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Dumper.obj -MD -MP -MF $(DEPDIR)/Dumper.Tpo -c -o Dumper.obj `if test -f 'mds/Dumper.cc'; then $(CYGPATH_W) 'mds/Dumper.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Dumper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Dumper.Tpo $(DEPDIR)/Dumper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Dumper.cc' object='Dumper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Dumper.obj `if test -f 'mds/Dumper.cc'; then $(CYGPATH_W) 'mds/Dumper.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Dumper.cc'; fi`
-
-Resetter.o: mds/Resetter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Resetter.o -MD -MP -MF $(DEPDIR)/Resetter.Tpo -c -o Resetter.o `test -f 'mds/Resetter.cc' || echo '$(srcdir)/'`mds/Resetter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Resetter.Tpo $(DEPDIR)/Resetter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Resetter.cc' object='Resetter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Resetter.o `test -f 'mds/Resetter.cc' || echo '$(srcdir)/'`mds/Resetter.cc
-
-Resetter.obj: mds/Resetter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Resetter.obj -MD -MP -MF $(DEPDIR)/Resetter.Tpo -c -o Resetter.obj `if test -f 'mds/Resetter.cc'; then $(CYGPATH_W) 'mds/Resetter.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Resetter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Resetter.Tpo $(DEPDIR)/Resetter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Resetter.cc' object='Resetter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Resetter.obj `if test -f 'mds/Resetter.cc'; then $(CYGPATH_W) 'mds/Resetter.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Resetter.cc'; fi`
-
-MDS.o: mds/MDS.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDS.o -MD -MP -MF $(DEPDIR)/MDS.Tpo -c -o MDS.o `test -f 'mds/MDS.cc' || echo '$(srcdir)/'`mds/MDS.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDS.Tpo $(DEPDIR)/MDS.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDS.cc' object='MDS.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDS.o `test -f 'mds/MDS.cc' || echo '$(srcdir)/'`mds/MDS.cc
-
-MDS.obj: mds/MDS.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDS.obj -MD -MP -MF $(DEPDIR)/MDS.Tpo -c -o MDS.obj `if test -f 'mds/MDS.cc'; then $(CYGPATH_W) 'mds/MDS.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDS.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDS.Tpo $(DEPDIR)/MDS.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDS.cc' object='MDS.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDS.obj `if test -f 'mds/MDS.cc'; then $(CYGPATH_W) 'mds/MDS.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDS.cc'; fi`
-
-flock.o: mds/flock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT flock.o -MD -MP -MF $(DEPDIR)/flock.Tpo -c -o flock.o `test -f 'mds/flock.cc' || echo '$(srcdir)/'`mds/flock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/flock.Tpo $(DEPDIR)/flock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/flock.cc' object='flock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o flock.o `test -f 'mds/flock.cc' || echo '$(srcdir)/'`mds/flock.cc
-
-flock.obj: mds/flock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT flock.obj -MD -MP -MF $(DEPDIR)/flock.Tpo -c -o flock.obj `if test -f 'mds/flock.cc'; then $(CYGPATH_W) 'mds/flock.cc'; else $(CYGPATH_W) '$(srcdir)/mds/flock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/flock.Tpo $(DEPDIR)/flock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/flock.cc' object='flock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o flock.obj `if test -f 'mds/flock.cc'; then $(CYGPATH_W) 'mds/flock.cc'; else $(CYGPATH_W) '$(srcdir)/mds/flock.cc'; fi`
-
-journal.o: mds/journal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT journal.o -MD -MP -MF $(DEPDIR)/journal.Tpo -c -o journal.o `test -f 'mds/journal.cc' || echo '$(srcdir)/'`mds/journal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/journal.Tpo $(DEPDIR)/journal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/journal.cc' object='journal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o journal.o `test -f 'mds/journal.cc' || echo '$(srcdir)/'`mds/journal.cc
-
-journal.obj: mds/journal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT journal.obj -MD -MP -MF $(DEPDIR)/journal.Tpo -c -o journal.obj `if test -f 'mds/journal.cc'; then $(CYGPATH_W) 'mds/journal.cc'; else $(CYGPATH_W) '$(srcdir)/mds/journal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/journal.Tpo $(DEPDIR)/journal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/journal.cc' object='journal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o journal.obj `if test -f 'mds/journal.cc'; then $(CYGPATH_W) 'mds/journal.cc'; else $(CYGPATH_W) '$(srcdir)/mds/journal.cc'; fi`
-
-Server.o: mds/Server.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Server.o -MD -MP -MF $(DEPDIR)/Server.Tpo -c -o Server.o `test -f 'mds/Server.cc' || echo '$(srcdir)/'`mds/Server.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Server.Tpo $(DEPDIR)/Server.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Server.cc' object='Server.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Server.o `test -f 'mds/Server.cc' || echo '$(srcdir)/'`mds/Server.cc
-
-Server.obj: mds/Server.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Server.obj -MD -MP -MF $(DEPDIR)/Server.Tpo -c -o Server.obj `if test -f 'mds/Server.cc'; then $(CYGPATH_W) 'mds/Server.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Server.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Server.Tpo $(DEPDIR)/Server.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Server.cc' object='Server.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Server.obj `if test -f 'mds/Server.cc'; then $(CYGPATH_W) 'mds/Server.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Server.cc'; fi`
-
-Mutation.o: mds/Mutation.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mutation.o -MD -MP -MF $(DEPDIR)/Mutation.Tpo -c -o Mutation.o `test -f 'mds/Mutation.cc' || echo '$(srcdir)/'`mds/Mutation.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Mutation.Tpo $(DEPDIR)/Mutation.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Mutation.cc' object='Mutation.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mutation.o `test -f 'mds/Mutation.cc' || echo '$(srcdir)/'`mds/Mutation.cc
-
-Mutation.obj: mds/Mutation.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mutation.obj -MD -MP -MF $(DEPDIR)/Mutation.Tpo -c -o Mutation.obj `if test -f 'mds/Mutation.cc'; then $(CYGPATH_W) 'mds/Mutation.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Mutation.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Mutation.Tpo $(DEPDIR)/Mutation.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Mutation.cc' object='Mutation.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mutation.obj `if test -f 'mds/Mutation.cc'; then $(CYGPATH_W) 'mds/Mutation.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Mutation.cc'; fi`
-
-MDCache.o: mds/MDCache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDCache.o -MD -MP -MF $(DEPDIR)/MDCache.Tpo -c -o MDCache.o `test -f 'mds/MDCache.cc' || echo '$(srcdir)/'`mds/MDCache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDCache.Tpo $(DEPDIR)/MDCache.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDCache.cc' object='MDCache.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDCache.o `test -f 'mds/MDCache.cc' || echo '$(srcdir)/'`mds/MDCache.cc
-
-MDCache.obj: mds/MDCache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDCache.obj -MD -MP -MF $(DEPDIR)/MDCache.Tpo -c -o MDCache.obj `if test -f 'mds/MDCache.cc'; then $(CYGPATH_W) 'mds/MDCache.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDCache.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDCache.Tpo $(DEPDIR)/MDCache.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDCache.cc' object='MDCache.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDCache.obj `if test -f 'mds/MDCache.cc'; then $(CYGPATH_W) 'mds/MDCache.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDCache.cc'; fi`
-
-Locker.o: mds/Locker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Locker.o -MD -MP -MF $(DEPDIR)/Locker.Tpo -c -o Locker.o `test -f 'mds/Locker.cc' || echo '$(srcdir)/'`mds/Locker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Locker.Tpo $(DEPDIR)/Locker.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Locker.cc' object='Locker.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Locker.o `test -f 'mds/Locker.cc' || echo '$(srcdir)/'`mds/Locker.cc
-
-Locker.obj: mds/Locker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Locker.obj -MD -MP -MF $(DEPDIR)/Locker.Tpo -c -o Locker.obj `if test -f 'mds/Locker.cc'; then $(CYGPATH_W) 'mds/Locker.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Locker.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Locker.Tpo $(DEPDIR)/Locker.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Locker.cc' object='Locker.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Locker.obj `if test -f 'mds/Locker.cc'; then $(CYGPATH_W) 'mds/Locker.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Locker.cc'; fi`
-
-Migrator.o: mds/Migrator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Migrator.o -MD -MP -MF $(DEPDIR)/Migrator.Tpo -c -o Migrator.o `test -f 'mds/Migrator.cc' || echo '$(srcdir)/'`mds/Migrator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Migrator.Tpo $(DEPDIR)/Migrator.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Migrator.cc' object='Migrator.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Migrator.o `test -f 'mds/Migrator.cc' || echo '$(srcdir)/'`mds/Migrator.cc
-
-Migrator.obj: mds/Migrator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Migrator.obj -MD -MP -MF $(DEPDIR)/Migrator.Tpo -c -o Migrator.obj `if test -f 'mds/Migrator.cc'; then $(CYGPATH_W) 'mds/Migrator.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Migrator.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Migrator.Tpo $(DEPDIR)/Migrator.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/Migrator.cc' object='Migrator.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Migrator.obj `if test -f 'mds/Migrator.cc'; then $(CYGPATH_W) 'mds/Migrator.cc'; else $(CYGPATH_W) '$(srcdir)/mds/Migrator.cc'; fi`
-
-MDBalancer.o: mds/MDBalancer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDBalancer.o -MD -MP -MF $(DEPDIR)/MDBalancer.Tpo -c -o MDBalancer.o `test -f 'mds/MDBalancer.cc' || echo '$(srcdir)/'`mds/MDBalancer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDBalancer.Tpo $(DEPDIR)/MDBalancer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDBalancer.cc' object='MDBalancer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDBalancer.o `test -f 'mds/MDBalancer.cc' || echo '$(srcdir)/'`mds/MDBalancer.cc
-
-MDBalancer.obj: mds/MDBalancer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDBalancer.obj -MD -MP -MF $(DEPDIR)/MDBalancer.Tpo -c -o MDBalancer.obj `if test -f 'mds/MDBalancer.cc'; then $(CYGPATH_W) 'mds/MDBalancer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDBalancer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDBalancer.Tpo $(DEPDIR)/MDBalancer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDBalancer.cc' object='MDBalancer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDBalancer.obj `if test -f 'mds/MDBalancer.cc'; then $(CYGPATH_W) 'mds/MDBalancer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDBalancer.cc'; fi`
-
-CDentry.o: mds/CDentry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CDentry.o -MD -MP -MF $(DEPDIR)/CDentry.Tpo -c -o CDentry.o `test -f 'mds/CDentry.cc' || echo '$(srcdir)/'`mds/CDentry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CDentry.Tpo $(DEPDIR)/CDentry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CDentry.cc' object='CDentry.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CDentry.o `test -f 'mds/CDentry.cc' || echo '$(srcdir)/'`mds/CDentry.cc
-
-CDentry.obj: mds/CDentry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CDentry.obj -MD -MP -MF $(DEPDIR)/CDentry.Tpo -c -o CDentry.obj `if test -f 'mds/CDentry.cc'; then $(CYGPATH_W) 'mds/CDentry.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CDentry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CDentry.Tpo $(DEPDIR)/CDentry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CDentry.cc' object='CDentry.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CDentry.obj `if test -f 'mds/CDentry.cc'; then $(CYGPATH_W) 'mds/CDentry.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CDentry.cc'; fi`
-
-CDir.o: mds/CDir.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CDir.o -MD -MP -MF $(DEPDIR)/CDir.Tpo -c -o CDir.o `test -f 'mds/CDir.cc' || echo '$(srcdir)/'`mds/CDir.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CDir.Tpo $(DEPDIR)/CDir.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CDir.cc' object='CDir.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CDir.o `test -f 'mds/CDir.cc' || echo '$(srcdir)/'`mds/CDir.cc
-
-CDir.obj: mds/CDir.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CDir.obj -MD -MP -MF $(DEPDIR)/CDir.Tpo -c -o CDir.obj `if test -f 'mds/CDir.cc'; then $(CYGPATH_W) 'mds/CDir.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CDir.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CDir.Tpo $(DEPDIR)/CDir.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CDir.cc' object='CDir.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CDir.obj `if test -f 'mds/CDir.cc'; then $(CYGPATH_W) 'mds/CDir.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CDir.cc'; fi`
-
-CInode.o: mds/CInode.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CInode.o -MD -MP -MF $(DEPDIR)/CInode.Tpo -c -o CInode.o `test -f 'mds/CInode.cc' || echo '$(srcdir)/'`mds/CInode.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CInode.Tpo $(DEPDIR)/CInode.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CInode.cc' object='CInode.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CInode.o `test -f 'mds/CInode.cc' || echo '$(srcdir)/'`mds/CInode.cc
-
-CInode.obj: mds/CInode.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CInode.obj -MD -MP -MF $(DEPDIR)/CInode.Tpo -c -o CInode.obj `if test -f 'mds/CInode.cc'; then $(CYGPATH_W) 'mds/CInode.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CInode.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CInode.Tpo $(DEPDIR)/CInode.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/CInode.cc' object='CInode.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CInode.obj `if test -f 'mds/CInode.cc'; then $(CYGPATH_W) 'mds/CInode.cc'; else $(CYGPATH_W) '$(srcdir)/mds/CInode.cc'; fi`
-
-LogEvent.o: mds/LogEvent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogEvent.o -MD -MP -MF $(DEPDIR)/LogEvent.Tpo -c -o LogEvent.o `test -f 'mds/LogEvent.cc' || echo '$(srcdir)/'`mds/LogEvent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogEvent.Tpo $(DEPDIR)/LogEvent.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/LogEvent.cc' object='LogEvent.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogEvent.o `test -f 'mds/LogEvent.cc' || echo '$(srcdir)/'`mds/LogEvent.cc
-
-LogEvent.obj: mds/LogEvent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogEvent.obj -MD -MP -MF $(DEPDIR)/LogEvent.Tpo -c -o LogEvent.obj `if test -f 'mds/LogEvent.cc'; then $(CYGPATH_W) 'mds/LogEvent.cc'; else $(CYGPATH_W) '$(srcdir)/mds/LogEvent.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogEvent.Tpo $(DEPDIR)/LogEvent.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/LogEvent.cc' object='LogEvent.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogEvent.obj `if test -f 'mds/LogEvent.cc'; then $(CYGPATH_W) 'mds/LogEvent.cc'; else $(CYGPATH_W) '$(srcdir)/mds/LogEvent.cc'; fi`
-
-MDSTable.o: mds/MDSTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTable.o -MD -MP -MF $(DEPDIR)/MDSTable.Tpo -c -o MDSTable.o `test -f 'mds/MDSTable.cc' || echo '$(srcdir)/'`mds/MDSTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTable.Tpo $(DEPDIR)/MDSTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTable.cc' object='MDSTable.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTable.o `test -f 'mds/MDSTable.cc' || echo '$(srcdir)/'`mds/MDSTable.cc
-
-MDSTable.obj: mds/MDSTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTable.obj -MD -MP -MF $(DEPDIR)/MDSTable.Tpo -c -o MDSTable.obj `if test -f 'mds/MDSTable.cc'; then $(CYGPATH_W) 'mds/MDSTable.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTable.Tpo $(DEPDIR)/MDSTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTable.cc' object='MDSTable.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTable.obj `if test -f 'mds/MDSTable.cc'; then $(CYGPATH_W) 'mds/MDSTable.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTable.cc'; fi`
-
-InoTable.o: mds/InoTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT InoTable.o -MD -MP -MF $(DEPDIR)/InoTable.Tpo -c -o InoTable.o `test -f 'mds/InoTable.cc' || echo '$(srcdir)/'`mds/InoTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/InoTable.Tpo $(DEPDIR)/InoTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/InoTable.cc' object='InoTable.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InoTable.o `test -f 'mds/InoTable.cc' || echo '$(srcdir)/'`mds/InoTable.cc
-
-InoTable.obj: mds/InoTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT InoTable.obj -MD -MP -MF $(DEPDIR)/InoTable.Tpo -c -o InoTable.obj `if test -f 'mds/InoTable.cc'; then $(CYGPATH_W) 'mds/InoTable.cc'; else $(CYGPATH_W) '$(srcdir)/mds/InoTable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/InoTable.Tpo $(DEPDIR)/InoTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/InoTable.cc' object='InoTable.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InoTable.obj `if test -f 'mds/InoTable.cc'; then $(CYGPATH_W) 'mds/InoTable.cc'; else $(CYGPATH_W) '$(srcdir)/mds/InoTable.cc'; fi`
-
-MDSTableClient.o: mds/MDSTableClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTableClient.o -MD -MP -MF $(DEPDIR)/MDSTableClient.Tpo -c -o MDSTableClient.o `test -f 'mds/MDSTableClient.cc' || echo '$(srcdir)/'`mds/MDSTableClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTableClient.Tpo $(DEPDIR)/MDSTableClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTableClient.cc' object='MDSTableClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTableClient.o `test -f 'mds/MDSTableClient.cc' || echo '$(srcdir)/'`mds/MDSTableClient.cc
-
-MDSTableClient.obj: mds/MDSTableClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTableClient.obj -MD -MP -MF $(DEPDIR)/MDSTableClient.Tpo -c -o MDSTableClient.obj `if test -f 'mds/MDSTableClient.cc'; then $(CYGPATH_W) 'mds/MDSTableClient.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTableClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTableClient.Tpo $(DEPDIR)/MDSTableClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTableClient.cc' object='MDSTableClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTableClient.obj `if test -f 'mds/MDSTableClient.cc'; then $(CYGPATH_W) 'mds/MDSTableClient.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTableClient.cc'; fi`
-
-MDSTableServer.o: mds/MDSTableServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTableServer.o -MD -MP -MF $(DEPDIR)/MDSTableServer.Tpo -c -o MDSTableServer.o `test -f 'mds/MDSTableServer.cc' || echo '$(srcdir)/'`mds/MDSTableServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTableServer.Tpo $(DEPDIR)/MDSTableServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTableServer.cc' object='MDSTableServer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTableServer.o `test -f 'mds/MDSTableServer.cc' || echo '$(srcdir)/'`mds/MDSTableServer.cc
-
-MDSTableServer.obj: mds/MDSTableServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSTableServer.obj -MD -MP -MF $(DEPDIR)/MDSTableServer.Tpo -c -o MDSTableServer.obj `if test -f 'mds/MDSTableServer.cc'; then $(CYGPATH_W) 'mds/MDSTableServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTableServer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSTableServer.Tpo $(DEPDIR)/MDSTableServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSTableServer.cc' object='MDSTableServer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSTableServer.obj `if test -f 'mds/MDSTableServer.cc'; then $(CYGPATH_W) 'mds/MDSTableServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSTableServer.cc'; fi`
-
-AnchorServer.o: mds/AnchorServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnchorServer.o -MD -MP -MF $(DEPDIR)/AnchorServer.Tpo -c -o AnchorServer.o `test -f 'mds/AnchorServer.cc' || echo '$(srcdir)/'`mds/AnchorServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AnchorServer.Tpo $(DEPDIR)/AnchorServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/AnchorServer.cc' object='AnchorServer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnchorServer.o `test -f 'mds/AnchorServer.cc' || echo '$(srcdir)/'`mds/AnchorServer.cc
-
-AnchorServer.obj: mds/AnchorServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnchorServer.obj -MD -MP -MF $(DEPDIR)/AnchorServer.Tpo -c -o AnchorServer.obj `if test -f 'mds/AnchorServer.cc'; then $(CYGPATH_W) 'mds/AnchorServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/AnchorServer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AnchorServer.Tpo $(DEPDIR)/AnchorServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/AnchorServer.cc' object='AnchorServer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnchorServer.obj `if test -f 'mds/AnchorServer.cc'; then $(CYGPATH_W) 'mds/AnchorServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/AnchorServer.cc'; fi`
-
-AnchorClient.o: mds/AnchorClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnchorClient.o -MD -MP -MF $(DEPDIR)/AnchorClient.Tpo -c -o AnchorClient.o `test -f 'mds/AnchorClient.cc' || echo '$(srcdir)/'`mds/AnchorClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AnchorClient.Tpo $(DEPDIR)/AnchorClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/AnchorClient.cc' object='AnchorClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnchorClient.o `test -f 'mds/AnchorClient.cc' || echo '$(srcdir)/'`mds/AnchorClient.cc
-
-AnchorClient.obj: mds/AnchorClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnchorClient.obj -MD -MP -MF $(DEPDIR)/AnchorClient.Tpo -c -o AnchorClient.obj `if test -f 'mds/AnchorClient.cc'; then $(CYGPATH_W) 'mds/AnchorClient.cc'; else $(CYGPATH_W) '$(srcdir)/mds/AnchorClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AnchorClient.Tpo $(DEPDIR)/AnchorClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/AnchorClient.cc' object='AnchorClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnchorClient.obj `if test -f 'mds/AnchorClient.cc'; then $(CYGPATH_W) 'mds/AnchorClient.cc'; else $(CYGPATH_W) '$(srcdir)/mds/AnchorClient.cc'; fi`
-
-SnapRealm.o: mds/SnapRealm.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SnapRealm.o -MD -MP -MF $(DEPDIR)/SnapRealm.Tpo -c -o SnapRealm.o `test -f 'mds/SnapRealm.cc' || echo '$(srcdir)/'`mds/SnapRealm.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SnapRealm.Tpo $(DEPDIR)/SnapRealm.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SnapRealm.cc' object='SnapRealm.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SnapRealm.o `test -f 'mds/SnapRealm.cc' || echo '$(srcdir)/'`mds/SnapRealm.cc
-
-SnapRealm.obj: mds/SnapRealm.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SnapRealm.obj -MD -MP -MF $(DEPDIR)/SnapRealm.Tpo -c -o SnapRealm.obj `if test -f 'mds/SnapRealm.cc'; then $(CYGPATH_W) 'mds/SnapRealm.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SnapRealm.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SnapRealm.Tpo $(DEPDIR)/SnapRealm.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SnapRealm.cc' object='SnapRealm.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SnapRealm.obj `if test -f 'mds/SnapRealm.cc'; then $(CYGPATH_W) 'mds/SnapRealm.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SnapRealm.cc'; fi`
-
-SnapServer.o: mds/SnapServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SnapServer.o -MD -MP -MF $(DEPDIR)/SnapServer.Tpo -c -o SnapServer.o `test -f 'mds/SnapServer.cc' || echo '$(srcdir)/'`mds/SnapServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SnapServer.Tpo $(DEPDIR)/SnapServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SnapServer.cc' object='SnapServer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SnapServer.o `test -f 'mds/SnapServer.cc' || echo '$(srcdir)/'`mds/SnapServer.cc
-
-SnapServer.obj: mds/SnapServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SnapServer.obj -MD -MP -MF $(DEPDIR)/SnapServer.Tpo -c -o SnapServer.obj `if test -f 'mds/SnapServer.cc'; then $(CYGPATH_W) 'mds/SnapServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SnapServer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SnapServer.Tpo $(DEPDIR)/SnapServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SnapServer.cc' object='SnapServer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SnapServer.obj `if test -f 'mds/SnapServer.cc'; then $(CYGPATH_W) 'mds/SnapServer.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SnapServer.cc'; fi`
-
-snap.o: mds/snap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snap.o -MD -MP -MF $(DEPDIR)/snap.Tpo -c -o snap.o `test -f 'mds/snap.cc' || echo '$(srcdir)/'`mds/snap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snap.Tpo $(DEPDIR)/snap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/snap.cc' object='snap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snap.o `test -f 'mds/snap.cc' || echo '$(srcdir)/'`mds/snap.cc
-
-snap.obj: mds/snap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snap.obj -MD -MP -MF $(DEPDIR)/snap.Tpo -c -o snap.obj `if test -f 'mds/snap.cc'; then $(CYGPATH_W) 'mds/snap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/snap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snap.Tpo $(DEPDIR)/snap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/snap.cc' object='snap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snap.obj `if test -f 'mds/snap.cc'; then $(CYGPATH_W) 'mds/snap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/snap.cc'; fi`
-
-SessionMap.o: mds/SessionMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SessionMap.o -MD -MP -MF $(DEPDIR)/SessionMap.Tpo -c -o SessionMap.o `test -f 'mds/SessionMap.cc' || echo '$(srcdir)/'`mds/SessionMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SessionMap.Tpo $(DEPDIR)/SessionMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SessionMap.cc' object='SessionMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SessionMap.o `test -f 'mds/SessionMap.cc' || echo '$(srcdir)/'`mds/SessionMap.cc
-
-SessionMap.obj: mds/SessionMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SessionMap.obj -MD -MP -MF $(DEPDIR)/SessionMap.Tpo -c -o SessionMap.obj `if test -f 'mds/SessionMap.cc'; then $(CYGPATH_W) 'mds/SessionMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SessionMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SessionMap.Tpo $(DEPDIR)/SessionMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/SessionMap.cc' object='SessionMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SessionMap.obj `if test -f 'mds/SessionMap.cc'; then $(CYGPATH_W) 'mds/SessionMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/SessionMap.cc'; fi`
-
-MDLog.o: mds/MDLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDLog.o -MD -MP -MF $(DEPDIR)/MDLog.Tpo -c -o MDLog.o `test -f 'mds/MDLog.cc' || echo '$(srcdir)/'`mds/MDLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDLog.Tpo $(DEPDIR)/MDLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDLog.cc' object='MDLog.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDLog.o `test -f 'mds/MDLog.cc' || echo '$(srcdir)/'`mds/MDLog.cc
-
-MDLog.obj: mds/MDLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDLog.obj -MD -MP -MF $(DEPDIR)/MDLog.Tpo -c -o MDLog.obj `if test -f 'mds/MDLog.cc'; then $(CYGPATH_W) 'mds/MDLog.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDLog.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDLog.Tpo $(DEPDIR)/MDLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDLog.cc' object='MDLog.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDLog.obj `if test -f 'mds/MDLog.cc'; then $(CYGPATH_W) 'mds/MDLog.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDLog.cc'; fi`
-
-Journaler.o: osdc/Journaler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Journaler.o -MD -MP -MF $(DEPDIR)/Journaler.Tpo -c -o Journaler.o `test -f 'osdc/Journaler.cc' || echo '$(srcdir)/'`osdc/Journaler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Journaler.Tpo $(DEPDIR)/Journaler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Journaler.cc' object='Journaler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Journaler.o `test -f 'osdc/Journaler.cc' || echo '$(srcdir)/'`osdc/Journaler.cc
-
-Journaler.obj: osdc/Journaler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Journaler.obj -MD -MP -MF $(DEPDIR)/Journaler.Tpo -c -o Journaler.obj `if test -f 'osdc/Journaler.cc'; then $(CYGPATH_W) 'osdc/Journaler.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Journaler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Journaler.Tpo $(DEPDIR)/Journaler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Journaler.cc' object='Journaler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Journaler.obj `if test -f 'osdc/Journaler.cc'; then $(CYGPATH_W) 'osdc/Journaler.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Journaler.cc'; fi`
-
-libmon_a-CephxKeyServer.o: auth/cephx/CephxKeyServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxKeyServer.o -MD -MP -MF $(DEPDIR)/libmon_a-CephxKeyServer.Tpo -c -o libmon_a-CephxKeyServer.o `test -f 'auth/cephx/CephxKeyServer.cc' || echo '$(srcdir)/'`auth/cephx/CephxKeyServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxKeyServer.Tpo $(DEPDIR)/libmon_a-CephxKeyServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxKeyServer.cc' object='libmon_a-CephxKeyServer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxKeyServer.o `test -f 'auth/cephx/CephxKeyServer.cc' || echo '$(srcdir)/'`auth/cephx/CephxKeyServer.cc
-
-libmon_a-CephxKeyServer.obj: auth/cephx/CephxKeyServer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxKeyServer.obj -MD -MP -MF $(DEPDIR)/libmon_a-CephxKeyServer.Tpo -c -o libmon_a-CephxKeyServer.obj `if test -f 'auth/cephx/CephxKeyServer.cc'; then $(CYGPATH_W) 'auth/cephx/CephxKeyServer.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxKeyServer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxKeyServer.Tpo $(DEPDIR)/libmon_a-CephxKeyServer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxKeyServer.cc' object='libmon_a-CephxKeyServer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxKeyServer.obj `if test -f 'auth/cephx/CephxKeyServer.cc'; then $(CYGPATH_W) 'auth/cephx/CephxKeyServer.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxKeyServer.cc'; fi`
-
-libmon_a-CephxServiceHandler.o: auth/cephx/CephxServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxServiceHandler.o -MD -MP -MF $(DEPDIR)/libmon_a-CephxServiceHandler.Tpo -c -o libmon_a-CephxServiceHandler.o `test -f 'auth/cephx/CephxServiceHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxServiceHandler.Tpo $(DEPDIR)/libmon_a-CephxServiceHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxServiceHandler.cc' object='libmon_a-CephxServiceHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxServiceHandler.o `test -f 'auth/cephx/CephxServiceHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxServiceHandler.cc
-
-libmon_a-CephxServiceHandler.obj: auth/cephx/CephxServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxServiceHandler.obj -MD -MP -MF $(DEPDIR)/libmon_a-CephxServiceHandler.Tpo -c -o libmon_a-CephxServiceHandler.obj `if test -f 'auth/cephx/CephxServiceHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxServiceHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxServiceHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxServiceHandler.Tpo $(DEPDIR)/libmon_a-CephxServiceHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxServiceHandler.cc' object='libmon_a-CephxServiceHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxServiceHandler.obj `if test -f 'auth/cephx/CephxServiceHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxServiceHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxServiceHandler.cc'; fi`
-
-libmon_a-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/libmon_a-CephxSessionHandler.Tpo -c -o libmon_a-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxSessionHandler.Tpo $(DEPDIR)/libmon_a-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='libmon_a-CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-libmon_a-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/libmon_a-CephxSessionHandler.Tpo -c -o libmon_a-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-CephxSessionHandler.Tpo $(DEPDIR)/libmon_a-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='libmon_a-CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
-
-libmon_a-AuthServiceHandler.o: auth/AuthServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthServiceHandler.o -MD -MP -MF $(DEPDIR)/libmon_a-AuthServiceHandler.Tpo -c -o libmon_a-AuthServiceHandler.o `test -f 'auth/AuthServiceHandler.cc' || echo '$(srcdir)/'`auth/AuthServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthServiceHandler.Tpo $(DEPDIR)/libmon_a-AuthServiceHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthServiceHandler.cc' object='libmon_a-AuthServiceHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthServiceHandler.o `test -f 'auth/AuthServiceHandler.cc' || echo '$(srcdir)/'`auth/AuthServiceHandler.cc
-
-libmon_a-AuthServiceHandler.obj: auth/AuthServiceHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthServiceHandler.obj -MD -MP -MF $(DEPDIR)/libmon_a-AuthServiceHandler.Tpo -c -o libmon_a-AuthServiceHandler.obj `if test -f 'auth/AuthServiceHandler.cc'; then $(CYGPATH_W) 'auth/AuthServiceHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthServiceHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthServiceHandler.Tpo $(DEPDIR)/libmon_a-AuthServiceHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthServiceHandler.cc' object='libmon_a-AuthServiceHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthServiceHandler.obj `if test -f 'auth/AuthServiceHandler.cc'; then $(CYGPATH_W) 'auth/AuthServiceHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthServiceHandler.cc'; fi`
-
-libmon_a-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/libmon_a-AuthSessionHandler.Tpo -c -o libmon_a-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthSessionHandler.Tpo $(DEPDIR)/libmon_a-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='libmon_a-AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-libmon_a-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/libmon_a-AuthSessionHandler.Tpo -c -o libmon_a-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthSessionHandler.Tpo $(DEPDIR)/libmon_a-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='libmon_a-AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
-
-libmon_a-Monitor.o: mon/Monitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Monitor.o -MD -MP -MF $(DEPDIR)/libmon_a-Monitor.Tpo -c -o libmon_a-Monitor.o `test -f 'mon/Monitor.cc' || echo '$(srcdir)/'`mon/Monitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Monitor.Tpo $(DEPDIR)/libmon_a-Monitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Monitor.cc' object='libmon_a-Monitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Monitor.o `test -f 'mon/Monitor.cc' || echo '$(srcdir)/'`mon/Monitor.cc
-
-libmon_a-Monitor.obj: mon/Monitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Monitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-Monitor.Tpo -c -o libmon_a-Monitor.obj `if test -f 'mon/Monitor.cc'; then $(CYGPATH_W) 'mon/Monitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Monitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Monitor.Tpo $(DEPDIR)/libmon_a-Monitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Monitor.cc' object='libmon_a-Monitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Monitor.obj `if test -f 'mon/Monitor.cc'; then $(CYGPATH_W) 'mon/Monitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Monitor.cc'; fi`
-
-libmon_a-Paxos.o: mon/Paxos.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Paxos.o -MD -MP -MF $(DEPDIR)/libmon_a-Paxos.Tpo -c -o libmon_a-Paxos.o `test -f 'mon/Paxos.cc' || echo '$(srcdir)/'`mon/Paxos.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Paxos.Tpo $(DEPDIR)/libmon_a-Paxos.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Paxos.cc' object='libmon_a-Paxos.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Paxos.o `test -f 'mon/Paxos.cc' || echo '$(srcdir)/'`mon/Paxos.cc
-
-libmon_a-Paxos.obj: mon/Paxos.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Paxos.obj -MD -MP -MF $(DEPDIR)/libmon_a-Paxos.Tpo -c -o libmon_a-Paxos.obj `if test -f 'mon/Paxos.cc'; then $(CYGPATH_W) 'mon/Paxos.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Paxos.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Paxos.Tpo $(DEPDIR)/libmon_a-Paxos.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Paxos.cc' object='libmon_a-Paxos.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Paxos.obj `if test -f 'mon/Paxos.cc'; then $(CYGPATH_W) 'mon/Paxos.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Paxos.cc'; fi`
-
-libmon_a-PaxosService.o: mon/PaxosService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PaxosService.o -MD -MP -MF $(DEPDIR)/libmon_a-PaxosService.Tpo -c -o libmon_a-PaxosService.o `test -f 'mon/PaxosService.cc' || echo '$(srcdir)/'`mon/PaxosService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PaxosService.Tpo $(DEPDIR)/libmon_a-PaxosService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PaxosService.cc' object='libmon_a-PaxosService.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PaxosService.o `test -f 'mon/PaxosService.cc' || echo '$(srcdir)/'`mon/PaxosService.cc
-
-libmon_a-PaxosService.obj: mon/PaxosService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PaxosService.obj -MD -MP -MF $(DEPDIR)/libmon_a-PaxosService.Tpo -c -o libmon_a-PaxosService.obj `if test -f 'mon/PaxosService.cc'; then $(CYGPATH_W) 'mon/PaxosService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PaxosService.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PaxosService.Tpo $(DEPDIR)/libmon_a-PaxosService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PaxosService.cc' object='libmon_a-PaxosService.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PaxosService.obj `if test -f 'mon/PaxosService.cc'; then $(CYGPATH_W) 'mon/PaxosService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PaxosService.cc'; fi`
-
-libmon_a-OSDMonitor.o: mon/OSDMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-OSDMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-OSDMonitor.Tpo -c -o libmon_a-OSDMonitor.o `test -f 'mon/OSDMonitor.cc' || echo '$(srcdir)/'`mon/OSDMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-OSDMonitor.Tpo $(DEPDIR)/libmon_a-OSDMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/OSDMonitor.cc' object='libmon_a-OSDMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-OSDMonitor.o `test -f 'mon/OSDMonitor.cc' || echo '$(srcdir)/'`mon/OSDMonitor.cc
-
-libmon_a-OSDMonitor.obj: mon/OSDMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-OSDMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-OSDMonitor.Tpo -c -o libmon_a-OSDMonitor.obj `if test -f 'mon/OSDMonitor.cc'; then $(CYGPATH_W) 'mon/OSDMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/OSDMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-OSDMonitor.Tpo $(DEPDIR)/libmon_a-OSDMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/OSDMonitor.cc' object='libmon_a-OSDMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-OSDMonitor.obj `if test -f 'mon/OSDMonitor.cc'; then $(CYGPATH_W) 'mon/OSDMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/OSDMonitor.cc'; fi`
-
-libmon_a-MDSMonitor.o: mon/MDSMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MDSMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-MDSMonitor.Tpo -c -o libmon_a-MDSMonitor.o `test -f 'mon/MDSMonitor.cc' || echo '$(srcdir)/'`mon/MDSMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MDSMonitor.Tpo $(DEPDIR)/libmon_a-MDSMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MDSMonitor.cc' object='libmon_a-MDSMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MDSMonitor.o `test -f 'mon/MDSMonitor.cc' || echo '$(srcdir)/'`mon/MDSMonitor.cc
-
-libmon_a-MDSMonitor.obj: mon/MDSMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MDSMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-MDSMonitor.Tpo -c -o libmon_a-MDSMonitor.obj `if test -f 'mon/MDSMonitor.cc'; then $(CYGPATH_W) 'mon/MDSMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MDSMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MDSMonitor.Tpo $(DEPDIR)/libmon_a-MDSMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MDSMonitor.cc' object='libmon_a-MDSMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MDSMonitor.obj `if test -f 'mon/MDSMonitor.cc'; then $(CYGPATH_W) 'mon/MDSMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MDSMonitor.cc'; fi`
-
-libmon_a-MonmapMonitor.o: mon/MonmapMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MonmapMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-MonmapMonitor.Tpo -c -o libmon_a-MonmapMonitor.o `test -f 'mon/MonmapMonitor.cc' || echo '$(srcdir)/'`mon/MonmapMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MonmapMonitor.Tpo $(DEPDIR)/libmon_a-MonmapMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonmapMonitor.cc' object='libmon_a-MonmapMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MonmapMonitor.o `test -f 'mon/MonmapMonitor.cc' || echo '$(srcdir)/'`mon/MonmapMonitor.cc
-
-libmon_a-MonmapMonitor.obj: mon/MonmapMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MonmapMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-MonmapMonitor.Tpo -c -o libmon_a-MonmapMonitor.obj `if test -f 'mon/MonmapMonitor.cc'; then $(CYGPATH_W) 'mon/MonmapMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonmapMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MonmapMonitor.Tpo $(DEPDIR)/libmon_a-MonmapMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonmapMonitor.cc' object='libmon_a-MonmapMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MonmapMonitor.obj `if test -f 'mon/MonmapMonitor.cc'; then $(CYGPATH_W) 'mon/MonmapMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonmapMonitor.cc'; fi`
-
-libmon_a-PGMonitor.o: mon/PGMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PGMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-PGMonitor.Tpo -c -o libmon_a-PGMonitor.o `test -f 'mon/PGMonitor.cc' || echo '$(srcdir)/'`mon/PGMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PGMonitor.Tpo $(DEPDIR)/libmon_a-PGMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PGMonitor.cc' object='libmon_a-PGMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PGMonitor.o `test -f 'mon/PGMonitor.cc' || echo '$(srcdir)/'`mon/PGMonitor.cc
-
-libmon_a-PGMonitor.obj: mon/PGMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PGMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-PGMonitor.Tpo -c -o libmon_a-PGMonitor.obj `if test -f 'mon/PGMonitor.cc'; then $(CYGPATH_W) 'mon/PGMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PGMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PGMonitor.Tpo $(DEPDIR)/libmon_a-PGMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PGMonitor.cc' object='libmon_a-PGMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PGMonitor.obj `if test -f 'mon/PGMonitor.cc'; then $(CYGPATH_W) 'mon/PGMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PGMonitor.cc'; fi`
-
-libmon_a-PGMap.o: mon/PGMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PGMap.o -MD -MP -MF $(DEPDIR)/libmon_a-PGMap.Tpo -c -o libmon_a-PGMap.o `test -f 'mon/PGMap.cc' || echo '$(srcdir)/'`mon/PGMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PGMap.Tpo $(DEPDIR)/libmon_a-PGMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PGMap.cc' object='libmon_a-PGMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PGMap.o `test -f 'mon/PGMap.cc' || echo '$(srcdir)/'`mon/PGMap.cc
-
-libmon_a-PGMap.obj: mon/PGMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-PGMap.obj -MD -MP -MF $(DEPDIR)/libmon_a-PGMap.Tpo -c -o libmon_a-PGMap.obj `if test -f 'mon/PGMap.cc'; then $(CYGPATH_W) 'mon/PGMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PGMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-PGMap.Tpo $(DEPDIR)/libmon_a-PGMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/PGMap.cc' object='libmon_a-PGMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-PGMap.obj `if test -f 'mon/PGMap.cc'; then $(CYGPATH_W) 'mon/PGMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/PGMap.cc'; fi`
-
-libmon_a-LogMonitor.o: mon/LogMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-LogMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-LogMonitor.Tpo -c -o libmon_a-LogMonitor.o `test -f 'mon/LogMonitor.cc' || echo '$(srcdir)/'`mon/LogMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-LogMonitor.Tpo $(DEPDIR)/libmon_a-LogMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/LogMonitor.cc' object='libmon_a-LogMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-LogMonitor.o `test -f 'mon/LogMonitor.cc' || echo '$(srcdir)/'`mon/LogMonitor.cc
-
-libmon_a-LogMonitor.obj: mon/LogMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-LogMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-LogMonitor.Tpo -c -o libmon_a-LogMonitor.obj `if test -f 'mon/LogMonitor.cc'; then $(CYGPATH_W) 'mon/LogMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/LogMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-LogMonitor.Tpo $(DEPDIR)/libmon_a-LogMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/LogMonitor.cc' object='libmon_a-LogMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-LogMonitor.obj `if test -f 'mon/LogMonitor.cc'; then $(CYGPATH_W) 'mon/LogMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/LogMonitor.cc'; fi`
-
-libmon_a-AuthMonitor.o: mon/AuthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-AuthMonitor.Tpo -c -o libmon_a-AuthMonitor.o `test -f 'mon/AuthMonitor.cc' || echo '$(srcdir)/'`mon/AuthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthMonitor.Tpo $(DEPDIR)/libmon_a-AuthMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/AuthMonitor.cc' object='libmon_a-AuthMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthMonitor.o `test -f 'mon/AuthMonitor.cc' || echo '$(srcdir)/'`mon/AuthMonitor.cc
-
-libmon_a-AuthMonitor.obj: mon/AuthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-AuthMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-AuthMonitor.Tpo -c -o libmon_a-AuthMonitor.obj `if test -f 'mon/AuthMonitor.cc'; then $(CYGPATH_W) 'mon/AuthMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/AuthMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-AuthMonitor.Tpo $(DEPDIR)/libmon_a-AuthMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/AuthMonitor.cc' object='libmon_a-AuthMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-AuthMonitor.obj `if test -f 'mon/AuthMonitor.cc'; then $(CYGPATH_W) 'mon/AuthMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/AuthMonitor.cc'; fi`
-
-libmon_a-Elector.o: mon/Elector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Elector.o -MD -MP -MF $(DEPDIR)/libmon_a-Elector.Tpo -c -o libmon_a-Elector.o `test -f 'mon/Elector.cc' || echo '$(srcdir)/'`mon/Elector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Elector.Tpo $(DEPDIR)/libmon_a-Elector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Elector.cc' object='libmon_a-Elector.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Elector.o `test -f 'mon/Elector.cc' || echo '$(srcdir)/'`mon/Elector.cc
-
-libmon_a-Elector.obj: mon/Elector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-Elector.obj -MD -MP -MF $(DEPDIR)/libmon_a-Elector.Tpo -c -o libmon_a-Elector.obj `if test -f 'mon/Elector.cc'; then $(CYGPATH_W) 'mon/Elector.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Elector.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-Elector.Tpo $(DEPDIR)/libmon_a-Elector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/Elector.cc' object='libmon_a-Elector.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-Elector.obj `if test -f 'mon/Elector.cc'; then $(CYGPATH_W) 'mon/Elector.cc'; else $(CYGPATH_W) '$(srcdir)/mon/Elector.cc'; fi`
-
-libmon_a-MonitorStore.o: mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MonitorStore.o -MD -MP -MF $(DEPDIR)/libmon_a-MonitorStore.Tpo -c -o libmon_a-MonitorStore.o `test -f 'mon/MonitorStore.cc' || echo '$(srcdir)/'`mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MonitorStore.Tpo $(DEPDIR)/libmon_a-MonitorStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonitorStore.cc' object='libmon_a-MonitorStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MonitorStore.o `test -f 'mon/MonitorStore.cc' || echo '$(srcdir)/'`mon/MonitorStore.cc
-
-libmon_a-MonitorStore.obj: mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-MonitorStore.obj -MD -MP -MF $(DEPDIR)/libmon_a-MonitorStore.Tpo -c -o libmon_a-MonitorStore.obj `if test -f 'mon/MonitorStore.cc'; then $(CYGPATH_W) 'mon/MonitorStore.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonitorStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-MonitorStore.Tpo $(DEPDIR)/libmon_a-MonitorStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonitorStore.cc' object='libmon_a-MonitorStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-MonitorStore.obj `if test -f 'mon/MonitorStore.cc'; then $(CYGPATH_W) 'mon/MonitorStore.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonitorStore.cc'; fi`
-
-libmon_a-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-LevelDBStore.o -MD -MP -MF $(DEPDIR)/libmon_a-LevelDBStore.Tpo -c -o libmon_a-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-LevelDBStore.Tpo $(DEPDIR)/libmon_a-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='libmon_a-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-libmon_a-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/libmon_a-LevelDBStore.Tpo -c -o libmon_a-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-LevelDBStore.Tpo $(DEPDIR)/libmon_a-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='libmon_a-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-libmon_a-HealthMonitor.o: mon/HealthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-HealthMonitor.o -MD -MP -MF $(DEPDIR)/libmon_a-HealthMonitor.Tpo -c -o libmon_a-HealthMonitor.o `test -f 'mon/HealthMonitor.cc' || echo '$(srcdir)/'`mon/HealthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-HealthMonitor.Tpo $(DEPDIR)/libmon_a-HealthMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/HealthMonitor.cc' object='libmon_a-HealthMonitor.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-HealthMonitor.o `test -f 'mon/HealthMonitor.cc' || echo '$(srcdir)/'`mon/HealthMonitor.cc
-
-libmon_a-HealthMonitor.obj: mon/HealthMonitor.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-HealthMonitor.obj -MD -MP -MF $(DEPDIR)/libmon_a-HealthMonitor.Tpo -c -o libmon_a-HealthMonitor.obj `if test -f 'mon/HealthMonitor.cc'; then $(CYGPATH_W) 'mon/HealthMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/HealthMonitor.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-HealthMonitor.Tpo $(DEPDIR)/libmon_a-HealthMonitor.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/HealthMonitor.cc' object='libmon_a-HealthMonitor.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-HealthMonitor.obj `if test -f 'mon/HealthMonitor.cc'; then $(CYGPATH_W) 'mon/HealthMonitor.cc'; else $(CYGPATH_W) '$(srcdir)/mon/HealthMonitor.cc'; fi`
-
-libmon_a-DataHealthService.o: mon/DataHealthService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-DataHealthService.o -MD -MP -MF $(DEPDIR)/libmon_a-DataHealthService.Tpo -c -o libmon_a-DataHealthService.o `test -f 'mon/DataHealthService.cc' || echo '$(srcdir)/'`mon/DataHealthService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-DataHealthService.Tpo $(DEPDIR)/libmon_a-DataHealthService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/DataHealthService.cc' object='libmon_a-DataHealthService.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-DataHealthService.o `test -f 'mon/DataHealthService.cc' || echo '$(srcdir)/'`mon/DataHealthService.cc
-
-libmon_a-DataHealthService.obj: mon/DataHealthService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-DataHealthService.obj -MD -MP -MF $(DEPDIR)/libmon_a-DataHealthService.Tpo -c -o libmon_a-DataHealthService.obj `if test -f 'mon/DataHealthService.cc'; then $(CYGPATH_W) 'mon/DataHealthService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/DataHealthService.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-DataHealthService.Tpo $(DEPDIR)/libmon_a-DataHealthService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/DataHealthService.cc' object='libmon_a-DataHealthService.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-DataHealthService.obj `if test -f 'mon/DataHealthService.cc'; then $(CYGPATH_W) 'mon/DataHealthService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/DataHealthService.cc'; fi`
-
-libmon_a-ConfigKeyService.o: mon/ConfigKeyService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-ConfigKeyService.o -MD -MP -MF $(DEPDIR)/libmon_a-ConfigKeyService.Tpo -c -o libmon_a-ConfigKeyService.o `test -f 'mon/ConfigKeyService.cc' || echo '$(srcdir)/'`mon/ConfigKeyService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-ConfigKeyService.Tpo $(DEPDIR)/libmon_a-ConfigKeyService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/ConfigKeyService.cc' object='libmon_a-ConfigKeyService.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-ConfigKeyService.o `test -f 'mon/ConfigKeyService.cc' || echo '$(srcdir)/'`mon/ConfigKeyService.cc
-
-libmon_a-ConfigKeyService.obj: mon/ConfigKeyService.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-ConfigKeyService.obj -MD -MP -MF $(DEPDIR)/libmon_a-ConfigKeyService.Tpo -c -o libmon_a-ConfigKeyService.obj `if test -f 'mon/ConfigKeyService.cc'; then $(CYGPATH_W) 'mon/ConfigKeyService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/ConfigKeyService.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-ConfigKeyService.Tpo $(DEPDIR)/libmon_a-ConfigKeyService.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/ConfigKeyService.cc' object='libmon_a-ConfigKeyService.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-ConfigKeyService.obj `if test -f 'mon/ConfigKeyService.cc'; then $(CYGPATH_W) 'mon/ConfigKeyService.cc'; else $(CYGPATH_W) '$(srcdir)/mon/ConfigKeyService.cc'; fi`
-
-libmon_a-util.o: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-util.o -MD -MP -MF $(DEPDIR)/libmon_a-util.Tpo -c -o libmon_a-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-util.Tpo $(DEPDIR)/libmon_a-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='libmon_a-util.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
-
-libmon_a-util.obj: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -MT libmon_a-util.obj -MD -MP -MF $(DEPDIR)/libmon_a-util.Tpo -c -o libmon_a-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmon_a-util.Tpo $(DEPDIR)/libmon_a-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='libmon_a-util.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmon_a-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
-
-libos_a-FileJournal.o: os/FileJournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FileJournal.o -MD -MP -MF $(DEPDIR)/libos_a-FileJournal.Tpo -c -o libos_a-FileJournal.o `test -f 'os/FileJournal.cc' || echo '$(srcdir)/'`os/FileJournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FileJournal.Tpo $(DEPDIR)/libos_a-FileJournal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FileJournal.cc' object='libos_a-FileJournal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FileJournal.o `test -f 'os/FileJournal.cc' || echo '$(srcdir)/'`os/FileJournal.cc
-
-libos_a-FileJournal.obj: os/FileJournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FileJournal.obj -MD -MP -MF $(DEPDIR)/libos_a-FileJournal.Tpo -c -o libos_a-FileJournal.obj `if test -f 'os/FileJournal.cc'; then $(CYGPATH_W) 'os/FileJournal.cc'; else $(CYGPATH_W) '$(srcdir)/os/FileJournal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FileJournal.Tpo $(DEPDIR)/libos_a-FileJournal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FileJournal.cc' object='libos_a-FileJournal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FileJournal.obj `if test -f 'os/FileJournal.cc'; then $(CYGPATH_W) 'os/FileJournal.cc'; else $(CYGPATH_W) '$(srcdir)/os/FileJournal.cc'; fi`
-
-libos_a-FileStore.o: os/FileStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FileStore.o -MD -MP -MF $(DEPDIR)/libos_a-FileStore.Tpo -c -o libos_a-FileStore.o `test -f 'os/FileStore.cc' || echo '$(srcdir)/'`os/FileStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FileStore.Tpo $(DEPDIR)/libos_a-FileStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FileStore.cc' object='libos_a-FileStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FileStore.o `test -f 'os/FileStore.cc' || echo '$(srcdir)/'`os/FileStore.cc
-
-libos_a-FileStore.obj: os/FileStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FileStore.obj -MD -MP -MF $(DEPDIR)/libos_a-FileStore.Tpo -c -o libos_a-FileStore.obj `if test -f 'os/FileStore.cc'; then $(CYGPATH_W) 'os/FileStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/FileStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FileStore.Tpo $(DEPDIR)/libos_a-FileStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FileStore.cc' object='libos_a-FileStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FileStore.obj `if test -f 'os/FileStore.cc'; then $(CYGPATH_W) 'os/FileStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/FileStore.cc'; fi`
-
-libos_a-chain_xattr.o: os/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-chain_xattr.o -MD -MP -MF $(DEPDIR)/libos_a-chain_xattr.Tpo -c -o libos_a-chain_xattr.o `test -f 'os/chain_xattr.cc' || echo '$(srcdir)/'`os/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-chain_xattr.Tpo $(DEPDIR)/libos_a-chain_xattr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/chain_xattr.cc' object='libos_a-chain_xattr.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-chain_xattr.o `test -f 'os/chain_xattr.cc' || echo '$(srcdir)/'`os/chain_xattr.cc
-
-libos_a-chain_xattr.obj: os/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-chain_xattr.obj -MD -MP -MF $(DEPDIR)/libos_a-chain_xattr.Tpo -c -o libos_a-chain_xattr.obj `if test -f 'os/chain_xattr.cc'; then $(CYGPATH_W) 'os/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/os/chain_xattr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-chain_xattr.Tpo $(DEPDIR)/libos_a-chain_xattr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/chain_xattr.cc' object='libos_a-chain_xattr.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-chain_xattr.obj `if test -f 'os/chain_xattr.cc'; then $(CYGPATH_W) 'os/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/os/chain_xattr.cc'; fi`
-
-libos_a-ObjectStore.o: os/ObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-ObjectStore.o -MD -MP -MF $(DEPDIR)/libos_a-ObjectStore.Tpo -c -o libos_a-ObjectStore.o `test -f 'os/ObjectStore.cc' || echo '$(srcdir)/'`os/ObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-ObjectStore.Tpo $(DEPDIR)/libos_a-ObjectStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/ObjectStore.cc' object='libos_a-ObjectStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-ObjectStore.o `test -f 'os/ObjectStore.cc' || echo '$(srcdir)/'`os/ObjectStore.cc
-
-libos_a-ObjectStore.obj: os/ObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-ObjectStore.obj -MD -MP -MF $(DEPDIR)/libos_a-ObjectStore.Tpo -c -o libos_a-ObjectStore.obj `if test -f 'os/ObjectStore.cc'; then $(CYGPATH_W) 'os/ObjectStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/ObjectStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-ObjectStore.Tpo $(DEPDIR)/libos_a-ObjectStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/ObjectStore.cc' object='libos_a-ObjectStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-ObjectStore.obj `if test -f 'os/ObjectStore.cc'; then $(CYGPATH_W) 'os/ObjectStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/ObjectStore.cc'; fi`
-
-libos_a-JournalingObjectStore.o: os/JournalingObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-JournalingObjectStore.o -MD -MP -MF $(DEPDIR)/libos_a-JournalingObjectStore.Tpo -c -o libos_a-JournalingObjectStore.o `test -f 'os/JournalingObjectStore.cc' || echo '$(srcdir)/'`os/JournalingObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-JournalingObjectStore.Tpo $(DEPDIR)/libos_a-JournalingObjectStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/JournalingObjectStore.cc' object='libos_a-JournalingObjectStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-JournalingObjectStore.o `test -f 'os/JournalingObjectStore.cc' || echo '$(srcdir)/'`os/JournalingObjectStore.cc
-
-libos_a-JournalingObjectStore.obj: os/JournalingObjectStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-JournalingObjectStore.obj -MD -MP -MF $(DEPDIR)/libos_a-JournalingObjectStore.Tpo -c -o libos_a-JournalingObjectStore.obj `if test -f 'os/JournalingObjectStore.cc'; then $(CYGPATH_W) 'os/JournalingObjectStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/JournalingObjectStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-JournalingObjectStore.Tpo $(DEPDIR)/libos_a-JournalingObjectStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/JournalingObjectStore.cc' object='libos_a-JournalingObjectStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-JournalingObjectStore.obj `if test -f 'os/JournalingObjectStore.cc'; then $(CYGPATH_W) 'os/JournalingObjectStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/JournalingObjectStore.cc'; fi`
-
-libos_a-LFNIndex.o: os/LFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-LFNIndex.o -MD -MP -MF $(DEPDIR)/libos_a-LFNIndex.Tpo -c -o libos_a-LFNIndex.o `test -f 'os/LFNIndex.cc' || echo '$(srcdir)/'`os/LFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-LFNIndex.Tpo $(DEPDIR)/libos_a-LFNIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LFNIndex.cc' object='libos_a-LFNIndex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-LFNIndex.o `test -f 'os/LFNIndex.cc' || echo '$(srcdir)/'`os/LFNIndex.cc
-
-libos_a-LFNIndex.obj: os/LFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-LFNIndex.obj -MD -MP -MF $(DEPDIR)/libos_a-LFNIndex.Tpo -c -o libos_a-LFNIndex.obj `if test -f 'os/LFNIndex.cc'; then $(CYGPATH_W) 'os/LFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/LFNIndex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-LFNIndex.Tpo $(DEPDIR)/libos_a-LFNIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LFNIndex.cc' object='libos_a-LFNIndex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-LFNIndex.obj `if test -f 'os/LFNIndex.cc'; then $(CYGPATH_W) 'os/LFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/LFNIndex.cc'; fi`
-
-libos_a-HashIndex.o: os/HashIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-HashIndex.o -MD -MP -MF $(DEPDIR)/libos_a-HashIndex.Tpo -c -o libos_a-HashIndex.o `test -f 'os/HashIndex.cc' || echo '$(srcdir)/'`os/HashIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-HashIndex.Tpo $(DEPDIR)/libos_a-HashIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/HashIndex.cc' object='libos_a-HashIndex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-HashIndex.o `test -f 'os/HashIndex.cc' || echo '$(srcdir)/'`os/HashIndex.cc
-
-libos_a-HashIndex.obj: os/HashIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-HashIndex.obj -MD -MP -MF $(DEPDIR)/libos_a-HashIndex.Tpo -c -o libos_a-HashIndex.obj `if test -f 'os/HashIndex.cc'; then $(CYGPATH_W) 'os/HashIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/HashIndex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-HashIndex.Tpo $(DEPDIR)/libos_a-HashIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/HashIndex.cc' object='libos_a-HashIndex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-HashIndex.obj `if test -f 'os/HashIndex.cc'; then $(CYGPATH_W) 'os/HashIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/HashIndex.cc'; fi`
-
-libos_a-IndexManager.o: os/IndexManager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-IndexManager.o -MD -MP -MF $(DEPDIR)/libos_a-IndexManager.Tpo -c -o libos_a-IndexManager.o `test -f 'os/IndexManager.cc' || echo '$(srcdir)/'`os/IndexManager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-IndexManager.Tpo $(DEPDIR)/libos_a-IndexManager.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/IndexManager.cc' object='libos_a-IndexManager.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-IndexManager.o `test -f 'os/IndexManager.cc' || echo '$(srcdir)/'`os/IndexManager.cc
-
-libos_a-IndexManager.obj: os/IndexManager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-IndexManager.obj -MD -MP -MF $(DEPDIR)/libos_a-IndexManager.Tpo -c -o libos_a-IndexManager.obj `if test -f 'os/IndexManager.cc'; then $(CYGPATH_W) 'os/IndexManager.cc'; else $(CYGPATH_W) '$(srcdir)/os/IndexManager.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-IndexManager.Tpo $(DEPDIR)/libos_a-IndexManager.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/IndexManager.cc' object='libos_a-IndexManager.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-IndexManager.obj `if test -f 'os/IndexManager.cc'; then $(CYGPATH_W) 'os/IndexManager.cc'; else $(CYGPATH_W) '$(srcdir)/os/IndexManager.cc'; fi`
-
-libos_a-FlatIndex.o: os/FlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FlatIndex.o -MD -MP -MF $(DEPDIR)/libos_a-FlatIndex.Tpo -c -o libos_a-FlatIndex.o `test -f 'os/FlatIndex.cc' || echo '$(srcdir)/'`os/FlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FlatIndex.Tpo $(DEPDIR)/libos_a-FlatIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FlatIndex.cc' object='libos_a-FlatIndex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FlatIndex.o `test -f 'os/FlatIndex.cc' || echo '$(srcdir)/'`os/FlatIndex.cc
-
-libos_a-FlatIndex.obj: os/FlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-FlatIndex.obj -MD -MP -MF $(DEPDIR)/libos_a-FlatIndex.Tpo -c -o libos_a-FlatIndex.obj `if test -f 'os/FlatIndex.cc'; then $(CYGPATH_W) 'os/FlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/FlatIndex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-FlatIndex.Tpo $(DEPDIR)/libos_a-FlatIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/FlatIndex.cc' object='libos_a-FlatIndex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-FlatIndex.obj `if test -f 'os/FlatIndex.cc'; then $(CYGPATH_W) 'os/FlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/os/FlatIndex.cc'; fi`
-
-libos_a-DBObjectMap.o: os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-DBObjectMap.o -MD -MP -MF $(DEPDIR)/libos_a-DBObjectMap.Tpo -c -o libos_a-DBObjectMap.o `test -f 'os/DBObjectMap.cc' || echo '$(srcdir)/'`os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-DBObjectMap.Tpo $(DEPDIR)/libos_a-DBObjectMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/DBObjectMap.cc' object='libos_a-DBObjectMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-DBObjectMap.o `test -f 'os/DBObjectMap.cc' || echo '$(srcdir)/'`os/DBObjectMap.cc
-
-libos_a-DBObjectMap.obj: os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-DBObjectMap.obj -MD -MP -MF $(DEPDIR)/libos_a-DBObjectMap.Tpo -c -o libos_a-DBObjectMap.obj `if test -f 'os/DBObjectMap.cc'; then $(CYGPATH_W) 'os/DBObjectMap.cc'; else $(CYGPATH_W) '$(srcdir)/os/DBObjectMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-DBObjectMap.Tpo $(DEPDIR)/libos_a-DBObjectMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/DBObjectMap.cc' object='libos_a-DBObjectMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-DBObjectMap.obj `if test -f 'os/DBObjectMap.cc'; then $(CYGPATH_W) 'os/DBObjectMap.cc'; else $(CYGPATH_W) '$(srcdir)/os/DBObjectMap.cc'; fi`
-
-libos_a-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-LevelDBStore.o -MD -MP -MF $(DEPDIR)/libos_a-LevelDBStore.Tpo -c -o libos_a-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-LevelDBStore.Tpo $(DEPDIR)/libos_a-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='libos_a-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-libos_a-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/libos_a-LevelDBStore.Tpo -c -o libos_a-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-LevelDBStore.Tpo $(DEPDIR)/libos_a-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='libos_a-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-libos_a-WBThrottle.o: os/WBThrottle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-WBThrottle.o -MD -MP -MF $(DEPDIR)/libos_a-WBThrottle.Tpo -c -o libos_a-WBThrottle.o `test -f 'os/WBThrottle.cc' || echo '$(srcdir)/'`os/WBThrottle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-WBThrottle.Tpo $(DEPDIR)/libos_a-WBThrottle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/WBThrottle.cc' object='libos_a-WBThrottle.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-WBThrottle.o `test -f 'os/WBThrottle.cc' || echo '$(srcdir)/'`os/WBThrottle.cc
-
-libos_a-WBThrottle.obj: os/WBThrottle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -MT libos_a-WBThrottle.obj -MD -MP -MF $(DEPDIR)/libos_a-WBThrottle.Tpo -c -o libos_a-WBThrottle.obj `if test -f 'os/WBThrottle.cc'; then $(CYGPATH_W) 'os/WBThrottle.cc'; else $(CYGPATH_W) '$(srcdir)/os/WBThrottle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libos_a-WBThrottle.Tpo $(DEPDIR)/libos_a-WBThrottle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/WBThrottle.cc' object='libos_a-WBThrottle.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_a_CXXFLAGS) $(CXXFLAGS) -c -o libos_a-WBThrottle.obj `if test -f 'os/WBThrottle.cc'; then $(CYGPATH_W) 'os/WBThrottle.cc'; else $(CYGPATH_W) '$(srcdir)/os/WBThrottle.cc'; fi`
-
-libosd_a-PG.o: osd/PG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-PG.o -MD -MP -MF $(DEPDIR)/libosd_a-PG.Tpo -c -o libosd_a-PG.o `test -f 'osd/PG.cc' || echo '$(srcdir)/'`osd/PG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-PG.Tpo $(DEPDIR)/libosd_a-PG.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/PG.cc' object='libosd_a-PG.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-PG.o `test -f 'osd/PG.cc' || echo '$(srcdir)/'`osd/PG.cc
-
-libosd_a-PG.obj: osd/PG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-PG.obj -MD -MP -MF $(DEPDIR)/libosd_a-PG.Tpo -c -o libosd_a-PG.obj `if test -f 'osd/PG.cc'; then $(CYGPATH_W) 'osd/PG.cc'; else $(CYGPATH_W) '$(srcdir)/osd/PG.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-PG.Tpo $(DEPDIR)/libosd_a-PG.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/PG.cc' object='libosd_a-PG.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-PG.obj `if test -f 'osd/PG.cc'; then $(CYGPATH_W) 'osd/PG.cc'; else $(CYGPATH_W) '$(srcdir)/osd/PG.cc'; fi`
-
-libosd_a-PGLog.o: osd/PGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-PGLog.o -MD -MP -MF $(DEPDIR)/libosd_a-PGLog.Tpo -c -o libosd_a-PGLog.o `test -f 'osd/PGLog.cc' || echo '$(srcdir)/'`osd/PGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-PGLog.Tpo $(DEPDIR)/libosd_a-PGLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/PGLog.cc' object='libosd_a-PGLog.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-PGLog.o `test -f 'osd/PGLog.cc' || echo '$(srcdir)/'`osd/PGLog.cc
-
-libosd_a-PGLog.obj: osd/PGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-PGLog.obj -MD -MP -MF $(DEPDIR)/libosd_a-PGLog.Tpo -c -o libosd_a-PGLog.obj `if test -f 'osd/PGLog.cc'; then $(CYGPATH_W) 'osd/PGLog.cc'; else $(CYGPATH_W) '$(srcdir)/osd/PGLog.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-PGLog.Tpo $(DEPDIR)/libosd_a-PGLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/PGLog.cc' object='libosd_a-PGLog.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-PGLog.obj `if test -f 'osd/PGLog.cc'; then $(CYGPATH_W) 'osd/PGLog.cc'; else $(CYGPATH_W) '$(srcdir)/osd/PGLog.cc'; fi`
-
-libosd_a-ReplicatedPG.o: osd/ReplicatedPG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-ReplicatedPG.o -MD -MP -MF $(DEPDIR)/libosd_a-ReplicatedPG.Tpo -c -o libosd_a-ReplicatedPG.o `test -f 'osd/ReplicatedPG.cc' || echo '$(srcdir)/'`osd/ReplicatedPG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-ReplicatedPG.Tpo $(DEPDIR)/libosd_a-ReplicatedPG.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ReplicatedPG.cc' object='libosd_a-ReplicatedPG.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-ReplicatedPG.o `test -f 'osd/ReplicatedPG.cc' || echo '$(srcdir)/'`osd/ReplicatedPG.cc
-
-libosd_a-ReplicatedPG.obj: osd/ReplicatedPG.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-ReplicatedPG.obj -MD -MP -MF $(DEPDIR)/libosd_a-ReplicatedPG.Tpo -c -o libosd_a-ReplicatedPG.obj `if test -f 'osd/ReplicatedPG.cc'; then $(CYGPATH_W) 'osd/ReplicatedPG.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ReplicatedPG.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-ReplicatedPG.Tpo $(DEPDIR)/libosd_a-ReplicatedPG.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ReplicatedPG.cc' object='libosd_a-ReplicatedPG.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-ReplicatedPG.obj `if test -f 'osd/ReplicatedPG.cc'; then $(CYGPATH_W) 'osd/ReplicatedPG.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ReplicatedPG.cc'; fi`
-
-libosd_a-Ager.o: osd/Ager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-Ager.o -MD -MP -MF $(DEPDIR)/libosd_a-Ager.Tpo -c -o libosd_a-Ager.o `test -f 'osd/Ager.cc' || echo '$(srcdir)/'`osd/Ager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-Ager.Tpo $(DEPDIR)/libosd_a-Ager.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/Ager.cc' object='libosd_a-Ager.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-Ager.o `test -f 'osd/Ager.cc' || echo '$(srcdir)/'`osd/Ager.cc
-
-libosd_a-Ager.obj: osd/Ager.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-Ager.obj -MD -MP -MF $(DEPDIR)/libosd_a-Ager.Tpo -c -o libosd_a-Ager.obj `if test -f 'osd/Ager.cc'; then $(CYGPATH_W) 'osd/Ager.cc'; else $(CYGPATH_W) '$(srcdir)/osd/Ager.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-Ager.Tpo $(DEPDIR)/libosd_a-Ager.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/Ager.cc' object='libosd_a-Ager.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-Ager.obj `if test -f 'osd/Ager.cc'; then $(CYGPATH_W) 'osd/Ager.cc'; else $(CYGPATH_W) '$(srcdir)/osd/Ager.cc'; fi`
-
-libosd_a-OSD.o: osd/OSD.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OSD.o -MD -MP -MF $(DEPDIR)/libosd_a-OSD.Tpo -c -o libosd_a-OSD.o `test -f 'osd/OSD.cc' || echo '$(srcdir)/'`osd/OSD.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OSD.Tpo $(DEPDIR)/libosd_a-OSD.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSD.cc' object='libosd_a-OSD.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OSD.o `test -f 'osd/OSD.cc' || echo '$(srcdir)/'`osd/OSD.cc
-
-libosd_a-OSD.obj: osd/OSD.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OSD.obj -MD -MP -MF $(DEPDIR)/libosd_a-OSD.Tpo -c -o libosd_a-OSD.obj `if test -f 'osd/OSD.cc'; then $(CYGPATH_W) 'osd/OSD.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSD.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OSD.Tpo $(DEPDIR)/libosd_a-OSD.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSD.cc' object='libosd_a-OSD.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OSD.obj `if test -f 'osd/OSD.cc'; then $(CYGPATH_W) 'osd/OSD.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSD.cc'; fi`
-
-libosd_a-OSDCap.o: osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OSDCap.o -MD -MP -MF $(DEPDIR)/libosd_a-OSDCap.Tpo -c -o libosd_a-OSDCap.o `test -f 'osd/OSDCap.cc' || echo '$(srcdir)/'`osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OSDCap.Tpo $(DEPDIR)/libosd_a-OSDCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDCap.cc' object='libosd_a-OSDCap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OSDCap.o `test -f 'osd/OSDCap.cc' || echo '$(srcdir)/'`osd/OSDCap.cc
-
-libosd_a-OSDCap.obj: osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OSDCap.obj -MD -MP -MF $(DEPDIR)/libosd_a-OSDCap.Tpo -c -o libosd_a-OSDCap.obj `if test -f 'osd/OSDCap.cc'; then $(CYGPATH_W) 'osd/OSDCap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OSDCap.Tpo $(DEPDIR)/libosd_a-OSDCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDCap.cc' object='libosd_a-OSDCap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OSDCap.obj `if test -f 'osd/OSDCap.cc'; then $(CYGPATH_W) 'osd/OSDCap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDCap.cc'; fi`
-
-libosd_a-Watch.o: osd/Watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-Watch.o -MD -MP -MF $(DEPDIR)/libosd_a-Watch.Tpo -c -o libosd_a-Watch.o `test -f 'osd/Watch.cc' || echo '$(srcdir)/'`osd/Watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-Watch.Tpo $(DEPDIR)/libosd_a-Watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/Watch.cc' object='libosd_a-Watch.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-Watch.o `test -f 'osd/Watch.cc' || echo '$(srcdir)/'`osd/Watch.cc
-
-libosd_a-Watch.obj: osd/Watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-Watch.obj -MD -MP -MF $(DEPDIR)/libosd_a-Watch.Tpo -c -o libosd_a-Watch.obj `if test -f 'osd/Watch.cc'; then $(CYGPATH_W) 'osd/Watch.cc'; else $(CYGPATH_W) '$(srcdir)/osd/Watch.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-Watch.Tpo $(DEPDIR)/libosd_a-Watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/Watch.cc' object='libosd_a-Watch.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-Watch.obj `if test -f 'osd/Watch.cc'; then $(CYGPATH_W) 'osd/Watch.cc'; else $(CYGPATH_W) '$(srcdir)/osd/Watch.cc'; fi`
-
-libosd_a-ClassHandler.o: osd/ClassHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-ClassHandler.o -MD -MP -MF $(DEPDIR)/libosd_a-ClassHandler.Tpo -c -o libosd_a-ClassHandler.o `test -f 'osd/ClassHandler.cc' || echo '$(srcdir)/'`osd/ClassHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-ClassHandler.Tpo $(DEPDIR)/libosd_a-ClassHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ClassHandler.cc' object='libosd_a-ClassHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-ClassHandler.o `test -f 'osd/ClassHandler.cc' || echo '$(srcdir)/'`osd/ClassHandler.cc
-
-libosd_a-ClassHandler.obj: osd/ClassHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-ClassHandler.obj -MD -MP -MF $(DEPDIR)/libosd_a-ClassHandler.Tpo -c -o libosd_a-ClassHandler.obj `if test -f 'osd/ClassHandler.cc'; then $(CYGPATH_W) 'osd/ClassHandler.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ClassHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-ClassHandler.Tpo $(DEPDIR)/libosd_a-ClassHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ClassHandler.cc' object='libosd_a-ClassHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-ClassHandler.obj `if test -f 'osd/ClassHandler.cc'; then $(CYGPATH_W) 'osd/ClassHandler.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ClassHandler.cc'; fi`
-
-libosd_a-OpRequest.o: osd/OpRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OpRequest.o -MD -MP -MF $(DEPDIR)/libosd_a-OpRequest.Tpo -c -o libosd_a-OpRequest.o `test -f 'osd/OpRequest.cc' || echo '$(srcdir)/'`osd/OpRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OpRequest.Tpo $(DEPDIR)/libosd_a-OpRequest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OpRequest.cc' object='libosd_a-OpRequest.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OpRequest.o `test -f 'osd/OpRequest.cc' || echo '$(srcdir)/'`osd/OpRequest.cc
-
-libosd_a-OpRequest.obj: osd/OpRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-OpRequest.obj -MD -MP -MF $(DEPDIR)/libosd_a-OpRequest.Tpo -c -o libosd_a-OpRequest.obj `if test -f 'osd/OpRequest.cc'; then $(CYGPATH_W) 'osd/OpRequest.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OpRequest.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-OpRequest.Tpo $(DEPDIR)/libosd_a-OpRequest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OpRequest.cc' object='libosd_a-OpRequest.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-OpRequest.obj `if test -f 'osd/OpRequest.cc'; then $(CYGPATH_W) 'osd/OpRequest.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OpRequest.cc'; fi`
-
-libosd_a-SnapMapper.o: osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-SnapMapper.o -MD -MP -MF $(DEPDIR)/libosd_a-SnapMapper.Tpo -c -o libosd_a-SnapMapper.o `test -f 'osd/SnapMapper.cc' || echo '$(srcdir)/'`osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-SnapMapper.Tpo $(DEPDIR)/libosd_a-SnapMapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/SnapMapper.cc' object='libosd_a-SnapMapper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-SnapMapper.o `test -f 'osd/SnapMapper.cc' || echo '$(srcdir)/'`osd/SnapMapper.cc
-
-libosd_a-SnapMapper.obj: osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -MT libosd_a-SnapMapper.obj -MD -MP -MF $(DEPDIR)/libosd_a-SnapMapper.Tpo -c -o libosd_a-SnapMapper.obj `if test -f 'osd/SnapMapper.cc'; then $(CYGPATH_W) 'osd/SnapMapper.cc'; else $(CYGPATH_W) '$(srcdir)/osd/SnapMapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosd_a-SnapMapper.Tpo $(DEPDIR)/libosd_a-SnapMapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/SnapMapper.cc' object='libosd_a-SnapMapper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosd_a_CXXFLAGS) $(CXXFLAGS) -c -o libosd_a-SnapMapper.obj `if test -f 'osd/SnapMapper.cc'; then $(CYGPATH_W) 'osd/SnapMapper.cc'; else $(CYGPATH_W) '$(srcdir)/osd/SnapMapper.cc'; fi`
-
-librgw_a-librgw.o: rgw/librgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-librgw.o -MD -MP -MF $(DEPDIR)/librgw_a-librgw.Tpo -c -o librgw_a-librgw.o `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-librgw.Tpo $(DEPDIR)/librgw_a-librgw.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/librgw.cc' object='librgw_a-librgw.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-librgw.o `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
-
-librgw_a-librgw.obj: rgw/librgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-librgw.obj -MD -MP -MF $(DEPDIR)/librgw_a-librgw.Tpo -c -o librgw_a-librgw.obj `if test -f 'rgw/librgw.cc'; then $(CYGPATH_W) 'rgw/librgw.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/librgw.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-librgw.Tpo $(DEPDIR)/librgw_a-librgw.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/librgw.cc' object='librgw_a-librgw.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-librgw.obj `if test -f 'rgw/librgw.cc'; then $(CYGPATH_W) 'rgw/librgw.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/librgw.cc'; fi`
-
-librgw_a-rgw_acl.o: rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl.Tpo -c -o librgw_a-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl.Tpo $(DEPDIR)/librgw_a-rgw_acl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='librgw_a-rgw_acl.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
-
-librgw_a-rgw_acl.obj: rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl.Tpo -c -o librgw_a-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl.Tpo $(DEPDIR)/librgw_a-rgw_acl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='librgw_a-rgw_acl.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
-
-librgw_a-rgw_acl_s3.o: rgw/rgw_acl_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl_s3.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl_s3.Tpo -c -o librgw_a-rgw_acl_s3.o `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl_s3.Tpo $(DEPDIR)/librgw_a-rgw_acl_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_s3.cc' object='librgw_a-rgw_acl_s3.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl_s3.o `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
-
-librgw_a-rgw_acl_s3.obj: rgw/rgw_acl_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl_s3.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl_s3.Tpo -c -o librgw_a-rgw_acl_s3.obj `if test -f 'rgw/rgw_acl_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_s3.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl_s3.Tpo $(DEPDIR)/librgw_a-rgw_acl_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_s3.cc' object='librgw_a-rgw_acl_s3.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl_s3.obj `if test -f 'rgw/rgw_acl_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_s3.cc'; fi`
-
-librgw_a-rgw_acl_swift.o: rgw/rgw_acl_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl_swift.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl_swift.Tpo -c -o librgw_a-rgw_acl_swift.o `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl_swift.Tpo $(DEPDIR)/librgw_a-rgw_acl_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_swift.cc' object='librgw_a-rgw_acl_swift.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl_swift.o `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
-
-librgw_a-rgw_acl_swift.obj: rgw/rgw_acl_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_acl_swift.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_acl_swift.Tpo -c -o librgw_a-rgw_acl_swift.obj `if test -f 'rgw/rgw_acl_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_swift.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_acl_swift.Tpo $(DEPDIR)/librgw_a-rgw_acl_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_swift.cc' object='librgw_a-rgw_acl_swift.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_acl_swift.obj `if test -f 'rgw/rgw_acl_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_swift.cc'; fi`
-
-librgw_a-rgw_client_io.o: rgw/rgw_client_io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_client_io.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_client_io.Tpo -c -o librgw_a-rgw_client_io.o `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_client_io.Tpo $(DEPDIR)/librgw_a-rgw_client_io.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_client_io.cc' object='librgw_a-rgw_client_io.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_client_io.o `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
-
-librgw_a-rgw_client_io.obj: rgw/rgw_client_io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_client_io.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_client_io.Tpo -c -o librgw_a-rgw_client_io.obj `if test -f 'rgw/rgw_client_io.cc'; then $(CYGPATH_W) 'rgw/rgw_client_io.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_client_io.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_client_io.Tpo $(DEPDIR)/librgw_a-rgw_client_io.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_client_io.cc' object='librgw_a-rgw_client_io.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_client_io.obj `if test -f 'rgw/rgw_client_io.cc'; then $(CYGPATH_W) 'rgw/rgw_client_io.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_client_io.cc'; fi`
-
-librgw_a-rgw_fcgi.o: rgw/rgw_fcgi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_fcgi.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_fcgi.Tpo -c -o librgw_a-rgw_fcgi.o `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_fcgi.Tpo $(DEPDIR)/librgw_a-rgw_fcgi.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_fcgi.cc' object='librgw_a-rgw_fcgi.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_fcgi.o `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
-
-librgw_a-rgw_fcgi.obj: rgw/rgw_fcgi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_fcgi.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_fcgi.Tpo -c -o librgw_a-rgw_fcgi.obj `if test -f 'rgw/rgw_fcgi.cc'; then $(CYGPATH_W) 'rgw/rgw_fcgi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_fcgi.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_fcgi.Tpo $(DEPDIR)/librgw_a-rgw_fcgi.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_fcgi.cc' object='librgw_a-rgw_fcgi.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_fcgi.obj `if test -f 'rgw/rgw_fcgi.cc'; then $(CYGPATH_W) 'rgw/rgw_fcgi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_fcgi.cc'; fi`
-
-librgw_a-rgw_xml.o: rgw/rgw_xml.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_xml.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_xml.Tpo -c -o librgw_a-rgw_xml.o `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_xml.Tpo $(DEPDIR)/librgw_a-rgw_xml.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_xml.cc' object='librgw_a-rgw_xml.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_xml.o `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
-
-librgw_a-rgw_xml.obj: rgw/rgw_xml.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_xml.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_xml.Tpo -c -o librgw_a-rgw_xml.obj `if test -f 'rgw/rgw_xml.cc'; then $(CYGPATH_W) 'rgw/rgw_xml.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_xml.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_xml.Tpo $(DEPDIR)/librgw_a-rgw_xml.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_xml.cc' object='librgw_a-rgw_xml.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_xml.obj `if test -f 'rgw/rgw_xml.cc'; then $(CYGPATH_W) 'rgw/rgw_xml.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_xml.cc'; fi`
-
-librgw_a-rgw_usage.o: rgw/rgw_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_usage.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_usage.Tpo -c -o librgw_a-rgw_usage.o `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_usage.Tpo $(DEPDIR)/librgw_a-rgw_usage.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_usage.cc' object='librgw_a-rgw_usage.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_usage.o `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
-
-librgw_a-rgw_usage.obj: rgw/rgw_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_usage.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_usage.Tpo -c -o librgw_a-rgw_usage.obj `if test -f 'rgw/rgw_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_usage.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_usage.Tpo $(DEPDIR)/librgw_a-rgw_usage.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_usage.cc' object='librgw_a-rgw_usage.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_usage.obj `if test -f 'rgw/rgw_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_usage.cc'; fi`
-
-librgw_a-rgw_json_enc.o: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_json_enc.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_json_enc.Tpo -c -o librgw_a-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_json_enc.Tpo $(DEPDIR)/librgw_a-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='librgw_a-rgw_json_enc.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
-
-librgw_a-rgw_json_enc.obj: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_json_enc.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_json_enc.Tpo -c -o librgw_a-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_json_enc.Tpo $(DEPDIR)/librgw_a-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='librgw_a-rgw_json_enc.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
-
-librgw_a-rgw_user.o: rgw/rgw_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_user.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_user.Tpo -c -o librgw_a-rgw_user.o `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_user.Tpo $(DEPDIR)/librgw_a-rgw_user.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_user.cc' object='librgw_a-rgw_user.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_user.o `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
-
-librgw_a-rgw_user.obj: rgw/rgw_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_user.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_user.Tpo -c -o librgw_a-rgw_user.obj `if test -f 'rgw/rgw_user.cc'; then $(CYGPATH_W) 'rgw/rgw_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_user.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_user.Tpo $(DEPDIR)/librgw_a-rgw_user.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_user.cc' object='librgw_a-rgw_user.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_user.obj `if test -f 'rgw/rgw_user.cc'; then $(CYGPATH_W) 'rgw/rgw_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_user.cc'; fi`
-
-librgw_a-rgw_bucket.o: rgw/rgw_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_bucket.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_bucket.Tpo -c -o librgw_a-rgw_bucket.o `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_bucket.Tpo $(DEPDIR)/librgw_a-rgw_bucket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_bucket.cc' object='librgw_a-rgw_bucket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_bucket.o `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
-
-librgw_a-rgw_bucket.obj: rgw/rgw_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_bucket.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_bucket.Tpo -c -o librgw_a-rgw_bucket.obj `if test -f 'rgw/rgw_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_bucket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_bucket.Tpo $(DEPDIR)/librgw_a-rgw_bucket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_bucket.cc' object='librgw_a-rgw_bucket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_bucket.obj `if test -f 'rgw/rgw_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_bucket.cc'; fi`
-
-librgw_a-rgw_tools.o: rgw/rgw_tools.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_tools.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_tools.Tpo -c -o librgw_a-rgw_tools.o `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_tools.Tpo $(DEPDIR)/librgw_a-rgw_tools.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_tools.cc' object='librgw_a-rgw_tools.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_tools.o `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
-
-librgw_a-rgw_tools.obj: rgw/rgw_tools.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_tools.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_tools.Tpo -c -o librgw_a-rgw_tools.obj `if test -f 'rgw/rgw_tools.cc'; then $(CYGPATH_W) 'rgw/rgw_tools.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_tools.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_tools.Tpo $(DEPDIR)/librgw_a-rgw_tools.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_tools.cc' object='librgw_a-rgw_tools.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_tools.obj `if test -f 'rgw/rgw_tools.cc'; then $(CYGPATH_W) 'rgw/rgw_tools.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_tools.cc'; fi`
-
-librgw_a-rgw_rados.o: rgw/rgw_rados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rados.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rados.Tpo -c -o librgw_a-rgw_rados.o `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rados.Tpo $(DEPDIR)/librgw_a-rgw_rados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rados.cc' object='librgw_a-rgw_rados.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rados.o `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
-
-librgw_a-rgw_rados.obj: rgw/rgw_rados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rados.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rados.Tpo -c -o librgw_a-rgw_rados.obj `if test -f 'rgw/rgw_rados.cc'; then $(CYGPATH_W) 'rgw/rgw_rados.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rados.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rados.Tpo $(DEPDIR)/librgw_a-rgw_rados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rados.cc' object='librgw_a-rgw_rados.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rados.obj `if test -f 'rgw/rgw_rados.cc'; then $(CYGPATH_W) 'rgw/rgw_rados.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rados.cc'; fi`
-
-librgw_a-rgw_http_client.o: rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_http_client.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_http_client.Tpo -c -o librgw_a-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_http_client.Tpo $(DEPDIR)/librgw_a-rgw_http_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='librgw_a-rgw_http_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
-
-librgw_a-rgw_http_client.obj: rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_http_client.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_http_client.Tpo -c -o librgw_a-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_http_client.Tpo $(DEPDIR)/librgw_a-rgw_http_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='librgw_a-rgw_http_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
-
-librgw_a-rgw_rest_client.o: rgw/rgw_rest_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rest_client.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rest_client.Tpo -c -o librgw_a-rgw_rest_client.o `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rest_client.Tpo $(DEPDIR)/librgw_a-rgw_rest_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_client.cc' object='librgw_a-rgw_rest_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rest_client.o `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
-
-librgw_a-rgw_rest_client.obj: rgw/rgw_rest_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rest_client.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rest_client.Tpo -c -o librgw_a-rgw_rest_client.obj `if test -f 'rgw/rgw_rest_client.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rest_client.Tpo $(DEPDIR)/librgw_a-rgw_rest_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_client.cc' object='librgw_a-rgw_rest_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rest_client.obj `if test -f 'rgw/rgw_rest_client.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_client.cc'; fi`
-
-librgw_a-rgw_rest_conn.o: rgw/rgw_rest_conn.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rest_conn.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rest_conn.Tpo -c -o librgw_a-rgw_rest_conn.o `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rest_conn.Tpo $(DEPDIR)/librgw_a-rgw_rest_conn.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_conn.cc' object='librgw_a-rgw_rest_conn.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rest_conn.o `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
-
-librgw_a-rgw_rest_conn.obj: rgw/rgw_rest_conn.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_rest_conn.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_rest_conn.Tpo -c -o librgw_a-rgw_rest_conn.obj `if test -f 'rgw/rgw_rest_conn.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_conn.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_conn.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_rest_conn.Tpo $(DEPDIR)/librgw_a-rgw_rest_conn.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_conn.cc' object='librgw_a-rgw_rest_conn.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_rest_conn.obj `if test -f 'rgw/rgw_rest_conn.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_conn.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_conn.cc'; fi`
-
-librgw_a-rgw_op.o: rgw/rgw_op.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_op.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_op.Tpo -c -o librgw_a-rgw_op.o `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_op.Tpo $(DEPDIR)/librgw_a-rgw_op.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_op.cc' object='librgw_a-rgw_op.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_op.o `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
-
-librgw_a-rgw_op.obj: rgw/rgw_op.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_op.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_op.Tpo -c -o librgw_a-rgw_op.obj `if test -f 'rgw/rgw_op.cc'; then $(CYGPATH_W) 'rgw/rgw_op.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_op.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_op.Tpo $(DEPDIR)/librgw_a-rgw_op.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_op.cc' object='librgw_a-rgw_op.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_op.obj `if test -f 'rgw/rgw_op.cc'; then $(CYGPATH_W) 'rgw/rgw_op.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_op.cc'; fi`
-
-librgw_a-rgw_common.o: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_common.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_common.Tpo -c -o librgw_a-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_common.Tpo $(DEPDIR)/librgw_a-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='librgw_a-rgw_common.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
-
-librgw_a-rgw_common.obj: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_common.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_common.Tpo -c -o librgw_a-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_common.Tpo $(DEPDIR)/librgw_a-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='librgw_a-rgw_common.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
-
-librgw_a-rgw_cache.o: rgw/rgw_cache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cache.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cache.Tpo -c -o librgw_a-rgw_cache.o `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cache.Tpo $(DEPDIR)/librgw_a-rgw_cache.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cache.cc' object='librgw_a-rgw_cache.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cache.o `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
-
-librgw_a-rgw_cache.obj: rgw/rgw_cache.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cache.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cache.Tpo -c -o librgw_a-rgw_cache.obj `if test -f 'rgw/rgw_cache.cc'; then $(CYGPATH_W) 'rgw/rgw_cache.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cache.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cache.Tpo $(DEPDIR)/librgw_a-rgw_cache.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cache.cc' object='librgw_a-rgw_cache.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cache.obj `if test -f 'rgw/rgw_cache.cc'; then $(CYGPATH_W) 'rgw/rgw_cache.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cache.cc'; fi`
-
-librgw_a-rgw_formats.o: rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_formats.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_formats.Tpo -c -o librgw_a-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_formats.Tpo $(DEPDIR)/librgw_a-rgw_formats.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='librgw_a-rgw_formats.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
-
-librgw_a-rgw_formats.obj: rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_formats.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_formats.Tpo -c -o librgw_a-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_formats.Tpo $(DEPDIR)/librgw_a-rgw_formats.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='librgw_a-rgw_formats.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
-
-librgw_a-rgw_log.o: rgw/rgw_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_log.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_log.Tpo -c -o librgw_a-rgw_log.o `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_log.Tpo $(DEPDIR)/librgw_a-rgw_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_log.cc' object='librgw_a-rgw_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_log.o `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
-
-librgw_a-rgw_log.obj: rgw/rgw_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_log.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_log.Tpo -c -o librgw_a-rgw_log.obj `if test -f 'rgw/rgw_log.cc'; then $(CYGPATH_W) 'rgw/rgw_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_log.Tpo $(DEPDIR)/librgw_a-rgw_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_log.cc' object='librgw_a-rgw_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_log.obj `if test -f 'rgw/rgw_log.cc'; then $(CYGPATH_W) 'rgw/rgw_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_log.cc'; fi`
-
-librgw_a-rgw_multi.o: rgw/rgw_multi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_multi.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_multi.Tpo -c -o librgw_a-rgw_multi.o `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_multi.Tpo $(DEPDIR)/librgw_a-rgw_multi.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi.cc' object='librgw_a-rgw_multi.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_multi.o `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
-
-librgw_a-rgw_multi.obj: rgw/rgw_multi.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_multi.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_multi.Tpo -c -o librgw_a-rgw_multi.obj `if test -f 'rgw/rgw_multi.cc'; then $(CYGPATH_W) 'rgw/rgw_multi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_multi.Tpo $(DEPDIR)/librgw_a-rgw_multi.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi.cc' object='librgw_a-rgw_multi.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_multi.obj `if test -f 'rgw/rgw_multi.cc'; then $(CYGPATH_W) 'rgw/rgw_multi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi.cc'; fi`
-
-librgw_a-rgw_policy_s3.o: rgw/rgw_policy_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_policy_s3.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_policy_s3.Tpo -c -o librgw_a-rgw_policy_s3.o `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_policy_s3.Tpo $(DEPDIR)/librgw_a-rgw_policy_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_policy_s3.cc' object='librgw_a-rgw_policy_s3.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_policy_s3.o `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
-
-librgw_a-rgw_policy_s3.obj: rgw/rgw_policy_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_policy_s3.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_policy_s3.Tpo -c -o librgw_a-rgw_policy_s3.obj `if test -f 'rgw/rgw_policy_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_policy_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_policy_s3.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_policy_s3.Tpo $(DEPDIR)/librgw_a-rgw_policy_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_policy_s3.cc' object='librgw_a-rgw_policy_s3.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_policy_s3.obj `if test -f 'rgw/rgw_policy_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_policy_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_policy_s3.cc'; fi`
-
-librgw_a-rgw_gc.o: rgw/rgw_gc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_gc.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_gc.Tpo -c -o librgw_a-rgw_gc.o `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_gc.Tpo $(DEPDIR)/librgw_a-rgw_gc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_gc.cc' object='librgw_a-rgw_gc.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_gc.o `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
-
-librgw_a-rgw_gc.obj: rgw/rgw_gc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_gc.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_gc.Tpo -c -o librgw_a-rgw_gc.obj `if test -f 'rgw/rgw_gc.cc'; then $(CYGPATH_W) 'rgw/rgw_gc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_gc.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_gc.Tpo $(DEPDIR)/librgw_a-rgw_gc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_gc.cc' object='librgw_a-rgw_gc.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_gc.obj `if test -f 'rgw/rgw_gc.cc'; then $(CYGPATH_W) 'rgw/rgw_gc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_gc.cc'; fi`
-
-librgw_a-rgw_multi_del.o: rgw/rgw_multi_del.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_multi_del.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_multi_del.Tpo -c -o librgw_a-rgw_multi_del.o `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_multi_del.Tpo $(DEPDIR)/librgw_a-rgw_multi_del.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi_del.cc' object='librgw_a-rgw_multi_del.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_multi_del.o `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
-
-librgw_a-rgw_multi_del.obj: rgw/rgw_multi_del.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_multi_del.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_multi_del.Tpo -c -o librgw_a-rgw_multi_del.obj `if test -f 'rgw/rgw_multi_del.cc'; then $(CYGPATH_W) 'rgw/rgw_multi_del.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi_del.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_multi_del.Tpo $(DEPDIR)/librgw_a-rgw_multi_del.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi_del.cc' object='librgw_a-rgw_multi_del.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_multi_del.obj `if test -f 'rgw/rgw_multi_del.cc'; then $(CYGPATH_W) 'rgw/rgw_multi_del.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi_del.cc'; fi`
-
-librgw_a-rgw_env.o: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_env.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_env.Tpo -c -o librgw_a-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_env.Tpo $(DEPDIR)/librgw_a-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='librgw_a-rgw_env.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
-
-librgw_a-rgw_env.obj: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_env.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_env.Tpo -c -o librgw_a-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_env.Tpo $(DEPDIR)/librgw_a-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='librgw_a-rgw_env.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
-
-librgw_a-rgw_cors.o: rgw/rgw_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cors.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cors.Tpo -c -o librgw_a-rgw_cors.o `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cors.Tpo $(DEPDIR)/librgw_a-rgw_cors.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors.cc' object='librgw_a-rgw_cors.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cors.o `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
-
-librgw_a-rgw_cors.obj: rgw/rgw_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cors.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cors.Tpo -c -o librgw_a-rgw_cors.obj `if test -f 'rgw/rgw_cors.cc'; then $(CYGPATH_W) 'rgw/rgw_cors.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cors.Tpo $(DEPDIR)/librgw_a-rgw_cors.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors.cc' object='librgw_a-rgw_cors.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cors.obj `if test -f 'rgw/rgw_cors.cc'; then $(CYGPATH_W) 'rgw/rgw_cors.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors.cc'; fi`
-
-librgw_a-rgw_cors_s3.o: rgw/rgw_cors_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cors_s3.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cors_s3.Tpo -c -o librgw_a-rgw_cors_s3.o `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cors_s3.Tpo $(DEPDIR)/librgw_a-rgw_cors_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors_s3.cc' object='librgw_a-rgw_cors_s3.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cors_s3.o `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
-
-librgw_a-rgw_cors_s3.obj: rgw/rgw_cors_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_cors_s3.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_cors_s3.Tpo -c -o librgw_a-rgw_cors_s3.obj `if test -f 'rgw/rgw_cors_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_cors_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors_s3.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_cors_s3.Tpo $(DEPDIR)/librgw_a-rgw_cors_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors_s3.cc' object='librgw_a-rgw_cors_s3.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_cors_s3.obj `if test -f 'rgw/rgw_cors_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_cors_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors_s3.cc'; fi`
-
-librgw_a-rgw_auth_s3.o: rgw/rgw_auth_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_auth_s3.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_auth_s3.Tpo -c -o librgw_a-rgw_auth_s3.o `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_auth_s3.Tpo $(DEPDIR)/librgw_a-rgw_auth_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_auth_s3.cc' object='librgw_a-rgw_auth_s3.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_auth_s3.o `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
-
-librgw_a-rgw_auth_s3.obj: rgw/rgw_auth_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_auth_s3.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_auth_s3.Tpo -c -o librgw_a-rgw_auth_s3.obj `if test -f 'rgw/rgw_auth_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_auth_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_auth_s3.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_auth_s3.Tpo $(DEPDIR)/librgw_a-rgw_auth_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_auth_s3.cc' object='librgw_a-rgw_auth_s3.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_auth_s3.obj `if test -f 'rgw/rgw_auth_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_auth_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_auth_s3.cc'; fi`
-
-librgw_a-rgw_metadata.o: rgw/rgw_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_metadata.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_metadata.Tpo -c -o librgw_a-rgw_metadata.o `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_metadata.Tpo $(DEPDIR)/librgw_a-rgw_metadata.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_metadata.cc' object='librgw_a-rgw_metadata.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_metadata.o `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
-
-librgw_a-rgw_metadata.obj: rgw/rgw_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_metadata.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_metadata.Tpo -c -o librgw_a-rgw_metadata.obj `if test -f 'rgw/rgw_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_metadata.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_metadata.Tpo $(DEPDIR)/librgw_a-rgw_metadata.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_metadata.cc' object='librgw_a-rgw_metadata.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_metadata.obj `if test -f 'rgw/rgw_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_metadata.cc'; fi`
-
-librgw_a-rgw_replica_log.o: rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_replica_log.o -MD -MP -MF $(DEPDIR)/librgw_a-rgw_replica_log.Tpo -c -o librgw_a-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_replica_log.Tpo $(DEPDIR)/librgw_a-rgw_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='librgw_a-rgw_replica_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
-
-librgw_a-rgw_replica_log.obj: rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -MT librgw_a-rgw_replica_log.obj -MD -MP -MF $(DEPDIR)/librgw_a-rgw_replica_log.Tpo -c -o librgw_a-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librgw_a-rgw_replica_log.Tpo $(DEPDIR)/librgw_a-rgw_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='librgw_a-rgw_replica_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_a_CXXFLAGS) $(CXXFLAGS) -c -o librgw_a-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
-
-libcephfs_la-libcephfs.lo: libcephfs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcephfs_la_CXXFLAGS) $(CXXFLAGS) -MT libcephfs_la-libcephfs.lo -MD -MP -MF $(DEPDIR)/libcephfs_la-libcephfs.Tpo -c -o libcephfs_la-libcephfs.lo `test -f 'libcephfs.cc' || echo '$(srcdir)/'`libcephfs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcephfs_la-libcephfs.Tpo $(DEPDIR)/libcephfs_la-libcephfs.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='libcephfs.cc' object='libcephfs_la-libcephfs.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcephfs_la_CXXFLAGS) $(CXXFLAGS) -c -o libcephfs_la-libcephfs.lo `test -f 'libcephfs.cc' || echo '$(srcdir)/'`libcephfs.cc
-
-libcephfs_jni_la-libcephfs_jni.lo: java/native/libcephfs_jni.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(libcephfs_jni_la_CXXFLAGS) $(CXXFLAGS) -MT libcephfs_jni_la-libcephfs_jni.lo -MD -MP -MF $(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Tpo -c -o libcephfs_jni_la-libcephfs_jni.lo `test -f 'java/native/libcephfs_jni.cc' || echo '$(srcdir)/'`java/native/libcephfs_jni.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Tpo $(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='java/native/libcephfs_jni.cc' object='libcephfs_jni_la-libcephfs_jni.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(libcephfs_jni_la_CXXFLAGS) $(CXXFLAGS) -c -o libcephfs_jni_la-libcephfs_jni.lo `test -f 'java/native/libcephfs_jni.cc' || echo '$(srcdir)/'`java/native/libcephfs_jni.cc
-
-libcephfs_jni_la-JniConstants.lo: java/native/JniConstants.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(libcephfs_jni_la_CXXFLAGS) $(CXXFLAGS) -MT libcephfs_jni_la-JniConstants.lo -MD -MP -MF $(DEPDIR)/libcephfs_jni_la-JniConstants.Tpo -c -o libcephfs_jni_la-JniConstants.lo `test -f 'java/native/JniConstants.cpp' || echo '$(srcdir)/'`java/native/JniConstants.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcephfs_jni_la-JniConstants.Tpo $(DEPDIR)/libcephfs_jni_la-JniConstants.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='java/native/JniConstants.cpp' object='libcephfs_jni_la-JniConstants.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(libcephfs_jni_la_CXXFLAGS) $(CXXFLAGS) -c -o libcephfs_jni_la-JniConstants.lo `test -f 'java/native/JniConstants.cpp' || echo '$(srcdir)/'`java/native/JniConstants.cpp
-
-Client.lo: client/Client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Client.lo -MD -MP -MF $(DEPDIR)/Client.Tpo -c -o Client.lo `test -f 'client/Client.cc' || echo '$(srcdir)/'`client/Client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Client.Tpo $(DEPDIR)/Client.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/Client.cc' object='Client.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Client.lo `test -f 'client/Client.cc' || echo '$(srcdir)/'`client/Client.cc
-
-Inode.lo: client/Inode.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Inode.lo -MD -MP -MF $(DEPDIR)/Inode.Tpo -c -o Inode.lo `test -f 'client/Inode.cc' || echo '$(srcdir)/'`client/Inode.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Inode.Tpo $(DEPDIR)/Inode.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/Inode.cc' object='Inode.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Inode.lo `test -f 'client/Inode.cc' || echo '$(srcdir)/'`client/Inode.cc
-
-Dentry.lo: client/Dentry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Dentry.lo -MD -MP -MF $(DEPDIR)/Dentry.Tpo -c -o Dentry.lo `test -f 'client/Dentry.cc' || echo '$(srcdir)/'`client/Dentry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Dentry.Tpo $(DEPDIR)/Dentry.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/Dentry.cc' object='Dentry.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Dentry.lo `test -f 'client/Dentry.cc' || echo '$(srcdir)/'`client/Dentry.cc
-
-MetaRequest.lo: client/MetaRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MetaRequest.lo -MD -MP -MF $(DEPDIR)/MetaRequest.Tpo -c -o MetaRequest.lo `test -f 'client/MetaRequest.cc' || echo '$(srcdir)/'`client/MetaRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MetaRequest.Tpo $(DEPDIR)/MetaRequest.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/MetaRequest.cc' object='MetaRequest.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MetaRequest.lo `test -f 'client/MetaRequest.cc' || echo '$(srcdir)/'`client/MetaRequest.cc
-
-ClientSnapRealm.lo: client/ClientSnapRealm.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ClientSnapRealm.lo -MD -MP -MF $(DEPDIR)/ClientSnapRealm.Tpo -c -o ClientSnapRealm.lo `test -f 'client/ClientSnapRealm.cc' || echo '$(srcdir)/'`client/ClientSnapRealm.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ClientSnapRealm.Tpo $(DEPDIR)/ClientSnapRealm.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/ClientSnapRealm.cc' object='ClientSnapRealm.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientSnapRealm.lo `test -f 'client/ClientSnapRealm.cc' || echo '$(srcdir)/'`client/ClientSnapRealm.cc
-
-MetaSession.lo: client/MetaSession.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MetaSession.lo -MD -MP -MF $(DEPDIR)/MetaSession.Tpo -c -o MetaSession.lo `test -f 'client/MetaSession.cc' || echo '$(srcdir)/'`client/MetaSession.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MetaSession.Tpo $(DEPDIR)/MetaSession.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/MetaSession.cc' object='MetaSession.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MetaSession.lo `test -f 'client/MetaSession.cc' || echo '$(srcdir)/'`client/MetaSession.cc
-
-Trace.lo: client/Trace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Trace.lo -MD -MP -MF $(DEPDIR)/Trace.Tpo -c -o Trace.lo `test -f 'client/Trace.cc' || echo '$(srcdir)/'`client/Trace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Trace.Tpo $(DEPDIR)/Trace.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/Trace.cc' object='Trace.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Trace.lo `test -f 'client/Trace.cc' || echo '$(srcdir)/'`client/Trace.cc
-
-libcls_kvs_la-cls_kvs.lo: key_value_store/cls_kvs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_kvs_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_kvs_la-cls_kvs.lo -MD -MP -MF $(DEPDIR)/libcls_kvs_la-cls_kvs.Tpo -c -o libcls_kvs_la-cls_kvs.lo `test -f 'key_value_store/cls_kvs.cc' || echo '$(srcdir)/'`key_value_store/cls_kvs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_kvs_la-cls_kvs.Tpo $(DEPDIR)/libcls_kvs_la-cls_kvs.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='key_value_store/cls_kvs.cc' object='libcls_kvs_la-cls_kvs.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_kvs_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_kvs_la-cls_kvs.lo `test -f 'key_value_store/cls_kvs.cc' || echo '$(srcdir)/'`key_value_store/cls_kvs.cc
-
-libcls_lock_la-cls_lock.lo: cls/lock/cls_lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_lock_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_lock_la-cls_lock.lo -MD -MP -MF $(DEPDIR)/libcls_lock_la-cls_lock.Tpo -c -o libcls_lock_la-cls_lock.lo `test -f 'cls/lock/cls_lock.cc' || echo '$(srcdir)/'`cls/lock/cls_lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_lock_la-cls_lock.Tpo $(DEPDIR)/libcls_lock_la-cls_lock.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock.cc' object='libcls_lock_la-cls_lock.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_lock_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_lock_la-cls_lock.lo `test -f 'cls/lock/cls_lock.cc' || echo '$(srcdir)/'`cls/lock/cls_lock.cc
-
-libcls_log_la-cls_log.lo: cls/log/cls_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_log_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_log_la-cls_log.lo -MD -MP -MF $(DEPDIR)/libcls_log_la-cls_log.Tpo -c -o libcls_log_la-cls_log.lo `test -f 'cls/log/cls_log.cc' || echo '$(srcdir)/'`cls/log/cls_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_log_la-cls_log.Tpo $(DEPDIR)/libcls_log_la-cls_log.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/log/cls_log.cc' object='libcls_log_la-cls_log.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_log_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_log_la-cls_log.lo `test -f 'cls/log/cls_log.cc' || echo '$(srcdir)/'`cls/log/cls_log.cc
-
-libcls_rbd_la-cls_rbd.lo: cls/rbd/cls_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rbd_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rbd_la-cls_rbd.lo -MD -MP -MF $(DEPDIR)/libcls_rbd_la-cls_rbd.Tpo -c -o libcls_rbd_la-cls_rbd.lo `test -f 'cls/rbd/cls_rbd.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rbd_la-cls_rbd.Tpo $(DEPDIR)/libcls_rbd_la-cls_rbd.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rbd/cls_rbd.cc' object='libcls_rbd_la-cls_rbd.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rbd_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rbd_la-cls_rbd.lo `test -f 'cls/rbd/cls_rbd.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd.cc
-
-libcls_refcount_la-cls_refcount.lo: cls/refcount/cls_refcount.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-cls_refcount.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-cls_refcount.Tpo -c -o libcls_refcount_la-cls_refcount.lo `test -f 'cls/refcount/cls_refcount.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-cls_refcount.Tpo $(DEPDIR)/libcls_refcount_la-cls_refcount.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount.cc' object='libcls_refcount_la-cls_refcount.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-cls_refcount.lo `test -f 'cls/refcount/cls_refcount.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount.cc
-
-libcls_refcount_la-cls_refcount_ops.lo: cls/refcount/cls_refcount_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-cls_refcount_ops.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-cls_refcount_ops.Tpo -c -o libcls_refcount_la-cls_refcount_ops.lo `test -f 'cls/refcount/cls_refcount_ops.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-cls_refcount_ops.Tpo $(DEPDIR)/libcls_refcount_la-cls_refcount_ops.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/refcount/cls_refcount_ops.cc' object='libcls_refcount_la-cls_refcount_ops.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-cls_refcount_ops.lo `test -f 'cls/refcount/cls_refcount_ops.cc' || echo '$(srcdir)/'`cls/refcount/cls_refcount_ops.cc
-
-libcls_refcount_la-ceph_json.lo: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-ceph_json.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-ceph_json.Tpo -c -o libcls_refcount_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-ceph_json.Tpo $(DEPDIR)/libcls_refcount_la-ceph_json.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='libcls_refcount_la-ceph_json.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-libcls_refcount_la-json_spirit_reader.lo: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-json_spirit_reader.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-json_spirit_reader.Tpo -c -o libcls_refcount_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-json_spirit_reader.Tpo $(DEPDIR)/libcls_refcount_la-json_spirit_reader.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='libcls_refcount_la-json_spirit_reader.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-libcls_refcount_la-json_spirit_writer.lo: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-json_spirit_writer.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-json_spirit_writer.Tpo -c -o libcls_refcount_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-json_spirit_writer.Tpo $(DEPDIR)/libcls_refcount_la-json_spirit_writer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='libcls_refcount_la-json_spirit_writer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-libcls_refcount_la-json_spirit_value.lo: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_refcount_la-json_spirit_value.lo -MD -MP -MF $(DEPDIR)/libcls_refcount_la-json_spirit_value.Tpo -c -o libcls_refcount_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_refcount_la-json_spirit_value.Tpo $(DEPDIR)/libcls_refcount_la-json_spirit_value.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='libcls_refcount_la-json_spirit_value.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_refcount_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_refcount_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-libcls_replica_log_la-cls_replica_log.lo: cls/replica_log/cls_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_replica_log_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_replica_log_la-cls_replica_log.lo -MD -MP -MF $(DEPDIR)/libcls_replica_log_la-cls_replica_log.Tpo -c -o libcls_replica_log_la-cls_replica_log.lo `test -f 'cls/replica_log/cls_replica_log.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_replica_log_la-cls_replica_log.Tpo $(DEPDIR)/libcls_replica_log_la-cls_replica_log.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/replica_log/cls_replica_log.cc' object='libcls_replica_log_la-cls_replica_log.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_replica_log_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_replica_log_la-cls_replica_log.lo `test -f 'cls/replica_log/cls_replica_log.cc' || echo '$(srcdir)/'`cls/replica_log/cls_replica_log.cc
-
-libcls_rgw_la-cls_rgw.lo: cls/rgw/cls_rgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-cls_rgw.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-cls_rgw.Tpo -c -o libcls_rgw_la-cls_rgw.lo `test -f 'cls/rgw/cls_rgw.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-cls_rgw.Tpo $(DEPDIR)/libcls_rgw_la-cls_rgw.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw.cc' object='libcls_rgw_la-cls_rgw.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-cls_rgw.lo `test -f 'cls/rgw/cls_rgw.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw.cc
-
-libcls_rgw_la-cls_rgw_ops.lo: cls/rgw/cls_rgw_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-cls_rgw_ops.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-cls_rgw_ops.Tpo -c -o libcls_rgw_la-cls_rgw_ops.lo `test -f 'cls/rgw/cls_rgw_ops.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-cls_rgw_ops.Tpo $(DEPDIR)/libcls_rgw_la-cls_rgw_ops.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_ops.cc' object='libcls_rgw_la-cls_rgw_ops.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-cls_rgw_ops.lo `test -f 'cls/rgw/cls_rgw_ops.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_ops.cc
-
-libcls_rgw_la-cls_rgw_types.lo: cls/rgw/cls_rgw_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-cls_rgw_types.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-cls_rgw_types.Tpo -c -o libcls_rgw_la-cls_rgw_types.lo `test -f 'cls/rgw/cls_rgw_types.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-cls_rgw_types.Tpo $(DEPDIR)/libcls_rgw_la-cls_rgw_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rgw/cls_rgw_types.cc' object='libcls_rgw_la-cls_rgw_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-cls_rgw_types.lo `test -f 'cls/rgw/cls_rgw_types.cc' || echo '$(srcdir)/'`cls/rgw/cls_rgw_types.cc
-
-libcls_rgw_la-ceph_json.lo: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-ceph_json.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-ceph_json.Tpo -c -o libcls_rgw_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-ceph_json.Tpo $(DEPDIR)/libcls_rgw_la-ceph_json.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='libcls_rgw_la-ceph_json.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-libcls_rgw_la-json_spirit_reader.lo: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-json_spirit_reader.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-json_spirit_reader.Tpo -c -o libcls_rgw_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-json_spirit_reader.Tpo $(DEPDIR)/libcls_rgw_la-json_spirit_reader.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='libcls_rgw_la-json_spirit_reader.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-libcls_rgw_la-json_spirit_writer.lo: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-json_spirit_writer.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-json_spirit_writer.Tpo -c -o libcls_rgw_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-json_spirit_writer.Tpo $(DEPDIR)/libcls_rgw_la-json_spirit_writer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='libcls_rgw_la-json_spirit_writer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-libcls_rgw_la-json_spirit_value.lo: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_rgw_la-json_spirit_value.lo -MD -MP -MF $(DEPDIR)/libcls_rgw_la-json_spirit_value.Tpo -c -o libcls_rgw_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_rgw_la-json_spirit_value.Tpo $(DEPDIR)/libcls_rgw_la-json_spirit_value.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='libcls_rgw_la-json_spirit_value.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_rgw_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_rgw_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-libcls_statelog_la-cls_statelog.lo: cls/statelog/cls_statelog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_statelog_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_statelog_la-cls_statelog.lo -MD -MP -MF $(DEPDIR)/libcls_statelog_la-cls_statelog.Tpo -c -o libcls_statelog_la-cls_statelog.lo `test -f 'cls/statelog/cls_statelog.cc' || echo '$(srcdir)/'`cls/statelog/cls_statelog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_statelog_la-cls_statelog.Tpo $(DEPDIR)/libcls_statelog_la-cls_statelog.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/statelog/cls_statelog.cc' object='libcls_statelog_la-cls_statelog.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_statelog_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_statelog_la-cls_statelog.lo `test -f 'cls/statelog/cls_statelog.cc' || echo '$(srcdir)/'`cls/statelog/cls_statelog.cc
-
-libcls_version_la-cls_version.lo: cls/version/cls_version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_version_la_CXXFLAGS) $(CXXFLAGS) -MT libcls_version_la-cls_version.lo -MD -MP -MF $(DEPDIR)/libcls_version_la-cls_version.Tpo -c -o libcls_version_la-cls_version.lo `test -f 'cls/version/cls_version.cc' || echo '$(srcdir)/'`cls/version/cls_version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcls_version_la-cls_version.Tpo $(DEPDIR)/libcls_version_la-cls_version.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/version/cls_version.cc' object='libcls_version_la-cls_version.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcls_version_la_CXXFLAGS) $(CXXFLAGS) -c -o libcls_version_la-cls_version.lo `test -f 'cls/version/cls_version.cc' || echo '$(srcdir)/'`cls/version/cls_version.cc
-
-libcommon_la-AuthAuthorizeHandler.lo: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthAuthorizeHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthAuthorizeHandler.Tpo -c -o libcommon_la-AuthAuthorizeHandler.lo `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthAuthorizeHandler.Tpo $(DEPDIR)/libcommon_la-AuthAuthorizeHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='libcommon_la-AuthAuthorizeHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthAuthorizeHandler.lo `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
-
-libcommon_la-AuthClientHandler.lo: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthClientHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthClientHandler.Tpo -c -o libcommon_la-AuthClientHandler.lo `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthClientHandler.Tpo $(DEPDIR)/libcommon_la-AuthClientHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='libcommon_la-AuthClientHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthClientHandler.lo `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
-
-libcommon_la-AuthSessionHandler.lo: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthSessionHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthSessionHandler.Tpo -c -o libcommon_la-AuthSessionHandler.lo `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthSessionHandler.Tpo $(DEPDIR)/libcommon_la-AuthSessionHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='libcommon_la-AuthSessionHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthSessionHandler.lo `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-libcommon_la-AuthMethodList.lo: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthMethodList.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthMethodList.Tpo -c -o libcommon_la-AuthMethodList.lo `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthMethodList.Tpo $(DEPDIR)/libcommon_la-AuthMethodList.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='libcommon_la-AuthMethodList.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthMethodList.lo `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
-
-libcommon_la-CephxAuthorizeHandler.lo: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CephxAuthorizeHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CephxAuthorizeHandler.Tpo -c -o libcommon_la-CephxAuthorizeHandler.lo `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CephxAuthorizeHandler.Tpo $(DEPDIR)/libcommon_la-CephxAuthorizeHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='libcommon_la-CephxAuthorizeHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CephxAuthorizeHandler.lo `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
-
-libcommon_la-CephxClientHandler.lo: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CephxClientHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CephxClientHandler.Tpo -c -o libcommon_la-CephxClientHandler.lo `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CephxClientHandler.Tpo $(DEPDIR)/libcommon_la-CephxClientHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='libcommon_la-CephxClientHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CephxClientHandler.lo `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
-
-libcommon_la-CephxProtocol.lo: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CephxProtocol.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CephxProtocol.Tpo -c -o libcommon_la-CephxProtocol.lo `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CephxProtocol.Tpo $(DEPDIR)/libcommon_la-CephxProtocol.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='libcommon_la-CephxProtocol.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CephxProtocol.lo `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
-
-libcommon_la-CephxSessionHandler.lo: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CephxSessionHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CephxSessionHandler.Tpo -c -o libcommon_la-CephxSessionHandler.lo `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CephxSessionHandler.Tpo $(DEPDIR)/libcommon_la-CephxSessionHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='libcommon_la-CephxSessionHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CephxSessionHandler.lo `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-libcommon_la-AuthNoneAuthorizeHandler.lo: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthNoneAuthorizeHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthNoneAuthorizeHandler.Tpo -c -o libcommon_la-AuthNoneAuthorizeHandler.lo `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/libcommon_la-AuthNoneAuthorizeHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='libcommon_la-AuthNoneAuthorizeHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthNoneAuthorizeHandler.lo `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
-
-libcommon_la-AuthUnknownAuthorizeHandler.lo: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-AuthUnknownAuthorizeHandler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-AuthUnknownAuthorizeHandler.Tpo -c -o libcommon_la-AuthUnknownAuthorizeHandler.lo `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownA [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/libcommon_la-AuthUnknownAuthorizeHandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='libcommon_la-AuthUnknownAuthorizeHandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-AuthUnknownAuthorizeHandler.lo `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
-
-libcommon_la-Crypto.lo: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Crypto.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Crypto.Tpo -c -o libcommon_la-Crypto.lo `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Crypto.Tpo $(DEPDIR)/libcommon_la-Crypto.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='libcommon_la-Crypto.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Crypto.lo `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
-
-libcommon_la-KeyRing.lo: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-KeyRing.lo -MD -MP -MF $(DEPDIR)/libcommon_la-KeyRing.Tpo -c -o libcommon_la-KeyRing.lo `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-KeyRing.Tpo $(DEPDIR)/libcommon_la-KeyRing.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='libcommon_la-KeyRing.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-KeyRing.lo `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
-
-libcommon_la-RotatingKeyRing.lo: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-RotatingKeyRing.lo -MD -MP -MF $(DEPDIR)/libcommon_la-RotatingKeyRing.Tpo -c -o libcommon_la-RotatingKeyRing.lo `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-RotatingKeyRing.Tpo $(DEPDIR)/libcommon_la-RotatingKeyRing.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='libcommon_la-RotatingKeyRing.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-RotatingKeyRing.lo `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
-
-libcommon_la-DecayCounter.lo: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-DecayCounter.lo -MD -MP -MF $(DEPDIR)/libcommon_la-DecayCounter.Tpo -c -o libcommon_la-DecayCounter.lo `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-DecayCounter.Tpo $(DEPDIR)/libcommon_la-DecayCounter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='libcommon_la-DecayCounter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-DecayCounter.lo `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
-
-libcommon_la-LogClient.lo: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-LogClient.lo -MD -MP -MF $(DEPDIR)/libcommon_la-LogClient.Tpo -c -o libcommon_la-LogClient.lo `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-LogClient.Tpo $(DEPDIR)/libcommon_la-LogClient.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='libcommon_la-LogClient.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-LogClient.lo `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
-
-libcommon_la-LogEntry.lo: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-LogEntry.lo -MD -MP -MF $(DEPDIR)/libcommon_la-LogEntry.Tpo -c -o libcommon_la-LogEntry.lo `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-LogEntry.Tpo $(DEPDIR)/libcommon_la-LogEntry.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='libcommon_la-LogEntry.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-LogEntry.lo `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
-
-libcommon_la-PrebufferedStreambuf.lo: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-PrebufferedStreambuf.lo -MD -MP -MF $(DEPDIR)/libcommon_la-PrebufferedStreambuf.Tpo -c -o libcommon_la-PrebufferedStreambuf.lo `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-PrebufferedStreambuf.Tpo $(DEPDIR)/libcommon_la-PrebufferedStreambuf.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='libcommon_la-PrebufferedStreambuf.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-PrebufferedStreambuf.lo `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
-
-libcommon_la-BackTrace.lo: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-BackTrace.lo -MD -MP -MF $(DEPDIR)/libcommon_la-BackTrace.Tpo -c -o libcommon_la-BackTrace.lo `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-BackTrace.Tpo $(DEPDIR)/libcommon_la-BackTrace.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='libcommon_la-BackTrace.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-BackTrace.lo `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
-
-libcommon_la-perf_counters.lo: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-perf_counters.lo -MD -MP -MF $(DEPDIR)/libcommon_la-perf_counters.Tpo -c -o libcommon_la-perf_counters.lo `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-perf_counters.Tpo $(DEPDIR)/libcommon_la-perf_counters.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='libcommon_la-perf_counters.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-perf_counters.lo `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
-
-libcommon_la-Mutex.lo: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Mutex.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Mutex.Tpo -c -o libcommon_la-Mutex.lo `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Mutex.Tpo $(DEPDIR)/libcommon_la-Mutex.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='libcommon_la-Mutex.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Mutex.lo `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
-
-libcommon_la-OutputDataSocket.lo: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-OutputDataSocket.lo -MD -MP -MF $(DEPDIR)/libcommon_la-OutputDataSocket.Tpo -c -o libcommon_la-OutputDataSocket.lo `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-OutputDataSocket.Tpo $(DEPDIR)/libcommon_la-OutputDataSocket.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='libcommon_la-OutputDataSocket.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-OutputDataSocket.lo `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
-
-libcommon_la-admin_socket.lo: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-admin_socket.lo -MD -MP -MF $(DEPDIR)/libcommon_la-admin_socket.Tpo -c -o libcommon_la-admin_socket.lo `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-admin_socket.Tpo $(DEPDIR)/libcommon_la-admin_socket.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='libcommon_la-admin_socket.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-admin_socket.lo `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
-
-libcommon_la-admin_socket_client.lo: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-admin_socket_client.lo -MD -MP -MF $(DEPDIR)/libcommon_la-admin_socket_client.Tpo -c -o libcommon_la-admin_socket_client.lo `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-admin_socket_client.Tpo $(DEPDIR)/libcommon_la-admin_socket_client.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='libcommon_la-admin_socket_client.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-admin_socket_client.lo `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
-
-libcommon_la-cmdparse.lo: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-cmdparse.lo -MD -MP -MF $(DEPDIR)/libcommon_la-cmdparse.Tpo -c -o libcommon_la-cmdparse.lo `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-cmdparse.Tpo $(DEPDIR)/libcommon_la-cmdparse.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='libcommon_la-cmdparse.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-cmdparse.lo `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
-
-libcommon_la-Clock.lo: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Clock.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Clock.Tpo -c -o libcommon_la-Clock.lo `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Clock.Tpo $(DEPDIR)/libcommon_la-Clock.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='libcommon_la-Clock.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Clock.lo `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
-
-libcommon_la-Throttle.lo: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Throttle.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Throttle.Tpo -c -o libcommon_la-Throttle.lo `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Throttle.Tpo $(DEPDIR)/libcommon_la-Throttle.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='libcommon_la-Throttle.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Throttle.lo `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
-
-libcommon_la-Timer.lo: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Timer.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Timer.Tpo -c -o libcommon_la-Timer.lo `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Timer.Tpo $(DEPDIR)/libcommon_la-Timer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='libcommon_la-Timer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Timer.lo `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
-
-libcommon_la-Finisher.lo: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Finisher.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Finisher.Tpo -c -o libcommon_la-Finisher.lo `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Finisher.Tpo $(DEPDIR)/libcommon_la-Finisher.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='libcommon_la-Finisher.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Finisher.lo `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
-
-libcommon_la-environment.lo: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-environment.lo -MD -MP -MF $(DEPDIR)/libcommon_la-environment.Tpo -c -o libcommon_la-environment.lo `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-environment.Tpo $(DEPDIR)/libcommon_la-environment.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='libcommon_la-environment.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-environment.lo `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
-
-libcommon_la-assert.lo: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-assert.lo -MD -MP -MF $(DEPDIR)/libcommon_la-assert.Tpo -c -o libcommon_la-assert.lo `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-assert.Tpo $(DEPDIR)/libcommon_la-assert.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='libcommon_la-assert.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-assert.lo `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
-
-libcommon_la-run_cmd.lo: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-run_cmd.lo -MD -MP -MF $(DEPDIR)/libcommon_la-run_cmd.Tpo -c -o libcommon_la-run_cmd.lo `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-run_cmd.Tpo $(DEPDIR)/libcommon_la-run_cmd.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='libcommon_la-run_cmd.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-run_cmd.lo `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
-
-libcommon_la-WorkQueue.lo: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-WorkQueue.lo -MD -MP -MF $(DEPDIR)/libcommon_la-WorkQueue.Tpo -c -o libcommon_la-WorkQueue.lo `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-WorkQueue.Tpo $(DEPDIR)/libcommon_la-WorkQueue.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='libcommon_la-WorkQueue.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-WorkQueue.lo `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
-
-libcommon_la-ConfUtils.lo: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ConfUtils.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ConfUtils.Tpo -c -o libcommon_la-ConfUtils.lo `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ConfUtils.Tpo $(DEPDIR)/libcommon_la-ConfUtils.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='libcommon_la-ConfUtils.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ConfUtils.lo `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
-
-libcommon_la-MemoryModel.lo: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-MemoryModel.lo -MD -MP -MF $(DEPDIR)/libcommon_la-MemoryModel.Tpo -c -o libcommon_la-MemoryModel.lo `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-MemoryModel.Tpo $(DEPDIR)/libcommon_la-MemoryModel.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='libcommon_la-MemoryModel.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-MemoryModel.lo `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
-
-libcommon_la-fd.lo: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-fd.lo -MD -MP -MF $(DEPDIR)/libcommon_la-fd.Tpo -c -o libcommon_la-fd.lo `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-fd.Tpo $(DEPDIR)/libcommon_la-fd.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='libcommon_la-fd.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-fd.lo `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
-
-libcommon_la-snap_types.lo: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-snap_types.lo -MD -MP -MF $(DEPDIR)/libcommon_la-snap_types.Tpo -c -o libcommon_la-snap_types.lo `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-snap_types.Tpo $(DEPDIR)/libcommon_la-snap_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='libcommon_la-snap_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-snap_types.lo `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
-
-libcommon_la-str_list.lo: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-str_list.lo -MD -MP -MF $(DEPDIR)/libcommon_la-str_list.Tpo -c -o libcommon_la-str_list.lo `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-str_list.Tpo $(DEPDIR)/libcommon_la-str_list.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='libcommon_la-str_list.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-str_list.lo `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
-
-libcommon_la-errno.lo: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-errno.lo -MD -MP -MF $(DEPDIR)/libcommon_la-errno.Tpo -c -o libcommon_la-errno.lo `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-errno.Tpo $(DEPDIR)/libcommon_la-errno.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='libcommon_la-errno.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-errno.lo `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
-
-libcommon_la-json_spirit_reader.lo: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-json_spirit_reader.lo -MD -MP -MF $(DEPDIR)/libcommon_la-json_spirit_reader.Tpo -c -o libcommon_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-json_spirit_reader.Tpo $(DEPDIR)/libcommon_la-json_spirit_reader.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='libcommon_la-json_spirit_reader.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-json_spirit_reader.lo `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-libcommon_la-json_spirit_writer.lo: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-json_spirit_writer.lo -MD -MP -MF $(DEPDIR)/libcommon_la-json_spirit_writer.Tpo -c -o libcommon_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-json_spirit_writer.Tpo $(DEPDIR)/libcommon_la-json_spirit_writer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='libcommon_la-json_spirit_writer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-json_spirit_writer.lo `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-libcommon_la-json_spirit_value.lo: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-json_spirit_value.lo -MD -MP -MF $(DEPDIR)/libcommon_la-json_spirit_value.Tpo -c -o libcommon_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-json_spirit_value.Tpo $(DEPDIR)/libcommon_la-json_spirit_value.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='libcommon_la-json_spirit_value.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-json_spirit_value.lo `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-libcommon_la-Log.lo: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Log.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Log.Tpo -c -o libcommon_la-Log.lo `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Log.Tpo $(DEPDIR)/libcommon_la-Log.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='libcommon_la-Log.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Log.lo `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
-
-libcommon_la-SubsystemMap.lo: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-SubsystemMap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-SubsystemMap.Tpo -c -o libcommon_la-SubsystemMap.lo `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-SubsystemMap.Tpo $(DEPDIR)/libcommon_la-SubsystemMap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='libcommon_la-SubsystemMap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-SubsystemMap.lo `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
-
-libcommon_la-MonCap.lo: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-MonCap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-MonCap.Tpo -c -o libcommon_la-MonCap.lo `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-MonCap.Tpo $(DEPDIR)/libcommon_la-MonCap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='libcommon_la-MonCap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-MonCap.lo `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
-
-libcommon_la-MonClient.lo: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-MonClient.lo -MD -MP -MF $(DEPDIR)/libcommon_la-MonClient.Tpo -c -o libcommon_la-MonClient.lo `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-MonClient.Tpo $(DEPDIR)/libcommon_la-MonClient.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='libcommon_la-MonClient.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-MonClient.lo `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
-
-libcommon_la-MonMap.lo: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-MonMap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-MonMap.Tpo -c -o libcommon_la-MonMap.lo `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-MonMap.Tpo $(DEPDIR)/libcommon_la-MonMap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='libcommon_la-MonMap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-MonMap.lo `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
-
-libcommon_la-Accepter.lo: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Accepter.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Accepter.Tpo -c -o libcommon_la-Accepter.lo `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Accepter.Tpo $(DEPDIR)/libcommon_la-Accepter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='libcommon_la-Accepter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Accepter.lo `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
-
-libcommon_la-DispatchQueue.lo: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-DispatchQueue.lo -MD -MP -MF $(DEPDIR)/libcommon_la-DispatchQueue.Tpo -c -o libcommon_la-DispatchQueue.lo `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-DispatchQueue.Tpo $(DEPDIR)/libcommon_la-DispatchQueue.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='libcommon_la-DispatchQueue.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-DispatchQueue.lo `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
-
-libcommon_la-Message.lo: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Message.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Message.Tpo -c -o libcommon_la-Message.lo `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Message.Tpo $(DEPDIR)/libcommon_la-Message.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='libcommon_la-Message.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Message.lo `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
-
-libcommon_la-RefCountedObj.lo: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-RefCountedObj.lo -MD -MP -MF $(DEPDIR)/libcommon_la-RefCountedObj.Tpo -c -o libcommon_la-RefCountedObj.lo `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-RefCountedObj.Tpo $(DEPDIR)/libcommon_la-RefCountedObj.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='libcommon_la-RefCountedObj.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-RefCountedObj.lo `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
-
-libcommon_la-Messenger.lo: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Messenger.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Messenger.Tpo -c -o libcommon_la-Messenger.lo `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Messenger.Tpo $(DEPDIR)/libcommon_la-Messenger.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='libcommon_la-Messenger.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Messenger.lo `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
-
-libcommon_la-Pipe.lo: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Pipe.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Pipe.Tpo -c -o libcommon_la-Pipe.lo `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Pipe.Tpo $(DEPDIR)/libcommon_la-Pipe.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='libcommon_la-Pipe.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Pipe.lo `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
-
-libcommon_la-SimpleMessenger.lo: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-SimpleMessenger.lo -MD -MP -MF $(DEPDIR)/libcommon_la-SimpleMessenger.Tpo -c -o libcommon_la-SimpleMessenger.lo `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-SimpleMessenger.Tpo $(DEPDIR)/libcommon_la-SimpleMessenger.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='libcommon_la-SimpleMessenger.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-SimpleMessenger.lo `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
-
-libcommon_la-msg_types.lo: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-msg_types.lo -MD -MP -MF $(DEPDIR)/libcommon_la-msg_types.Tpo -c -o libcommon_la-msg_types.lo `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-msg_types.Tpo $(DEPDIR)/libcommon_la-msg_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='libcommon_la-msg_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-msg_types.lo `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
-
-libcommon_la-hobject.lo: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-hobject.lo -MD -MP -MF $(DEPDIR)/libcommon_la-hobject.Tpo -c -o libcommon_la-hobject.lo `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-hobject.Tpo $(DEPDIR)/libcommon_la-hobject.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='libcommon_la-hobject.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-hobject.lo `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
-
-libcommon_la-OSDMap.lo: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-OSDMap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-OSDMap.Tpo -c -o libcommon_la-OSDMap.lo `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-OSDMap.Tpo $(DEPDIR)/libcommon_la-OSDMap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='libcommon_la-OSDMap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-OSDMap.lo `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
-
-libcommon_la-osd_types.lo: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-osd_types.lo -MD -MP -MF $(DEPDIR)/libcommon_la-osd_types.Tpo -c -o libcommon_la-osd_types.lo `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-osd_types.Tpo $(DEPDIR)/libcommon_la-osd_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='libcommon_la-osd_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-osd_types.lo `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
-
-libcommon_la-MDSMap.lo: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-MDSMap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-MDSMap.Tpo -c -o libcommon_la-MDSMap.lo `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-MDSMap.Tpo $(DEPDIR)/libcommon_la-MDSMap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='libcommon_la-MDSMap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-MDSMap.lo `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
-
-libcommon_la-inode_backtrace.lo: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-inode_backtrace.lo -MD -MP -MF $(DEPDIR)/libcommon_la-inode_backtrace.Tpo -c -o libcommon_la-inode_backtrace.lo `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-inode_backtrace.Tpo $(DEPDIR)/libcommon_la-inode_backtrace.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='libcommon_la-inode_backtrace.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-inode_backtrace.lo `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
-
-libcommon_la-mdstypes.lo: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-mdstypes.lo -MD -MP -MF $(DEPDIR)/libcommon_la-mdstypes.Tpo -c -o libcommon_la-mdstypes.lo `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-mdstypes.Tpo $(DEPDIR)/libcommon_la-mdstypes.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='libcommon_la-mdstypes.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-mdstypes.lo `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
-
-libcommon_la-blkdev.lo: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-blkdev.lo -MD -MP -MF $(DEPDIR)/libcommon_la-blkdev.Tpo -c -o libcommon_la-blkdev.lo `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-blkdev.Tpo $(DEPDIR)/libcommon_la-blkdev.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='libcommon_la-blkdev.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-blkdev.lo `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
-
-libcommon_la-common_init.lo: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-common_init.lo -MD -MP -MF $(DEPDIR)/libcommon_la-common_init.Tpo -c -o libcommon_la-common_init.lo `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-common_init.Tpo $(DEPDIR)/libcommon_la-common_init.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='libcommon_la-common_init.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-common_init.lo `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
-
-libcommon_la-ceph_argparse.lo: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_argparse.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_argparse.Tpo -c -o libcommon_la-ceph_argparse.lo `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_argparse.Tpo $(DEPDIR)/libcommon_la-ceph_argparse.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='libcommon_la-ceph_argparse.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_argparse.lo `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
-
-libcommon_la-ceph_context.lo: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_context.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_context.Tpo -c -o libcommon_la-ceph_context.lo `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_context.Tpo $(DEPDIR)/libcommon_la-ceph_context.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='libcommon_la-ceph_context.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_context.lo `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
-
-libcommon_la-buffer.lo: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-buffer.lo -MD -MP -MF $(DEPDIR)/libcommon_la-buffer.Tpo -c -o libcommon_la-buffer.lo `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-buffer.Tpo $(DEPDIR)/libcommon_la-buffer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='libcommon_la-buffer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-buffer.lo `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
-
-libcommon_la-code_environment.lo: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-code_environment.lo -MD -MP -MF $(DEPDIR)/libcommon_la-code_environment.Tpo -c -o libcommon_la-code_environment.lo `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-code_environment.Tpo $(DEPDIR)/libcommon_la-code_environment.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='libcommon_la-code_environment.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-code_environment.lo `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
-
-libcommon_la-dout.lo: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-dout.lo -MD -MP -MF $(DEPDIR)/libcommon_la-dout.Tpo -c -o libcommon_la-dout.lo `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-dout.Tpo $(DEPDIR)/libcommon_la-dout.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='libcommon_la-dout.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-dout.lo `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
-
-libcommon_la-signal.lo: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-signal.lo -MD -MP -MF $(DEPDIR)/libcommon_la-signal.Tpo -c -o libcommon_la-signal.lo `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-signal.Tpo $(DEPDIR)/libcommon_la-signal.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='libcommon_la-signal.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-signal.lo `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
-
-libcommon_la-simple_spin.lo: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-simple_spin.lo -MD -MP -MF $(DEPDIR)/libcommon_la-simple_spin.Tpo -c -o libcommon_la-simple_spin.lo `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-simple_spin.Tpo $(DEPDIR)/libcommon_la-simple_spin.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='libcommon_la-simple_spin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-simple_spin.lo `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
-
-libcommon_la-Thread.lo: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Thread.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Thread.Tpo -c -o libcommon_la-Thread.lo `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Thread.Tpo $(DEPDIR)/libcommon_la-Thread.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='libcommon_la-Thread.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Thread.lo `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
-
-libcommon_la-Formatter.lo: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-Formatter.lo -MD -MP -MF $(DEPDIR)/libcommon_la-Formatter.Tpo -c -o libcommon_la-Formatter.lo `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-Formatter.Tpo $(DEPDIR)/libcommon_la-Formatter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='libcommon_la-Formatter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-Formatter.lo `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
-
-libcommon_la-HeartbeatMap.lo: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-HeartbeatMap.lo -MD -MP -MF $(DEPDIR)/libcommon_la-HeartbeatMap.Tpo -c -o libcommon_la-HeartbeatMap.lo `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-HeartbeatMap.Tpo $(DEPDIR)/libcommon_la-HeartbeatMap.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='libcommon_la-HeartbeatMap.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-HeartbeatMap.lo `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
-
-libcommon_la-ceph_fs.lo: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_fs.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_fs.Tpo -c -o libcommon_la-ceph_fs.lo `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_fs.Tpo $(DEPDIR)/libcommon_la-ceph_fs.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='libcommon_la-ceph_fs.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_fs.lo `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
-
-libcommon_la-ceph_hash.lo: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_hash.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_hash.Tpo -c -o libcommon_la-ceph_hash.lo `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_hash.Tpo $(DEPDIR)/libcommon_la-ceph_hash.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='libcommon_la-ceph_hash.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_hash.lo `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
-
-libcommon_la-ceph_strings.lo: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_strings.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_strings.Tpo -c -o libcommon_la-ceph_strings.lo `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_strings.Tpo $(DEPDIR)/libcommon_la-ceph_strings.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='libcommon_la-ceph_strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_strings.lo `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
-
-libcommon_la-ceph_frag.lo: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_frag.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_frag.Tpo -c -o libcommon_la-ceph_frag.lo `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_frag.Tpo $(DEPDIR)/libcommon_la-ceph_frag.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='libcommon_la-ceph_frag.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_frag.lo `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
-
-libcommon_la-config.lo: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-config.lo -MD -MP -MF $(DEPDIR)/libcommon_la-config.Tpo -c -o libcommon_la-config.lo `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-config.Tpo $(DEPDIR)/libcommon_la-config.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='libcommon_la-config.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-config.lo `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
-
-libcommon_la-strtol.lo: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-strtol.lo -MD -MP -MF $(DEPDIR)/libcommon_la-strtol.Tpo -c -o libcommon_la-strtol.lo `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-strtol.Tpo $(DEPDIR)/libcommon_la-strtol.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='libcommon_la-strtol.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-strtol.lo `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
-
-libcommon_la-page.lo: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-page.lo -MD -MP -MF $(DEPDIR)/libcommon_la-page.Tpo -c -o libcommon_la-page.lo `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-page.Tpo $(DEPDIR)/libcommon_la-page.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='libcommon_la-page.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-page.lo `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
-
-libcommon_la-lockdep.lo: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-lockdep.lo -MD -MP -MF $(DEPDIR)/libcommon_la-lockdep.Tpo -c -o libcommon_la-lockdep.lo `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-lockdep.Tpo $(DEPDIR)/libcommon_la-lockdep.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='libcommon_la-lockdep.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-lockdep.lo `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
-
-libcommon_la-version.lo: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-version.lo -MD -MP -MF $(DEPDIR)/libcommon_la-version.Tpo -c -o libcommon_la-version.lo `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-version.Tpo $(DEPDIR)/libcommon_la-version.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='libcommon_la-version.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-version.lo `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
-
-libcommon_la-hex.lo: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-hex.lo -MD -MP -MF $(DEPDIR)/libcommon_la-hex.Tpo -c -o libcommon_la-hex.lo `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-hex.Tpo $(DEPDIR)/libcommon_la-hex.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='libcommon_la-hex.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-hex.lo `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
-
-libcommon_la-entity_name.lo: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-entity_name.lo -MD -MP -MF $(DEPDIR)/libcommon_la-entity_name.Tpo -c -o libcommon_la-entity_name.lo `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-entity_name.Tpo $(DEPDIR)/libcommon_la-entity_name.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='libcommon_la-entity_name.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-entity_name.lo `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
-
-libcommon_la-ceph_crypto.lo: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_crypto.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_crypto.Tpo -c -o libcommon_la-ceph_crypto.lo `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_crypto.Tpo $(DEPDIR)/libcommon_la-ceph_crypto.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='libcommon_la-ceph_crypto.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_crypto.lo `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
-
-libcommon_la-ceph_crypto_cms.lo: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_crypto_cms.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_crypto_cms.Tpo -c -o libcommon_la-ceph_crypto_cms.lo `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_crypto_cms.Tpo $(DEPDIR)/libcommon_la-ceph_crypto_cms.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='libcommon_la-ceph_crypto_cms.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_crypto_cms.lo `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
-
-libcommon_la-ceph_json.lo: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ceph_json.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ceph_json.Tpo -c -o libcommon_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ceph_json.Tpo $(DEPDIR)/libcommon_la-ceph_json.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='libcommon_la-ceph_json.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ceph_json.lo `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-libcommon_la-ipaddr.lo: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-ipaddr.lo -MD -MP -MF $(DEPDIR)/libcommon_la-ipaddr.Tpo -c -o libcommon_la-ipaddr.lo `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-ipaddr.Tpo $(DEPDIR)/libcommon_la-ipaddr.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='libcommon_la-ipaddr.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-ipaddr.lo `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
-
-libcommon_la-pick_address.lo: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-pick_address.lo -MD -MP -MF $(DEPDIR)/libcommon_la-pick_address.Tpo -c -o libcommon_la-pick_address.lo `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-pick_address.Tpo $(DEPDIR)/libcommon_la-pick_address.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='libcommon_la-pick_address.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-pick_address.lo `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
-
-libcommon_la-CrushWrapper.lo: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CrushWrapper.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CrushWrapper.Tpo -c -o libcommon_la-CrushWrapper.lo `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CrushWrapper.Tpo $(DEPDIR)/libcommon_la-CrushWrapper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='libcommon_la-CrushWrapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CrushWrapper.lo `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
-
-libcommon_la-CrushCompiler.lo: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CrushCompiler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CrushCompiler.Tpo -c -o libcommon_la-CrushCompiler.lo `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CrushCompiler.Tpo $(DEPDIR)/libcommon_la-CrushCompiler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='libcommon_la-CrushCompiler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CrushCompiler.lo `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
-
-libcommon_la-CrushTester.lo: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-CrushTester.lo -MD -MP -MF $(DEPDIR)/libcommon_la-CrushTester.Tpo -c -o libcommon_la-CrushTester.lo `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-CrushTester.Tpo $(DEPDIR)/libcommon_la-CrushTester.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='libcommon_la-CrushTester.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-CrushTester.lo `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
-
-libcommon_la-cpu_profiler.lo: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-cpu_profiler.lo -MD -MP -MF $(DEPDIR)/libcommon_la-cpu_profiler.Tpo -c -o libcommon_la-cpu_profiler.lo `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-cpu_profiler.Tpo $(DEPDIR)/libcommon_la-cpu_profiler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='libcommon_la-cpu_profiler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-cpu_profiler.lo `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
-
-libcommon_la-disabled_stubs.lo: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -MT libcommon_la-disabled_stubs.lo -MD -MP -MF $(DEPDIR)/libcommon_la-disabled_stubs.Tpo -c -o libcommon_la-disabled_stubs.lo `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_la-disabled_stubs.Tpo $(DEPDIR)/libcommon_la-disabled_stubs.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='libcommon_la-disabled_stubs.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CXXFLAGS) $(CXXFLAGS) -c -o libcommon_la-disabled_stubs.lo `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
-
-libglobal_la-global_context.lo: global/global_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -MT libglobal_la-global_context.lo -MD -MP -MF $(DEPDIR)/libglobal_la-global_context.Tpo -c -o libglobal_la-global_context.lo `test -f 'global/global_context.cc' || echo '$(srcdir)/'`global/global_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libglobal_la-global_context.Tpo $(DEPDIR)/libglobal_la-global_context.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='global/global_context.cc' object='libglobal_la-global_context.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -c -o libglobal_la-global_context.lo `test -f 'global/global_context.cc' || echo '$(srcdir)/'`global/global_context.cc
-
-libglobal_la-global_init.lo: global/global_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -MT libglobal_la-global_init.lo -MD -MP -MF $(DEPDIR)/libglobal_la-global_init.Tpo -c -o libglobal_la-global_init.lo `test -f 'global/global_init.cc' || echo '$(srcdir)/'`global/global_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libglobal_la-global_init.Tpo $(DEPDIR)/libglobal_la-global_init.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='global/global_init.cc' object='libglobal_la-global_init.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -c -o libglobal_la-global_init.lo `test -f 'global/global_init.cc' || echo '$(srcdir)/'`global/global_init.cc
-
-libglobal_la-pidfile.lo: global/pidfile.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -MT libglobal_la-pidfile.lo -MD -MP -MF $(DEPDIR)/libglobal_la-pidfile.Tpo -c -o libglobal_la-pidfile.lo `test -f 'global/pidfile.cc' || echo '$(srcdir)/'`global/pidfile.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libglobal_la-pidfile.Tpo $(DEPDIR)/libglobal_la-pidfile.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='global/pidfile.cc' object='libglobal_la-pidfile.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -c -o libglobal_la-pidfile.lo `test -f 'global/pidfile.cc' || echo '$(srcdir)/'`global/pidfile.cc
-
-libglobal_la-signal_handler.lo: global/signal_handler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -MT libglobal_la-signal_handler.lo -MD -MP -MF $(DEPDIR)/libglobal_la-signal_handler.Tpo -c -o libglobal_la-signal_handler.lo `test -f 'global/signal_handler.cc' || echo '$(srcdir)/'`global/signal_handler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libglobal_la-signal_handler.Tpo $(DEPDIR)/libglobal_la-signal_handler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='global/signal_handler.cc' object='libglobal_la-signal_handler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libglobal_la_CXXFLAGS) $(CXXFLAGS) -c -o libglobal_la-signal_handler.lo `test -f 'global/signal_handler.cc' || echo '$(srcdir)/'`global/signal_handler.cc
-
-libhadoopcephfs_la-CephFSInterface.lo: client/hadoop/CephFSInterface.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhadoopcephfs_la_CXXFLAGS) $(CXXFLAGS) -MT libhadoopcephfs_la-CephFSInterface.lo -MD -MP -MF $(DEPDIR)/libhadoopcephfs_la-CephFSInterface.Tpo -c -o libhadoopcephfs_la-CephFSInterface.lo `test -f 'client/hadoop/CephFSInterface.cc' || echo '$(srcdir)/'`client/hadoop/CephFSInterface.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhadoopcephfs_la-CephFSInterface.Tpo $(DEPDIR)/libhadoopcephfs_la-CephFSInterface.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/hadoop/CephFSInterface.cc' object='libhadoopcephfs_la-CephFSInterface.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhadoopcephfs_la_CXXFLAGS) $(CXXFLAGS) -c -o libhadoopcephfs_la-CephFSInterface.lo `test -f 'client/hadoop/CephFSInterface.cc' || echo '$(srcdir)/'`client/hadoop/CephFSInterface.cc
-
-libosdc_la-Objecter.lo: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -MT libosdc_la-Objecter.lo -MD -MP -MF $(DEPDIR)/libosdc_la-Objecter.Tpo -c -o libosdc_la-Objecter.lo `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosdc_la-Objecter.Tpo $(DEPDIR)/libosdc_la-Objecter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='libosdc_la-Objecter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -c -o libosdc_la-Objecter.lo `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
-
-libosdc_la-ObjectCacher.lo: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -MT libosdc_la-ObjectCacher.lo -MD -MP -MF $(DEPDIR)/libosdc_la-ObjectCacher.Tpo -c -o libosdc_la-ObjectCacher.lo `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosdc_la-ObjectCacher.Tpo $(DEPDIR)/libosdc_la-ObjectCacher.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='libosdc_la-ObjectCacher.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -c -o libosdc_la-ObjectCacher.lo `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
-
-libosdc_la-Filer.lo: osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -MT libosdc_la-Filer.lo -MD -MP -MF $(DEPDIR)/libosdc_la-Filer.Tpo -c -o libosdc_la-Filer.lo `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosdc_la-Filer.Tpo $(DEPDIR)/libosdc_la-Filer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='libosdc_la-Filer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -c -o libosdc_la-Filer.lo `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
-
-libosdc_la-Striper.lo: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -MT libosdc_la-Striper.lo -MD -MP -MF $(DEPDIR)/libosdc_la-Striper.Tpo -c -o libosdc_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libosdc_la-Striper.Tpo $(DEPDIR)/libosdc_la-Striper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='libosdc_la-Striper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libosdc_la_CXXFLAGS) $(CXXFLAGS) -c -o libosdc_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
-
-librados_la-librados.lo: librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-librados.lo -MD -MP -MF $(DEPDIR)/librados_la-librados.Tpo -c -o librados_la-librados.lo `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-librados.Tpo $(DEPDIR)/librados_la-librados.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='librados_la-librados.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-librados.lo `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
-
-librados_la-RadosClient.lo: librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-RadosClient.lo -MD -MP -MF $(DEPDIR)/librados_la-RadosClient.Tpo -c -o librados_la-RadosClient.lo `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-RadosClient.Tpo $(DEPDIR)/librados_la-RadosClient.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='librados_la-RadosClient.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-RadosClient.lo `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
-
-librados_la-IoCtxImpl.lo: librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-IoCtxImpl.lo -MD -MP -MF $(DEPDIR)/librados_la-IoCtxImpl.Tpo -c -o librados_la-IoCtxImpl.lo `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-IoCtxImpl.Tpo $(DEPDIR)/librados_la-IoCtxImpl.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='librados_la-IoCtxImpl.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-IoCtxImpl.lo `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
-
-librados_la-Objecter.lo: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-Objecter.lo -MD -MP -MF $(DEPDIR)/librados_la-Objecter.Tpo -c -o librados_la-Objecter.lo `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-Objecter.Tpo $(DEPDIR)/librados_la-Objecter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='librados_la-Objecter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-Objecter.lo `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
-
-librados_la-Striper.lo: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-Striper.lo -MD -MP -MF $(DEPDIR)/librados_la-Striper.Tpo -c -o librados_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-Striper.Tpo $(DEPDIR)/librados_la-Striper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='librados_la-Striper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
-
-librados_la-cls_lock_client.lo: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-cls_lock_client.lo -MD -MP -MF $(DEPDIR)/librados_la-cls_lock_client.Tpo -c -o librados_la-cls_lock_client.lo `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-cls_lock_client.Tpo $(DEPDIR)/librados_la-cls_lock_client.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='librados_la-cls_lock_client.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-cls_lock_client.lo `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
-
-librados_la-cls_lock_types.lo: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-cls_lock_types.lo -MD -MP -MF $(DEPDIR)/librados_la-cls_lock_types.Tpo -c -o librados_la-cls_lock_types.lo `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-cls_lock_types.Tpo $(DEPDIR)/librados_la-cls_lock_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='librados_la-cls_lock_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-cls_lock_types.lo `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
-
-librados_la-cls_lock_ops.lo: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -MT librados_la-cls_lock_ops.lo -MD -MP -MF $(DEPDIR)/librados_la-cls_lock_ops.Tpo -c -o librados_la-cls_lock_ops.lo `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librados_la-cls_lock_ops.Tpo $(DEPDIR)/librados_la-cls_lock_ops.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='librados_la-cls_lock_ops.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librados_la_CXXFLAGS) $(CXXFLAGS) -c -o librados_la-cls_lock_ops.lo `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
-
-librbd_la-librbd.lo: librbd/librbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-librbd.lo -MD -MP -MF $(DEPDIR)/librbd_la-librbd.Tpo -c -o librbd_la-librbd.lo `test -f 'librbd/librbd.cc' || echo '$(srcdir)/'`librbd/librbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-librbd.Tpo $(DEPDIR)/librbd_la-librbd.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/librbd.cc' object='librbd_la-librbd.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-librbd.lo `test -f 'librbd/librbd.cc' || echo '$(srcdir)/'`librbd/librbd.cc
-
-librbd_la-AioCompletion.lo: librbd/AioCompletion.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-AioCompletion.lo -MD -MP -MF $(DEPDIR)/librbd_la-AioCompletion.Tpo -c -o librbd_la-AioCompletion.lo `test -f 'librbd/AioCompletion.cc' || echo '$(srcdir)/'`librbd/AioCompletion.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-AioCompletion.Tpo $(DEPDIR)/librbd_la-AioCompletion.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/AioCompletion.cc' object='librbd_la-AioCompletion.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-AioCompletion.lo `test -f 'librbd/AioCompletion.cc' || echo '$(srcdir)/'`librbd/AioCompletion.cc
-
-librbd_la-AioRequest.lo: librbd/AioRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-AioRequest.lo -MD -MP -MF $(DEPDIR)/librbd_la-AioRequest.Tpo -c -o librbd_la-AioRequest.lo `test -f 'librbd/AioRequest.cc' || echo '$(srcdir)/'`librbd/AioRequest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-AioRequest.Tpo $(DEPDIR)/librbd_la-AioRequest.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/AioRequest.cc' object='librbd_la-AioRequest.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-AioRequest.lo `test -f 'librbd/AioRequest.cc' || echo '$(srcdir)/'`librbd/AioRequest.cc
-
-librbd_la-cls_rbd_client.lo: cls/rbd/cls_rbd_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-cls_rbd_client.lo -MD -MP -MF $(DEPDIR)/librbd_la-cls_rbd_client.Tpo -c -o librbd_la-cls_rbd_client.lo `test -f 'cls/rbd/cls_rbd_client.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-cls_rbd_client.Tpo $(DEPDIR)/librbd_la-cls_rbd_client.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rbd/cls_rbd_client.cc' object='librbd_la-cls_rbd_client.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-cls_rbd_client.lo `test -f 'cls/rbd/cls_rbd_client.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd_client.cc
-
-librbd_la-ImageCtx.lo: librbd/ImageCtx.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-ImageCtx.lo -MD -MP -MF $(DEPDIR)/librbd_la-ImageCtx.Tpo -c -o librbd_la-ImageCtx.lo `test -f 'librbd/ImageCtx.cc' || echo '$(srcdir)/'`librbd/ImageCtx.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-ImageCtx.Tpo $(DEPDIR)/librbd_la-ImageCtx.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/ImageCtx.cc' object='librbd_la-ImageCtx.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-ImageCtx.lo `test -f 'librbd/ImageCtx.cc' || echo '$(srcdir)/'`librbd/ImageCtx.cc
-
-librbd_la-internal.lo: librbd/internal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-internal.lo -MD -MP -MF $(DEPDIR)/librbd_la-internal.Tpo -c -o librbd_la-internal.lo `test -f 'librbd/internal.cc' || echo '$(srcdir)/'`librbd/internal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-internal.Tpo $(DEPDIR)/librbd_la-internal.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/internal.cc' object='librbd_la-internal.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-internal.lo `test -f 'librbd/internal.cc' || echo '$(srcdir)/'`librbd/internal.cc
-
-librbd_la-LibrbdWriteback.lo: librbd/LibrbdWriteback.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-LibrbdWriteback.lo -MD -MP -MF $(DEPDIR)/librbd_la-LibrbdWriteback.Tpo -c -o librbd_la-LibrbdWriteback.lo `test -f 'librbd/LibrbdWriteback.cc' || echo '$(srcdir)/'`librbd/LibrbdWriteback.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-LibrbdWriteback.Tpo $(DEPDIR)/librbd_la-LibrbdWriteback.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/LibrbdWriteback.cc' object='librbd_la-LibrbdWriteback.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-LibrbdWriteback.lo `test -f 'librbd/LibrbdWriteback.cc' || echo '$(srcdir)/'`librbd/LibrbdWriteback.cc
-
-librbd_la-WatchCtx.lo: librbd/WatchCtx.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-WatchCtx.lo -MD -MP -MF $(DEPDIR)/librbd_la-WatchCtx.Tpo -c -o librbd_la-WatchCtx.lo `test -f 'librbd/WatchCtx.cc' || echo '$(srcdir)/'`librbd/WatchCtx.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-WatchCtx.Tpo $(DEPDIR)/librbd_la-WatchCtx.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librbd/WatchCtx.cc' object='librbd_la-WatchCtx.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-WatchCtx.lo `test -f 'librbd/WatchCtx.cc' || echo '$(srcdir)/'`librbd/WatchCtx.cc
-
-librbd_la-ObjectCacher.lo: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-ObjectCacher.lo -MD -MP -MF $(DEPDIR)/librbd_la-ObjectCacher.Tpo -c -o librbd_la-ObjectCacher.lo `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-ObjectCacher.Tpo $(DEPDIR)/librbd_la-ObjectCacher.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='librbd_la-ObjectCacher.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-ObjectCacher.lo `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
-
-librbd_la-Striper.lo: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-Striper.lo -MD -MP -MF $(DEPDIR)/librbd_la-Striper.Tpo -c -o librbd_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-Striper.Tpo $(DEPDIR)/librbd_la-Striper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='librbd_la-Striper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-Striper.lo `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
-
-librbd_la-snap_set_diff.lo: librados/snap_set_diff.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-snap_set_diff.lo -MD -MP -MF $(DEPDIR)/librbd_la-snap_set_diff.Tpo -c -o librbd_la-snap_set_diff.lo `test -f 'librados/snap_set_diff.cc' || echo '$(srcdir)/'`librados/snap_set_diff.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-snap_set_diff.Tpo $(DEPDIR)/librbd_la-snap_set_diff.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/snap_set_diff.cc' object='librbd_la-snap_set_diff.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-snap_set_diff.lo `test -f 'librados/snap_set_diff.cc' || echo '$(srcdir)/'`librados/snap_set_diff.cc
-
-librbd_la-cls_lock_client.lo: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-cls_lock_client.lo -MD -MP -MF $(DEPDIR)/librbd_la-cls_lock_client.Tpo -c -o librbd_la-cls_lock_client.lo `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-cls_lock_client.Tpo $(DEPDIR)/librbd_la-cls_lock_client.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='librbd_la-cls_lock_client.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-cls_lock_client.lo `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
-
-librbd_la-cls_lock_types.lo: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-cls_lock_types.lo -MD -MP -MF $(DEPDIR)/librbd_la-cls_lock_types.Tpo -c -o librbd_la-cls_lock_types.lo `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-cls_lock_types.Tpo $(DEPDIR)/librbd_la-cls_lock_types.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='librbd_la-cls_lock_types.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-cls_lock_types.lo `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
-
-librbd_la-cls_lock_ops.lo: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-cls_lock_ops.lo -MD -MP -MF $(DEPDIR)/librbd_la-cls_lock_ops.Tpo -c -o librbd_la-cls_lock_ops.lo `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-cls_lock_ops.Tpo $(DEPDIR)/librbd_la-cls_lock_ops.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='librbd_la-cls_lock_ops.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-cls_lock_ops.lo `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
-
-librbd_la-util.lo: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -MT librbd_la-util.lo -MD -MP -MF $(DEPDIR)/librbd_la-util.Tpo -c -o librbd_la-util.lo `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librbd_la-util.Tpo $(DEPDIR)/librbd_la-util.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='librbd_la-util.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librbd_la_CXXFLAGS) $(CXXFLAGS) -c -o librbd_la-util.lo `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
-
-cross_process_sem.lo: test/system/cross_process_sem.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cross_process_sem.lo -MD -MP -MF $(DEPDIR)/cross_process_sem.Tpo -c -o cross_process_sem.lo `test -f 'test/system/cross_process_sem.cc' || echo '$(srcdir)/'`test/system/cross_process_sem.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cross_process_sem.Tpo $(DEPDIR)/cross_process_sem.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/cross_process_sem.cc' object='cross_process_sem.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cross_process_sem.lo `test -f 'test/system/cross_process_sem.cc' || echo '$(srcdir)/'`test/system/cross_process_sem.cc
-
-systest_runnable.lo: test/system/systest_runnable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT systest_runnable.lo -MD -MP -MF $(DEPDIR)/systest_runnable.Tpo -c -o systest_runnable.lo `test -f 'test/system/systest_runnable.cc' || echo '$(srcdir)/'`test/system/systest_runnable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/systest_runnable.Tpo $(DEPDIR)/systest_runnable.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/systest_runnable.cc' object='systest_runnable.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o systest_runnable.lo `test -f 'test/system/systest_runnable.cc' || echo '$(srcdir)/'`test/system/systest_runnable.cc
-
-systest_settings.lo: test/system/systest_settings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT systest_settings.lo -MD -MP -MF $(DEPDIR)/systest_settings.Tpo -c -o systest_settings.lo `test -f 'test/system/systest_settings.cc' || echo '$(srcdir)/'`test/system/systest_settings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/systest_settings.Tpo $(DEPDIR)/systest_settings.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/systest_settings.cc' object='systest_settings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o systest_settings.lo `test -f 'test/system/systest_settings.cc' || echo '$(srcdir)/'`test/system/systest_settings.cc
-
-ceph_conf-ceph_conf.o: ceph_conf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_conf_CXXFLAGS) $(CXXFLAGS) -MT ceph_conf-ceph_conf.o -MD -MP -MF $(DEPDIR)/ceph_conf-ceph_conf.Tpo -c -o ceph_conf-ceph_conf.o `test -f 'ceph_conf.cc' || echo '$(srcdir)/'`ceph_conf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_conf-ceph_conf.Tpo $(DEPDIR)/ceph_conf-ceph_conf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_conf.cc' object='ceph_conf-ceph_conf.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_conf_CXXFLAGS) $(CXXFLAGS) -c -o ceph_conf-ceph_conf.o `test -f 'ceph_conf.cc' || echo '$(srcdir)/'`ceph_conf.cc
-
-ceph_conf-ceph_conf.obj: ceph_conf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_conf_CXXFLAGS) $(CXXFLAGS) -MT ceph_conf-ceph_conf.obj -MD -MP -MF $(DEPDIR)/ceph_conf-ceph_conf.Tpo -c -o ceph_conf-ceph_conf.obj `if test -f 'ceph_conf.cc'; then $(CYGPATH_W) 'ceph_conf.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_conf.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_conf-ceph_conf.Tpo $(DEPDIR)/ceph_conf-ceph_conf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_conf.cc' object='ceph_conf-ceph_conf.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_conf_CXXFLAGS) $(CXXFLAGS) -c -o ceph_conf-ceph_conf.obj `if test -f 'ceph_conf.cc'; then $(CYGPATH_W) 'ceph_conf.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_conf.cc'; fi`
-
-ceph_dencoder-ceph_dencoder.o: test/encoding/ceph_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-ceph_dencoder.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo -c -o ceph_dencoder-ceph_dencoder.o `test -f 'test/encoding/ceph_dencoder.cc' || echo '$(srcdir)/'`test/encoding/ceph_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo $(DEPDIR)/ceph_dencoder-ceph_dencoder.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding/ceph_dencoder.cc' object='ceph_dencoder-ceph_dencoder.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-ceph_dencoder.o `test -f 'test/encoding/ceph_dencoder.cc' || echo '$(srcdir)/'`test/encoding/ceph_dencoder.cc
-
-ceph_dencoder-ceph_dencoder.obj: test/encoding/ceph_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-ceph_dencoder.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo -c -o ceph_dencoder-ceph_dencoder.obj `if test -f 'test/encoding/ceph_dencoder.cc'; then $(CYGPATH_W) 'test/encoding/ceph_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding/ceph_dencoder.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo $(DEPDIR)/ceph_dencoder-ceph_dencoder.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding/ceph_dencoder.cc' object='ceph_dencoder-ceph_dencoder.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-ceph_dencoder.obj `if test -f 'test/encoding/ceph_dencoder.cc'; then $(CYGPATH_W) 'test/encoding/ceph_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding/ceph_dencoder.cc'; fi`
-
-ceph_dencoder-rgw_dencoder.o: rgw/rgw_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_dencoder.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo -c -o ceph_dencoder-rgw_dencoder.o `test -f 'rgw/rgw_dencoder.cc' || echo '$(srcdir)/'`rgw/rgw_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo $(DEPDIR)/ceph_dencoder-rgw_dencoder.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_dencoder.cc' object='ceph_dencoder-rgw_dencoder.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_dencoder.o `test -f 'rgw/rgw_dencoder.cc' || echo '$(srcdir)/'`rgw/rgw_dencoder.cc
-
-ceph_dencoder-rgw_dencoder.obj: rgw/rgw_dencoder.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_dencoder.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo -c -o ceph_dencoder-rgw_dencoder.obj `if test -f 'rgw/rgw_dencoder.cc'; then $(CYGPATH_W) 'rgw/rgw_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_dencoder.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo $(DEPDIR)/ceph_dencoder-rgw_dencoder.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_dencoder.cc' object='ceph_dencoder-rgw_dencoder.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_dencoder.obj `if test -f 'rgw/rgw_dencoder.cc'; then $(CYGPATH_W) 'rgw/rgw_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_dencoder.cc'; fi`
-
-ceph_dencoder-rgw_acl.o: rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_acl.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_acl.Tpo -c -o ceph_dencoder-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_acl.Tpo $(DEPDIR)/ceph_dencoder-rgw_acl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='ceph_dencoder-rgw_acl.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
-
-ceph_dencoder-rgw_acl.obj: rgw/rgw_acl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_acl.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_acl.Tpo -c -o ceph_dencoder-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_acl.Tpo $(DEPDIR)/ceph_dencoder-rgw_acl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='ceph_dencoder-rgw_acl.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
-
-ceph_dencoder-rgw_common.o: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_common.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_common.Tpo -c -o ceph_dencoder-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_common.Tpo $(DEPDIR)/ceph_dencoder-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='ceph_dencoder-rgw_common.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
-
-ceph_dencoder-rgw_common.obj: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_common.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_common.Tpo -c -o ceph_dencoder-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_common.Tpo $(DEPDIR)/ceph_dencoder-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='ceph_dencoder-rgw_common.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
-
-ceph_dencoder-rgw_env.o: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_env.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_env.Tpo -c -o ceph_dencoder-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_env.Tpo $(DEPDIR)/ceph_dencoder-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='ceph_dencoder-rgw_env.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
-
-ceph_dencoder-rgw_env.obj: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_env.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_env.Tpo -c -o ceph_dencoder-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_env.Tpo $(DEPDIR)/ceph_dencoder-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='ceph_dencoder-rgw_env.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
-
-ceph_dencoder-rgw_json_enc.o: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_json_enc.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo -c -o ceph_dencoder-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo $(DEPDIR)/ceph_dencoder-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='ceph_dencoder-rgw_json_enc.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
-
-ceph_dencoder-rgw_json_enc.obj: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-rgw_json_enc.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo -c -o ceph_dencoder-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo $(DEPDIR)/ceph_dencoder-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='ceph_dencoder-rgw_json_enc.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
-
-ceph_dencoder-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Tpo -c -o ceph_dencoder-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_dencoder-disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
-
-ceph_dencoder-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT ceph_dencoder-disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Tpo -c -o ceph_dencoder-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_dencoder-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_dencoder-disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dencoder-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
-
-ceph_fuse-ceph_fuse.o: ceph_fuse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -MT ceph_fuse-ceph_fuse.o -MD -MP -MF $(DEPDIR)/ceph_fuse-ceph_fuse.Tpo -c -o ceph_fuse-ceph_fuse.o `test -f 'ceph_fuse.cc' || echo '$(srcdir)/'`ceph_fuse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fuse-ceph_fuse.Tpo $(DEPDIR)/ceph_fuse-ceph_fuse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_fuse.cc' object='ceph_fuse-ceph_fuse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fuse-ceph_fuse.o `test -f 'ceph_fuse.cc' || echo '$(srcdir)/'`ceph_fuse.cc
-
-ceph_fuse-ceph_fuse.obj: ceph_fuse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -MT ceph_fuse-ceph_fuse.obj -MD -MP -MF $(DEPDIR)/ceph_fuse-ceph_fuse.Tpo -c -o ceph_fuse-ceph_fuse.obj `if test -f 'ceph_fuse.cc'; then $(CYGPATH_W) 'ceph_fuse.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_fuse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fuse-ceph_fuse.Tpo $(DEPDIR)/ceph_fuse-ceph_fuse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_fuse.cc' object='ceph_fuse-ceph_fuse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fuse-ceph_fuse.obj `if test -f 'ceph_fuse.cc'; then $(CYGPATH_W) 'ceph_fuse.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_fuse.cc'; fi`
-
-ceph_fuse-fuse_ll.o: client/fuse_ll.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -MT ceph_fuse-fuse_ll.o -MD -MP -MF $(DEPDIR)/ceph_fuse-fuse_ll.Tpo -c -o ceph_fuse-fuse_ll.o `test -f 'client/fuse_ll.cc' || echo '$(srcdir)/'`client/fuse_ll.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fuse-fuse_ll.Tpo $(DEPDIR)/ceph_fuse-fuse_ll.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/fuse_ll.cc' object='ceph_fuse-fuse_ll.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fuse-fuse_ll.o `test -f 'client/fuse_ll.cc' || echo '$(srcdir)/'`client/fuse_ll.cc
-
-ceph_fuse-fuse_ll.obj: client/fuse_ll.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -MT ceph_fuse-fuse_ll.obj -MD -MP -MF $(DEPDIR)/ceph_fuse-fuse_ll.Tpo -c -o ceph_fuse-fuse_ll.obj `if test -f 'client/fuse_ll.cc'; then $(CYGPATH_W) 'client/fuse_ll.cc'; else $(CYGPATH_W) '$(srcdir)/client/fuse_ll.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fuse-fuse_ll.Tpo $(DEPDIR)/ceph_fuse-fuse_ll.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/fuse_ll.cc' object='ceph_fuse-fuse_ll.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_fuse_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fuse-fuse_ll.obj `if test -f 'client/fuse_ll.cc'; then $(CYGPATH_W) 'client/fuse_ll.cc'; else $(CYGPATH_W) '$(srcdir)/client/fuse_ll.cc'; fi`
-
-ceph_mds-ceph_mds.o: ceph_mds.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-ceph_mds.o -MD -MP -MF $(DEPDIR)/ceph_mds-ceph_mds.Tpo -c -o ceph_mds-ceph_mds.o `test -f 'ceph_mds.cc' || echo '$(srcdir)/'`ceph_mds.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-ceph_mds.Tpo $(DEPDIR)/ceph_mds-ceph_mds.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_mds.cc' object='ceph_mds-ceph_mds.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-ceph_mds.o `test -f 'ceph_mds.cc' || echo '$(srcdir)/'`ceph_mds.cc
-
-ceph_mds-ceph_mds.obj: ceph_mds.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-ceph_mds.obj -MD -MP -MF $(DEPDIR)/ceph_mds-ceph_mds.Tpo -c -o ceph_mds-ceph_mds.obj `if test -f 'ceph_mds.cc'; then $(CYGPATH_W) 'ceph_mds.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_mds.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-ceph_mds.Tpo $(DEPDIR)/ceph_mds-ceph_mds.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_mds.cc' object='ceph_mds-ceph_mds.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-ceph_mds.obj `if test -f 'ceph_mds.cc'; then $(CYGPATH_W) 'ceph_mds.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_mds.cc'; fi`
-
-ceph_mds-heap_profiler.o: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_mds-heap_profiler.Tpo -c -o ceph_mds-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-heap_profiler.Tpo $(DEPDIR)/ceph_mds-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_mds-heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
-
-ceph_mds-heap_profiler.obj: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_mds-heap_profiler.Tpo -c -o ceph_mds-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-heap_profiler.Tpo $(DEPDIR)/ceph_mds-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_mds-heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
-
-ceph_mds-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_mds-disabled_heap_profiler.Tpo -c -o ceph_mds-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_mds-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_mds-disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
-
-ceph_mds-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -MT ceph_mds-disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_mds-disabled_heap_profiler.Tpo -c -o ceph_mds-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mds-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_mds-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_mds-disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mds_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mds-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
-
-ceph_mon-ceph_mon.o: ceph_mon.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-ceph_mon.o -MD -MP -MF $(DEPDIR)/ceph_mon-ceph_mon.Tpo -c -o ceph_mon-ceph_mon.o `test -f 'ceph_mon.cc' || echo '$(srcdir)/'`ceph_mon.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-ceph_mon.Tpo $(DEPDIR)/ceph_mon-ceph_mon.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_mon.cc' object='ceph_mon-ceph_mon.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-ceph_mon.o `test -f 'ceph_mon.cc' || echo '$(srcdir)/'`ceph_mon.cc
-
-ceph_mon-ceph_mon.obj: ceph_mon.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-ceph_mon.obj -MD -MP -MF $(DEPDIR)/ceph_mon-ceph_mon.Tpo -c -o ceph_mon-ceph_mon.obj `if test -f 'ceph_mon.cc'; then $(CYGPATH_W) 'ceph_mon.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_mon.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-ceph_mon.Tpo $(DEPDIR)/ceph_mon-ceph_mon.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_mon.cc' object='ceph_mon-ceph_mon.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-ceph_mon.obj `if test -f 'ceph_mon.cc'; then $(CYGPATH_W) 'ceph_mon.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_mon.cc'; fi`
-
-ceph_mon-TextTable.o: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-TextTable.o -MD -MP -MF $(DEPDIR)/ceph_mon-TextTable.Tpo -c -o ceph_mon-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-TextTable.Tpo $(DEPDIR)/ceph_mon-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='ceph_mon-TextTable.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
-
-ceph_mon-TextTable.obj: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-TextTable.obj -MD -MP -MF $(DEPDIR)/ceph_mon-TextTable.Tpo -c -o ceph_mon-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-TextTable.Tpo $(DEPDIR)/ceph_mon-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='ceph_mon-TextTable.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
-
-ceph_mon-heap_profiler.o: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_mon-heap_profiler.Tpo -c -o ceph_mon-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-heap_profiler.Tpo $(DEPDIR)/ceph_mon-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_mon-heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
-
-ceph_mon-heap_profiler.obj: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_mon-heap_profiler.Tpo -c -o ceph_mon-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-heap_profiler.Tpo $(DEPDIR)/ceph_mon-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_mon-heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
-
-ceph_mon-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_mon-disabled_heap_profiler.Tpo -c -o ceph_mon-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_mon-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_mon-disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
-
-ceph_mon-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon-disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_mon-disabled_heap_profiler.Tpo -c -o ceph_mon-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_mon-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_mon-disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
-
-ceph_monstore_tool-ceph-monstore-tool.o: tools/ceph-monstore-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_monstore_tool-ceph-monstore-tool.o -MD -MP -MF $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Tpo -c -o ceph_monstore_tool-ceph-monstore-tool.o `test -f 'tools/ceph-monstore-tool.cc' || echo '$(srcdir)/'`tools/ceph-monstore-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Tpo $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-monstore-tool.cc' object='ceph_monstore_tool-ceph-monstore-tool.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_monstore_tool-ceph-monstore-tool.o `test -f 'tools/ceph-monstore-tool.cc' || echo '$(srcdir)/'`tools/ceph-monstore-tool.cc
-
-ceph_monstore_tool-ceph-monstore-tool.obj: tools/ceph-monstore-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_monstore_tool-ceph-monstore-tool.obj -MD -MP -MF $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Tpo -c -o ceph_monstore_tool-ceph-monstore-tool.obj `if test -f 'tools/ceph-monstore-tool.cc'; then $(CYGPATH_W) 'tools/ceph-monstore-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-monstore-tool.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Tpo $(DEPDIR)/ceph_monstore_tool-ceph-monstore-tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-monstore-tool.cc' object='ceph_monstore_tool-ceph-monstore-tool.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_monstore_tool-ceph-monstore-tool.obj `if test -f 'tools/ceph-monstore-tool.cc'; then $(CYGPATH_W) 'tools/ceph-monstore-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-monstore-tool.cc'; fi`
-
-ceph_monstore_tool-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_monstore_tool-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Tpo -c -o ceph_monstore_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_monstore_tool-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_monstore_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-ceph_monstore_tool-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_monstore_tool-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Tpo -c -o ceph_monstore_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_monstore_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_monstore_tool-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_monstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_monstore_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-ceph_osd-ceph_osd.o: ceph_osd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-ceph_osd.o -MD -MP -MF $(DEPDIR)/ceph_osd-ceph_osd.Tpo -c -o ceph_osd-ceph_osd.o `test -f 'ceph_osd.cc' || echo '$(srcdir)/'`ceph_osd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-ceph_osd.Tpo $(DEPDIR)/ceph_osd-ceph_osd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_osd.cc' object='ceph_osd-ceph_osd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-ceph_osd.o `test -f 'ceph_osd.cc' || echo '$(srcdir)/'`ceph_osd.cc
-
-ceph_osd-ceph_osd.obj: ceph_osd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-ceph_osd.obj -MD -MP -MF $(DEPDIR)/ceph_osd-ceph_osd.Tpo -c -o ceph_osd-ceph_osd.obj `if test -f 'ceph_osd.cc'; then $(CYGPATH_W) 'ceph_osd.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_osd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-ceph_osd.Tpo $(DEPDIR)/ceph_osd-ceph_osd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ceph_osd.cc' object='ceph_osd-ceph_osd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-ceph_osd.obj `if test -f 'ceph_osd.cc'; then $(CYGPATH_W) 'ceph_osd.cc'; else $(CYGPATH_W) '$(srcdir)/ceph_osd.cc'; fi`
-
-ceph_osd-class_debug.o: objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-class_debug.o -MD -MP -MF $(DEPDIR)/ceph_osd-class_debug.Tpo -c -o ceph_osd-class_debug.o `test -f 'objclass/class_debug.cc' || echo '$(srcdir)/'`objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-class_debug.Tpo $(DEPDIR)/ceph_osd-class_debug.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_debug.cc' object='ceph_osd-class_debug.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-class_debug.o `test -f 'objclass/class_debug.cc' || echo '$(srcdir)/'`objclass/class_debug.cc
-
-ceph_osd-class_debug.obj: objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-class_debug.obj -MD -MP -MF $(DEPDIR)/ceph_osd-class_debug.Tpo -c -o ceph_osd-class_debug.obj `if test -f 'objclass/class_debug.cc'; then $(CYGPATH_W) 'objclass/class_debug.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_debug.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-class_debug.Tpo $(DEPDIR)/ceph_osd-class_debug.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_debug.cc' object='ceph_osd-class_debug.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-class_debug.obj `if test -f 'objclass/class_debug.cc'; then $(CYGPATH_W) 'objclass/class_debug.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_debug.cc'; fi`
-
-ceph_osd-class_api.o: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-class_api.o -MD -MP -MF $(DEPDIR)/ceph_osd-class_api.Tpo -c -o ceph_osd-class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-class_api.Tpo $(DEPDIR)/ceph_osd-class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='ceph_osd-class_api.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
-
-ceph_osd-class_api.obj: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-class_api.obj -MD -MP -MF $(DEPDIR)/ceph_osd-class_api.Tpo -c -o ceph_osd-class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-class_api.Tpo $(DEPDIR)/ceph_osd-class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='ceph_osd-class_api.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
-
-ceph_osd-heap_profiler.o: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_osd-heap_profiler.Tpo -c -o ceph_osd-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-heap_profiler.Tpo $(DEPDIR)/ceph_osd-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_osd-heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
-
-ceph_osd-heap_profiler.obj: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_osd-heap_profiler.Tpo -c -o ceph_osd-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-heap_profiler.Tpo $(DEPDIR)/ceph_osd-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_osd-heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
-
-ceph_osd-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_osd-disabled_heap_profiler.Tpo -c -o ceph_osd-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_osd-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_osd-disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
-
-ceph_osd-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -MT ceph_osd-disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_osd-disabled_heap_profiler.Tpo -c -o ceph_osd-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osd-disabled_heap_profiler.Tpo $(DEPDIR)/ceph_osd-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='ceph_osd-disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osd-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
-
-ceph_osdomap_tool-ceph-osdomap-tool.o: tools/ceph-osdomap-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_osdomap_tool-ceph-osdomap-tool.o -MD -MP -MF $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Tpo -c -o ceph_osdomap_tool-ceph-osdomap-tool.o `test -f 'tools/ceph-osdomap-tool.cc' || echo '$(srcdir)/'`tools/ceph-osdomap-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Tpo $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-osdomap-tool.cc' object='ceph_osdomap_tool-ceph-osdomap-tool.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osdomap_tool-ceph-osdomap-tool.o `test -f 'tools/ceph-osdomap-tool.cc' || echo '$(srcdir)/'`tools/ceph-osdomap-tool.cc
-
-ceph_osdomap_tool-ceph-osdomap-tool.obj: tools/ceph-osdomap-tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_osdomap_tool-ceph-osdomap-tool.obj -MD -MP -MF $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Tpo -c -o ceph_osdomap_tool-ceph-osdomap-tool.obj `if test -f 'tools/ceph-osdomap-tool.cc'; then $(CYGPATH_W) 'tools/ceph-osdomap-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-osdomap-tool.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Tpo $(DEPDIR)/ceph_osdomap_tool-ceph-osdomap-tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-osdomap-tool.cc' object='ceph_osdomap_tool-ceph-osdomap-tool.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osdomap_tool-ceph-osdomap-tool.obj `if test -f 'tools/ceph-osdomap-tool.cc'; then $(CYGPATH_W) 'tools/ceph-osdomap-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-osdomap-tool.cc'; fi`
-
-ceph_osdomap_tool-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_osdomap_tool-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Tpo -c -o ceph_osdomap_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_osdomap_tool-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osdomap_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-ceph_osdomap_tool-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_osdomap_tool-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Tpo -c -o ceph_osdomap_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_osdomap_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_osdomap_tool-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_osdomap_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_osdomap_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-SyntheticClient.o: client/SyntheticClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SyntheticClient.o -MD -MP -MF $(DEPDIR)/SyntheticClient.Tpo -c -o SyntheticClient.o `test -f 'client/SyntheticClient.cc' || echo '$(srcdir)/'`client/SyntheticClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SyntheticClient.Tpo $(DEPDIR)/SyntheticClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/SyntheticClient.cc' object='SyntheticClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SyntheticClient.o `test -f 'client/SyntheticClient.cc' || echo '$(srcdir)/'`client/SyntheticClient.cc
-
-SyntheticClient.obj: client/SyntheticClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SyntheticClient.obj -MD -MP -MF $(DEPDIR)/SyntheticClient.Tpo -c -o SyntheticClient.obj `if test -f 'client/SyntheticClient.cc'; then $(CYGPATH_W) 'client/SyntheticClient.cc'; else $(CYGPATH_W) '$(srcdir)/client/SyntheticClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SyntheticClient.Tpo $(DEPDIR)/SyntheticClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/SyntheticClient.cc' object='SyntheticClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SyntheticClient.obj `if test -f 'client/SyntheticClient.cc'; then $(CYGPATH_W) 'client/SyntheticClient.cc'; else $(CYGPATH_W) '$(srcdir)/client/SyntheticClient.cc'; fi`
-
-bench_log.o: test/bench_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bench_log.o -MD -MP -MF $(DEPDIR)/bench_log.Tpo -c -o bench_log.o `test -f 'test/bench_log.cc' || echo '$(srcdir)/'`test/bench_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/bench_log.Tpo $(DEPDIR)/bench_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench_log.cc' object='bench_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o bench_log.o `test -f 'test/bench_log.cc' || echo '$(srcdir)/'`test/bench_log.cc
-
-bench_log.obj: test/bench_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bench_log.obj -MD -MP -MF $(DEPDIR)/bench_log.Tpo -c -o bench_log.obj `if test -f 'test/bench_log.cc'; then $(CYGPATH_W) 'test/bench_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/bench_log.Tpo $(DEPDIR)/bench_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench_log.cc' object='bench_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o bench_log.obj `if test -f 'test/bench_log.cc'; then $(CYGPATH_W) 'test/bench_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench_log.cc'; fi`
-
-ceph_dupstore-dupstore.o: dupstore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dupstore_CXXFLAGS) $(CXXFLAGS) -MT ceph_dupstore-dupstore.o -MD -MP -MF $(DEPDIR)/ceph_dupstore-dupstore.Tpo -c -o ceph_dupstore-dupstore.o `test -f 'dupstore.cc' || echo '$(srcdir)/'`dupstore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dupstore-dupstore.Tpo $(DEPDIR)/ceph_dupstore-dupstore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dupstore.cc' object='ceph_dupstore-dupstore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dupstore_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dupstore-dupstore.o `test -f 'dupstore.cc' || echo '$(srcdir)/'`dupstore.cc
-
-ceph_dupstore-dupstore.obj: dupstore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dupstore_CXXFLAGS) $(CXXFLAGS) -MT ceph_dupstore-dupstore.obj -MD -MP -MF $(DEPDIR)/ceph_dupstore-dupstore.Tpo -c -o ceph_dupstore-dupstore.obj `if test -f 'dupstore.cc'; then $(CYGPATH_W) 'dupstore.cc'; else $(CYGPATH_W) '$(srcdir)/dupstore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_dupstore-dupstore.Tpo $(DEPDIR)/ceph_dupstore-dupstore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dupstore.cc' object='ceph_dupstore-dupstore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dupstore_CXXFLAGS) $(CXXFLAGS) -c -o ceph_dupstore-dupstore.obj `if test -f 'dupstore.cc'; then $(CYGPATH_W) 'dupstore.cc'; else $(CYGPATH_W) '$(srcdir)/dupstore.cc'; fi`
-
-ceph-filestore-dump.o: tools/ceph-filestore-dump.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph-filestore-dump.o -MD -MP -MF $(DEPDIR)/ceph-filestore-dump.Tpo -c -o ceph-filestore-dump.o `test -f 'tools/ceph-filestore-dump.cc' || echo '$(srcdir)/'`tools/ceph-filestore-dump.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph-filestore-dump.Tpo $(DEPDIR)/ceph-filestore-dump.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-filestore-dump.cc' object='ceph-filestore-dump.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph-filestore-dump.o `test -f 'tools/ceph-filestore-dump.cc' || echo '$(srcdir)/'`tools/ceph-filestore-dump.cc
-
-ceph-filestore-dump.obj: tools/ceph-filestore-dump.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph-filestore-dump.obj -MD -MP -MF $(DEPDIR)/ceph-filestore-dump.Tpo -c -o ceph-filestore-dump.obj `if test -f 'tools/ceph-filestore-dump.cc'; then $(CYGPATH_W) 'tools/ceph-filestore-dump.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-filestore-dump.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph-filestore-dump.Tpo $(DEPDIR)/ceph-filestore-dump.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-filestore-dump.cc' object='ceph-filestore-dump.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph-filestore-dump.obj `if test -f 'tools/ceph-filestore-dump.cc'; then $(CYGPATH_W) 'tools/ceph-filestore-dump.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-filestore-dump.cc'; fi`
-
-class_debug.o: objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT class_debug.o -MD -MP -MF $(DEPDIR)/class_debug.Tpo -c -o class_debug.o `test -f 'objclass/class_debug.cc' || echo '$(srcdir)/'`objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/class_debug.Tpo $(DEPDIR)/class_debug.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_debug.cc' object='class_debug.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o class_debug.o `test -f 'objclass/class_debug.cc' || echo '$(srcdir)/'`objclass/class_debug.cc
-
-class_debug.obj: objclass/class_debug.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT class_debug.obj -MD -MP -MF $(DEPDIR)/class_debug.Tpo -c -o class_debug.obj `if test -f 'objclass/class_debug.cc'; then $(CYGPATH_W) 'objclass/class_debug.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_debug.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/class_debug.Tpo $(DEPDIR)/class_debug.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_debug.cc' object='class_debug.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o class_debug.obj `if test -f 'objclass/class_debug.cc'; then $(CYGPATH_W) 'objclass/class_debug.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_debug.cc'; fi`
-
-class_api.o: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT class_api.o -MD -MP -MF $(DEPDIR)/class_api.Tpo -c -o class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/class_api.Tpo $(DEPDIR)/class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='class_api.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
-
-class_api.obj: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT class_api.obj -MD -MP -MF $(DEPDIR)/class_api.Tpo -c -o class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/class_api.Tpo $(DEPDIR)/class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='class_api.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
-
-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/disabled_heap_profiler.Tpo -c -o disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/disabled_heap_profiler.Tpo $(DEPDIR)/disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
-
-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/disabled_heap_profiler.Tpo -c -o disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/disabled_heap_profiler.Tpo $(DEPDIR)/disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
-
-kv_store_bench.o: test/kv_store_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT kv_store_bench.o -MD -MP -MF $(DEPDIR)/kv_store_bench.Tpo -c -o kv_store_bench.o `test -f 'test/kv_store_bench.cc' || echo '$(srcdir)/'`test/kv_store_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/kv_store_bench.Tpo $(DEPDIR)/kv_store_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/kv_store_bench.cc' object='kv_store_bench.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o kv_store_bench.o `test -f 'test/kv_store_bench.cc' || echo '$(srcdir)/'`test/kv_store_bench.cc
-
-kv_store_bench.obj: test/kv_store_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT kv_store_bench.obj -MD -MP -MF $(DEPDIR)/kv_store_bench.Tpo -c -o kv_store_bench.obj `if test -f 'test/kv_store_bench.cc'; then $(CYGPATH_W) 'test/kv_store_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/kv_store_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/kv_store_bench.Tpo $(DEPDIR)/kv_store_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/kv_store_bench.cc' object='kv_store_bench.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o kv_store_bench.obj `if test -f 'test/kv_store_bench.cc'; then $(CYGPATH_W) 'test/kv_store_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/kv_store_bench.cc'; fi`
-
-kv_flat_btree_async.o: key_value_store/kv_flat_btree_async.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT kv_flat_btree_async.o -MD -MP -MF $(DEPDIR)/kv_flat_btree_async.Tpo -c -o kv_flat_btree_async.o `test -f 'key_value_store/kv_flat_btree_async.cc' || echo '$(srcdir)/'`key_value_store/kv_flat_btree_async.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/kv_flat_btree_async.Tpo $(DEPDIR)/kv_flat_btree_async.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='key_value_store/kv_flat_btree_async.cc' object='kv_flat_btree_async.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o kv_flat_btree_async.o `test -f 'key_value_store/kv_flat_btree_async.cc' || echo '$(srcdir)/'`key_value_store/kv_flat_btree_async.cc
-
-kv_flat_btree_async.obj: key_value_store/kv_flat_btree_async.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT kv_flat_btree_async.obj -MD -MP -MF $(DEPDIR)/kv_flat_btree_async.Tpo -c -o kv_flat_btree_async.obj `if test -f 'key_value_store/kv_flat_btree_async.cc'; then $(CYGPATH_W) 'key_value_store/kv_flat_btree_async.cc'; else $(CYGPATH_W) '$(srcdir)/key_value_store/kv_flat_btree_async.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/kv_flat_btree_async.Tpo $(DEPDIR)/kv_flat_btree_async.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='key_value_store/kv_flat_btree_async.cc' object='kv_flat_btree_async.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o kv_flat_btree_async.obj `if test -f 'key_value_store/kv_flat_btree_async.cc'; then $(CYGPATH_W) 'key_value_store/kv_flat_btree_async.cc'; else $(CYGPATH_W) '$(srcdir)/key_value_store/kv_flat_btree_async.cc'; fi`
-
-ceph_mon_store_converter-mon_store_converter.o: mon_store_converter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon_store_converter-mon_store_converter.o -MD -MP -MF $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Tpo -c -o ceph_mon_store_converter-mon_store_converter.o `test -f 'mon_store_converter.cc' || echo '$(srcdir)/'`mon_store_converter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Tpo $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon_store_converter.cc' object='ceph_mon_store_converter-mon_store_converter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon_store_converter-mon_store_converter.o `test -f 'mon_store_converter.cc' || echo '$(srcdir)/'`mon_store_converter.cc
-
-ceph_mon_store_converter-mon_store_converter.obj: mon_store_converter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon_store_converter-mon_store_converter.obj -MD -MP -MF $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Tpo -c -o ceph_mon_store_converter-mon_store_converter.obj `if test -f 'mon_store_converter.cc'; then $(CYGPATH_W) 'mon_store_converter.cc'; else $(CYGPATH_W) '$(srcdir)/mon_store_converter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Tpo $(DEPDIR)/ceph_mon_store_converter-mon_store_converter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon_store_converter.cc' object='ceph_mon_store_converter-mon_store_converter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon_store_converter-mon_store_converter.obj `if test -f 'mon_store_converter.cc'; then $(CYGPATH_W) 'mon_store_converter.cc'; else $(CYGPATH_W) '$(srcdir)/mon_store_converter.cc'; fi`
-
-ceph_mon_store_converter-MonitorStore.o: mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon_store_converter-MonitorStore.o -MD -MP -MF $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Tpo -c -o ceph_mon_store_converter-MonitorStore.o `test -f 'mon/MonitorStore.cc' || echo '$(srcdir)/'`mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Tpo $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonitorStore.cc' object='ceph_mon_store_converter-MonitorStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon_store_converter-MonitorStore.o `test -f 'mon/MonitorStore.cc' || echo '$(srcdir)/'`mon/MonitorStore.cc
-
-ceph_mon_store_converter-MonitorStore.obj: mon/MonitorStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -MT ceph_mon_store_converter-MonitorStore.obj -MD -MP -MF $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Tpo -c -o ceph_mon_store_converter-MonitorStore.obj `if test -f 'mon/MonitorStore.cc'; then $(CYGPATH_W) 'mon/MonitorStore.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonitorStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Tpo $(DEPDIR)/ceph_mon_store_converter-MonitorStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonitorStore.cc' object='ceph_mon_store_converter-MonitorStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_mon_store_converter_CXXFLAGS) $(CXXFLAGS) -c -o ceph_mon_store_converter-MonitorStore.obj `if test -f 'mon/MonitorStore.cc'; then $(CYGPATH_W) 'mon/MonitorStore.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonitorStore.cc'; fi`
-
-multi_stress_watch.o: test/multi_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT multi_stress_watch.o -MD -MP -MF $(DEPDIR)/multi_stress_watch.Tpo -c -o multi_stress_watch.o `test -f 'test/multi_stress_watch.cc' || echo '$(srcdir)/'`test/multi_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_stress_watch.Tpo $(DEPDIR)/multi_stress_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/multi_stress_watch.cc' object='multi_stress_watch.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o multi_stress_watch.o `test -f 'test/multi_stress_watch.cc' || echo '$(srcdir)/'`test/multi_stress_watch.cc
-
-multi_stress_watch.obj: test/multi_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT multi_stress_watch.obj -MD -MP -MF $(DEPDIR)/multi_stress_watch.Tpo -c -o multi_stress_watch.obj `if test -f 'test/multi_stress_watch.cc'; then $(CYGPATH_W) 'test/multi_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/multi_stress_watch.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_stress_watch.Tpo $(DEPDIR)/multi_stress_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/multi_stress_watch.cc' object='multi_stress_watch.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o multi_stress_watch.obj `if test -f 'test/multi_stress_watch.cc'; then $(CYGPATH_W) 'test/multi_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/multi_stress_watch.cc'; fi`
-
-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test.o -MD -MP -MF $(DEPDIR)/test.Tpo -c -o test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test.Tpo $(DEPDIR)/test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test.obj -MD -MP -MF $(DEPDIR)/test.Tpo -c -o test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test.Tpo $(DEPDIR)/test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-omap_bench.o: test/omap_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT omap_bench.o -MD -MP -MF $(DEPDIR)/omap_bench.Tpo -c -o omap_bench.o `test -f 'test/omap_bench.cc' || echo '$(srcdir)/'`test/omap_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/omap_bench.Tpo $(DEPDIR)/omap_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/omap_bench.cc' object='omap_bench.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o omap_bench.o `test -f 'test/omap_bench.cc' || echo '$(srcdir)/'`test/omap_bench.cc
-
-omap_bench.obj: test/omap_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT omap_bench.obj -MD -MP -MF $(DEPDIR)/omap_bench.Tpo -c -o omap_bench.obj `if test -f 'test/omap_bench.cc'; then $(CYGPATH_W) 'test/omap_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/omap_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/omap_bench.Tpo $(DEPDIR)/omap_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/omap_bench.cc' object='omap_bench.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o omap_bench.obj `if test -f 'test/omap_bench.cc'; then $(CYGPATH_W) 'test/omap_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/omap_bench.cc'; fi`
-
-ceph_rgw_jsonparser-rgw_jsonparser.o: rgw/rgw_jsonparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_jsonparser.o -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Tpo -c -o ceph_rgw_jsonparser-rgw_jsonparser.o `test -f 'rgw/rgw_jsonparser.cc' || echo '$(srcdir)/'`rgw/rgw_jsonparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_jsonparser.cc' object='ceph_rgw_jsonparser-rgw_jsonparser.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_jsonparser.o `test -f 'rgw/rgw_jsonparser.cc' || echo '$(srcdir)/'`rgw/rgw_jsonparser.cc
-
-ceph_rgw_jsonparser-rgw_jsonparser.obj: rgw/rgw_jsonparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_jsonparser.obj -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Tpo -c -o ceph_rgw_jsonparser-rgw_jsonparser.obj `if test -f 'rgw/rgw_jsonparser.cc'; then $(CYGPATH_W) 'rgw/rgw_jsonparser.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_jsonparser.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_jsonparser.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_jsonparser.cc' object='ceph_rgw_jsonparser-rgw_jsonparser.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_jsonparser.obj `if test -f 'rgw/rgw_jsonparser.cc'; then $(CYGPATH_W) 'rgw/rgw_jsonparser.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_jsonparser.cc'; fi`
-
-ceph_rgw_jsonparser-rgw_common.o: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_common.o -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Tpo -c -o ceph_rgw_jsonparser-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='ceph_rgw_jsonparser-rgw_common.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
-
-ceph_rgw_jsonparser-rgw_common.obj: rgw/rgw_common.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_common.obj -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Tpo -c -o ceph_rgw_jsonparser-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_common.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='ceph_rgw_jsonparser-rgw_common.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
-
-ceph_rgw_jsonparser-rgw_env.o: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_env.o -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Tpo -c -o ceph_rgw_jsonparser-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='ceph_rgw_jsonparser-rgw_env.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
-
-ceph_rgw_jsonparser-rgw_env.obj: rgw/rgw_env.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_env.obj -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Tpo -c -o ceph_rgw_jsonparser-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_env.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='ceph_rgw_jsonparser-rgw_env.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
-
-ceph_rgw_jsonparser-rgw_json_enc.o: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_json_enc.o -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Tpo -c -o ceph_rgw_jsonparser-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='ceph_rgw_jsonparser-rgw_json_enc.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
-
-ceph_rgw_jsonparser-rgw_json_enc.obj: rgw/rgw_json_enc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_jsonparser-rgw_json_enc.obj -MD -MP -MF $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Tpo -c -o ceph_rgw_jsonparser-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Tpo $(DEPDIR)/ceph_rgw_jsonparser-rgw_json_enc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='ceph_rgw_jsonparser-rgw_json_enc.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_jsonparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_jsonparser-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
-
-ceph_rgw_multiparser-rgw_multiparser.o: rgw/rgw_multiparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_multiparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_multiparser-rgw_multiparser.o -MD -MP -MF $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Tpo -c -o ceph_rgw_multiparser-rgw_multiparser.o `test -f 'rgw/rgw_multiparser.cc' || echo '$(srcdir)/'`rgw/rgw_multiparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Tpo $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multiparser.cc' object='ceph_rgw_multiparser-rgw_multiparser.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_multiparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_multiparser-rgw_multiparser.o `test -f 'rgw/rgw_multiparser.cc' || echo '$(srcdir)/'`rgw/rgw_multiparser.cc
-
-ceph_rgw_multiparser-rgw_multiparser.obj: rgw/rgw_multiparser.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_multiparser_CXXFLAGS) $(CXXFLAGS) -MT ceph_rgw_multiparser-rgw_multiparser.obj -MD -MP -MF $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Tpo -c -o ceph_rgw_multiparser-rgw_multiparser.obj `if test -f 'rgw/rgw_multiparser.cc'; then $(CYGPATH_W) 'rgw/rgw_multiparser.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multiparser.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Tpo $(DEPDIR)/ceph_rgw_multiparser-rgw_multiparser.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multiparser.cc' object='ceph_rgw_multiparser-rgw_multiparser.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_rgw_multiparser_CXXFLAGS) $(CXXFLAGS) -c -o ceph_rgw_multiparser-rgw_multiparser.obj `if test -f 'rgw/rgw_multiparser.cc'; then $(CYGPATH_W) 'rgw/rgw_multiparser.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multiparser.cc'; fi`
-
-small_io_bench.o: test/bench/small_io_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT small_io_bench.o -MD -MP -MF $(DEPDIR)/small_io_bench.Tpo -c -o small_io_bench.o `test -f 'test/bench/small_io_bench.cc' || echo '$(srcdir)/'`test/bench/small_io_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/small_io_bench.Tpo $(DEPDIR)/small_io_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench.cc' object='small_io_bench.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o small_io_bench.o `test -f 'test/bench/small_io_bench.cc' || echo '$(srcdir)/'`test/bench/small_io_bench.cc
-
-small_io_bench.obj: test/bench/small_io_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT small_io_bench.obj -MD -MP -MF $(DEPDIR)/small_io_bench.Tpo -c -o small_io_bench.obj `if test -f 'test/bench/small_io_bench.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/small_io_bench.Tpo $(DEPDIR)/small_io_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench.cc' object='small_io_bench.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o small_io_bench.obj `if test -f 'test/bench/small_io_bench.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench.cc'; fi`
-
-rados_backend.o: test/bench/rados_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_backend.o -MD -MP -MF $(DEPDIR)/rados_backend.Tpo -c -o rados_backend.o `test -f 'test/bench/rados_backend.cc' || echo '$(srcdir)/'`test/bench/rados_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_backend.Tpo $(DEPDIR)/rados_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/rados_backend.cc' object='rados_backend.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_backend.o `test -f 'test/bench/rados_backend.cc' || echo '$(srcdir)/'`test/bench/rados_backend.cc
-
-rados_backend.obj: test/bench/rados_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_backend.obj -MD -MP -MF $(DEPDIR)/rados_backend.Tpo -c -o rados_backend.obj `if test -f 'test/bench/rados_backend.cc'; then $(CYGPATH_W) 'test/bench/rados_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/rados_backend.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_backend.Tpo $(DEPDIR)/rados_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/rados_backend.cc' object='rados_backend.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_backend.obj `if test -f 'test/bench/rados_backend.cc'; then $(CYGPATH_W) 'test/bench/rados_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/rados_backend.cc'; fi`
-
-detailed_stat_collector.o: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT detailed_stat_collector.o -MD -MP -MF $(DEPDIR)/detailed_stat_collector.Tpo -c -o detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/detailed_stat_collector.Tpo $(DEPDIR)/detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='detailed_stat_collector.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
-
-detailed_stat_collector.obj: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT detailed_stat_collector.obj -MD -MP -MF $(DEPDIR)/detailed_stat_collector.Tpo -c -o detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detailed_stat_collector.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/detailed_stat_collector.Tpo $(DEPDIR)/detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='detailed_stat_collector.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detailed_stat_collector.cc'; fi`
-
-bencher.o: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bencher.o -MD -MP -MF $(DEPDIR)/bencher.Tpo -c -o bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/bencher.Tpo $(DEPDIR)/bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='bencher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
-
-bencher.obj: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bencher.obj -MD -MP -MF $(DEPDIR)/bencher.Tpo -c -o bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/bencher.Tpo $(DEPDIR)/bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='bencher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
-
-ceph_smalliobenchdumb-small_io_bench_dumb.o: test/bench/small_io_bench_dumb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-small_io_bench_dumb.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Tpo -c -o ceph_smalliobenchdumb-small_io_bench_dumb.o `test -f 'test/bench/small_io_bench_dumb.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_dumb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Tpo $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_dumb.cc' object='ceph_smalliobenchdumb-small_io_bench_dumb.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-small_io_bench_dumb.o `test -f 'test/bench/small_io_bench_dumb.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_dumb.cc
-
-ceph_smalliobenchdumb-small_io_bench_dumb.obj: test/bench/small_io_bench_dumb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-small_io_bench_dumb.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Tpo -c -o ceph_smalliobenchdumb-small_io_bench_dumb.obj `if test -f 'test/bench/small_io_bench_dumb.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_dumb.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_dumb.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Tpo $(DEPDIR)/ceph_smalliobenchdumb-small_io_bench_dumb.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_dumb.cc' object='ceph_smalliobenchdumb-small_io_bench_dumb.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-small_io_bench_dumb.obj `if test -f 'test/bench/small_io_bench_dumb.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_dumb.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_dumb.cc'; fi`
-
-ceph_smalliobenchdumb-dumb_backend.o: test/bench/dumb_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-dumb_backend.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Tpo -c -o ceph_smalliobenchdumb-dumb_backend.o `test -f 'test/bench/dumb_backend.cc' || echo '$(srcdir)/'`test/bench/dumb_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Tpo $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/dumb_backend.cc' object='ceph_smalliobenchdumb-dumb_backend.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-dumb_backend.o `test -f 'test/bench/dumb_backend.cc' || echo '$(srcdir)/'`test/bench/dumb_backend.cc
-
-ceph_smalliobenchdumb-dumb_backend.obj: test/bench/dumb_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-dumb_backend.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Tpo -c -o ceph_smalliobenchdumb-dumb_backend.obj `if test -f 'test/bench/dumb_backend.cc'; then $(CYGPATH_W) 'test/bench/dumb_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/dumb_backend.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Tpo $(DEPDIR)/ceph_smalliobenchdumb-dumb_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/dumb_backend.cc' object='ceph_smalliobenchdumb-dumb_backend.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-dumb_backend.obj `if test -f 'test/bench/dumb_backend.cc'; then $(CYGPATH_W) 'test/bench/dumb_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/dumb_backend.cc'; fi`
-
-ceph_smalliobenchdumb-detailed_stat_collector.o: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-detailed_stat_collector.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Tpo -c -o ceph_smalliobenchdumb-detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Tpo $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='ceph_smalliobenchdumb-detailed_stat_collector.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
-
-ceph_smalliobenchdumb-detailed_stat_collector.obj: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-detailed_stat_collector.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Tpo -c -o ceph_smalliobenchdumb-detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detai [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Tpo $(DEPDIR)/ceph_smalliobenchdumb-detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='ceph_smalliobenchdumb-detailed_stat_collector.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detailed_stat_collector.cc'; fi`
-
-ceph_smalliobenchdumb-bencher.o: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-bencher.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-bencher.Tpo -c -o ceph_smalliobenchdumb-bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-bencher.Tpo $(DEPDIR)/ceph_smalliobenchdumb-bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='ceph_smalliobenchdumb-bencher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
-
-ceph_smalliobenchdumb-bencher.obj: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchdumb-bencher.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchdumb-bencher.Tpo -c -o ceph_smalliobenchdumb-bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchdumb-bencher.Tpo $(DEPDIR)/ceph_smalliobenchdumb-bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='ceph_smalliobenchdumb-bencher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchdumb_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchdumb-bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
-
-ceph_smalliobenchfs-small_io_bench_fs.o: test/bench/small_io_bench_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-small_io_bench_fs.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Tpo -c -o ceph_smalliobenchfs-small_io_bench_fs.o `test -f 'test/bench/small_io_bench_fs.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Tpo $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_fs.cc' object='ceph_smalliobenchfs-small_io_bench_fs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-small_io_bench_fs.o `test -f 'test/bench/small_io_bench_fs.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_fs.cc
-
-ceph_smalliobenchfs-small_io_bench_fs.obj: test/bench/small_io_bench_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-small_io_bench_fs.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Tpo -c -o ceph_smalliobenchfs-small_io_bench_fs.obj `if test -f 'test/bench/small_io_bench_fs.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_fs.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Tpo $(DEPDIR)/ceph_smalliobenchfs-small_io_bench_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_fs.cc' object='ceph_smalliobenchfs-small_io_bench_fs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-small_io_bench_fs.obj `if test -f 'test/bench/small_io_bench_fs.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_fs.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_fs.cc'; fi`
-
-ceph_smalliobenchfs-filestore_backend.o: test/bench/filestore_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-filestore_backend.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Tpo -c -o ceph_smalliobenchfs-filestore_backend.o `test -f 'test/bench/filestore_backend.cc' || echo '$(srcdir)/'`test/bench/filestore_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Tpo $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/filestore_backend.cc' object='ceph_smalliobenchfs-filestore_backend.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-filestore_backend.o `test -f 'test/bench/filestore_backend.cc' || echo '$(srcdir)/'`test/bench/filestore_backend.cc
-
-ceph_smalliobenchfs-filestore_backend.obj: test/bench/filestore_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-filestore_backend.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Tpo -c -o ceph_smalliobenchfs-filestore_backend.obj `if test -f 'test/bench/filestore_backend.cc'; then $(CYGPATH_W) 'test/bench/filestore_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/filestore_backend.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Tpo $(DEPDIR)/ceph_smalliobenchfs-filestore_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/filestore_backend.cc' object='ceph_smalliobenchfs-filestore_backend.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-filestore_backend.obj `if test -f 'test/bench/filestore_backend.cc'; then $(CYGPATH_W) 'test/bench/filestore_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/filestore_backend.cc'; fi`
-
-ceph_smalliobenchfs-detailed_stat_collector.o: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-detailed_stat_collector.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Tpo -c -o ceph_smalliobenchfs-detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Tpo $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='ceph_smalliobenchfs-detailed_stat_collector.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-detailed_stat_collector.o `test -f 'test/bench/detailed_stat_collector.cc' || echo '$(srcdir)/'`test/bench/detailed_stat_collector.cc
-
-ceph_smalliobenchfs-detailed_stat_collector.obj: test/bench/detailed_stat_collector.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-detailed_stat_collector.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Tpo -c -o ceph_smalliobenchfs-detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detailed_stat [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Tpo $(DEPDIR)/ceph_smalliobenchfs-detailed_stat_collector.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/detailed_stat_collector.cc' object='ceph_smalliobenchfs-detailed_stat_collector.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-detailed_stat_collector.obj `if test -f 'test/bench/detailed_stat_collector.cc'; then $(CYGPATH_W) 'test/bench/detailed_stat_collector.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/detailed_stat_collector.cc'; fi`
-
-ceph_smalliobenchfs-bencher.o: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-bencher.o -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-bencher.Tpo -c -o ceph_smalliobenchfs-bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-bencher.Tpo $(DEPDIR)/ceph_smalliobenchfs-bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='ceph_smalliobenchfs-bencher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-bencher.o `test -f 'test/bench/bencher.cc' || echo '$(srcdir)/'`test/bench/bencher.cc
-
-ceph_smalliobenchfs-bencher.obj: test/bench/bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_smalliobenchfs-bencher.obj -MD -MP -MF $(DEPDIR)/ceph_smalliobenchfs-bencher.Tpo -c -o ceph_smalliobenchfs-bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_smalliobenchfs-bencher.Tpo $(DEPDIR)/ceph_smalliobenchfs-bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/bencher.cc' object='ceph_smalliobenchfs-bencher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_smalliobenchfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_smalliobenchfs-bencher.obj `if test -f 'test/bench/bencher.cc'; then $(CYGPATH_W) 'test/bench/bencher.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/bencher.cc'; fi`
-
-small_io_bench_rbd.o: test/bench/small_io_bench_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT small_io_bench_rbd.o -MD -MP -MF $(DEPDIR)/small_io_bench_rbd.Tpo -c -o small_io_bench_rbd.o `test -f 'test/bench/small_io_bench_rbd.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/small_io_bench_rbd.Tpo $(DEPDIR)/small_io_bench_rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_rbd.cc' object='small_io_bench_rbd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o small_io_bench_rbd.o `test -f 'test/bench/small_io_bench_rbd.cc' || echo '$(srcdir)/'`test/bench/small_io_bench_rbd.cc
-
-small_io_bench_rbd.obj: test/bench/small_io_bench_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT small_io_bench_rbd.obj -MD -MP -MF $(DEPDIR)/small_io_bench_rbd.Tpo -c -o small_io_bench_rbd.obj `if test -f 'test/bench/small_io_bench_rbd.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_rbd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/small_io_bench_rbd.Tpo $(DEPDIR)/small_io_bench_rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/small_io_bench_rbd.cc' object='small_io_bench_rbd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o small_io_bench_rbd.obj `if test -f 'test/bench/small_io_bench_rbd.cc'; then $(CYGPATH_W) 'test/bench/small_io_bench_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/small_io_bench_rbd.cc'; fi`
-
-rbd_backend.o: test/bench/rbd_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rbd_backend.o -MD -MP -MF $(DEPDIR)/rbd_backend.Tpo -c -o rbd_backend.o `test -f 'test/bench/rbd_backend.cc' || echo '$(srcdir)/'`test/bench/rbd_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd_backend.Tpo $(DEPDIR)/rbd_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/rbd_backend.cc' object='rbd_backend.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rbd_backend.o `test -f 'test/bench/rbd_backend.cc' || echo '$(srcdir)/'`test/bench/rbd_backend.cc
-
-rbd_backend.obj: test/bench/rbd_backend.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rbd_backend.obj -MD -MP -MF $(DEPDIR)/rbd_backend.Tpo -c -o rbd_backend.obj `if test -f 'test/bench/rbd_backend.cc'; then $(CYGPATH_W) 'test/bench/rbd_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/rbd_backend.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd_backend.Tpo $(DEPDIR)/rbd_backend.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/rbd_backend.cc' object='rbd_backend.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rbd_backend.obj `if test -f 'test/bench/rbd_backend.cc'; then $(CYGPATH_W) 'test/bench/rbd_backend.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/rbd_backend.cc'; fi`
-
-ceph_streamtest-streamtest.o: streamtest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_streamtest_CXXFLAGS) $(CXXFLAGS) -MT ceph_streamtest-streamtest.o -MD -MP -MF $(DEPDIR)/ceph_streamtest-streamtest.Tpo -c -o ceph_streamtest-streamtest.o `test -f 'streamtest.cc' || echo '$(srcdir)/'`streamtest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_streamtest-streamtest.Tpo $(DEPDIR)/ceph_streamtest-streamtest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='streamtest.cc' object='ceph_streamtest-streamtest.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_streamtest_CXXFLAGS) $(CXXFLAGS) -c -o ceph_streamtest-streamtest.o `test -f 'streamtest.cc' || echo '$(srcdir)/'`streamtest.cc
-
-ceph_streamtest-streamtest.obj: streamtest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_streamtest_CXXFLAGS) $(CXXFLAGS) -MT ceph_streamtest-streamtest.obj -MD -MP -MF $(DEPDIR)/ceph_streamtest-streamtest.Tpo -c -o ceph_streamtest-streamtest.obj `if test -f 'streamtest.cc'; then $(CYGPATH_W) 'streamtest.cc'; else $(CYGPATH_W) '$(srcdir)/streamtest.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_streamtest-streamtest.Tpo $(DEPDIR)/ceph_streamtest-streamtest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='streamtest.cc' object='ceph_streamtest-streamtest.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_streamtest_CXXFLAGS) $(CXXFLAGS) -c -o ceph_streamtest-streamtest.obj `if test -f 'streamtest.cc'; then $(CYGPATH_W) 'streamtest.cc'; else $(CYGPATH_W) '$(srcdir)/streamtest.cc'; fi`
-
-ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.o: test/test_cfuse_cache_invalidate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cfuse_cache_invalidate_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.o -MD -MP -MF $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Tpo -c -o ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.o `test -f 'test/test_cfuse_cache_invalidate.cc' || echo '$(srcdir)/'`test/test_cfuse_cache_invalidate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Tpo $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cfuse_cache_invalidate.cc' object='ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cfuse_cache_invalidate_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.o `test -f 'test/test_cfuse_cache_invalidate.cc' || echo '$(srcdir)/'`test/test_cfuse_cache_invalidate.cc
-
-ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.obj: test/test_cfuse_cache_invalidate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cfuse_cache_invalidate_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.obj -MD -MP -MF $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Tpo -c -o ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.obj `if test -f 'test/test_cfuse_cache_invalidate.cc'; then $(CYGPATH_W) 'test/test_cfuse_cache_invalidat [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Tpo $(DEPDIR)/ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cfuse_cache_invalidate.cc' object='ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cfuse_cache_invalidate_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cfuse_cache_invalidate-test_cfuse_cache_invalidate.obj `if test -f 'test/test_cfuse_cache_invalidate.cc'; then $(CYGPATH_W) 'test/test_cfuse_cache_invalidate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_cfuse_cache_invalidate.cc'; fi`
-
-ceph_test_cls_lock-test_cls_lock.o: test/cls_lock/test_cls_lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_lock-test_cls_lock.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo -c -o ceph_test_cls_lock-test_cls_lock.o `test -f 'test/cls_lock/test_cls_lock.cc' || echo '$(srcdir)/'`test/cls_lock/test_cls_lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_lock/test_cls_lock.cc' object='ceph_test_cls_lock-test_cls_lock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_lock-test_cls_lock.o `test -f 'test/cls_lock/test_cls_lock.cc' || echo '$(srcdir)/'`test/cls_lock/test_cls_lock.cc
-
-ceph_test_cls_lock-test_cls_lock.obj: test/cls_lock/test_cls_lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_lock-test_cls_lock.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo -c -o ceph_test_cls_lock-test_cls_lock.obj `if test -f 'test/cls_lock/test_cls_lock.cc'; then $(CYGPATH_W) 'test/cls_lock/test_cls_lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_lock/test_cls_lock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo $(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_lock/test_cls_lock.cc' object='ceph_test_cls_lock-test_cls_lock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_lock-test_cls_lock.obj `if test -f 'test/cls_lock/test_cls_lock.cc'; then $(CYGPATH_W) 'test/cls_lock/test_cls_lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_lock/test_cls_lock.cc'; fi`
-
-ceph_test_cls_lock-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_lock-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_lock-test.Tpo -c -o ceph_test_cls_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_lock-test.Tpo $(DEPDIR)/ceph_test_cls_lock-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_lock-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_lock-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_lock-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_lock-test.Tpo -c -o ceph_test_cls_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_lock-test.Tpo $(DEPDIR)/ceph_test_cls_lock-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_lock-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_log-test_cls_log.o: test/cls_log/test_cls_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_log-test_cls_log.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo -c -o ceph_test_cls_log-test_cls_log.o `test -f 'test/cls_log/test_cls_log.cc' || echo '$(srcdir)/'`test/cls_log/test_cls_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo $(DEPDIR)/ceph_test_cls_log-test_cls_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_log/test_cls_log.cc' object='ceph_test_cls_log-test_cls_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_log-test_cls_log.o `test -f 'test/cls_log/test_cls_log.cc' || echo '$(srcdir)/'`test/cls_log/test_cls_log.cc
-
-ceph_test_cls_log-test_cls_log.obj: test/cls_log/test_cls_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_log-test_cls_log.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo -c -o ceph_test_cls_log-test_cls_log.obj `if test -f 'test/cls_log/test_cls_log.cc'; then $(CYGPATH_W) 'test/cls_log/test_cls_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_log/test_cls_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo $(DEPDIR)/ceph_test_cls_log-test_cls_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_log/test_cls_log.cc' object='ceph_test_cls_log-test_cls_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_log-test_cls_log.obj `if test -f 'test/cls_log/test_cls_log.cc'; then $(CYGPATH_W) 'test/cls_log/test_cls_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_log/test_cls_log.cc'; fi`
-
-ceph_test_cls_log-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_log-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_log-test.Tpo -c -o ceph_test_cls_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_log-test.Tpo $(DEPDIR)/ceph_test_cls_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_log-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_log-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_log-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_log-test.Tpo -c -o ceph_test_cls_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_log-test.Tpo $(DEPDIR)/ceph_test_cls_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_log-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_rbd-test_cls_rbd.o: test/cls_rbd/test_cls_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-test_cls_rbd.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo -c -o ceph_test_cls_rbd-test_cls_rbd.o `test -f 'test/cls_rbd/test_cls_rbd.cc' || echo '$(srcdir)/'`test/cls_rbd/test_cls_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rbd/test_cls_rbd.cc' object='ceph_test_cls_rbd-test_cls_rbd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-test_cls_rbd.o `test -f 'test/cls_rbd/test_cls_rbd.cc' || echo '$(srcdir)/'`test/cls_rbd/test_cls_rbd.cc
-
-ceph_test_cls_rbd-test_cls_rbd.obj: test/cls_rbd/test_cls_rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-test_cls_rbd.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo -c -o ceph_test_cls_rbd-test_cls_rbd.obj `if test -f 'test/cls_rbd/test_cls_rbd.cc'; then $(CYGPATH_W) 'test/cls_rbd/test_cls_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rbd/test_cls_rbd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo $(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rbd/test_cls_rbd.cc' object='ceph_test_cls_rbd-test_cls_rbd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-test_cls_rbd.obj `if test -f 'test/cls_rbd/test_cls_rbd.cc'; then $(CYGPATH_W) 'test/cls_rbd/test_cls_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rbd/test_cls_rbd.cc'; fi`
-
-ceph_test_cls_rbd-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-test.Tpo -c -o ceph_test_cls_rbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-test.Tpo $(DEPDIR)/ceph_test_cls_rbd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_rbd-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_rbd-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-test.Tpo -c -o ceph_test_cls_rbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-test.Tpo $(DEPDIR)/ceph_test_cls_rbd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_rbd-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_rbd-cls_rbd_client.o: cls/rbd/cls_rbd_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_rbd_client.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Tpo -c -o ceph_test_cls_rbd-cls_rbd_client.o `test -f 'cls/rbd/cls_rbd_client.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rbd/cls_rbd_client.cc' object='ceph_test_cls_rbd-cls_rbd_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_rbd_client.o `test -f 'cls/rbd/cls_rbd_client.cc' || echo '$(srcdir)/'`cls/rbd/cls_rbd_client.cc
-
-ceph_test_cls_rbd-cls_rbd_client.obj: cls/rbd/cls_rbd_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_rbd_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Tpo -c -o ceph_test_cls_rbd-cls_rbd_client.obj `if test -f 'cls/rbd/cls_rbd_client.cc'; then $(CYGPATH_W) 'cls/rbd/cls_rbd_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rbd/cls_rbd_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_rbd_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/rbd/cls_rbd_client.cc' object='ceph_test_cls_rbd-cls_rbd_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_rbd_client.obj `if test -f 'cls/rbd/cls_rbd_client.cc'; then $(CYGPATH_W) 'cls/rbd/cls_rbd_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/rbd/cls_rbd_client.cc'; fi`
-
-ceph_test_cls_rbd-cls_lock_client.o: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_client.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Tpo -c -o ceph_test_cls_rbd-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_cls_rbd-cls_lock_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
-
-ceph_test_cls_rbd-cls_lock_client.obj: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Tpo -c -o ceph_test_cls_rbd-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_cls_rbd-cls_lock_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
-
-ceph_test_cls_rbd-cls_lock_types.o: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_types.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Tpo -c -o ceph_test_cls_rbd-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_cls_rbd-cls_lock_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
-
-ceph_test_cls_rbd-cls_lock_types.obj: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Tpo -c -o ceph_test_cls_rbd-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_cls_rbd-cls_lock_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
-
-ceph_test_cls_rbd-cls_lock_ops.o: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_ops.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Tpo -c -o ceph_test_cls_rbd-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_cls_rbd-cls_lock_ops.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
-
-ceph_test_cls_rbd-cls_lock_ops.obj: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rbd-cls_lock_ops.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Tpo -c -o ceph_test_cls_rbd-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_cls_rbd-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_cls_rbd-cls_lock_ops.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rbd-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
-
-ceph_test_cls_refcount-test_cls_refcount.o: test/cls_refcount/test_cls_refcount.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_refcount-test_cls_refcount.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo -c -o ceph_test_cls_refcount-test_cls_refcount.o `test -f 'test/cls_refcount/test_cls_refcount.cc' || echo '$(srcdir)/'`test/cls_refcount/test_cls_refcount.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_refcount/test_cls_refcount.cc' object='ceph_test_cls_refcount-test_cls_refcount.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_refcount-test_cls_refcount.o `test -f 'test/cls_refcount/test_cls_refcount.cc' || echo '$(srcdir)/'`test/cls_refcount/test_cls_refcount.cc
-
-ceph_test_cls_refcount-test_cls_refcount.obj: test/cls_refcount/test_cls_refcount.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_refcount-test_cls_refcount.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo -c -o ceph_test_cls_refcount-test_cls_refcount.obj `if test -f 'test/cls_refcount/test_cls_refcount.cc'; then $(CYGPATH_W) 'test/cls_refcount/test_cls_refcount.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_refcount/test_cls_r [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo $(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_refcount/test_cls_refcount.cc' object='ceph_test_cls_refcount-test_cls_refcount.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_refcount-test_cls_refcount.obj `if test -f 'test/cls_refcount/test_cls_refcount.cc'; then $(CYGPATH_W) 'test/cls_refcount/test_cls_refcount.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_refcount/test_cls_refcount.cc'; fi`
-
-ceph_test_cls_refcount-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_refcount-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_refcount-test.Tpo -c -o ceph_test_cls_refcount-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_refcount-test.Tpo $(DEPDIR)/ceph_test_cls_refcount-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_refcount-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_refcount-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_refcount-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_refcount-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_refcount-test.Tpo -c -o ceph_test_cls_refcount-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_refcount-test.Tpo $(DEPDIR)/ceph_test_cls_refcount-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_refcount-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_refcount-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_replica_log-test_cls_replica_log.o: test/cls_replica_log/test_cls_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_replica_log-test_cls_replica_log.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo -c -o ceph_test_cls_replica_log-test_cls_replica_log.o `test -f 'test/cls_replica_log/test_cls_replica_log.cc' || echo '$(srcdir)/'`test/cls_replica_log/test_cls_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_replica_log/test_cls_replica_log.cc' object='ceph_test_cls_replica_log-test_cls_replica_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_replica_log-test_cls_replica_log.o `test -f 'test/cls_replica_log/test_cls_replica_log.cc' || echo '$(srcdir)/'`test/cls_replica_log/test_cls_replica_log.cc
-
-ceph_test_cls_replica_log-test_cls_replica_log.obj: test/cls_replica_log/test_cls_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_replica_log-test_cls_replica_log.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo -c -o ceph_test_cls_replica_log-test_cls_replica_log.obj `if test -f 'test/cls_replica_log/test_cls_replica_log.cc'; then $(CYGPATH_W) 'test/cls_replica_log/test_cls_replica_log.cc'; else $(CYGPATH_W) '$(src [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo $(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_replica_log/test_cls_replica_log.cc' object='ceph_test_cls_replica_log-test_cls_replica_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_replica_log-test_cls_replica_log.obj `if test -f 'test/cls_replica_log/test_cls_replica_log.cc'; then $(CYGPATH_W) 'test/cls_replica_log/test_cls_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_replica_log/test_cls_replica_log.cc'; fi`
-
-ceph_test_cls_replica_log-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_replica_log-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_replica_log-test.Tpo -c -o ceph_test_cls_replica_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_replica_log-test.Tpo $(DEPDIR)/ceph_test_cls_replica_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_replica_log-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_replica_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_replica_log-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_replica_log-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_replica_log-test.Tpo -c -o ceph_test_cls_replica_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_replica_log-test.Tpo $(DEPDIR)/ceph_test_cls_replica_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_replica_log-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_replica_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_rgw-test_cls_rgw.o: test/cls_rgw/test_cls_rgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw-test_cls_rgw.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo -c -o ceph_test_cls_rgw-test_cls_rgw.o `test -f 'test/cls_rgw/test_cls_rgw.cc' || echo '$(srcdir)/'`test/cls_rgw/test_cls_rgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rgw/test_cls_rgw.cc' object='ceph_test_cls_rgw-test_cls_rgw.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw-test_cls_rgw.o `test -f 'test/cls_rgw/test_cls_rgw.cc' || echo '$(srcdir)/'`test/cls_rgw/test_cls_rgw.cc
-
-ceph_test_cls_rgw-test_cls_rgw.obj: test/cls_rgw/test_cls_rgw.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw-test_cls_rgw.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo -c -o ceph_test_cls_rgw-test_cls_rgw.obj `if test -f 'test/cls_rgw/test_cls_rgw.cc'; then $(CYGPATH_W) 'test/cls_rgw/test_cls_rgw.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rgw/test_cls_rgw.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo $(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rgw/test_cls_rgw.cc' object='ceph_test_cls_rgw-test_cls_rgw.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw-test_cls_rgw.obj `if test -f 'test/cls_rgw/test_cls_rgw.cc'; then $(CYGPATH_W) 'test/cls_rgw/test_cls_rgw.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rgw/test_cls_rgw.cc'; fi`
-
-ceph_test_cls_rgw-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw-test.Tpo -c -o ceph_test_cls_rgw-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw-test.Tpo $(DEPDIR)/ceph_test_cls_rgw-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_rgw-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_rgw-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw-test.Tpo -c -o ceph_test_cls_rgw-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw-test.Tpo $(DEPDIR)/ceph_test_cls_rgw-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_rgw-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_rgw_log-test_rgw_admin_log.o: test/test_rgw_admin_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_log-test_rgw_admin_log.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo -c -o ceph_test_cls_rgw_log-test_rgw_admin_log.o `test -f 'test/test_rgw_admin_log.cc' || echo '$(srcdir)/'`test/test_rgw_admin_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_log.cc' object='ceph_test_cls_rgw_log-test_rgw_admin_log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_log-test_rgw_admin_log.o `test -f 'test/test_rgw_admin_log.cc' || echo '$(srcdir)/'`test/test_rgw_admin_log.cc
-
-ceph_test_cls_rgw_log-test_rgw_admin_log.obj: test/test_rgw_admin_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_log-test_rgw_admin_log.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo -c -o ceph_test_cls_rgw_log-test_rgw_admin_log.obj `if test -f 'test/test_rgw_admin_log.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo $(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_log.cc' object='ceph_test_cls_rgw_log-test_rgw_admin_log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_log-test_rgw_admin_log.obj `if test -f 'test/test_rgw_admin_log.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_log.cc'; fi`
-
-ceph_test_cls_rgw_meta-test_rgw_admin_meta.o: test/test_rgw_admin_meta.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_meta-test_rgw_admin_meta.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo -c -o ceph_test_cls_rgw_meta-test_rgw_admin_meta.o `test -f 'test/test_rgw_admin_meta.cc' || echo '$(srcdir)/'`test/test_rgw_admin_meta.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_meta.cc' object='ceph_test_cls_rgw_meta-test_rgw_admin_meta.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_meta-test_rgw_admin_meta.o `test -f 'test/test_rgw_admin_meta.cc' || echo '$(srcdir)/'`test/test_rgw_admin_meta.cc
-
-ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj: test/test_rgw_admin_meta.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo -c -o ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj `if test -f 'test/test_rgw_admin_meta.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_meta.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_meta.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo $(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_meta.cc' object='ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj `if test -f 'test/test_rgw_admin_meta.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_meta.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_meta.cc'; fi`
-
-ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o: test/test_rgw_admin_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo -c -o ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o `test -f 'test/test_rgw_admin_opstate.cc' || echo '$(srcdir)/'`test/test_rgw_admin_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_opstate.cc' object='ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o `test -f 'test/test_rgw_admin_opstate.cc' || echo '$(srcdir)/'`test/test_rgw_admin_opstate.cc
-
-ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj: test/test_rgw_admin_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo -c -o ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj `if test -f 'test/test_rgw_admin_opstate.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_adm [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo $(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_opstate.cc' object='ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj `if test -f 'test/test_rgw_admin_opstate.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_opstate.cc'; fi`
-
-ceph_test_cls_statelog-test_cls_statelog.o: test/cls_statelog/test_cls_statelog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_statelog-test_cls_statelog.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo -c -o ceph_test_cls_statelog-test_cls_statelog.o `test -f 'test/cls_statelog/test_cls_statelog.cc' || echo '$(srcdir)/'`test/cls_statelog/test_cls_statelog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_statelog/test_cls_statelog.cc' object='ceph_test_cls_statelog-test_cls_statelog.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_statelog-test_cls_statelog.o `test -f 'test/cls_statelog/test_cls_statelog.cc' || echo '$(srcdir)/'`test/cls_statelog/test_cls_statelog.cc
-
-ceph_test_cls_statelog-test_cls_statelog.obj: test/cls_statelog/test_cls_statelog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_statelog-test_cls_statelog.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo -c -o ceph_test_cls_statelog-test_cls_statelog.obj `if test -f 'test/cls_statelog/test_cls_statelog.cc'; then $(CYGPATH_W) 'test/cls_statelog/test_cls_statelog.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_statelog/test_cls_s [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo $(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_statelog/test_cls_statelog.cc' object='ceph_test_cls_statelog-test_cls_statelog.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_statelog-test_cls_statelog.obj `if test -f 'test/cls_statelog/test_cls_statelog.cc'; then $(CYGPATH_W) 'test/cls_statelog/test_cls_statelog.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_statelog/test_cls_statelog.cc'; fi`
-
-ceph_test_cls_statelog-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_statelog-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_statelog-test.Tpo -c -o ceph_test_cls_statelog-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_statelog-test.Tpo $(DEPDIR)/ceph_test_cls_statelog-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_statelog-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_statelog-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_statelog-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_statelog-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_statelog-test.Tpo -c -o ceph_test_cls_statelog-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_statelog-test.Tpo $(DEPDIR)/ceph_test_cls_statelog-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_statelog-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_statelog-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cls_version-test_cls_version.o: test/cls_version/test_cls_version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_version-test_cls_version.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo -c -o ceph_test_cls_version-test_cls_version.o `test -f 'test/cls_version/test_cls_version.cc' || echo '$(srcdir)/'`test/cls_version/test_cls_version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo $(DEPDIR)/ceph_test_cls_version-test_cls_version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_version/test_cls_version.cc' object='ceph_test_cls_version-test_cls_version.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_version-test_cls_version.o `test -f 'test/cls_version/test_cls_version.cc' || echo '$(srcdir)/'`test/cls_version/test_cls_version.cc
-
-ceph_test_cls_version-test_cls_version.obj: test/cls_version/test_cls_version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_version-test_cls_version.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo -c -o ceph_test_cls_version-test_cls_version.obj `if test -f 'test/cls_version/test_cls_version.cc'; then $(CYGPATH_W) 'test/cls_version/test_cls_version.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_version/test_cls_version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo $(DEPDIR)/ceph_test_cls_version-test_cls_version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_version/test_cls_version.cc' object='ceph_test_cls_version-test_cls_version.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_version-test_cls_version.obj `if test -f 'test/cls_version/test_cls_version.cc'; then $(CYGPATH_W) 'test/cls_version/test_cls_version.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_version/test_cls_version.cc'; fi`
-
-ceph_test_cls_version-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_version-test.o -MD -MP -MF $(DEPDIR)/ceph_test_cls_version-test.Tpo -c -o ceph_test_cls_version-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_version-test.Tpo $(DEPDIR)/ceph_test_cls_version-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_version-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_version-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
-
-ceph_test_cls_version-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cls_version-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_cls_version-test.Tpo -c -o ceph_test_cls_version-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cls_version-test.Tpo $(DEPDIR)/ceph_test_cls_version-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_cls_version-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cls_version-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
-
-ceph_test_cors-test_cors.o: test/test_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cors-test_cors.o -MD -MP -MF $(DEPDIR)/ceph_test_cors-test_cors.Tpo -c -o ceph_test_cors-test_cors.o `test -f 'test/test_cors.cc' || echo '$(srcdir)/'`test/test_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cors-test_cors.Tpo $(DEPDIR)/ceph_test_cors-test_cors.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cors.cc' object='ceph_test_cors-test_cors.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cors-test_cors.o `test -f 'test/test_cors.cc' || echo '$(srcdir)/'`test/test_cors.cc
-
-ceph_test_cors-test_cors.obj: test/test_cors.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_cors-test_cors.obj -MD -MP -MF $(DEPDIR)/ceph_test_cors-test_cors.Tpo -c -o ceph_test_cors-test_cors.obj `if test -f 'test/test_cors.cc'; then $(CYGPATH_W) 'test/test_cors.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_cors.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_cors-test_cors.Tpo $(DEPDIR)/ceph_test_cors-test_cors.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cors.cc' object='ceph_test_cors-test_cors.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_cors-test_cors.obj `if test -f 'test/test_cors.cc'; then $(CYGPATH_W) 'test/test_cors.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_cors.cc'; fi`
-
-ceph_test_crypto-testcrypto.o: testcrypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_crypto_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_crypto-testcrypto.o -MD -MP -MF $(DEPDIR)/ceph_test_crypto-testcrypto.Tpo -c -o ceph_test_crypto-testcrypto.o `test -f 'testcrypto.cc' || echo '$(srcdir)/'`testcrypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_crypto-testcrypto.Tpo $(DEPDIR)/ceph_test_crypto-testcrypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='testcrypto.cc' object='ceph_test_crypto-testcrypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_crypto_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_crypto-testcrypto.o `test -f 'testcrypto.cc' || echo '$(srcdir)/'`testcrypto.cc
-
-ceph_test_crypto-testcrypto.obj: testcrypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_crypto_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_crypto-testcrypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_crypto-testcrypto.Tpo -c -o ceph_test_crypto-testcrypto.obj `if test -f 'testcrypto.cc'; then $(CYGPATH_W) 'testcrypto.cc'; else $(CYGPATH_W) '$(srcdir)/testcrypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_crypto-testcrypto.Tpo $(DEPDIR)/ceph_test_crypto-testcrypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='testcrypto.cc' object='ceph_test_crypto-testcrypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_crypto_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_crypto-testcrypto.obj `if test -f 'testcrypto.cc'; then $(CYGPATH_W) 'testcrypto.cc'; else $(CYGPATH_W) '$(srcdir)/testcrypto.cc'; fi`
-
-ceph_test_filejournal-test_filejournal.o: test/test_filejournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filejournal-test_filejournal.o -MD -MP -MF $(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo -c -o ceph_test_filejournal-test_filejournal.o `test -f 'test/test_filejournal.cc' || echo '$(srcdir)/'`test/test_filejournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo $(DEPDIR)/ceph_test_filejournal-test_filejournal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_filejournal.cc' object='ceph_test_filejournal-test_filejournal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filejournal-test_filejournal.o `test -f 'test/test_filejournal.cc' || echo '$(srcdir)/'`test/test_filejournal.cc
-
-ceph_test_filejournal-test_filejournal.obj: test/test_filejournal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filejournal-test_filejournal.obj -MD -MP -MF $(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo -c -o ceph_test_filejournal-test_filejournal.obj `if test -f 'test/test_filejournal.cc'; then $(CYGPATH_W) 'test/test_filejournal.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_filejournal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo $(DEPDIR)/ceph_test_filejournal-test_filejournal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_filejournal.cc' object='ceph_test_filejournal-test_filejournal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filejournal-test_filejournal.obj `if test -f 'test/test_filejournal.cc'; then $(CYGPATH_W) 'test/test_filejournal.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_filejournal.cc'; fi`
-
-ceph_test_filestore-store_test.o: test/filestore/store_test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore-store_test.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore-store_test.Tpo -c -o ceph_test_filestore-store_test.o `test -f 'test/filestore/store_test.cc' || echo '$(srcdir)/'`test/filestore/store_test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore-store_test.Tpo $(DEPDIR)/ceph_test_filestore-store_test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/store_test.cc' object='ceph_test_filestore-store_test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore-store_test.o `test -f 'test/filestore/store_test.cc' || echo '$(srcdir)/'`test/filestore/store_test.cc
-
-ceph_test_filestore-store_test.obj: test/filestore/store_test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore-store_test.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore-store_test.Tpo -c -o ceph_test_filestore-store_test.obj `if test -f 'test/filestore/store_test.cc'; then $(CYGPATH_W) 'test/filestore/store_test.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/store_test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore-store_test.Tpo $(DEPDIR)/ceph_test_filestore-store_test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/store_test.cc' object='ceph_test_filestore-store_test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore-store_test.obj `if test -f 'test/filestore/store_test.cc'; then $(CYGPATH_W) 'test/filestore/store_test.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/store_test.cc'; fi`
-
-ceph_test_filestore_idempotent-test_idempotent.o: test/filestore/test_idempotent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-test_idempotent.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Tpo -c -o ceph_test_filestore_idempotent-test_idempotent.o `test -f 'test/filestore/test_idempotent.cc' || echo '$(srcdir)/'`test/filestore/test_idempotent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/test_idempotent.cc' object='ceph_test_filestore_idempotent-test_idempotent.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-test_idempotent.o `test -f 'test/filestore/test_idempotent.cc' || echo '$(srcdir)/'`test/filestore/test_idempotent.cc
-
-ceph_test_filestore_idempotent-test_idempotent.obj: test/filestore/test_idempotent.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-test_idempotent.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Tpo -c -o ceph_test_filestore_idempotent-test_idempotent.obj `if test -f 'test/filestore/test_idempotent.cc'; then $(CYGPATH_W) 'test/filestore/test_idempotent.cc'; else $(CYGPATH_W) '$(srcdir)/test/filesto [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-test_idempotent.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/test_idempotent.cc' object='ceph_test_filestore_idempotent-test_idempotent.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-test_idempotent.obj `if test -f 'test/filestore/test_idempotent.cc'; then $(CYGPATH_W) 'test/filestore/test_idempotent.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/test_idempotent.cc'; fi`
-
-ceph_test_filestore_idempotent-FileStoreTracker.o: test/filestore/FileStoreTracker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-FileStoreTracker.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Tpo -c -o ceph_test_filestore_idempotent-FileStoreTracker.o `test -f 'test/filestore/FileStoreTracker.cc' || echo '$(srcdir)/'`test/filestore/FileStoreTracker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/FileStoreTracker.cc' object='ceph_test_filestore_idempotent-FileStoreTracker.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-FileStoreTracker.o `test -f 'test/filestore/FileStoreTracker.cc' || echo '$(srcdir)/'`test/filestore/FileStoreTracker.cc
-
-ceph_test_filestore_idempotent-FileStoreTracker.obj: test/filestore/FileStoreTracker.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-FileStoreTracker.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Tpo -c -o ceph_test_filestore_idempotent-FileStoreTracker.obj `if test -f 'test/filestore/FileStoreTracker.cc'; then $(CYGPATH_W) 'test/filestore/FileStoreTracker.cc'; else $(CYGPATH_W) '$(srcdir)/test/fi [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-FileStoreTracker.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/FileStoreTracker.cc' object='ceph_test_filestore_idempotent-FileStoreTracker.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-FileStoreTracker.obj `if test -f 'test/filestore/FileStoreTracker.cc'; then $(CYGPATH_W) 'test/filestore/FileStoreTracker.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/FileStoreTracker.cc'; fi`
-
-ceph_test_filestore_idempotent-ObjectContents.o: test/common/ObjectContents.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-ObjectContents.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Tpo -c -o ceph_test_filestore_idempotent-ObjectContents.o `test -f 'test/common/ObjectContents.cc' || echo '$(srcdir)/'`test/common/ObjectContents.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/ObjectContents.cc' object='ceph_test_filestore_idempotent-ObjectContents.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-ObjectContents.o `test -f 'test/common/ObjectContents.cc' || echo '$(srcdir)/'`test/common/ObjectContents.cc
-
-ceph_test_filestore_idempotent-ObjectContents.obj: test/common/ObjectContents.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent-ObjectContents.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Tpo -c -o ceph_test_filestore_idempotent-ObjectContents.obj `if test -f 'test/common/ObjectContents.cc'; then $(CYGPATH_W) 'test/common/ObjectContents.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/ObjectConte [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Tpo $(DEPDIR)/ceph_test_filestore_idempotent-ObjectContents.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/ObjectContents.cc' object='ceph_test_filestore_idempotent-ObjectContents.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent-ObjectContents.obj `if test -f 'test/common/ObjectContents.cc'; then $(CYGPATH_W) 'test/common/ObjectContents.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/ObjectContents.cc'; fi`
-
-ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.o: test/filestore/test_idempotent_sequence.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Tpo -c -o ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.o `test -f 'test/filestore/test_idempotent_sequence.cc' || echo '$(srcdir)/'`test/filest [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/test_idempotent_sequence.cc' object='ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.o `test -f 'test/filestore/test_idempotent_sequence.cc' || echo '$(srcdir)/'`test/filestore/test_idempotent_sequence.cc
-
-ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.obj: test/filestore/test_idempotent_sequence.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Tpo -c -o ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.obj `if test -f 'test/filestore/test_idempotent_sequence.cc'; then $(CYGPATH_W) 'test/ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/test_idempotent_sequence.cc' object='ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-test_idempotent_sequence.obj `if test -f 'test/filestore/test_idempotent_sequence.cc'; then $(CYGPATH_W) 'test/filestore/test_idempotent_sequence.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/test_idempotent_sequence.cc'; fi`
-
-ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.o: test/filestore/DeterministicOpSequence.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Tpo -c -o ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.o `test -f 'test/filestore/DeterministicOpSequence.cc' || echo '$(srcdir)/'`test/filestore/ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/DeterministicOpSequence.cc' object='ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.o `test -f 'test/filestore/DeterministicOpSequence.cc' || echo '$(srcdir)/'`test/filestore/DeterministicOpSequence.cc
-
-ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.obj: test/filestore/DeterministicOpSequence.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Tpo -c -o ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.obj `if test -f 'test/filestore/DeterministicOpSequence.cc'; then $(CYGPATH_W) 'test/file [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/DeterministicOpSequence.cc' object='ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-DeterministicOpSequence.obj `if test -f 'test/filestore/DeterministicOpSequence.cc'; then $(CYGPATH_W) 'test/filestore/DeterministicOpSequence.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/DeterministicOpSequence.cc'; fi`
-
-ceph_test_filestore_idempotent_sequence-TestFileStoreState.o: test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-TestFileStoreState.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Tpo -c -o ceph_test_filestore_idempotent_sequence-TestFileStoreState.o `test -f 'test/filestore/TestFileStoreState.cc' || echo '$(srcdir)/'`test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/TestFileStoreState.cc' object='ceph_test_filestore_idempotent_sequence-TestFileStoreState.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-TestFileStoreState.o `test -f 'test/filestore/TestFileStoreState.cc' || echo '$(srcdir)/'`test/filestore/TestFileStoreState.cc
-
-ceph_test_filestore_idempotent_sequence-TestFileStoreState.obj: test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-TestFileStoreState.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Tpo -c -o ceph_test_filestore_idempotent_sequence-TestFileStoreState.obj `if test -f 'test/filestore/TestFileStoreState.cc'; then $(CYGPATH_W) 'test/filestore/TestFileStoreS [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-TestFileStoreState.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/TestFileStoreState.cc' object='ceph_test_filestore_idempotent_sequence-TestFileStoreState.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-TestFileStoreState.obj `if test -f 'test/filestore/TestFileStoreState.cc'; then $(CYGPATH_W) 'test/filestore/TestFileStoreState.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/TestFileStoreState.cc'; fi`
-
-ceph_test_filestore_idempotent_sequence-FileStoreDiff.o: test/filestore/FileStoreDiff.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-FileStoreDiff.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Tpo -c -o ceph_test_filestore_idempotent_sequence-FileStoreDiff.o `test -f 'test/filestore/FileStoreDiff.cc' || echo '$(srcdir)/'`test/filestore/FileStoreDiff.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/FileStoreDiff.cc' object='ceph_test_filestore_idempotent_sequence-FileStoreDiff.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-FileStoreDiff.o `test -f 'test/filestore/FileStoreDiff.cc' || echo '$(srcdir)/'`test/filestore/FileStoreDiff.cc
-
-ceph_test_filestore_idempotent_sequence-FileStoreDiff.obj: test/filestore/FileStoreDiff.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_idempotent_sequence-FileStoreDiff.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Tpo -c -o ceph_test_filestore_idempotent_sequence-FileStoreDiff.obj `if test -f 'test/filestore/FileStoreDiff.cc'; then $(CYGPATH_W) 'test/filestore/FileStoreDiff.cc'; else $(CYGPATH_ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Tpo $(DEPDIR)/ceph_test_filestore_idempotent_sequence-FileStoreDiff.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/FileStoreDiff.cc' object='ceph_test_filestore_idempotent_sequence-FileStoreDiff.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_idempotent_sequence_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_idempotent_sequence-FileStoreDiff.obj `if test -f 'test/filestore/FileStoreDiff.cc'; then $(CYGPATH_W) 'test/filestore/FileStoreDiff.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/FileStoreDiff.cc'; fi`
-
-ceph_test_filestore_workloadgen-workload_generator.o: test/filestore/workload_generator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_workloadgen-workload_generator.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Tpo -c -o ceph_test_filestore_workloadgen-workload_generator.o `test -f 'test/filestore/workload_generator.cc' || echo '$(srcdir)/'`test/filestore/workload_generator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Tpo $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/workload_generator.cc' object='ceph_test_filestore_workloadgen-workload_generator.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_workloadgen-workload_generator.o `test -f 'test/filestore/workload_generator.cc' || echo '$(srcdir)/'`test/filestore/workload_generator.cc
-
-ceph_test_filestore_workloadgen-workload_generator.obj: test/filestore/workload_generator.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_workloadgen-workload_generator.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Tpo -c -o ceph_test_filestore_workloadgen-workload_generator.obj `if test -f 'test/filestore/workload_generator.cc'; then $(CYGPATH_W) 'test/filestore/workload_generator.cc'; else $(CYGPATH_W) '$(s [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Tpo $(DEPDIR)/ceph_test_filestore_workloadgen-workload_generator.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/workload_generator.cc' object='ceph_test_filestore_workloadgen-workload_generator.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_workloadgen-workload_generator.obj `if test -f 'test/filestore/workload_generator.cc'; then $(CYGPATH_W) 'test/filestore/workload_generator.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/workload_generator.cc'; fi`
-
-ceph_test_filestore_workloadgen-TestFileStoreState.o: test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_workloadgen-TestFileStoreState.o -MD -MP -MF $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Tpo -c -o ceph_test_filestore_workloadgen-TestFileStoreState.o `test -f 'test/filestore/TestFileStoreState.cc' || echo '$(srcdir)/'`test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Tpo $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/TestFileStoreState.cc' object='ceph_test_filestore_workloadgen-TestFileStoreState.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_workloadgen-TestFileStoreState.o `test -f 'test/filestore/TestFileStoreState.cc' || echo '$(srcdir)/'`test/filestore/TestFileStoreState.cc
-
-ceph_test_filestore_workloadgen-TestFileStoreState.obj: test/filestore/TestFileStoreState.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_filestore_workloadgen-TestFileStoreState.obj -MD -MP -MF $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Tpo -c -o ceph_test_filestore_workloadgen-TestFileStoreState.obj `if test -f 'test/filestore/TestFileStoreState.cc'; then $(CYGPATH_W) 'test/filestore/TestFileStoreState.cc'; else $(CYGPATH_W) '$(s [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Tpo $(DEPDIR)/ceph_test_filestore_workloadgen-TestFileStoreState.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/TestFileStoreState.cc' object='ceph_test_filestore_workloadgen-TestFileStoreState.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_filestore_workloadgen-TestFileStoreState.obj `if test -f 'test/filestore/TestFileStoreState.cc'; then $(CYGPATH_W) 'test/filestore/TestFileStoreState.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/TestFileStoreState.cc'; fi`
-
-ceph_test_keys-testkeys.o: testkeys.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keys-testkeys.o -MD -MP -MF $(DEPDIR)/ceph_test_keys-testkeys.Tpo -c -o ceph_test_keys-testkeys.o `test -f 'testkeys.cc' || echo '$(srcdir)/'`testkeys.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keys-testkeys.Tpo $(DEPDIR)/ceph_test_keys-testkeys.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='testkeys.cc' object='ceph_test_keys-testkeys.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keys-testkeys.o `test -f 'testkeys.cc' || echo '$(srcdir)/'`testkeys.cc
-
-ceph_test_keys-testkeys.obj: testkeys.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keys-testkeys.obj -MD -MP -MF $(DEPDIR)/ceph_test_keys-testkeys.Tpo -c -o ceph_test_keys-testkeys.obj `if test -f 'testkeys.cc'; then $(CYGPATH_W) 'testkeys.cc'; else $(CYGPATH_W) '$(srcdir)/testkeys.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keys-testkeys.Tpo $(DEPDIR)/ceph_test_keys-testkeys.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='testkeys.cc' object='ceph_test_keys-testkeys.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keys-testkeys.obj `if test -f 'testkeys.cc'; then $(CYGPATH_W) 'testkeys.cc'; else $(CYGPATH_W) '$(srcdir)/testkeys.cc'; fi`
-
-ceph_test_keys-heap_profiler.o: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keys-heap_profiler.o -MD -MP -MF $(DEPDIR)/ceph_test_keys-heap_profiler.Tpo -c -o ceph_test_keys-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keys-heap_profiler.Tpo $(DEPDIR)/ceph_test_keys-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_test_keys-heap_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keys-heap_profiler.o `test -f 'perfglue/heap_profiler.cc' || echo '$(srcdir)/'`perfglue/heap_profiler.cc
-
-ceph_test_keys-heap_profiler.obj: perfglue/heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keys-heap_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_keys-heap_profiler.Tpo -c -o ceph_test_keys-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keys-heap_profiler.Tpo $(DEPDIR)/ceph_test_keys-heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/heap_profiler.cc' object='ceph_test_keys-heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keys_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keys-heap_profiler.obj `if test -f 'perfglue/heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/heap_profiler.cc'; fi`
-
-ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o: test/ObjectMap/test_keyvaluedb_atomicity.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo -c -o ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o `test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_atomicity.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_atomicity.cc' object='ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o `test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_atomicity.cc
-
-ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj: test/ObjectMap/test_keyvaluedb_atomicity.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo -c -o ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj `if test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_atomic [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo $(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_atomicity.cc' object='ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj `if test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_keyvaluedb_atomicity.cc'; fi`
-
-ceph_test_keyvaluedb_atomicity-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_atomicity-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Tpo -c -o ceph_test_keyvaluedb_atomicity-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Tpo $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_keyvaluedb_atomicity-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_atomicity-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-ceph_test_keyvaluedb_atomicity-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_atomicity-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Tpo -c -o ceph_test_keyvaluedb_atomicity-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Tpo $(DEPDIR)/ceph_test_keyvaluedb_atomicity-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_keyvaluedb_atomicity-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_atomicity-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o: test/ObjectMap/test_keyvaluedb_iterators.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo -c -o ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o `test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_iterators.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_iterators.cc' object='ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o `test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_iterators.cc
-
-ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj: test/ObjectMap/test_keyvaluedb_iterators.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo -c -o ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj `if test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_iterat [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_iterators.cc' object='ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj `if test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_iterators.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_keyvaluedb_iterators.cc'; fi`
-
-ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o: test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo -c -o ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
-
-ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj: test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo -c -o ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/Ob [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/KeyValueDBMemory.cc'; fi`
-
-ceph_test_keyvaluedb_iterators-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Tpo -c -o ceph_test_keyvaluedb_iterators-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_keyvaluedb_iterators-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
-
-ceph_test_keyvaluedb_iterators-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_keyvaluedb_iterators-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Tpo -c -o ceph_test_keyvaluedb_iterators-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Tpo $(DEPDIR)/ceph_test_keyvaluedb_iterators-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_keyvaluedb_iterators-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_keyvaluedb_iterators-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
-
-ceph_test_libcephfs-test.o: test/libcephfs/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-test.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-test.Tpo -c -o ceph_test_libcephfs-test.o `test -f 'test/libcephfs/test.cc' || echo '$(srcdir)/'`test/libcephfs/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-test.Tpo $(DEPDIR)/ceph_test_libcephfs-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/test.cc' object='ceph_test_libcephfs-test.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-test.o `test -f 'test/libcephfs/test.cc' || echo '$(srcdir)/'`test/libcephfs/test.cc
-
-ceph_test_libcephfs-test.obj: test/libcephfs/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-test.Tpo -c -o ceph_test_libcephfs-test.obj `if test -f 'test/libcephfs/test.cc'; then $(CYGPATH_W) 'test/libcephfs/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-test.Tpo $(DEPDIR)/ceph_test_libcephfs-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/test.cc' object='ceph_test_libcephfs-test.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-test.obj `if test -f 'test/libcephfs/test.cc'; then $(CYGPATH_W) 'test/libcephfs/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/test.cc'; fi`
-
-ceph_test_libcephfs-readdir_r_cb.o: test/libcephfs/readdir_r_cb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-readdir_r_cb.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo -c -o ceph_test_libcephfs-readdir_r_cb.o `test -f 'test/libcephfs/readdir_r_cb.cc' || echo '$(srcdir)/'`test/libcephfs/readdir_r_cb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/readdir_r_cb.cc' object='ceph_test_libcephfs-readdir_r_cb.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-readdir_r_cb.o `test -f 'test/libcephfs/readdir_r_cb.cc' || echo '$(srcdir)/'`test/libcephfs/readdir_r_cb.cc
-
-ceph_test_libcephfs-readdir_r_cb.obj: test/libcephfs/readdir_r_cb.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-readdir_r_cb.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo -c -o ceph_test_libcephfs-readdir_r_cb.obj `if test -f 'test/libcephfs/readdir_r_cb.cc'; then $(CYGPATH_W) 'test/libcephfs/readdir_r_cb.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/readdir_r_cb.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo $(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/readdir_r_cb.cc' object='ceph_test_libcephfs-readdir_r_cb.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-readdir_r_cb.obj `if test -f 'test/libcephfs/readdir_r_cb.cc'; then $(CYGPATH_W) 'test/libcephfs/readdir_r_cb.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/readdir_r_cb.cc'; fi`
-
-ceph_test_libcephfs-caps.o: test/libcephfs/caps.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-caps.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-caps.Tpo -c -o ceph_test_libcephfs-caps.o `test -f 'test/libcephfs/caps.cc' || echo '$(srcdir)/'`test/libcephfs/caps.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-caps.Tpo $(DEPDIR)/ceph_test_libcephfs-caps.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/caps.cc' object='ceph_test_libcephfs-caps.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-caps.o `test -f 'test/libcephfs/caps.cc' || echo '$(srcdir)/'`test/libcephfs/caps.cc
-
-ceph_test_libcephfs-caps.obj: test/libcephfs/caps.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-caps.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-caps.Tpo -c -o ceph_test_libcephfs-caps.obj `if test -f 'test/libcephfs/caps.cc'; then $(CYGPATH_W) 'test/libcephfs/caps.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/caps.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-caps.Tpo $(DEPDIR)/ceph_test_libcephfs-caps.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/caps.cc' object='ceph_test_libcephfs-caps.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-caps.obj `if test -f 'test/libcephfs/caps.cc'; then $(CYGPATH_W) 'test/libcephfs/caps.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/caps.cc'; fi`
-
-ceph_test_libcephfs-multiclient.o: test/libcephfs/multiclient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-multiclient.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo -c -o ceph_test_libcephfs-multiclient.o `test -f 'test/libcephfs/multiclient.cc' || echo '$(srcdir)/'`test/libcephfs/multiclient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo $(DEPDIR)/ceph_test_libcephfs-multiclient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/multiclient.cc' object='ceph_test_libcephfs-multiclient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-multiclient.o `test -f 'test/libcephfs/multiclient.cc' || echo '$(srcdir)/'`test/libcephfs/multiclient.cc
-
-ceph_test_libcephfs-multiclient.obj: test/libcephfs/multiclient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs-multiclient.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo -c -o ceph_test_libcephfs-multiclient.obj `if test -f 'test/libcephfs/multiclient.cc'; then $(CYGPATH_W) 'test/libcephfs/multiclient.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/multiclient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo $(DEPDIR)/ceph_test_libcephfs-multiclient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/multiclient.cc' object='ceph_test_libcephfs-multiclient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs-multiclient.obj `if test -f 'test/libcephfs/multiclient.cc'; then $(CYGPATH_W) 'test/libcephfs/multiclient.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/multiclient.cc'; fi`
-
-ceph_test_libcephfs_build-test_libcommon_build.o: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-test_libcommon_build.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Tpo -c -o ceph_test_libcephfs_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_libcephfs_build-test_libcommon_build.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
-
-ceph_test_libcephfs_build-test_libcommon_build.obj: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-test_libcommon_build.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Tpo -c -o ceph_test_libcephfs_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_libcephfs_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_libcephfs_build-test_libcommon_build.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
-
-ceph_test_libcephfs_build-AuthAuthorizeHandler.o: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
-
-ceph_test_libcephfs_build-AuthAuthorizeHandler.obj: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
-
-ceph_test_libcephfs_build-AuthClientHandler.o: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Tpo -c -o ceph_test_libcephfs_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_libcephfs_build-AuthClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
-
-ceph_test_libcephfs_build-AuthClientHandler.obj: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Tpo -c -o ceph_test_libcephfs_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_libcephfs_build-AuthClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
-
-ceph_test_libcephfs_build-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Tpo -c -o ceph_test_libcephfs_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_libcephfs_build-AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-ceph_test_libcephfs_build-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Tpo -c -o ceph_test_libcephfs_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_libcephfs_build-AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
-
-ceph_test_libcephfs_build-AuthMethodList.o: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthMethodList.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Tpo -c -o ceph_test_libcephfs_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_libcephfs_build-AuthMethodList.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
-
-ceph_test_libcephfs_build-AuthMethodList.obj: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthMethodList.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Tpo -c -o ceph_test_libcephfs_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_libcephfs_build-AuthMethodList.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
-
-ceph_test_libcephfs_build-CephxAuthorizeHandler.o: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_libcephfs_build-CephxAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
-
-ceph_test_libcephfs_build-CephxAuthorizeHandler.obj: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_libcephfs_build-CephxAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
-
-ceph_test_libcephfs_build-CephxClientHandler.o: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Tpo -c -o ceph_test_libcephfs_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_libcephfs_build-CephxClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
-
-ceph_test_libcephfs_build-CephxClientHandler.obj: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Tpo -c -o ceph_test_libcephfs_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHan [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_libcephfs_build-CephxClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
-
-ceph_test_libcephfs_build-CephxProtocol.o: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxProtocol.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Tpo -c -o ceph_test_libcephfs_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_libcephfs_build-CephxProtocol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
-
-ceph_test_libcephfs_build-CephxProtocol.obj: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxProtocol.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Tpo -c -o ceph_test_libcephfs_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_libcephfs_build-CephxProtocol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
-
-ceph_test_libcephfs_build-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Tpo -c -o ceph_test_libcephfs_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_libcephfs_build-CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-ceph_test_libcephfs_build-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Tpo -c -o ceph_test_libcephfs_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSess [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_libcephfs_build-CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
-
-ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.o: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
-
-ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.obj: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdi [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
-
-ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.o: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
-
-ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.obj: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else  [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
-
-ceph_test_libcephfs_build-Crypto.o: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Tpo -c -o ceph_test_libcephfs_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_libcephfs_build-Crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
-
-ceph_test_libcephfs_build-Crypto.obj: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Tpo -c -o ceph_test_libcephfs_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_libcephfs_build-Crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
-
-ceph_test_libcephfs_build-KeyRing.o: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-KeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Tpo -c -o ceph_test_libcephfs_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Tpo $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_libcephfs_build-KeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
-
-ceph_test_libcephfs_build-KeyRing.obj: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-KeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Tpo -c -o ceph_test_libcephfs_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Tpo $(DEPDIR)/ceph_test_libcephfs_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_libcephfs_build-KeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
-
-ceph_test_libcephfs_build-RotatingKeyRing.o: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-RotatingKeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Tpo -c -o ceph_test_libcephfs_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_libcephfs_build-RotatingKeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
-
-ceph_test_libcephfs_build-RotatingKeyRing.obj: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-RotatingKeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Tpo -c -o ceph_test_libcephfs_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_libcephfs_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_libcephfs_build-RotatingKeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
-
-ceph_test_libcephfs_build-DecayCounter.o: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-DecayCounter.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Tpo -c -o ceph_test_libcephfs_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_libcephfs_build-DecayCounter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
-
-ceph_test_libcephfs_build-DecayCounter.obj: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-DecayCounter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Tpo -c -o ceph_test_libcephfs_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_libcephfs_build-DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
-
-ceph_test_libcephfs_build-LogClient.o: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-LogClient.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Tpo -c -o ceph_test_libcephfs_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Tpo $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_libcephfs_build-LogClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
-
-ceph_test_libcephfs_build-LogClient.obj: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-LogClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Tpo -c -o ceph_test_libcephfs_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Tpo $(DEPDIR)/ceph_test_libcephfs_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_libcephfs_build-LogClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
-
-ceph_test_libcephfs_build-LogEntry.o: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-LogEntry.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Tpo -c -o ceph_test_libcephfs_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Tpo $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_libcephfs_build-LogEntry.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
-
-ceph_test_libcephfs_build-LogEntry.obj: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-LogEntry.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Tpo -c -o ceph_test_libcephfs_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Tpo $(DEPDIR)/ceph_test_libcephfs_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_libcephfs_build-LogEntry.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
-
-ceph_test_libcephfs_build-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Tpo -c -o ceph_test_libcephfs_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_libcephfs_build-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
-
-ceph_test_libcephfs_build-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Tpo -c -o ceph_test_libcephfs_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStrea [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_libcephfs_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_libcephfs_build-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
-
-ceph_test_libcephfs_build-BackTrace.o: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-BackTrace.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Tpo -c -o ceph_test_libcephfs_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Tpo $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_libcephfs_build-BackTrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
-
-ceph_test_libcephfs_build-BackTrace.obj: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-BackTrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Tpo -c -o ceph_test_libcephfs_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Tpo $(DEPDIR)/ceph_test_libcephfs_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_libcephfs_build-BackTrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
-
-ceph_test_libcephfs_build-perf_counters.o: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-perf_counters.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Tpo -c -o ceph_test_libcephfs_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Tpo $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_libcephfs_build-perf_counters.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
-
-ceph_test_libcephfs_build-perf_counters.obj: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-perf_counters.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Tpo -c -o ceph_test_libcephfs_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Tpo $(DEPDIR)/ceph_test_libcephfs_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_libcephfs_build-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
-
-ceph_test_libcephfs_build-Mutex.o: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Mutex.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Tpo -c -o ceph_test_libcephfs_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_libcephfs_build-Mutex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
-
-ceph_test_libcephfs_build-Mutex.obj: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Mutex.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Tpo -c -o ceph_test_libcephfs_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_libcephfs_build-Mutex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
-
-ceph_test_libcephfs_build-OutputDataSocket.o: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-OutputDataSocket.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Tpo -c -o ceph_test_libcephfs_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_libcephfs_build-OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
-
-ceph_test_libcephfs_build-OutputDataSocket.obj: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-OutputDataSocket.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Tpo -c -o ceph_test_libcephfs_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_libcephfs_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_libcephfs_build-OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
-
-ceph_test_libcephfs_build-admin_socket.o: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-admin_socket.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Tpo -c -o ceph_test_libcephfs_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Tpo $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_libcephfs_build-admin_socket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
-
-ceph_test_libcephfs_build-admin_socket.obj: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-admin_socket.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Tpo -c -o ceph_test_libcephfs_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Tpo $(DEPDIR)/ceph_test_libcephfs_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_libcephfs_build-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
-
-ceph_test_libcephfs_build-admin_socket_client.o: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-admin_socket_client.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Tpo -c -o ceph_test_libcephfs_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_libcephfs_build-admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
-
-ceph_test_libcephfs_build-admin_socket_client.obj: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-admin_socket_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Tpo -c -o ceph_test_libcephfs_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_libcephfs_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_libcephfs_build-admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
-
-ceph_test_libcephfs_build-cmdparse.o: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-cmdparse.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Tpo -c -o ceph_test_libcephfs_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Tpo $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_libcephfs_build-cmdparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
-
-ceph_test_libcephfs_build-cmdparse.obj: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-cmdparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Tpo -c -o ceph_test_libcephfs_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Tpo $(DEPDIR)/ceph_test_libcephfs_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_libcephfs_build-cmdparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
-
-ceph_test_libcephfs_build-Clock.o: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Clock.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Clock.Tpo -c -o ceph_test_libcephfs_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Clock.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_libcephfs_build-Clock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
-
-ceph_test_libcephfs_build-Clock.obj: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Clock.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Clock.Tpo -c -o ceph_test_libcephfs_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Clock.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_libcephfs_build-Clock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
-
-ceph_test_libcephfs_build-Throttle.o: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Throttle.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Tpo -c -o ceph_test_libcephfs_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_libcephfs_build-Throttle.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
-
-ceph_test_libcephfs_build-Throttle.obj: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Throttle.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Tpo -c -o ceph_test_libcephfs_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_libcephfs_build-Throttle.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
-
-ceph_test_libcephfs_build-Timer.o: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Timer.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Timer.Tpo -c -o ceph_test_libcephfs_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Timer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_libcephfs_build-Timer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
-
-ceph_test_libcephfs_build-Timer.obj: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Timer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Timer.Tpo -c -o ceph_test_libcephfs_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Timer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_libcephfs_build-Timer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
-
-ceph_test_libcephfs_build-Finisher.o: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Finisher.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Tpo -c -o ceph_test_libcephfs_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_libcephfs_build-Finisher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
-
-ceph_test_libcephfs_build-Finisher.obj: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Finisher.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Tpo -c -o ceph_test_libcephfs_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_libcephfs_build-Finisher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
-
-ceph_test_libcephfs_build-environment.o: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-environment.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-environment.Tpo -c -o ceph_test_libcephfs_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-environment.Tpo $(DEPDIR)/ceph_test_libcephfs_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_libcephfs_build-environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
-
-ceph_test_libcephfs_build-environment.obj: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-environment.Tpo -c -o ceph_test_libcephfs_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-environment.Tpo $(DEPDIR)/ceph_test_libcephfs_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_libcephfs_build-environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
-
-ceph_test_libcephfs_build-assert.o: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-assert.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-assert.Tpo -c -o ceph_test_libcephfs_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-assert.Tpo $(DEPDIR)/ceph_test_libcephfs_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_libcephfs_build-assert.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
-
-ceph_test_libcephfs_build-assert.obj: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-assert.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-assert.Tpo -c -o ceph_test_libcephfs_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-assert.Tpo $(DEPDIR)/ceph_test_libcephfs_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_libcephfs_build-assert.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
-
-ceph_test_libcephfs_build-run_cmd.o: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-run_cmd.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Tpo -c -o ceph_test_libcephfs_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Tpo $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_libcephfs_build-run_cmd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
-
-ceph_test_libcephfs_build-run_cmd.obj: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-run_cmd.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Tpo -c -o ceph_test_libcephfs_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Tpo $(DEPDIR)/ceph_test_libcephfs_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_libcephfs_build-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
-
-ceph_test_libcephfs_build-WorkQueue.o: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-WorkQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Tpo -c -o ceph_test_libcephfs_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_libcephfs_build-WorkQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
-
-ceph_test_libcephfs_build-WorkQueue.obj: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-WorkQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Tpo -c -o ceph_test_libcephfs_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_libcephfs_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_libcephfs_build-WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
-
-ceph_test_libcephfs_build-ConfUtils.o: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ConfUtils.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Tpo -c -o ceph_test_libcephfs_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_libcephfs_build-ConfUtils.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
-
-ceph_test_libcephfs_build-ConfUtils.obj: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ConfUtils.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Tpo -c -o ceph_test_libcephfs_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_libcephfs_build-ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
-
-ceph_test_libcephfs_build-MemoryModel.o: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MemoryModel.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Tpo -c -o ceph_test_libcephfs_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_libcephfs_build-MemoryModel.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
-
-ceph_test_libcephfs_build-MemoryModel.obj: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MemoryModel.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Tpo -c -o ceph_test_libcephfs_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_libcephfs_build-MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
-
-ceph_test_libcephfs_build-fd.o: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-fd.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-fd.Tpo -c -o ceph_test_libcephfs_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-fd.Tpo $(DEPDIR)/ceph_test_libcephfs_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_libcephfs_build-fd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
-
-ceph_test_libcephfs_build-fd.obj: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-fd.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-fd.Tpo -c -o ceph_test_libcephfs_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-fd.Tpo $(DEPDIR)/ceph_test_libcephfs_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_libcephfs_build-fd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
-
-ceph_test_libcephfs_build-snap_types.o: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-snap_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Tpo -c -o ceph_test_libcephfs_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_libcephfs_build-snap_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
-
-ceph_test_libcephfs_build-snap_types.obj: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-snap_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Tpo -c -o ceph_test_libcephfs_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_libcephfs_build-snap_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
-
-ceph_test_libcephfs_build-str_list.o: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-str_list.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-str_list.Tpo -c -o ceph_test_libcephfs_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-str_list.Tpo $(DEPDIR)/ceph_test_libcephfs_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_libcephfs_build-str_list.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
-
-ceph_test_libcephfs_build-str_list.obj: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-str_list.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-str_list.Tpo -c -o ceph_test_libcephfs_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-str_list.Tpo $(DEPDIR)/ceph_test_libcephfs_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_libcephfs_build-str_list.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
-
-ceph_test_libcephfs_build-errno.o: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-errno.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-errno.Tpo -c -o ceph_test_libcephfs_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-errno.Tpo $(DEPDIR)/ceph_test_libcephfs_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_libcephfs_build-errno.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
-
-ceph_test_libcephfs_build-errno.obj: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-errno.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-errno.Tpo -c -o ceph_test_libcephfs_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-errno.Tpo $(DEPDIR)/ceph_test_libcephfs_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_libcephfs_build-errno.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
-
-ceph_test_libcephfs_build-json_spirit_reader.o: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_reader.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Tpo -c -o ceph_test_libcephfs_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_libcephfs_build-json_spirit_reader.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-ceph_test_libcephfs_build-json_spirit_reader.obj: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_reader.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Tpo -c -o ceph_test_libcephfs_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spir [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_libcephfs_build-json_spirit_reader.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
-
-ceph_test_libcephfs_build-json_spirit_writer.o: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_writer.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Tpo -c -o ceph_test_libcephfs_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_libcephfs_build-json_spirit_writer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-ceph_test_libcephfs_build-json_spirit_writer.obj: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_writer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Tpo -c -o ceph_test_libcephfs_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spir [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_libcephfs_build-json_spirit_writer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
-
-ceph_test_libcephfs_build-json_spirit_value.o: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_value.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Tpo -c -o ceph_test_libcephfs_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_libcephfs_build-json_spirit_value.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-ceph_test_libcephfs_build-json_spirit_value.obj: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-json_spirit_value.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Tpo -c -o ceph_test_libcephfs_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_va [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_libcephfs_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_libcephfs_build-json_spirit_value.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
-
-ceph_test_libcephfs_build-Log.o: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Log.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Log.Tpo -c -o ceph_test_libcephfs_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Log.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_libcephfs_build-Log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
-
-ceph_test_libcephfs_build-Log.obj: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Log.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Log.Tpo -c -o ceph_test_libcephfs_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Log.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_libcephfs_build-Log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
-
-ceph_test_libcephfs_build-SubsystemMap.o: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-SubsystemMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Tpo -c -o ceph_test_libcephfs_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_libcephfs_build-SubsystemMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
-
-ceph_test_libcephfs_build-SubsystemMap.obj: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-SubsystemMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Tpo -c -o ceph_test_libcephfs_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_libcephfs_build-SubsystemMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
-
-ceph_test_libcephfs_build-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonCap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Tpo -c -o ceph_test_libcephfs_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_libcephfs_build-MonCap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
-
-ceph_test_libcephfs_build-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonCap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Tpo -c -o ceph_test_libcephfs_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_libcephfs_build-MonCap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
-
-ceph_test_libcephfs_build-MonClient.o: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonClient.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Tpo -c -o ceph_test_libcephfs_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_libcephfs_build-MonClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
-
-ceph_test_libcephfs_build-MonClient.obj: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Tpo -c -o ceph_test_libcephfs_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_libcephfs_build-MonClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
-
-ceph_test_libcephfs_build-MonMap.o: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Tpo -c -o ceph_test_libcephfs_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_libcephfs_build-MonMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
-
-ceph_test_libcephfs_build-MonMap.obj: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MonMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Tpo -c -o ceph_test_libcephfs_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_libcephfs_build-MonMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
-
-ceph_test_libcephfs_build-Accepter.o: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Accepter.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Tpo -c -o ceph_test_libcephfs_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_libcephfs_build-Accepter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
-
-ceph_test_libcephfs_build-Accepter.obj: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Accepter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Tpo -c -o ceph_test_libcephfs_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_libcephfs_build-Accepter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
-
-ceph_test_libcephfs_build-DispatchQueue.o: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-DispatchQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Tpo -c -o ceph_test_libcephfs_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_libcephfs_build-DispatchQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
-
-ceph_test_libcephfs_build-DispatchQueue.obj: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-DispatchQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Tpo -c -o ceph_test_libcephfs_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_libcephfs_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_libcephfs_build-DispatchQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
-
-ceph_test_libcephfs_build-Message.o: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Message.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Message.Tpo -c -o ceph_test_libcephfs_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Message.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_libcephfs_build-Message.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
-
-ceph_test_libcephfs_build-Message.obj: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Message.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Message.Tpo -c -o ceph_test_libcephfs_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Message.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_libcephfs_build-Message.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
-
-ceph_test_libcephfs_build-RefCountedObj.o: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-RefCountedObj.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Tpo -c -o ceph_test_libcephfs_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_libcephfs_build-RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
-
-ceph_test_libcephfs_build-RefCountedObj.obj: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-RefCountedObj.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Tpo -c -o ceph_test_libcephfs_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_libcephfs_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_libcephfs_build-RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
-
-ceph_test_libcephfs_build-Messenger.o: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Messenger.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Tpo -c -o ceph_test_libcephfs_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_libcephfs_build-Messenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
-
-ceph_test_libcephfs_build-Messenger.obj: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Messenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Tpo -c -o ceph_test_libcephfs_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_libcephfs_build-Messenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
-
-ceph_test_libcephfs_build-Pipe.o: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Pipe.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Tpo -c -o ceph_test_libcephfs_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_libcephfs_build-Pipe.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
-
-ceph_test_libcephfs_build-Pipe.obj: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Pipe.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Tpo -c -o ceph_test_libcephfs_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_libcephfs_build-Pipe.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
-
-ceph_test_libcephfs_build-SimpleMessenger.o: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-SimpleMessenger.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Tpo -c -o ceph_test_libcephfs_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_libcephfs_build-SimpleMessenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
-
-ceph_test_libcephfs_build-SimpleMessenger.obj: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-SimpleMessenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Tpo -c -o ceph_test_libcephfs_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_libcephfs_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_libcephfs_build-SimpleMessenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
-
-ceph_test_libcephfs_build-msg_types.o: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-msg_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Tpo -c -o ceph_test_libcephfs_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_libcephfs_build-msg_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
-
-ceph_test_libcephfs_build-msg_types.obj: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-msg_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Tpo -c -o ceph_test_libcephfs_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_libcephfs_build-msg_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
-
-ceph_test_libcephfs_build-hobject.o: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-hobject.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-hobject.Tpo -c -o ceph_test_libcephfs_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-hobject.Tpo $(DEPDIR)/ceph_test_libcephfs_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_libcephfs_build-hobject.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
-
-ceph_test_libcephfs_build-hobject.obj: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-hobject.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-hobject.Tpo -c -o ceph_test_libcephfs_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-hobject.Tpo $(DEPDIR)/ceph_test_libcephfs_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_libcephfs_build-hobject.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
-
-ceph_test_libcephfs_build-OSDMap.o: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-OSDMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Tpo -c -o ceph_test_libcephfs_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_libcephfs_build-OSDMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
-
-ceph_test_libcephfs_build-OSDMap.obj: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-OSDMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Tpo -c -o ceph_test_libcephfs_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_libcephfs_build-OSDMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
-
-ceph_test_libcephfs_build-osd_types.o: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-osd_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Tpo -c -o ceph_test_libcephfs_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_libcephfs_build-osd_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
-
-ceph_test_libcephfs_build-osd_types.obj: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-osd_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Tpo -c -o ceph_test_libcephfs_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Tpo $(DEPDIR)/ceph_test_libcephfs_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_libcephfs_build-osd_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
-
-ceph_test_libcephfs_build-MDSMap.o: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MDSMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Tpo -c -o ceph_test_libcephfs_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_libcephfs_build-MDSMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
-
-ceph_test_libcephfs_build-MDSMap.obj: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-MDSMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Tpo -c -o ceph_test_libcephfs_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_libcephfs_build-MDSMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
-
-ceph_test_libcephfs_build-inode_backtrace.o: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-inode_backtrace.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Tpo -c -o ceph_test_libcephfs_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_libcephfs_build-inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
-
-ceph_test_libcephfs_build-inode_backtrace.obj: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-inode_backtrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Tpo -c -o ceph_test_libcephfs_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_libcephfs_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_libcephfs_build-inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
-
-ceph_test_libcephfs_build-mdstypes.o: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-mdstypes.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Tpo -c -o ceph_test_libcephfs_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Tpo $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_libcephfs_build-mdstypes.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
-
-ceph_test_libcephfs_build-mdstypes.obj: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-mdstypes.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Tpo -c -o ceph_test_libcephfs_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Tpo $(DEPDIR)/ceph_test_libcephfs_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_libcephfs_build-mdstypes.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
-
-ceph_test_libcephfs_build-blkdev.o: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-blkdev.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Tpo -c -o ceph_test_libcephfs_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Tpo $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_libcephfs_build-blkdev.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
-
-ceph_test_libcephfs_build-blkdev.obj: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-blkdev.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Tpo -c -o ceph_test_libcephfs_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Tpo $(DEPDIR)/ceph_test_libcephfs_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_libcephfs_build-blkdev.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
-
-ceph_test_libcephfs_build-common_init.o: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-common_init.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-common_init.Tpo -c -o ceph_test_libcephfs_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-common_init.Tpo $(DEPDIR)/ceph_test_libcephfs_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_libcephfs_build-common_init.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
-
-ceph_test_libcephfs_build-common_init.obj: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-common_init.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-common_init.Tpo -c -o ceph_test_libcephfs_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-common_init.Tpo $(DEPDIR)/ceph_test_libcephfs_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_libcephfs_build-common_init.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_argparse.o: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_argparse.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Tpo -c -o ceph_test_libcephfs_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_libcephfs_build-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
-
-ceph_test_libcephfs_build-ceph_argparse.obj: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_argparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Tpo -c -o ceph_test_libcephfs_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_libcephfs_build-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_context.o: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_context.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Tpo -c -o ceph_test_libcephfs_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_libcephfs_build-ceph_context.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
-
-ceph_test_libcephfs_build-ceph_context.obj: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_context.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Tpo -c -o ceph_test_libcephfs_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_libcephfs_build-ceph_context.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
-
-ceph_test_libcephfs_build-buffer.o: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-buffer.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-buffer.Tpo -c -o ceph_test_libcephfs_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-buffer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_libcephfs_build-buffer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
-
-ceph_test_libcephfs_build-buffer.obj: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-buffer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-buffer.Tpo -c -o ceph_test_libcephfs_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-buffer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_libcephfs_build-buffer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
-
-ceph_test_libcephfs_build-code_environment.o: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-code_environment.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Tpo -c -o ceph_test_libcephfs_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Tpo $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_libcephfs_build-code_environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
-
-ceph_test_libcephfs_build-code_environment.obj: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-code_environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Tpo -c -o ceph_test_libcephfs_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Tpo $(DEPDIR)/ceph_test_libcephfs_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_libcephfs_build-code_environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
-
-ceph_test_libcephfs_build-dout.o: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-dout.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-dout.Tpo -c -o ceph_test_libcephfs_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-dout.Tpo $(DEPDIR)/ceph_test_libcephfs_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_libcephfs_build-dout.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
-
-ceph_test_libcephfs_build-dout.obj: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-dout.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-dout.Tpo -c -o ceph_test_libcephfs_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-dout.Tpo $(DEPDIR)/ceph_test_libcephfs_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_libcephfs_build-dout.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
-
-ceph_test_libcephfs_build-signal.o: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-signal.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-signal.Tpo -c -o ceph_test_libcephfs_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-signal.Tpo $(DEPDIR)/ceph_test_libcephfs_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_libcephfs_build-signal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
-
-ceph_test_libcephfs_build-signal.obj: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-signal.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-signal.Tpo -c -o ceph_test_libcephfs_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-signal.Tpo $(DEPDIR)/ceph_test_libcephfs_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_libcephfs_build-signal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
-
-ceph_test_libcephfs_build-simple_spin.o: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-simple_spin.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Tpo -c -o ceph_test_libcephfs_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Tpo $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_libcephfs_build-simple_spin.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
-
-ceph_test_libcephfs_build-simple_spin.obj: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-simple_spin.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Tpo -c -o ceph_test_libcephfs_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Tpo $(DEPDIR)/ceph_test_libcephfs_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_libcephfs_build-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
-
-ceph_test_libcephfs_build-Thread.o: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Thread.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Thread.Tpo -c -o ceph_test_libcephfs_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Thread.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_libcephfs_build-Thread.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
-
-ceph_test_libcephfs_build-Thread.obj: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Thread.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Thread.Tpo -c -o ceph_test_libcephfs_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Thread.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_libcephfs_build-Thread.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
-
-ceph_test_libcephfs_build-Formatter.o: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Formatter.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Tpo -c -o ceph_test_libcephfs_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_libcephfs_build-Formatter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
-
-ceph_test_libcephfs_build-Formatter.obj: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Formatter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Tpo -c -o ceph_test_libcephfs_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_libcephfs_build-Formatter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
-
-ceph_test_libcephfs_build-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-HeartbeatMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Tpo -c -o ceph_test_libcephfs_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_libcephfs_build-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
-
-ceph_test_libcephfs_build-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Tpo -c -o ceph_test_libcephfs_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_libcephfs_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_libcephfs_build-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_fs.o: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_fs.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Tpo -c -o ceph_test_libcephfs_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_libcephfs_build-ceph_fs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
-
-ceph_test_libcephfs_build-ceph_fs.obj: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_fs.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Tpo -c -o ceph_test_libcephfs_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_libcephfs_build-ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_hash.o: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_hash.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Tpo -c -o ceph_test_libcephfs_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_libcephfs_build-ceph_hash.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
-
-ceph_test_libcephfs_build-ceph_hash.obj: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_hash.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Tpo -c -o ceph_test_libcephfs_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_libcephfs_build-ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_strings.o: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_strings.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Tpo -c -o ceph_test_libcephfs_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_libcephfs_build-ceph_strings.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
-
-ceph_test_libcephfs_build-ceph_strings.obj: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_strings.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Tpo -c -o ceph_test_libcephfs_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_libcephfs_build-ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_frag.o: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_frag.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Tpo -c -o ceph_test_libcephfs_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_libcephfs_build-ceph_frag.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
-
-ceph_test_libcephfs_build-ceph_frag.obj: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_frag.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Tpo -c -o ceph_test_libcephfs_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_libcephfs_build-ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
-
-ceph_test_libcephfs_build-config.o: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-config.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-config.Tpo -c -o ceph_test_libcephfs_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-config.Tpo $(DEPDIR)/ceph_test_libcephfs_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_libcephfs_build-config.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
-
-ceph_test_libcephfs_build-config.obj: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-config.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-config.Tpo -c -o ceph_test_libcephfs_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-config.Tpo $(DEPDIR)/ceph_test_libcephfs_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_libcephfs_build-config.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
-
-ceph_test_libcephfs_build-strtol.o: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-strtol.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-strtol.Tpo -c -o ceph_test_libcephfs_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-strtol.Tpo $(DEPDIR)/ceph_test_libcephfs_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_libcephfs_build-strtol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
-
-ceph_test_libcephfs_build-strtol.obj: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-strtol.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-strtol.Tpo -c -o ceph_test_libcephfs_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-strtol.Tpo $(DEPDIR)/ceph_test_libcephfs_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_libcephfs_build-strtol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
-
-ceph_test_libcephfs_build-page.o: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-page.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-page.Tpo -c -o ceph_test_libcephfs_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-page.Tpo $(DEPDIR)/ceph_test_libcephfs_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_libcephfs_build-page.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
-
-ceph_test_libcephfs_build-page.obj: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-page.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-page.Tpo -c -o ceph_test_libcephfs_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-page.Tpo $(DEPDIR)/ceph_test_libcephfs_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_libcephfs_build-page.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
-
-ceph_test_libcephfs_build-lockdep.o: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-lockdep.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Tpo -c -o ceph_test_libcephfs_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Tpo $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_libcephfs_build-lockdep.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
-
-ceph_test_libcephfs_build-lockdep.obj: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-lockdep.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Tpo -c -o ceph_test_libcephfs_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Tpo $(DEPDIR)/ceph_test_libcephfs_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_libcephfs_build-lockdep.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
-
-ceph_test_libcephfs_build-version.o: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-version.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-version.Tpo -c -o ceph_test_libcephfs_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-version.Tpo $(DEPDIR)/ceph_test_libcephfs_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_libcephfs_build-version.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
-
-ceph_test_libcephfs_build-version.obj: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-version.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-version.Tpo -c -o ceph_test_libcephfs_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-version.Tpo $(DEPDIR)/ceph_test_libcephfs_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_libcephfs_build-version.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
-
-ceph_test_libcephfs_build-hex.o: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-hex.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-hex.Tpo -c -o ceph_test_libcephfs_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-hex.Tpo $(DEPDIR)/ceph_test_libcephfs_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_libcephfs_build-hex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
-
-ceph_test_libcephfs_build-hex.obj: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-hex.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-hex.Tpo -c -o ceph_test_libcephfs_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-hex.Tpo $(DEPDIR)/ceph_test_libcephfs_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_libcephfs_build-hex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
-
-ceph_test_libcephfs_build-entity_name.o: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-entity_name.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Tpo -c -o ceph_test_libcephfs_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Tpo $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_libcephfs_build-entity_name.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
-
-ceph_test_libcephfs_build-entity_name.obj: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-entity_name.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Tpo -c -o ceph_test_libcephfs_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Tpo $(DEPDIR)/ceph_test_libcephfs_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_libcephfs_build-entity_name.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_crypto.o: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Tpo -c -o ceph_test_libcephfs_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_libcephfs_build-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
-
-ceph_test_libcephfs_build-ceph_crypto.obj: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Tpo -c -o ceph_test_libcephfs_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_libcephfs_build-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_crypto_cms.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Tpo -c -o ceph_test_libcephfs_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_libcephfs_build-ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
-
-ceph_test_libcephfs_build-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_crypto_cms.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Tpo -c -o ceph_test_libcephfs_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_libcephfs_build-ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
-
-ceph_test_libcephfs_build-ceph_json.o: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_json.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Tpo -c -o ceph_test_libcephfs_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_libcephfs_build-ceph_json.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-ceph_test_libcephfs_build-ceph_json.obj: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ceph_json.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Tpo -c -o ceph_test_libcephfs_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_libcephfs_build-ceph_json.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
-
-ceph_test_libcephfs_build-ipaddr.o: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ipaddr.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Tpo -c -o ceph_test_libcephfs_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_libcephfs_build-ipaddr.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
-
-ceph_test_libcephfs_build-ipaddr.obj: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ipaddr.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Tpo -c -o ceph_test_libcephfs_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_libcephfs_build-ipaddr.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
-
-ceph_test_libcephfs_build-pick_address.o: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-pick_address.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Tpo -c -o ceph_test_libcephfs_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Tpo $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_libcephfs_build-pick_address.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
-
-ceph_test_libcephfs_build-pick_address.obj: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-pick_address.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Tpo -c -o ceph_test_libcephfs_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Tpo $(DEPDIR)/ceph_test_libcephfs_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_libcephfs_build-pick_address.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
-
-ceph_test_libcephfs_build-CrushWrapper.o: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushWrapper.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Tpo -c -o ceph_test_libcephfs_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_libcephfs_build-CrushWrapper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
-
-ceph_test_libcephfs_build-CrushWrapper.obj: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushWrapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Tpo -c -o ceph_test_libcephfs_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_libcephfs_build-CrushWrapper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
-
-ceph_test_libcephfs_build-CrushCompiler.o: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushCompiler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Tpo -c -o ceph_test_libcephfs_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_libcephfs_build-CrushCompiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
-
-ceph_test_libcephfs_build-CrushCompiler.obj: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushCompiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Tpo -c -o ceph_test_libcephfs_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_libcephfs_build-CrushCompiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
-
-ceph_test_libcephfs_build-CrushTester.o: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushTester.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Tpo -c -o ceph_test_libcephfs_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_libcephfs_build-CrushTester.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
-
-ceph_test_libcephfs_build-CrushTester.obj: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-CrushTester.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Tpo -c -o ceph_test_libcephfs_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Tpo $(DEPDIR)/ceph_test_libcephfs_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_libcephfs_build-CrushTester.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
-
-ceph_test_libcephfs_build-cpu_profiler.o: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-cpu_profiler.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Tpo -c -o ceph_test_libcephfs_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_libcephfs_build-cpu_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
-
-ceph_test_libcephfs_build-cpu_profiler.obj: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-cpu_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Tpo -c -o ceph_test_libcephfs_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_libcephfs_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_libcephfs_build-cpu_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
-
-ceph_test_libcephfs_build-disabled_stubs.o: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-disabled_stubs.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Tpo -c -o ceph_test_libcephfs_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_libcephfs_build-disabled_stubs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
-
-ceph_test_libcephfs_build-disabled_stubs.obj: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-disabled_stubs.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Tpo -c -o ceph_test_libcephfs_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_libcephfs_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_libcephfs_build-disabled_stubs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
-
-ceph_test_libcephfs_build-Objecter.o: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Objecter.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Tpo -c -o ceph_test_libcephfs_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_libcephfs_build-Objecter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
-
-ceph_test_libcephfs_build-Objecter.obj: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Objecter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Tpo -c -o ceph_test_libcephfs_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_libcephfs_build-Objecter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
-
-ceph_test_libcephfs_build-ObjectCacher.o: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ObjectCacher.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Tpo -c -o ceph_test_libcephfs_build-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_libcephfs_build-ObjectCacher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
-
-ceph_test_libcephfs_build-ObjectCacher.obj: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-ObjectCacher.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Tpo -c -o ceph_test_libcephfs_build-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Tpo $(DEPDIR)/ceph_test_libcephfs_build-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_libcephfs_build-ObjectCacher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
-
-ceph_test_libcephfs_build-Filer.o: osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Filer.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Filer.Tpo -c -o ceph_test_libcephfs_build-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Filer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Filer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='ceph_test_libcephfs_build-Filer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
-
-ceph_test_libcephfs_build-Filer.obj: osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Filer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Filer.Tpo -c -o ceph_test_libcephfs_build-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Filer.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Filer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='ceph_test_libcephfs_build-Filer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
-
-ceph_test_libcephfs_build-Striper.o: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Striper.o -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Striper.Tpo -c -o ceph_test_libcephfs_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Striper.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_libcephfs_build-Striper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
-
-ceph_test_libcephfs_build-Striper.obj: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libcephfs_build-Striper.obj -MD -MP -MF $(DEPDIR)/ceph_test_libcephfs_build-Striper.Tpo -c -o ceph_test_libcephfs_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libcephfs_build-Striper.Tpo $(DEPDIR)/ceph_test_libcephfs_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_libcephfs_build-Striper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libcephfs_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
-
-test_libcommon_build.o: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_libcommon_build.o -MD -MP -MF $(DEPDIR)/test_libcommon_build.Tpo -c -o test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_libcommon_build.Tpo $(DEPDIR)/test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='test_libcommon_build.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
-
-test_libcommon_build.obj: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_libcommon_build.obj -MD -MP -MF $(DEPDIR)/test_libcommon_build.Tpo -c -o test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_libcommon_build.Tpo $(DEPDIR)/test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='test_libcommon_build.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
-
-AuthAuthorizeHandler.o: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/AuthAuthorizeHandler.Tpo -c -o AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthAuthorizeHandler.Tpo $(DEPDIR)/AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='AuthAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
-
-AuthAuthorizeHandler.obj: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/AuthAuthorizeHandler.Tpo -c -o AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthAuthorizeHandler.Tpo $(DEPDIR)/AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='AuthAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
-
-AuthClientHandler.o: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthClientHandler.o -MD -MP -MF $(DEPDIR)/AuthClientHandler.Tpo -c -o AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthClientHandler.Tpo $(DEPDIR)/AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='AuthClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
-
-AuthClientHandler.obj: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthClientHandler.obj -MD -MP -MF $(DEPDIR)/AuthClientHandler.Tpo -c -o AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthClientHandler.Tpo $(DEPDIR)/AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='AuthClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
-
-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/AuthSessionHandler.Tpo -c -o AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthSessionHandler.Tpo $(DEPDIR)/AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/AuthSessionHandler.Tpo -c -o AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthSessionHandler.Tpo $(DEPDIR)/AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
-
-AuthMethodList.o: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthMethodList.o -MD -MP -MF $(DEPDIR)/AuthMethodList.Tpo -c -o AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthMethodList.Tpo $(DEPDIR)/AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='AuthMethodList.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
-
-AuthMethodList.obj: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthMethodList.obj -MD -MP -MF $(DEPDIR)/AuthMethodList.Tpo -c -o AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthMethodList.Tpo $(DEPDIR)/AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='AuthMethodList.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
-
-CephxAuthorizeHandler.o: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/CephxAuthorizeHandler.Tpo -c -o CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxAuthorizeHandler.Tpo $(DEPDIR)/CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='CephxAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
-
-CephxAuthorizeHandler.obj: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/CephxAuthorizeHandler.Tpo -c -o CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxAuthorizeHandler.Tpo $(DEPDIR)/CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='CephxAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
-
-CephxClientHandler.o: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxClientHandler.o -MD -MP -MF $(DEPDIR)/CephxClientHandler.Tpo -c -o CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxClientHandler.Tpo $(DEPDIR)/CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='CephxClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
-
-CephxClientHandler.obj: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxClientHandler.obj -MD -MP -MF $(DEPDIR)/CephxClientHandler.Tpo -c -o CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxClientHandler.Tpo $(DEPDIR)/CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='CephxClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
-
-CephxProtocol.o: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxProtocol.o -MD -MP -MF $(DEPDIR)/CephxProtocol.Tpo -c -o CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxProtocol.Tpo $(DEPDIR)/CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='CephxProtocol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
-
-CephxProtocol.obj: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxProtocol.obj -MD -MP -MF $(DEPDIR)/CephxProtocol.Tpo -c -o CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxProtocol.Tpo $(DEPDIR)/CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='CephxProtocol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
-
-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/CephxSessionHandler.Tpo -c -o CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxSessionHandler.Tpo $(DEPDIR)/CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/CephxSessionHandler.Tpo -c -o CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CephxSessionHandler.Tpo $(DEPDIR)/CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
-
-AuthNoneAuthorizeHandler.o: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthNoneAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/AuthNoneAuthorizeHandler.Tpo -c -o AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='AuthNoneAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
-
-AuthNoneAuthorizeHandler.obj: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthNoneAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/AuthNoneAuthorizeHandler.Tpo -c -o AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='AuthNoneAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
-
-AuthUnknownAuthorizeHandler.o: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthUnknownAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/AuthUnknownAuthorizeHandler.Tpo -c -o AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='AuthUnknownAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
-
-AuthUnknownAuthorizeHandler.obj: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AuthUnknownAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/AuthUnknownAuthorizeHandler.Tpo -c -o AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='AuthUnknownAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
-
-Crypto.o: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Crypto.o -MD -MP -MF $(DEPDIR)/Crypto.Tpo -c -o Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Crypto.Tpo $(DEPDIR)/Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='Crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
-
-Crypto.obj: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Crypto.obj -MD -MP -MF $(DEPDIR)/Crypto.Tpo -c -o Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Crypto.Tpo $(DEPDIR)/Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='Crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
-
-KeyRing.o: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT KeyRing.o -MD -MP -MF $(DEPDIR)/KeyRing.Tpo -c -o KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/KeyRing.Tpo $(DEPDIR)/KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='KeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
-
-KeyRing.obj: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT KeyRing.obj -MD -MP -MF $(DEPDIR)/KeyRing.Tpo -c -o KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/KeyRing.Tpo $(DEPDIR)/KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='KeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
-
-RotatingKeyRing.o: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RotatingKeyRing.o -MD -MP -MF $(DEPDIR)/RotatingKeyRing.Tpo -c -o RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RotatingKeyRing.Tpo $(DEPDIR)/RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='RotatingKeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
-
-RotatingKeyRing.obj: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RotatingKeyRing.obj -MD -MP -MF $(DEPDIR)/RotatingKeyRing.Tpo -c -o RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RotatingKeyRing.Tpo $(DEPDIR)/RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='RotatingKeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
-
-DecayCounter.o: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DecayCounter.o -MD -MP -MF $(DEPDIR)/DecayCounter.Tpo -c -o DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/DecayCounter.Tpo $(DEPDIR)/DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='DecayCounter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
-
-DecayCounter.obj: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DecayCounter.obj -MD -MP -MF $(DEPDIR)/DecayCounter.Tpo -c -o DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/DecayCounter.Tpo $(DEPDIR)/DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
-
-LogClient.o: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogClient.o -MD -MP -MF $(DEPDIR)/LogClient.Tpo -c -o LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogClient.Tpo $(DEPDIR)/LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='LogClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
-
-LogClient.obj: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogClient.obj -MD -MP -MF $(DEPDIR)/LogClient.Tpo -c -o LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogClient.Tpo $(DEPDIR)/LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='LogClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
-
-LogEntry.o: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogEntry.o -MD -MP -MF $(DEPDIR)/LogEntry.Tpo -c -o LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogEntry.Tpo $(DEPDIR)/LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='LogEntry.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
-
-LogEntry.obj: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT LogEntry.obj -MD -MP -MF $(DEPDIR)/LogEntry.Tpo -c -o LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/LogEntry.Tpo $(DEPDIR)/LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='LogEntry.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
-
-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/PrebufferedStreambuf.Tpo -c -o PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/PrebufferedStreambuf.Tpo $(DEPDIR)/PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
-
-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/PrebufferedStreambuf.Tpo -c -o PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/PrebufferedStreambuf.Tpo $(DEPDIR)/PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
-
-BackTrace.o: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BackTrace.o -MD -MP -MF $(DEPDIR)/BackTrace.Tpo -c -o BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/BackTrace.Tpo $(DEPDIR)/BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='BackTrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
-
-BackTrace.obj: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BackTrace.obj -MD -MP -MF $(DEPDIR)/BackTrace.Tpo -c -o BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/BackTrace.Tpo $(DEPDIR)/BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='BackTrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
-
-perf_counters.o: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT perf_counters.o -MD -MP -MF $(DEPDIR)/perf_counters.Tpo -c -o perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/perf_counters.Tpo $(DEPDIR)/perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='perf_counters.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
-
-perf_counters.obj: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT perf_counters.obj -MD -MP -MF $(DEPDIR)/perf_counters.Tpo -c -o perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/perf_counters.Tpo $(DEPDIR)/perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='perf_counters.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
-
-Mutex.o: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mutex.o -MD -MP -MF $(DEPDIR)/Mutex.Tpo -c -o Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Mutex.Tpo $(DEPDIR)/Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='Mutex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
-
-Mutex.obj: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mutex.obj -MD -MP -MF $(DEPDIR)/Mutex.Tpo -c -o Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Mutex.Tpo $(DEPDIR)/Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='Mutex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
-
-OutputDataSocket.o: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OutputDataSocket.o -MD -MP -MF $(DEPDIR)/OutputDataSocket.Tpo -c -o OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/OutputDataSocket.Tpo $(DEPDIR)/OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
-
-OutputDataSocket.obj: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OutputDataSocket.obj -MD -MP -MF $(DEPDIR)/OutputDataSocket.Tpo -c -o OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/OutputDataSocket.Tpo $(DEPDIR)/OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
-
-admin_socket.o: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT admin_socket.o -MD -MP -MF $(DEPDIR)/admin_socket.Tpo -c -o admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/admin_socket.Tpo $(DEPDIR)/admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='admin_socket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
-
-admin_socket.obj: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT admin_socket.obj -MD -MP -MF $(DEPDIR)/admin_socket.Tpo -c -o admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/admin_socket.Tpo $(DEPDIR)/admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='admin_socket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
-
-admin_socket_client.o: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT admin_socket_client.o -MD -MP -MF $(DEPDIR)/admin_socket_client.Tpo -c -o admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/admin_socket_client.Tpo $(DEPDIR)/admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
-
-admin_socket_client.obj: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT admin_socket_client.obj -MD -MP -MF $(DEPDIR)/admin_socket_client.Tpo -c -o admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/admin_socket_client.Tpo $(DEPDIR)/admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
-
-cmdparse.o: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cmdparse.o -MD -MP -MF $(DEPDIR)/cmdparse.Tpo -c -o cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cmdparse.Tpo $(DEPDIR)/cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='cmdparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
-
-cmdparse.obj: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cmdparse.obj -MD -MP -MF $(DEPDIR)/cmdparse.Tpo -c -o cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cmdparse.Tpo $(DEPDIR)/cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='cmdparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
-
-Clock.o: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Clock.o -MD -MP -MF $(DEPDIR)/Clock.Tpo -c -o Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Clock.Tpo $(DEPDIR)/Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='Clock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
-
-Clock.obj: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Clock.obj -MD -MP -MF $(DEPDIR)/Clock.Tpo -c -o Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Clock.Tpo $(DEPDIR)/Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='Clock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
-
-Throttle.o: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Throttle.o -MD -MP -MF $(DEPDIR)/Throttle.Tpo -c -o Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Throttle.Tpo $(DEPDIR)/Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='Throttle.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
-
-Throttle.obj: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Throttle.obj -MD -MP -MF $(DEPDIR)/Throttle.Tpo -c -o Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Throttle.Tpo $(DEPDIR)/Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='Throttle.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
-
-Timer.o: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Timer.o -MD -MP -MF $(DEPDIR)/Timer.Tpo -c -o Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Timer.Tpo $(DEPDIR)/Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='Timer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
-
-Timer.obj: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Timer.obj -MD -MP -MF $(DEPDIR)/Timer.Tpo -c -o Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Timer.Tpo $(DEPDIR)/Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='Timer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
-
-Finisher.o: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Finisher.o -MD -MP -MF $(DEPDIR)/Finisher.Tpo -c -o Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Finisher.Tpo $(DEPDIR)/Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='Finisher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
-
-Finisher.obj: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Finisher.obj -MD -MP -MF $(DEPDIR)/Finisher.Tpo -c -o Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Finisher.Tpo $(DEPDIR)/Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='Finisher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
-
-environment.o: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT environment.o -MD -MP -MF $(DEPDIR)/environment.Tpo -c -o environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/environment.Tpo $(DEPDIR)/environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
-
-environment.obj: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT environment.obj -MD -MP -MF $(DEPDIR)/environment.Tpo -c -o environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/environment.Tpo $(DEPDIR)/environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
-
-assert.o: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT assert.o -MD -MP -MF $(DEPDIR)/assert.Tpo -c -o assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/assert.Tpo $(DEPDIR)/assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='assert.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
-
-assert.obj: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT assert.obj -MD -MP -MF $(DEPDIR)/assert.Tpo -c -o assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/assert.Tpo $(DEPDIR)/assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='assert.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
-
-run_cmd.o: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_cmd.o -MD -MP -MF $(DEPDIR)/run_cmd.Tpo -c -o run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_cmd.Tpo $(DEPDIR)/run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='run_cmd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
-
-run_cmd.obj: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_cmd.obj -MD -MP -MF $(DEPDIR)/run_cmd.Tpo -c -o run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_cmd.Tpo $(DEPDIR)/run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='run_cmd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
-
-WorkQueue.o: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WorkQueue.o -MD -MP -MF $(DEPDIR)/WorkQueue.Tpo -c -o WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/WorkQueue.Tpo $(DEPDIR)/WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='WorkQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
-
-WorkQueue.obj: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WorkQueue.obj -MD -MP -MF $(DEPDIR)/WorkQueue.Tpo -c -o WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/WorkQueue.Tpo $(DEPDIR)/WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
-
-ConfUtils.o: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ConfUtils.o -MD -MP -MF $(DEPDIR)/ConfUtils.Tpo -c -o ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ConfUtils.Tpo $(DEPDIR)/ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ConfUtils.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
-
-ConfUtils.obj: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ConfUtils.obj -MD -MP -MF $(DEPDIR)/ConfUtils.Tpo -c -o ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ConfUtils.Tpo $(DEPDIR)/ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
-
-MemoryModel.o: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MemoryModel.o -MD -MP -MF $(DEPDIR)/MemoryModel.Tpo -c -o MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MemoryModel.Tpo $(DEPDIR)/MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='MemoryModel.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
-
-MemoryModel.obj: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MemoryModel.obj -MD -MP -MF $(DEPDIR)/MemoryModel.Tpo -c -o MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MemoryModel.Tpo $(DEPDIR)/MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
-
-fd.o: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fd.o -MD -MP -MF $(DEPDIR)/fd.Tpo -c -o fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fd.Tpo $(DEPDIR)/fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='fd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
-
-fd.obj: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fd.obj -MD -MP -MF $(DEPDIR)/fd.Tpo -c -o fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fd.Tpo $(DEPDIR)/fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='fd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
-
-snap_types.o: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snap_types.o -MD -MP -MF $(DEPDIR)/snap_types.Tpo -c -o snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snap_types.Tpo $(DEPDIR)/snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='snap_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
-
-snap_types.obj: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snap_types.obj -MD -MP -MF $(DEPDIR)/snap_types.Tpo -c -o snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snap_types.Tpo $(DEPDIR)/snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='snap_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
-
-str_list.o: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT str_list.o -MD -MP -MF $(DEPDIR)/str_list.Tpo -c -o str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/str_list.Tpo $(DEPDIR)/str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='str_list.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
-
-str_list.obj: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT str_list.obj -MD -MP -MF $(DEPDIR)/str_list.Tpo -c -o str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/str_list.Tpo $(DEPDIR)/str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='str_list.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
-
-errno.o: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT errno.o -MD -MP -MF $(DEPDIR)/errno.Tpo -c -o errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/errno.Tpo $(DEPDIR)/errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='errno.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
-
-errno.obj: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT errno.obj -MD -MP -MF $(DEPDIR)/errno.Tpo -c -o errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/errno.Tpo $(DEPDIR)/errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='errno.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
-
-json_spirit_reader.o: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_reader.o -MD -MP -MF $(DEPDIR)/json_spirit_reader.Tpo -c -o json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_reader.Tpo $(DEPDIR)/json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='json_spirit_reader.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-json_spirit_reader.obj: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_reader.obj -MD -MP -MF $(DEPDIR)/json_spirit_reader.Tpo -c -o json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_reader.Tpo $(DEPDIR)/json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='json_spirit_reader.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
-
-json_spirit_writer.o: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_writer.o -MD -MP -MF $(DEPDIR)/json_spirit_writer.Tpo -c -o json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_writer.Tpo $(DEPDIR)/json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='json_spirit_writer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-json_spirit_writer.obj: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_writer.obj -MD -MP -MF $(DEPDIR)/json_spirit_writer.Tpo -c -o json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_writer.Tpo $(DEPDIR)/json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='json_spirit_writer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
-
-json_spirit_value.o: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_value.o -MD -MP -MF $(DEPDIR)/json_spirit_value.Tpo -c -o json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_value.Tpo $(DEPDIR)/json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='json_spirit_value.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-json_spirit_value.obj: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT json_spirit_value.obj -MD -MP -MF $(DEPDIR)/json_spirit_value.Tpo -c -o json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/json_spirit_value.Tpo $(DEPDIR)/json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='json_spirit_value.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
-
-Log.o: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Log.o -MD -MP -MF $(DEPDIR)/Log.Tpo -c -o Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Log.Tpo $(DEPDIR)/Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='Log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
-
-Log.obj: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Log.obj -MD -MP -MF $(DEPDIR)/Log.Tpo -c -o Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Log.Tpo $(DEPDIR)/Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='Log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
-
-SubsystemMap.o: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SubsystemMap.o -MD -MP -MF $(DEPDIR)/SubsystemMap.Tpo -c -o SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SubsystemMap.Tpo $(DEPDIR)/SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='SubsystemMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
-
-SubsystemMap.obj: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SubsystemMap.obj -MD -MP -MF $(DEPDIR)/SubsystemMap.Tpo -c -o SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SubsystemMap.Tpo $(DEPDIR)/SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='SubsystemMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
-
-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonCap.o -MD -MP -MF $(DEPDIR)/MonCap.Tpo -c -o MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonCap.Tpo $(DEPDIR)/MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='MonCap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
-
-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonCap.obj -MD -MP -MF $(DEPDIR)/MonCap.Tpo -c -o MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonCap.Tpo $(DEPDIR)/MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='MonCap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
-
-MonClient.o: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonClient.o -MD -MP -MF $(DEPDIR)/MonClient.Tpo -c -o MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonClient.Tpo $(DEPDIR)/MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='MonClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
-
-MonClient.obj: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonClient.obj -MD -MP -MF $(DEPDIR)/MonClient.Tpo -c -o MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonClient.Tpo $(DEPDIR)/MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='MonClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
-
-MonMap.o: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonMap.o -MD -MP -MF $(DEPDIR)/MonMap.Tpo -c -o MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonMap.Tpo $(DEPDIR)/MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='MonMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
-
-MonMap.obj: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MonMap.obj -MD -MP -MF $(DEPDIR)/MonMap.Tpo -c -o MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MonMap.Tpo $(DEPDIR)/MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='MonMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
-
-Accepter.o: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Accepter.o -MD -MP -MF $(DEPDIR)/Accepter.Tpo -c -o Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Accepter.Tpo $(DEPDIR)/Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='Accepter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
-
-Accepter.obj: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Accepter.obj -MD -MP -MF $(DEPDIR)/Accepter.Tpo -c -o Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Accepter.Tpo $(DEPDIR)/Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='Accepter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
-
-DispatchQueue.o: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DispatchQueue.o -MD -MP -MF $(DEPDIR)/DispatchQueue.Tpo -c -o DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/DispatchQueue.Tpo $(DEPDIR)/DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='DispatchQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
-
-DispatchQueue.obj: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DispatchQueue.obj -MD -MP -MF $(DEPDIR)/DispatchQueue.Tpo -c -o DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/DispatchQueue.Tpo $(DEPDIR)/DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='DispatchQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
-
-Message.o: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Message.o -MD -MP -MF $(DEPDIR)/Message.Tpo -c -o Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Message.Tpo $(DEPDIR)/Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='Message.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
-
-Message.obj: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Message.obj -MD -MP -MF $(DEPDIR)/Message.Tpo -c -o Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Message.Tpo $(DEPDIR)/Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='Message.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
-
-RefCountedObj.o: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RefCountedObj.o -MD -MP -MF $(DEPDIR)/RefCountedObj.Tpo -c -o RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RefCountedObj.Tpo $(DEPDIR)/RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
-
-RefCountedObj.obj: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RefCountedObj.obj -MD -MP -MF $(DEPDIR)/RefCountedObj.Tpo -c -o RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RefCountedObj.Tpo $(DEPDIR)/RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
-
-Messenger.o: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Messenger.o -MD -MP -MF $(DEPDIR)/Messenger.Tpo -c -o Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Messenger.Tpo $(DEPDIR)/Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='Messenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
-
-Messenger.obj: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Messenger.obj -MD -MP -MF $(DEPDIR)/Messenger.Tpo -c -o Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Messenger.Tpo $(DEPDIR)/Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='Messenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
-
-Pipe.o: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Pipe.o -MD -MP -MF $(DEPDIR)/Pipe.Tpo -c -o Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Pipe.Tpo $(DEPDIR)/Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='Pipe.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
-
-Pipe.obj: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Pipe.obj -MD -MP -MF $(DEPDIR)/Pipe.Tpo -c -o Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Pipe.Tpo $(DEPDIR)/Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='Pipe.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
-
-SimpleMessenger.o: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SimpleMessenger.o -MD -MP -MF $(DEPDIR)/SimpleMessenger.Tpo -c -o SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SimpleMessenger.Tpo $(DEPDIR)/SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='SimpleMessenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
-
-SimpleMessenger.obj: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SimpleMessenger.obj -MD -MP -MF $(DEPDIR)/SimpleMessenger.Tpo -c -o SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/SimpleMessenger.Tpo $(DEPDIR)/SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='SimpleMessenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
-
-msg_types.o: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT msg_types.o -MD -MP -MF $(DEPDIR)/msg_types.Tpo -c -o msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/msg_types.Tpo $(DEPDIR)/msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='msg_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
-
-msg_types.obj: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT msg_types.obj -MD -MP -MF $(DEPDIR)/msg_types.Tpo -c -o msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/msg_types.Tpo $(DEPDIR)/msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='msg_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
-
-hobject.o: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hobject.o -MD -MP -MF $(DEPDIR)/hobject.Tpo -c -o hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hobject.Tpo $(DEPDIR)/hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='hobject.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
-
-hobject.obj: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hobject.obj -MD -MP -MF $(DEPDIR)/hobject.Tpo -c -o hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hobject.Tpo $(DEPDIR)/hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='hobject.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
-
-OSDMap.o: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OSDMap.o -MD -MP -MF $(DEPDIR)/OSDMap.Tpo -c -o OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/OSDMap.Tpo $(DEPDIR)/OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='OSDMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
-
-OSDMap.obj: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OSDMap.obj -MD -MP -MF $(DEPDIR)/OSDMap.Tpo -c -o OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/OSDMap.Tpo $(DEPDIR)/OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='OSDMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
-
-osd_types.o: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT osd_types.o -MD -MP -MF $(DEPDIR)/osd_types.Tpo -c -o osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/osd_types.Tpo $(DEPDIR)/osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='osd_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
-
-osd_types.obj: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT osd_types.obj -MD -MP -MF $(DEPDIR)/osd_types.Tpo -c -o osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/osd_types.Tpo $(DEPDIR)/osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='osd_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
-
-MDSMap.o: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSMap.o -MD -MP -MF $(DEPDIR)/MDSMap.Tpo -c -o MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSMap.Tpo $(DEPDIR)/MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='MDSMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
-
-MDSMap.obj: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MDSMap.obj -MD -MP -MF $(DEPDIR)/MDSMap.Tpo -c -o MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/MDSMap.Tpo $(DEPDIR)/MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='MDSMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
-
-inode_backtrace.o: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT inode_backtrace.o -MD -MP -MF $(DEPDIR)/inode_backtrace.Tpo -c -o inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/inode_backtrace.Tpo $(DEPDIR)/inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
-
-inode_backtrace.obj: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT inode_backtrace.obj -MD -MP -MF $(DEPDIR)/inode_backtrace.Tpo -c -o inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/inode_backtrace.Tpo $(DEPDIR)/inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
-
-mdstypes.o: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mdstypes.o -MD -MP -MF $(DEPDIR)/mdstypes.Tpo -c -o mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mdstypes.Tpo $(DEPDIR)/mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='mdstypes.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
-
-mdstypes.obj: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mdstypes.obj -MD -MP -MF $(DEPDIR)/mdstypes.Tpo -c -o mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mdstypes.Tpo $(DEPDIR)/mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='mdstypes.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
-
-blkdev.o: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT blkdev.o -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='blkdev.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
-
-blkdev.obj: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT blkdev.obj -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='blkdev.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
-
-common_init.o: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT common_init.o -MD -MP -MF $(DEPDIR)/common_init.Tpo -c -o common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/common_init.Tpo $(DEPDIR)/common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='common_init.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
-
-common_init.obj: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT common_init.obj -MD -MP -MF $(DEPDIR)/common_init.Tpo -c -o common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/common_init.Tpo $(DEPDIR)/common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='common_init.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
-
-ceph_argparse.o: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_argparse.o -MD -MP -MF $(DEPDIR)/ceph_argparse.Tpo -c -o ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_argparse.Tpo $(DEPDIR)/ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
-
-ceph_argparse.obj: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_argparse.obj -MD -MP -MF $(DEPDIR)/ceph_argparse.Tpo -c -o ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_argparse.Tpo $(DEPDIR)/ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
-
-ceph_context.o: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_context.o -MD -MP -MF $(DEPDIR)/ceph_context.Tpo -c -o ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_context.Tpo $(DEPDIR)/ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_context.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
-
-ceph_context.obj: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_context.obj -MD -MP -MF $(DEPDIR)/ceph_context.Tpo -c -o ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_context.Tpo $(DEPDIR)/ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_context.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
-
-buffer.o: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT buffer.o -MD -MP -MF $(DEPDIR)/buffer.Tpo -c -o buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/buffer.Tpo $(DEPDIR)/buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='buffer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
-
-buffer.obj: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT buffer.obj -MD -MP -MF $(DEPDIR)/buffer.Tpo -c -o buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/buffer.Tpo $(DEPDIR)/buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='buffer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
-
-code_environment.o: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT code_environment.o -MD -MP -MF $(DEPDIR)/code_environment.Tpo -c -o code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/code_environment.Tpo $(DEPDIR)/code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='code_environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
-
-code_environment.obj: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT code_environment.obj -MD -MP -MF $(DEPDIR)/code_environment.Tpo -c -o code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/code_environment.Tpo $(DEPDIR)/code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='code_environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
-
-dout.o: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dout.o -MD -MP -MF $(DEPDIR)/dout.Tpo -c -o dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/dout.Tpo $(DEPDIR)/dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='dout.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
-
-dout.obj: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dout.obj -MD -MP -MF $(DEPDIR)/dout.Tpo -c -o dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/dout.Tpo $(DEPDIR)/dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='dout.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
-
-signal.o: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT signal.o -MD -MP -MF $(DEPDIR)/signal.Tpo -c -o signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/signal.Tpo $(DEPDIR)/signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='signal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
-
-signal.obj: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT signal.obj -MD -MP -MF $(DEPDIR)/signal.Tpo -c -o signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/signal.Tpo $(DEPDIR)/signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='signal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
-
-simple_spin.o: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_spin.o -MD -MP -MF $(DEPDIR)/simple_spin.Tpo -c -o simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/simple_spin.Tpo $(DEPDIR)/simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='simple_spin.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
-
-simple_spin.obj: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_spin.obj -MD -MP -MF $(DEPDIR)/simple_spin.Tpo -c -o simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/simple_spin.Tpo $(DEPDIR)/simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='simple_spin.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
-
-Thread.o: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Thread.o -MD -MP -MF $(DEPDIR)/Thread.Tpo -c -o Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Thread.Tpo $(DEPDIR)/Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='Thread.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
-
-Thread.obj: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Thread.obj -MD -MP -MF $(DEPDIR)/Thread.Tpo -c -o Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Thread.Tpo $(DEPDIR)/Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='Thread.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
-
-Formatter.o: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Formatter.o -MD -MP -MF $(DEPDIR)/Formatter.Tpo -c -o Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Formatter.Tpo $(DEPDIR)/Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='Formatter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
-
-Formatter.obj: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Formatter.obj -MD -MP -MF $(DEPDIR)/Formatter.Tpo -c -o Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Formatter.Tpo $(DEPDIR)/Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='Formatter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
-
-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HeartbeatMap.o -MD -MP -MF $(DEPDIR)/HeartbeatMap.Tpo -c -o HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/HeartbeatMap.Tpo $(DEPDIR)/HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
-
-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/HeartbeatMap.Tpo -c -o HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/HeartbeatMap.Tpo $(DEPDIR)/HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
-
-ceph_fs.o: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_fs.o -MD -MP -MF $(DEPDIR)/ceph_fs.Tpo -c -o ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fs.Tpo $(DEPDIR)/ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_fs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
-
-ceph_fs.obj: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_fs.obj -MD -MP -MF $(DEPDIR)/ceph_fs.Tpo -c -o ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_fs.Tpo $(DEPDIR)/ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
-
-ceph_hash.o: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_hash.o -MD -MP -MF $(DEPDIR)/ceph_hash.Tpo -c -o ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_hash.Tpo $(DEPDIR)/ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_hash.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
-
-ceph_hash.obj: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_hash.obj -MD -MP -MF $(DEPDIR)/ceph_hash.Tpo -c -o ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_hash.Tpo $(DEPDIR)/ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
-
-ceph_strings.o: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_strings.o -MD -MP -MF $(DEPDIR)/ceph_strings.Tpo -c -o ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_strings.Tpo $(DEPDIR)/ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_strings.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
-
-ceph_strings.obj: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_strings.obj -MD -MP -MF $(DEPDIR)/ceph_strings.Tpo -c -o ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_strings.Tpo $(DEPDIR)/ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
-
-ceph_frag.o: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_frag.o -MD -MP -MF $(DEPDIR)/ceph_frag.Tpo -c -o ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_frag.Tpo $(DEPDIR)/ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_frag.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
-
-ceph_frag.obj: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_frag.obj -MD -MP -MF $(DEPDIR)/ceph_frag.Tpo -c -o ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_frag.Tpo $(DEPDIR)/ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
-
-config.o: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT config.o -MD -MP -MF $(DEPDIR)/config.Tpo -c -o config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/config.Tpo $(DEPDIR)/config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='config.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
-
-config.obj: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT config.obj -MD -MP -MF $(DEPDIR)/config.Tpo -c -o config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/config.Tpo $(DEPDIR)/config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='config.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
-
-strtol.o: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT strtol.o -MD -MP -MF $(DEPDIR)/strtol.Tpo -c -o strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strtol.Tpo $(DEPDIR)/strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='strtol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
-
-strtol.obj: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT strtol.obj -MD -MP -MF $(DEPDIR)/strtol.Tpo -c -o strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strtol.Tpo $(DEPDIR)/strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='strtol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
-
-page.o: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT page.o -MD -MP -MF $(DEPDIR)/page.Tpo -c -o page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/page.Tpo $(DEPDIR)/page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='page.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
-
-page.obj: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT page.obj -MD -MP -MF $(DEPDIR)/page.Tpo -c -o page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/page.Tpo $(DEPDIR)/page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='page.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
-
-lockdep.o: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT lockdep.o -MD -MP -MF $(DEPDIR)/lockdep.Tpo -c -o lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/lockdep.Tpo $(DEPDIR)/lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='lockdep.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
-
-lockdep.obj: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT lockdep.obj -MD -MP -MF $(DEPDIR)/lockdep.Tpo -c -o lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/lockdep.Tpo $(DEPDIR)/lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='lockdep.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
-
-version.o: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT version.o -MD -MP -MF $(DEPDIR)/version.Tpo -c -o version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/version.Tpo $(DEPDIR)/version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='version.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
-
-version.obj: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT version.obj -MD -MP -MF $(DEPDIR)/version.Tpo -c -o version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/version.Tpo $(DEPDIR)/version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='version.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
-
-hex.o: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hex.o -MD -MP -MF $(DEPDIR)/hex.Tpo -c -o hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hex.Tpo $(DEPDIR)/hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='hex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
-
-hex.obj: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hex.obj -MD -MP -MF $(DEPDIR)/hex.Tpo -c -o hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hex.Tpo $(DEPDIR)/hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='hex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
-
-entity_name.o: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT entity_name.o -MD -MP -MF $(DEPDIR)/entity_name.Tpo -c -o entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/entity_name.Tpo $(DEPDIR)/entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='entity_name.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
-
-entity_name.obj: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT entity_name.obj -MD -MP -MF $(DEPDIR)/entity_name.Tpo -c -o entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/entity_name.Tpo $(DEPDIR)/entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='entity_name.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
-
-ceph_crypto.o: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_crypto.o -MD -MP -MF $(DEPDIR)/ceph_crypto.Tpo -c -o ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_crypto.Tpo $(DEPDIR)/ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
-
-ceph_crypto.obj: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_crypto.obj -MD -MP -MF $(DEPDIR)/ceph_crypto.Tpo -c -o ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_crypto.Tpo $(DEPDIR)/ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
-
-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_crypto_cms.o -MD -MP -MF $(DEPDIR)/ceph_crypto_cms.Tpo -c -o ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_crypto_cms.Tpo $(DEPDIR)/ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
-
-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_crypto_cms.obj -MD -MP -MF $(DEPDIR)/ceph_crypto_cms.Tpo -c -o ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_crypto_cms.Tpo $(DEPDIR)/ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
-
-ceph_json.o: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_json.o -MD -MP -MF $(DEPDIR)/ceph_json.Tpo -c -o ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_json.Tpo $(DEPDIR)/ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_json.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-ceph_json.obj: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ceph_json.obj -MD -MP -MF $(DEPDIR)/ceph_json.Tpo -c -o ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_json.Tpo $(DEPDIR)/ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_json.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
-
-ipaddr.o: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ipaddr.o -MD -MP -MF $(DEPDIR)/ipaddr.Tpo -c -o ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ipaddr.Tpo $(DEPDIR)/ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ipaddr.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
-
-ipaddr.obj: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ipaddr.obj -MD -MP -MF $(DEPDIR)/ipaddr.Tpo -c -o ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ipaddr.Tpo $(DEPDIR)/ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ipaddr.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
-
-pick_address.o: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pick_address.o -MD -MP -MF $(DEPDIR)/pick_address.Tpo -c -o pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pick_address.Tpo $(DEPDIR)/pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='pick_address.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
-
-pick_address.obj: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pick_address.obj -MD -MP -MF $(DEPDIR)/pick_address.Tpo -c -o pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pick_address.Tpo $(DEPDIR)/pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='pick_address.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
-
-CrushWrapper.o: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushWrapper.o -MD -MP -MF $(DEPDIR)/CrushWrapper.Tpo -c -o CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushWrapper.Tpo $(DEPDIR)/CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='CrushWrapper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
-
-CrushWrapper.obj: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushWrapper.obj -MD -MP -MF $(DEPDIR)/CrushWrapper.Tpo -c -o CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushWrapper.Tpo $(DEPDIR)/CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='CrushWrapper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
-
-CrushCompiler.o: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushCompiler.o -MD -MP -MF $(DEPDIR)/CrushCompiler.Tpo -c -o CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushCompiler.Tpo $(DEPDIR)/CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='CrushCompiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
-
-CrushCompiler.obj: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushCompiler.obj -MD -MP -MF $(DEPDIR)/CrushCompiler.Tpo -c -o CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushCompiler.Tpo $(DEPDIR)/CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='CrushCompiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
-
-CrushTester.o: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushTester.o -MD -MP -MF $(DEPDIR)/CrushTester.Tpo -c -o CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushTester.Tpo $(DEPDIR)/CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='CrushTester.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
-
-CrushTester.obj: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CrushTester.obj -MD -MP -MF $(DEPDIR)/CrushTester.Tpo -c -o CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/CrushTester.Tpo $(DEPDIR)/CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='CrushTester.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
-
-cpu_profiler.o: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cpu_profiler.o -MD -MP -MF $(DEPDIR)/cpu_profiler.Tpo -c -o cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cpu_profiler.Tpo $(DEPDIR)/cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='cpu_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
-
-cpu_profiler.obj: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cpu_profiler.obj -MD -MP -MF $(DEPDIR)/cpu_profiler.Tpo -c -o cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/cpu_profiler.Tpo $(DEPDIR)/cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='cpu_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
-
-disabled_stubs.o: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT disabled_stubs.o -MD -MP -MF $(DEPDIR)/disabled_stubs.Tpo -c -o disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/disabled_stubs.Tpo $(DEPDIR)/disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='disabled_stubs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
-
-disabled_stubs.obj: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT disabled_stubs.obj -MD -MP -MF $(DEPDIR)/disabled_stubs.Tpo -c -o disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/disabled_stubs.Tpo $(DEPDIR)/disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='disabled_stubs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-test_libcommon_build.o: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-test_libcommon_build.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Tpo -c -o ceph_test_libhadoopcephfs_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_libhadoopcephfs_build-test_libcommon_build.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
-
-ceph_test_libhadoopcephfs_build-test_libcommon_build.obj: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-test_libcommon_build.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Tpo -c -o ceph_test_libhadoopcephfs_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/tes [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_libhadoopcephfs_build-test_libcommon_build.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CephFSInterface.o: client/hadoop/CephFSInterface.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephFSInterface.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Tpo -c -o ceph_test_libhadoopcephfs_build-CephFSInterface.o `test -f 'client/hadoop/CephFSInterface.cc' || echo '$(srcdir)/'`client/hadoop/CephFSInterface.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/hadoop/CephFSInterface.cc' object='ceph_test_libhadoopcephfs_build-CephFSInterface.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephFSInterface.o `test -f 'client/hadoop/CephFSInterface.cc' || echo '$(srcdir)/'`client/hadoop/CephFSInterface.cc
-
-ceph_test_libhadoopcephfs_build-CephFSInterface.obj: client/hadoop/CephFSInterface.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephFSInterface.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Tpo -c -o ceph_test_libhadoopcephfs_build-CephFSInterface.obj `if test -f 'client/hadoop/CephFSInterface.cc'; then $(CYGPATH_W) 'client/hadoop/CephFSInterface.cc'; else $(CYGPATH_W) '$(srcdir)/client/had [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephFSInterface.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='client/hadoop/CephFSInterface.cc' object='ceph_test_libhadoopcephfs_build-CephFSInterface.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephFSInterface.obj `if test -f 'client/hadoop/CephFSInterface.cc'; then $(CYGPATH_W) 'client/hadoop/CephFSInterface.cc'; else $(CYGPATH_W) '$(srcdir)/client/hadoop/CephFSInterface.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Objecter.o: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Objecter.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Tpo -c -o ceph_test_libhadoopcephfs_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_libhadoopcephfs_build-Objecter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
-
-ceph_test_libhadoopcephfs_build-Objecter.obj: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Objecter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Tpo -c -o ceph_test_libhadoopcephfs_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_libhadoopcephfs_build-Objecter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ObjectCacher.o: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ObjectCacher.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Tpo -c -o ceph_test_libhadoopcephfs_build-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_libhadoopcephfs_build-ObjectCacher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
-
-ceph_test_libhadoopcephfs_build-ObjectCacher.obj: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ObjectCacher.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Tpo -c -o ceph_test_libhadoopcephfs_build-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_libhadoopcephfs_build-ObjectCacher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Filer.o: osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Filer.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Tpo -c -o ceph_test_libhadoopcephfs_build-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='ceph_test_libhadoopcephfs_build-Filer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
-
-ceph_test_libhadoopcephfs_build-Filer.obj: osdc/Filer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Filer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Tpo -c -o ceph_test_libhadoopcephfs_build-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Filer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='ceph_test_libhadoopcephfs_build-Filer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Striper.o: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Striper.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Tpo -c -o ceph_test_libhadoopcephfs_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_libhadoopcephfs_build-Striper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
-
-ceph_test_libhadoopcephfs_build-Striper.obj: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Striper.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Tpo -c -o ceph_test_libhadoopcephfs_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_libhadoopcephfs_build-Striper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.o: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
-
-ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.obj: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/aut [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthClientHandler.o: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
-
-ceph_test_libhadoopcephfs_build-AuthClientHandler.obj: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHan [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-ceph_test_libhadoopcephfs_build-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSess [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthMethodList.o: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthMethodList.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_libhadoopcephfs_build-AuthMethodList.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
-
-ceph_test_libhadoopcephfs_build-AuthMethodList.obj: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthMethodList.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_libhadoopcephfs_build-AuthMethodList.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.o: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
-
-ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.obj: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CephxClientHandler.o: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
-
-ceph_test_libhadoopcephfs_build-CephxClientHandler.obj: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/a [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CephxProtocol.o: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxProtocol.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_libhadoopcephfs_build-CephxProtocol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
-
-ceph_test_libhadoopcephfs_build-CephxProtocol.obj: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxProtocol.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_libhadoopcephfs_build-CephxProtocol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-ceph_test_libhadoopcephfs_build-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcd [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_libhadoopcephfs_build-CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.o: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
-
-ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.obj: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; el [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.o: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorize [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
-
-ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.obj: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAut [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Crypto.o: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Tpo -c -o ceph_test_libhadoopcephfs_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_libhadoopcephfs_build-Crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
-
-ceph_test_libhadoopcephfs_build-Crypto.obj: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Tpo -c -o ceph_test_libhadoopcephfs_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_libhadoopcephfs_build-Crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-KeyRing.o: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-KeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Tpo -c -o ceph_test_libhadoopcephfs_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_libhadoopcephfs_build-KeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
-
-ceph_test_libhadoopcephfs_build-KeyRing.obj: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-KeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Tpo -c -o ceph_test_libhadoopcephfs_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_libhadoopcephfs_build-KeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-RotatingKeyRing.o: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-RotatingKeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Tpo -c -o ceph_test_libhadoopcephfs_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_libhadoopcephfs_build-RotatingKeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
-
-ceph_test_libhadoopcephfs_build-RotatingKeyRing.obj: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-RotatingKeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Tpo -c -o ceph_test_libhadoopcephfs_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_libhadoopcephfs_build-RotatingKeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-DecayCounter.o: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-DecayCounter.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Tpo -c -o ceph_test_libhadoopcephfs_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_libhadoopcephfs_build-DecayCounter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
-
-ceph_test_libhadoopcephfs_build-DecayCounter.obj: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-DecayCounter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Tpo -c -o ceph_test_libhadoopcephfs_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_libhadoopcephfs_build-DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-LogClient.o: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-LogClient.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Tpo -c -o ceph_test_libhadoopcephfs_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_libhadoopcephfs_build-LogClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
-
-ceph_test_libhadoopcephfs_build-LogClient.obj: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-LogClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Tpo -c -o ceph_test_libhadoopcephfs_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_libhadoopcephfs_build-LogClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-LogEntry.o: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-LogEntry.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Tpo -c -o ceph_test_libhadoopcephfs_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_libhadoopcephfs_build-LogEntry.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
-
-ceph_test_libhadoopcephfs_build-LogEntry.obj: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-LogEntry.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Tpo -c -o ceph_test_libhadoopcephfs_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_libhadoopcephfs_build-LogEntry.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Tpo -c -o ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
-
-ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Tpo -c -o ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir) [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-BackTrace.o: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-BackTrace.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Tpo -c -o ceph_test_libhadoopcephfs_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_libhadoopcephfs_build-BackTrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
-
-ceph_test_libhadoopcephfs_build-BackTrace.obj: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-BackTrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Tpo -c -o ceph_test_libhadoopcephfs_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_libhadoopcephfs_build-BackTrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-perf_counters.o: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-perf_counters.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Tpo -c -o ceph_test_libhadoopcephfs_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_libhadoopcephfs_build-perf_counters.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
-
-ceph_test_libhadoopcephfs_build-perf_counters.obj: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-perf_counters.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Tpo -c -o ceph_test_libhadoopcephfs_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_libhadoopcephfs_build-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Mutex.o: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Mutex.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Tpo -c -o ceph_test_libhadoopcephfs_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_libhadoopcephfs_build-Mutex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
-
-ceph_test_libhadoopcephfs_build-Mutex.obj: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Mutex.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Tpo -c -o ceph_test_libhadoopcephfs_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_libhadoopcephfs_build-Mutex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-OutputDataSocket.o: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-OutputDataSocket.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Tpo -c -o ceph_test_libhadoopcephfs_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_libhadoopcephfs_build-OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
-
-ceph_test_libhadoopcephfs_build-OutputDataSocket.obj: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-OutputDataSocket.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Tpo -c -o ceph_test_libhadoopcephfs_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSo [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_libhadoopcephfs_build-OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-admin_socket.o: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-admin_socket.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Tpo -c -o ceph_test_libhadoopcephfs_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_libhadoopcephfs_build-admin_socket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
-
-ceph_test_libhadoopcephfs_build-admin_socket.obj: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-admin_socket.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Tpo -c -o ceph_test_libhadoopcephfs_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_libhadoopcephfs_build-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-admin_socket_client.o: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-admin_socket_client.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Tpo -c -o ceph_test_libhadoopcephfs_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_libhadoopcephfs_build-admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
-
-ceph_test_libhadoopcephfs_build-admin_socket_client.obj: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-admin_socket_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Tpo -c -o ceph_test_libhadoopcephfs_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/comm [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_libhadoopcephfs_build-admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-cmdparse.o: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-cmdparse.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Tpo -c -o ceph_test_libhadoopcephfs_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_libhadoopcephfs_build-cmdparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
-
-ceph_test_libhadoopcephfs_build-cmdparse.obj: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-cmdparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Tpo -c -o ceph_test_libhadoopcephfs_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_libhadoopcephfs_build-cmdparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Clock.o: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Clock.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Tpo -c -o ceph_test_libhadoopcephfs_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_libhadoopcephfs_build-Clock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
-
-ceph_test_libhadoopcephfs_build-Clock.obj: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Clock.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Tpo -c -o ceph_test_libhadoopcephfs_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_libhadoopcephfs_build-Clock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Throttle.o: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Throttle.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Tpo -c -o ceph_test_libhadoopcephfs_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_libhadoopcephfs_build-Throttle.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
-
-ceph_test_libhadoopcephfs_build-Throttle.obj: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Throttle.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Tpo -c -o ceph_test_libhadoopcephfs_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_libhadoopcephfs_build-Throttle.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Timer.o: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Timer.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Tpo -c -o ceph_test_libhadoopcephfs_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_libhadoopcephfs_build-Timer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
-
-ceph_test_libhadoopcephfs_build-Timer.obj: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Timer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Tpo -c -o ceph_test_libhadoopcephfs_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_libhadoopcephfs_build-Timer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Finisher.o: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Finisher.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Tpo -c -o ceph_test_libhadoopcephfs_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_libhadoopcephfs_build-Finisher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
-
-ceph_test_libhadoopcephfs_build-Finisher.obj: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Finisher.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Tpo -c -o ceph_test_libhadoopcephfs_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_libhadoopcephfs_build-Finisher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-environment.o: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-environment.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Tpo -c -o ceph_test_libhadoopcephfs_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_libhadoopcephfs_build-environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
-
-ceph_test_libhadoopcephfs_build-environment.obj: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Tpo -c -o ceph_test_libhadoopcephfs_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_libhadoopcephfs_build-environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-assert.o: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-assert.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Tpo -c -o ceph_test_libhadoopcephfs_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_libhadoopcephfs_build-assert.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
-
-ceph_test_libhadoopcephfs_build-assert.obj: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-assert.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Tpo -c -o ceph_test_libhadoopcephfs_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_libhadoopcephfs_build-assert.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-run_cmd.o: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-run_cmd.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Tpo -c -o ceph_test_libhadoopcephfs_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_libhadoopcephfs_build-run_cmd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
-
-ceph_test_libhadoopcephfs_build-run_cmd.obj: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-run_cmd.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Tpo -c -o ceph_test_libhadoopcephfs_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_libhadoopcephfs_build-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-WorkQueue.o: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-WorkQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Tpo -c -o ceph_test_libhadoopcephfs_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_libhadoopcephfs_build-WorkQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
-
-ceph_test_libhadoopcephfs_build-WorkQueue.obj: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-WorkQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Tpo -c -o ceph_test_libhadoopcephfs_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_libhadoopcephfs_build-WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ConfUtils.o: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ConfUtils.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Tpo -c -o ceph_test_libhadoopcephfs_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_libhadoopcephfs_build-ConfUtils.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
-
-ceph_test_libhadoopcephfs_build-ConfUtils.obj: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ConfUtils.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Tpo -c -o ceph_test_libhadoopcephfs_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_libhadoopcephfs_build-ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-MemoryModel.o: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MemoryModel.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Tpo -c -o ceph_test_libhadoopcephfs_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_libhadoopcephfs_build-MemoryModel.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
-
-ceph_test_libhadoopcephfs_build-MemoryModel.obj: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MemoryModel.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Tpo -c -o ceph_test_libhadoopcephfs_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_libhadoopcephfs_build-MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-fd.o: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-fd.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Tpo -c -o ceph_test_libhadoopcephfs_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_libhadoopcephfs_build-fd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
-
-ceph_test_libhadoopcephfs_build-fd.obj: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-fd.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Tpo -c -o ceph_test_libhadoopcephfs_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_libhadoopcephfs_build-fd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-snap_types.o: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-snap_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Tpo -c -o ceph_test_libhadoopcephfs_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_libhadoopcephfs_build-snap_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
-
-ceph_test_libhadoopcephfs_build-snap_types.obj: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-snap_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Tpo -c -o ceph_test_libhadoopcephfs_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_libhadoopcephfs_build-snap_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-str_list.o: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-str_list.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Tpo -c -o ceph_test_libhadoopcephfs_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_libhadoopcephfs_build-str_list.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
-
-ceph_test_libhadoopcephfs_build-str_list.obj: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-str_list.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Tpo -c -o ceph_test_libhadoopcephfs_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_libhadoopcephfs_build-str_list.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-errno.o: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-errno.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Tpo -c -o ceph_test_libhadoopcephfs_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_libhadoopcephfs_build-errno.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
-
-ceph_test_libhadoopcephfs_build-errno.obj: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-errno.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Tpo -c -o ceph_test_libhadoopcephfs_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_libhadoopcephfs_build-errno.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-json_spirit_reader.o: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_reader.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_reader.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-ceph_test_libhadoopcephfs_build-json_spirit_reader.obj: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_reader.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdi [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_reader.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
-
-ceph_test_libhadoopcephfs_build-json_spirit_writer.o: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_writer.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_writer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-ceph_test_libhadoopcephfs_build-json_spirit_writer.obj: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_writer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdi [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_writer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
-
-ceph_test_libhadoopcephfs_build-json_spirit_value.o: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_value.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_value.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-ceph_test_libhadoopcephfs_build-json_spirit_value.obj: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-json_spirit_value.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Tpo -c -o ceph_test_libhadoopcephfs_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/js [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_libhadoopcephfs_build-json_spirit_value.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
-
-ceph_test_libhadoopcephfs_build-Log.o: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Log.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Tpo -c -o ceph_test_libhadoopcephfs_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_libhadoopcephfs_build-Log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
-
-ceph_test_libhadoopcephfs_build-Log.obj: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Log.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Tpo -c -o ceph_test_libhadoopcephfs_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_libhadoopcephfs_build-Log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-SubsystemMap.o: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-SubsystemMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Tpo -c -o ceph_test_libhadoopcephfs_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_libhadoopcephfs_build-SubsystemMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
-
-ceph_test_libhadoopcephfs_build-SubsystemMap.obj: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-SubsystemMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Tpo -c -o ceph_test_libhadoopcephfs_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_libhadoopcephfs_build-SubsystemMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonCap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Tpo -c -o ceph_test_libhadoopcephfs_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_libhadoopcephfs_build-MonCap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
-
-ceph_test_libhadoopcephfs_build-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonCap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Tpo -c -o ceph_test_libhadoopcephfs_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_libhadoopcephfs_build-MonCap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-MonClient.o: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonClient.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Tpo -c -o ceph_test_libhadoopcephfs_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_libhadoopcephfs_build-MonClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
-
-ceph_test_libhadoopcephfs_build-MonClient.obj: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Tpo -c -o ceph_test_libhadoopcephfs_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_libhadoopcephfs_build-MonClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-MonMap.o: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Tpo -c -o ceph_test_libhadoopcephfs_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_libhadoopcephfs_build-MonMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
-
-ceph_test_libhadoopcephfs_build-MonMap.obj: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MonMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Tpo -c -o ceph_test_libhadoopcephfs_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_libhadoopcephfs_build-MonMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Accepter.o: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Accepter.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Tpo -c -o ceph_test_libhadoopcephfs_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_libhadoopcephfs_build-Accepter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
-
-ceph_test_libhadoopcephfs_build-Accepter.obj: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Accepter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Tpo -c -o ceph_test_libhadoopcephfs_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_libhadoopcephfs_build-Accepter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-DispatchQueue.o: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-DispatchQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Tpo -c -o ceph_test_libhadoopcephfs_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_libhadoopcephfs_build-DispatchQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
-
-ceph_test_libhadoopcephfs_build-DispatchQueue.obj: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-DispatchQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Tpo -c -o ceph_test_libhadoopcephfs_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_libhadoopcephfs_build-DispatchQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Message.o: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Message.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Tpo -c -o ceph_test_libhadoopcephfs_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_libhadoopcephfs_build-Message.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
-
-ceph_test_libhadoopcephfs_build-Message.obj: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Message.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Tpo -c -o ceph_test_libhadoopcephfs_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_libhadoopcephfs_build-Message.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-RefCountedObj.o: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-RefCountedObj.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Tpo -c -o ceph_test_libhadoopcephfs_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_libhadoopcephfs_build-RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
-
-ceph_test_libhadoopcephfs_build-RefCountedObj.obj: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-RefCountedObj.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Tpo -c -o ceph_test_libhadoopcephfs_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_libhadoopcephfs_build-RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Messenger.o: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Messenger.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Tpo -c -o ceph_test_libhadoopcephfs_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_libhadoopcephfs_build-Messenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
-
-ceph_test_libhadoopcephfs_build-Messenger.obj: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Messenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Tpo -c -o ceph_test_libhadoopcephfs_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_libhadoopcephfs_build-Messenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Pipe.o: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Pipe.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Tpo -c -o ceph_test_libhadoopcephfs_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_libhadoopcephfs_build-Pipe.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
-
-ceph_test_libhadoopcephfs_build-Pipe.obj: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Pipe.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Tpo -c -o ceph_test_libhadoopcephfs_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_libhadoopcephfs_build-Pipe.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-SimpleMessenger.o: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-SimpleMessenger.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Tpo -c -o ceph_test_libhadoopcephfs_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_libhadoopcephfs_build-SimpleMessenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
-
-ceph_test_libhadoopcephfs_build-SimpleMessenger.obj: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-SimpleMessenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Tpo -c -o ceph_test_libhadoopcephfs_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_libhadoopcephfs_build-SimpleMessenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-msg_types.o: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-msg_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Tpo -c -o ceph_test_libhadoopcephfs_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_libhadoopcephfs_build-msg_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
-
-ceph_test_libhadoopcephfs_build-msg_types.obj: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-msg_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Tpo -c -o ceph_test_libhadoopcephfs_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_libhadoopcephfs_build-msg_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-hobject.o: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-hobject.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Tpo -c -o ceph_test_libhadoopcephfs_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_libhadoopcephfs_build-hobject.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
-
-ceph_test_libhadoopcephfs_build-hobject.obj: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-hobject.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Tpo -c -o ceph_test_libhadoopcephfs_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_libhadoopcephfs_build-hobject.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-OSDMap.o: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-OSDMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Tpo -c -o ceph_test_libhadoopcephfs_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_libhadoopcephfs_build-OSDMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
-
-ceph_test_libhadoopcephfs_build-OSDMap.obj: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-OSDMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Tpo -c -o ceph_test_libhadoopcephfs_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_libhadoopcephfs_build-OSDMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-osd_types.o: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-osd_types.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Tpo -c -o ceph_test_libhadoopcephfs_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_libhadoopcephfs_build-osd_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
-
-ceph_test_libhadoopcephfs_build-osd_types.obj: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-osd_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Tpo -c -o ceph_test_libhadoopcephfs_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_libhadoopcephfs_build-osd_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-MDSMap.o: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MDSMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Tpo -c -o ceph_test_libhadoopcephfs_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_libhadoopcephfs_build-MDSMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
-
-ceph_test_libhadoopcephfs_build-MDSMap.obj: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-MDSMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Tpo -c -o ceph_test_libhadoopcephfs_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_libhadoopcephfs_build-MDSMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-inode_backtrace.o: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-inode_backtrace.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Tpo -c -o ceph_test_libhadoopcephfs_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_libhadoopcephfs_build-inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
-
-ceph_test_libhadoopcephfs_build-inode_backtrace.obj: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-inode_backtrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Tpo -c -o ceph_test_libhadoopcephfs_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_libhadoopcephfs_build-inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-mdstypes.o: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-mdstypes.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Tpo -c -o ceph_test_libhadoopcephfs_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_libhadoopcephfs_build-mdstypes.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
-
-ceph_test_libhadoopcephfs_build-mdstypes.obj: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-mdstypes.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Tpo -c -o ceph_test_libhadoopcephfs_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_libhadoopcephfs_build-mdstypes.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-blkdev.o: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-blkdev.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Tpo -c -o ceph_test_libhadoopcephfs_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_libhadoopcephfs_build-blkdev.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
-
-ceph_test_libhadoopcephfs_build-blkdev.obj: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-blkdev.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Tpo -c -o ceph_test_libhadoopcephfs_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_libhadoopcephfs_build-blkdev.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-common_init.o: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-common_init.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Tpo -c -o ceph_test_libhadoopcephfs_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_libhadoopcephfs_build-common_init.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
-
-ceph_test_libhadoopcephfs_build-common_init.obj: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-common_init.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Tpo -c -o ceph_test_libhadoopcephfs_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_libhadoopcephfs_build-common_init.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_argparse.o: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_argparse.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_libhadoopcephfs_build-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
-
-ceph_test_libhadoopcephfs_build-ceph_argparse.obj: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_argparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_libhadoopcephfs_build-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_context.o: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_context.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_libhadoopcephfs_build-ceph_context.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
-
-ceph_test_libhadoopcephfs_build-ceph_context.obj: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_context.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_libhadoopcephfs_build-ceph_context.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-buffer.o: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-buffer.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Tpo -c -o ceph_test_libhadoopcephfs_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_libhadoopcephfs_build-buffer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
-
-ceph_test_libhadoopcephfs_build-buffer.obj: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-buffer.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Tpo -c -o ceph_test_libhadoopcephfs_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_libhadoopcephfs_build-buffer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-code_environment.o: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-code_environment.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Tpo -c -o ceph_test_libhadoopcephfs_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_libhadoopcephfs_build-code_environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
-
-ceph_test_libhadoopcephfs_build-code_environment.obj: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-code_environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Tpo -c -o ceph_test_libhadoopcephfs_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_libhadoopcephfs_build-code_environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-dout.o: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-dout.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Tpo -c -o ceph_test_libhadoopcephfs_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_libhadoopcephfs_build-dout.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
-
-ceph_test_libhadoopcephfs_build-dout.obj: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-dout.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Tpo -c -o ceph_test_libhadoopcephfs_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_libhadoopcephfs_build-dout.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-signal.o: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-signal.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Tpo -c -o ceph_test_libhadoopcephfs_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_libhadoopcephfs_build-signal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
-
-ceph_test_libhadoopcephfs_build-signal.obj: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-signal.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Tpo -c -o ceph_test_libhadoopcephfs_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_libhadoopcephfs_build-signal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-simple_spin.o: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-simple_spin.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Tpo -c -o ceph_test_libhadoopcephfs_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_libhadoopcephfs_build-simple_spin.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
-
-ceph_test_libhadoopcephfs_build-simple_spin.obj: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-simple_spin.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Tpo -c -o ceph_test_libhadoopcephfs_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_libhadoopcephfs_build-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Thread.o: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Thread.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Tpo -c -o ceph_test_libhadoopcephfs_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_libhadoopcephfs_build-Thread.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
-
-ceph_test_libhadoopcephfs_build-Thread.obj: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Thread.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Tpo -c -o ceph_test_libhadoopcephfs_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_libhadoopcephfs_build-Thread.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-Formatter.o: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Formatter.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Tpo -c -o ceph_test_libhadoopcephfs_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_libhadoopcephfs_build-Formatter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
-
-ceph_test_libhadoopcephfs_build-Formatter.obj: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-Formatter.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Tpo -c -o ceph_test_libhadoopcephfs_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_libhadoopcephfs_build-Formatter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-HeartbeatMap.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Tpo -c -o ceph_test_libhadoopcephfs_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_libhadoopcephfs_build-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
-
-ceph_test_libhadoopcephfs_build-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Tpo -c -o ceph_test_libhadoopcephfs_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_libhadoopcephfs_build-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_fs.o: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_fs.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_libhadoopcephfs_build-ceph_fs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
-
-ceph_test_libhadoopcephfs_build-ceph_fs.obj: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_fs.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_libhadoopcephfs_build-ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_hash.o: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_hash.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_libhadoopcephfs_build-ceph_hash.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
-
-ceph_test_libhadoopcephfs_build-ceph_hash.obj: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_hash.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_libhadoopcephfs_build-ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_strings.o: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_strings.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_libhadoopcephfs_build-ceph_strings.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
-
-ceph_test_libhadoopcephfs_build-ceph_strings.obj: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_strings.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_libhadoopcephfs_build-ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_frag.o: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_frag.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_libhadoopcephfs_build-ceph_frag.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
-
-ceph_test_libhadoopcephfs_build-ceph_frag.obj: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_frag.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_libhadoopcephfs_build-ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-config.o: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-config.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Tpo -c -o ceph_test_libhadoopcephfs_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_libhadoopcephfs_build-config.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
-
-ceph_test_libhadoopcephfs_build-config.obj: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-config.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Tpo -c -o ceph_test_libhadoopcephfs_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_libhadoopcephfs_build-config.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-strtol.o: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-strtol.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Tpo -c -o ceph_test_libhadoopcephfs_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_libhadoopcephfs_build-strtol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
-
-ceph_test_libhadoopcephfs_build-strtol.obj: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-strtol.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Tpo -c -o ceph_test_libhadoopcephfs_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_libhadoopcephfs_build-strtol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-page.o: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-page.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Tpo -c -o ceph_test_libhadoopcephfs_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_libhadoopcephfs_build-page.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
-
-ceph_test_libhadoopcephfs_build-page.obj: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-page.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Tpo -c -o ceph_test_libhadoopcephfs_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_libhadoopcephfs_build-page.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-lockdep.o: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-lockdep.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Tpo -c -o ceph_test_libhadoopcephfs_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_libhadoopcephfs_build-lockdep.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
-
-ceph_test_libhadoopcephfs_build-lockdep.obj: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-lockdep.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Tpo -c -o ceph_test_libhadoopcephfs_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_libhadoopcephfs_build-lockdep.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-version.o: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-version.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Tpo -c -o ceph_test_libhadoopcephfs_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_libhadoopcephfs_build-version.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
-
-ceph_test_libhadoopcephfs_build-version.obj: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-version.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Tpo -c -o ceph_test_libhadoopcephfs_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_libhadoopcephfs_build-version.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-hex.o: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-hex.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Tpo -c -o ceph_test_libhadoopcephfs_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_libhadoopcephfs_build-hex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
-
-ceph_test_libhadoopcephfs_build-hex.obj: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-hex.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Tpo -c -o ceph_test_libhadoopcephfs_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_libhadoopcephfs_build-hex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-entity_name.o: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-entity_name.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Tpo -c -o ceph_test_libhadoopcephfs_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_libhadoopcephfs_build-entity_name.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
-
-ceph_test_libhadoopcephfs_build-entity_name.obj: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-entity_name.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Tpo -c -o ceph_test_libhadoopcephfs_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_libhadoopcephfs_build-entity_name.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_crypto.o: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_libhadoopcephfs_build-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
-
-ceph_test_libhadoopcephfs_build-ceph_crypto.obj: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_libhadoopcephfs_build-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_crypto_cms.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_libhadoopcephfs_build-ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
-
-ceph_test_libhadoopcephfs_build-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_crypto_cms.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_libhadoopcephfs_build-ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ceph_json.o: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_json.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_libhadoopcephfs_build-ceph_json.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
-
-ceph_test_libhadoopcephfs_build-ceph_json.obj: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ceph_json.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Tpo -c -o ceph_test_libhadoopcephfs_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_libhadoopcephfs_build-ceph_json.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-ipaddr.o: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ipaddr.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Tpo -c -o ceph_test_libhadoopcephfs_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_libhadoopcephfs_build-ipaddr.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
-
-ceph_test_libhadoopcephfs_build-ipaddr.obj: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-ipaddr.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Tpo -c -o ceph_test_libhadoopcephfs_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_libhadoopcephfs_build-ipaddr.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-pick_address.o: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-pick_address.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Tpo -c -o ceph_test_libhadoopcephfs_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_libhadoopcephfs_build-pick_address.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
-
-ceph_test_libhadoopcephfs_build-pick_address.obj: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-pick_address.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Tpo -c -o ceph_test_libhadoopcephfs_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_libhadoopcephfs_build-pick_address.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CrushWrapper.o: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushWrapper.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_libhadoopcephfs_build-CrushWrapper.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
-
-ceph_test_libhadoopcephfs_build-CrushWrapper.obj: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushWrapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_libhadoopcephfs_build-CrushWrapper.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CrushCompiler.o: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushCompiler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_libhadoopcephfs_build-CrushCompiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
-
-ceph_test_libhadoopcephfs_build-CrushCompiler.obj: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushCompiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_libhadoopcephfs_build-CrushCompiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-CrushTester.o: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushTester.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_libhadoopcephfs_build-CrushTester.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
-
-ceph_test_libhadoopcephfs_build-CrushTester.obj: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-CrushTester.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Tpo -c -o ceph_test_libhadoopcephfs_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_libhadoopcephfs_build-CrushTester.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-cpu_profiler.o: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-cpu_profiler.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Tpo -c -o ceph_test_libhadoopcephfs_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_libhadoopcephfs_build-cpu_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
-
-ceph_test_libhadoopcephfs_build-cpu_profiler.obj: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-cpu_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Tpo -c -o ceph_test_libhadoopcephfs_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_libhadoopcephfs_build-cpu_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
-
-ceph_test_libhadoopcephfs_build-disabled_stubs.o: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-disabled_stubs.o -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Tpo -c -o ceph_test_libhadoopcephfs_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_libhadoopcephfs_build-disabled_stubs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
-
-ceph_test_libhadoopcephfs_build-disabled_stubs.obj: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_libhadoopcephfs_build-disabled_stubs.obj -MD -MP -MF $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Tpo -c -o ceph_test_libhadoopcephfs_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_libhadoopcephfs_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_libhadoopcephfs_build-disabled_stubs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libhadoopcephfs_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_libhadoopcephfs_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
-
-ceph_test_librados_build-test_libcommon_build.o: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-test_libcommon_build.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Tpo -c -o ceph_test_librados_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_librados_build-test_libcommon_build.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
-
-ceph_test_librados_build-test_libcommon_build.obj: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-test_libcommon_build.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Tpo -c -o ceph_test_librados_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_librados_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_librados_build-test_libcommon_build.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
-
-ceph_test_librados_build-AuthAuthorizeHandler.o: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_librados_build-AuthAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
-
-ceph_test_librados_build-AuthAuthorizeHandler.obj: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_librados_build-AuthAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
-
-ceph_test_librados_build-AuthClientHandler.o: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Tpo -c -o ceph_test_librados_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_librados_build-AuthClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
-
-ceph_test_librados_build-AuthClientHandler.obj: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Tpo -c -o ceph_test_librados_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_librados_build-AuthClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
-
-ceph_test_librados_build-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Tpo -c -o ceph_test_librados_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_librados_build-AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
-
-ceph_test_librados_build-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Tpo -c -o ceph_test_librados_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_librados_build-AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
-
-ceph_test_librados_build-AuthMethodList.o: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthMethodList.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Tpo -c -o ceph_test_librados_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_librados_build-AuthMethodList.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
-
-ceph_test_librados_build-AuthMethodList.obj: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthMethodList.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Tpo -c -o ceph_test_librados_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_librados_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_librados_build-AuthMethodList.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
-
-ceph_test_librados_build-CephxAuthorizeHandler.o: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_librados_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_librados_build-CephxAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
-
-ceph_test_librados_build-CephxAuthorizeHandler.obj: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_librados_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/Cep [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_librados_build-CephxAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
-
-ceph_test_librados_build-CephxClientHandler.o: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Tpo -c -o ceph_test_librados_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_librados_build-CephxClientHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
-
-ceph_test_librados_build-CephxClientHandler.obj: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Tpo -c -o ceph_test_librados_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_librados_build-CephxClientHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
-
-ceph_test_librados_build-CephxProtocol.o: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxProtocol.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Tpo -c -o ceph_test_librados_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_librados_build-CephxProtocol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
-
-ceph_test_librados_build-CephxProtocol.obj: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxProtocol.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Tpo -c -o ceph_test_librados_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_librados_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_librados_build-CephxProtocol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
-
-ceph_test_librados_build-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Tpo -c -o ceph_test_librados_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_librados_build-CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
-
-ceph_test_librados_build-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Tpo -c -o ceph_test_librados_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionH [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_librados_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_librados_build-CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
-
-ceph_test_librados_build-AuthNoneAuthorizeHandler.o: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthNoneAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_librados_build-AuthNoneAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
-
-ceph_test_librados_build-AuthNoneAuthorizeHandler.obj: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthNoneAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/a [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_librados_build-AuthNoneAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
-
-ceph_test_librados_build-AuthUnknownAuthorizeHandler.o: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthUnknownAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_librados_build-AuthUnknownAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
-
-ceph_test_librados_build-AuthUnknownAuthorizeHandler.obj: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-AuthUnknownAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_librados_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CY [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librados_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_librados_build-AuthUnknownAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
-
-ceph_test_librados_build-Crypto.o: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Crypto.Tpo -c -o ceph_test_librados_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Crypto.Tpo $(DEPDIR)/ceph_test_librados_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_librados_build-Crypto.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
-
-ceph_test_librados_build-Crypto.obj: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Crypto.Tpo -c -o ceph_test_librados_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Crypto.Tpo $(DEPDIR)/ceph_test_librados_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_librados_build-Crypto.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
-
-ceph_test_librados_build-KeyRing.o: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-KeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-KeyRing.Tpo -c -o ceph_test_librados_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-KeyRing.Tpo $(DEPDIR)/ceph_test_librados_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_librados_build-KeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
-
-ceph_test_librados_build-KeyRing.obj: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-KeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-KeyRing.Tpo -c -o ceph_test_librados_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-KeyRing.Tpo $(DEPDIR)/ceph_test_librados_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_librados_build-KeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
-
-ceph_test_librados_build-RotatingKeyRing.o: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RotatingKeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Tpo -c -o ceph_test_librados_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_librados_build-RotatingKeyRing.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
-
-ceph_test_librados_build-RotatingKeyRing.obj: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RotatingKeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Tpo -c -o ceph_test_librados_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_librados_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_librados_build-RotatingKeyRing.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
-
-ceph_test_librados_build-DecayCounter.o: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-DecayCounter.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-DecayCounter.Tpo -c -o ceph_test_librados_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_librados_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_librados_build-DecayCounter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
-
-ceph_test_librados_build-DecayCounter.obj: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-DecayCounter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-DecayCounter.Tpo -c -o ceph_test_librados_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_librados_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_librados_build-DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
-
-ceph_test_librados_build-LogClient.o: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-LogClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-LogClient.Tpo -c -o ceph_test_librados_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-LogClient.Tpo $(DEPDIR)/ceph_test_librados_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_librados_build-LogClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
-
-ceph_test_librados_build-LogClient.obj: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-LogClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-LogClient.Tpo -c -o ceph_test_librados_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-LogClient.Tpo $(DEPDIR)/ceph_test_librados_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_librados_build-LogClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
-
-ceph_test_librados_build-LogEntry.o: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-LogEntry.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-LogEntry.Tpo -c -o ceph_test_librados_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-LogEntry.Tpo $(DEPDIR)/ceph_test_librados_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_librados_build-LogEntry.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
-
-ceph_test_librados_build-LogEntry.obj: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-LogEntry.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-LogEntry.Tpo -c -o ceph_test_librados_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-LogEntry.Tpo $(DEPDIR)/ceph_test_librados_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_librados_build-LogEntry.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
-
-ceph_test_librados_build-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Tpo -c -o ceph_test_librados_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_librados_build-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
-
-ceph_test_librados_build-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Tpo -c -o ceph_test_librados_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_librados_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_librados_build-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
-
-ceph_test_librados_build-BackTrace.o: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-BackTrace.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-BackTrace.Tpo -c -o ceph_test_librados_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-BackTrace.Tpo $(DEPDIR)/ceph_test_librados_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_librados_build-BackTrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
-
-ceph_test_librados_build-BackTrace.obj: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-BackTrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-BackTrace.Tpo -c -o ceph_test_librados_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-BackTrace.Tpo $(DEPDIR)/ceph_test_librados_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_librados_build-BackTrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
-
-ceph_test_librados_build-perf_counters.o: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-perf_counters.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-perf_counters.Tpo -c -o ceph_test_librados_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-perf_counters.Tpo $(DEPDIR)/ceph_test_librados_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_librados_build-perf_counters.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
-
-ceph_test_librados_build-perf_counters.obj: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-perf_counters.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-perf_counters.Tpo -c -o ceph_test_librados_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-perf_counters.Tpo $(DEPDIR)/ceph_test_librados_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_librados_build-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
-
-ceph_test_librados_build-Mutex.o: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Mutex.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Mutex.Tpo -c -o ceph_test_librados_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Mutex.Tpo $(DEPDIR)/ceph_test_librados_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_librados_build-Mutex.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
-
-ceph_test_librados_build-Mutex.obj: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Mutex.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Mutex.Tpo -c -o ceph_test_librados_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Mutex.Tpo $(DEPDIR)/ceph_test_librados_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_librados_build-Mutex.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
-
-ceph_test_librados_build-OutputDataSocket.o: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-OutputDataSocket.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Tpo -c -o ceph_test_librados_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_librados_build-OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
-
-ceph_test_librados_build-OutputDataSocket.obj: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-OutputDataSocket.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Tpo -c -o ceph_test_librados_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_librados_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_librados_build-OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
-
-ceph_test_librados_build-admin_socket.o: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-admin_socket.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-admin_socket.Tpo -c -o ceph_test_librados_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-admin_socket.Tpo $(DEPDIR)/ceph_test_librados_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_librados_build-admin_socket.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
-
-ceph_test_librados_build-admin_socket.obj: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-admin_socket.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-admin_socket.Tpo -c -o ceph_test_librados_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-admin_socket.Tpo $(DEPDIR)/ceph_test_librados_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_librados_build-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
-
-ceph_test_librados_build-admin_socket_client.o: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-admin_socket_client.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Tpo -c -o ceph_test_librados_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_librados_build-admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
-
-ceph_test_librados_build-admin_socket_client.obj: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-admin_socket_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Tpo -c -o ceph_test_librados_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_librados_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_librados_build-admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
-
-ceph_test_librados_build-cmdparse.o: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cmdparse.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cmdparse.Tpo -c -o ceph_test_librados_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cmdparse.Tpo $(DEPDIR)/ceph_test_librados_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_librados_build-cmdparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
-
-ceph_test_librados_build-cmdparse.obj: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cmdparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cmdparse.Tpo -c -o ceph_test_librados_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cmdparse.Tpo $(DEPDIR)/ceph_test_librados_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_librados_build-cmdparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
-
-ceph_test_librados_build-Clock.o: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Clock.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Clock.Tpo -c -o ceph_test_librados_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Clock.Tpo $(DEPDIR)/ceph_test_librados_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_librados_build-Clock.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
-
-ceph_test_librados_build-Clock.obj: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Clock.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Clock.Tpo -c -o ceph_test_librados_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Clock.Tpo $(DEPDIR)/ceph_test_librados_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_librados_build-Clock.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
-
-ceph_test_librados_build-Throttle.o: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Throttle.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Throttle.Tpo -c -o ceph_test_librados_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Throttle.Tpo $(DEPDIR)/ceph_test_librados_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_librados_build-Throttle.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
-
-ceph_test_librados_build-Throttle.obj: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Throttle.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Throttle.Tpo -c -o ceph_test_librados_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Throttle.Tpo $(DEPDIR)/ceph_test_librados_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_librados_build-Throttle.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
-
-ceph_test_librados_build-Timer.o: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Timer.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Timer.Tpo -c -o ceph_test_librados_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Timer.Tpo $(DEPDIR)/ceph_test_librados_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_librados_build-Timer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
-
-ceph_test_librados_build-Timer.obj: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Timer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Timer.Tpo -c -o ceph_test_librados_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Timer.Tpo $(DEPDIR)/ceph_test_librados_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_librados_build-Timer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
-
-ceph_test_librados_build-Finisher.o: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Finisher.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Finisher.Tpo -c -o ceph_test_librados_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Finisher.Tpo $(DEPDIR)/ceph_test_librados_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_librados_build-Finisher.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
-
-ceph_test_librados_build-Finisher.obj: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Finisher.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Finisher.Tpo -c -o ceph_test_librados_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Finisher.Tpo $(DEPDIR)/ceph_test_librados_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_librados_build-Finisher.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
-
-ceph_test_librados_build-environment.o: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-environment.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-environment.Tpo -c -o ceph_test_librados_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-environment.Tpo $(DEPDIR)/ceph_test_librados_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_librados_build-environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
-
-ceph_test_librados_build-environment.obj: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-environment.Tpo -c -o ceph_test_librados_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-environment.Tpo $(DEPDIR)/ceph_test_librados_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_librados_build-environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
-
-ceph_test_librados_build-assert.o: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-assert.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-assert.Tpo -c -o ceph_test_librados_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-assert.Tpo $(DEPDIR)/ceph_test_librados_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_librados_build-assert.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
-
-ceph_test_librados_build-assert.obj: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-assert.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-assert.Tpo -c -o ceph_test_librados_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-assert.Tpo $(DEPDIR)/ceph_test_librados_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_librados_build-assert.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
-
-ceph_test_librados_build-run_cmd.o: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-run_cmd.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-run_cmd.Tpo -c -o ceph_test_librados_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-run_cmd.Tpo $(DEPDIR)/ceph_test_librados_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_librados_build-run_cmd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
-
-ceph_test_librados_build-run_cmd.obj: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-run_cmd.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-run_cmd.Tpo -c -o ceph_test_librados_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-run_cmd.Tpo $(DEPDIR)/ceph_test_librados_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_librados_build-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
-
-ceph_test_librados_build-WorkQueue.o: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-WorkQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-WorkQueue.Tpo -c -o ceph_test_librados_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_librados_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_librados_build-WorkQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
-
-ceph_test_librados_build-WorkQueue.obj: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-WorkQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-WorkQueue.Tpo -c -o ceph_test_librados_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_librados_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_librados_build-WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
-
-ceph_test_librados_build-ConfUtils.o: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ConfUtils.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ConfUtils.Tpo -c -o ceph_test_librados_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_librados_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_librados_build-ConfUtils.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
-
-ceph_test_librados_build-ConfUtils.obj: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ConfUtils.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ConfUtils.Tpo -c -o ceph_test_librados_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_librados_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_librados_build-ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
-
-ceph_test_librados_build-MemoryModel.o: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MemoryModel.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MemoryModel.Tpo -c -o ceph_test_librados_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_librados_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_librados_build-MemoryModel.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
-
-ceph_test_librados_build-MemoryModel.obj: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MemoryModel.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MemoryModel.Tpo -c -o ceph_test_librados_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_librados_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_librados_build-MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
-
-ceph_test_librados_build-fd.o: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-fd.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-fd.Tpo -c -o ceph_test_librados_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-fd.Tpo $(DEPDIR)/ceph_test_librados_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_librados_build-fd.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
-
-ceph_test_librados_build-fd.obj: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-fd.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-fd.Tpo -c -o ceph_test_librados_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-fd.Tpo $(DEPDIR)/ceph_test_librados_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_librados_build-fd.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
-
-ceph_test_librados_build-snap_types.o: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-snap_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-snap_types.Tpo -c -o ceph_test_librados_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-snap_types.Tpo $(DEPDIR)/ceph_test_librados_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_librados_build-snap_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
-
-ceph_test_librados_build-snap_types.obj: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-snap_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-snap_types.Tpo -c -o ceph_test_librados_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-snap_types.Tpo $(DEPDIR)/ceph_test_librados_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_librados_build-snap_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
-
-ceph_test_librados_build-str_list.o: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-str_list.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-str_list.Tpo -c -o ceph_test_librados_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-str_list.Tpo $(DEPDIR)/ceph_test_librados_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_librados_build-str_list.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
-
-ceph_test_librados_build-str_list.obj: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-str_list.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-str_list.Tpo -c -o ceph_test_librados_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-str_list.Tpo $(DEPDIR)/ceph_test_librados_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_librados_build-str_list.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
-
-ceph_test_librados_build-errno.o: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-errno.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-errno.Tpo -c -o ceph_test_librados_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-errno.Tpo $(DEPDIR)/ceph_test_librados_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_librados_build-errno.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
-
-ceph_test_librados_build-errno.obj: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-errno.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-errno.Tpo -c -o ceph_test_librados_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-errno.Tpo $(DEPDIR)/ceph_test_librados_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_librados_build-errno.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
-
-ceph_test_librados_build-json_spirit_reader.o: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_reader.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Tpo -c -o ceph_test_librados_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_librados_build-json_spirit_reader.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
-
-ceph_test_librados_build-json_spirit_reader.obj: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_reader.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Tpo -c -o ceph_test_librados_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_r [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_librados_build-json_spirit_reader.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
-
-ceph_test_librados_build-json_spirit_writer.o: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_writer.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Tpo -c -o ceph_test_librados_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_librados_build-json_spirit_writer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
-
-ceph_test_librados_build-json_spirit_writer.obj: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_writer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Tpo -c -o ceph_test_librados_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_w [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_librados_build-json_spirit_writer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
-
-ceph_test_librados_build-json_spirit_value.o: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_value.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Tpo -c -o ceph_test_librados_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_librados_build-json_spirit_value.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
-
-ceph_test_librados_build-json_spirit_value.obj: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-json_spirit_value.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Tpo -c -o ceph_test_librados_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value. [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_librados_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_librados_build-json_spirit_value.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
-
-ceph_test_librados_build-Log.o: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Log.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Log.Tpo -c -o ceph_test_librados_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Log.Tpo $(DEPDIR)/ceph_test_librados_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_librados_build-Log.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
-
-ceph_test_librados_build-Log.obj: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Log.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Log.Tpo -c -o ceph_test_librados_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Log.Tpo $(DEPDIR)/ceph_test_librados_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_librados_build-Log.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
-
-ceph_test_librados_build-SubsystemMap.o: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-SubsystemMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Tpo -c -o ceph_test_librados_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_librados_build-SubsystemMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
-
-ceph_test_librados_build-SubsystemMap.obj: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-SubsystemMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Tpo -c -o ceph_test_librados_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_librados_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_librados_build-SubsystemMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
-
-ceph_test_librados_build-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonCap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonCap.Tpo -c -o ceph_test_librados_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonCap.Tpo $(DEPDIR)/ceph_test_librados_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_librados_build-MonCap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
-
-ceph_test_librados_build-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonCap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonCap.Tpo -c -o ceph_test_librados_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonCap.Tpo $(DEPDIR)/ceph_test_librados_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_librados_build-MonCap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
-
-ceph_test_librados_build-MonClient.o: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonClient.Tpo -c -o ceph_test_librados_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonClient.Tpo $(DEPDIR)/ceph_test_librados_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_librados_build-MonClient.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
-
-ceph_test_librados_build-MonClient.obj: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonClient.Tpo -c -o ceph_test_librados_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonClient.Tpo $(DEPDIR)/ceph_test_librados_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_librados_build-MonClient.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
-
-ceph_test_librados_build-MonMap.o: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonMap.Tpo -c -o ceph_test_librados_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonMap.Tpo $(DEPDIR)/ceph_test_librados_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_librados_build-MonMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
-
-ceph_test_librados_build-MonMap.obj: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MonMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MonMap.Tpo -c -o ceph_test_librados_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MonMap.Tpo $(DEPDIR)/ceph_test_librados_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_librados_build-MonMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
-
-ceph_test_librados_build-Accepter.o: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Accepter.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Accepter.Tpo -c -o ceph_test_librados_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Accepter.Tpo $(DEPDIR)/ceph_test_librados_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_librados_build-Accepter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
-
-ceph_test_librados_build-Accepter.obj: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Accepter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Accepter.Tpo -c -o ceph_test_librados_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Accepter.Tpo $(DEPDIR)/ceph_test_librados_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_librados_build-Accepter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
-
-ceph_test_librados_build-DispatchQueue.o: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-DispatchQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Tpo -c -o ceph_test_librados_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_librados_build-DispatchQueue.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
-
-ceph_test_librados_build-DispatchQueue.obj: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-DispatchQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Tpo -c -o ceph_test_librados_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_librados_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_librados_build-DispatchQueue.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
-
-ceph_test_librados_build-Message.o: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Message.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Message.Tpo -c -o ceph_test_librados_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Message.Tpo $(DEPDIR)/ceph_test_librados_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_librados_build-Message.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
-
-ceph_test_librados_build-Message.obj: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Message.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Message.Tpo -c -o ceph_test_librados_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Message.Tpo $(DEPDIR)/ceph_test_librados_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_librados_build-Message.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
-
-ceph_test_librados_build-RefCountedObj.o: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RefCountedObj.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Tpo -c -o ceph_test_librados_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_librados_build-RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
-
-ceph_test_librados_build-RefCountedObj.obj: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RefCountedObj.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Tpo -c -o ceph_test_librados_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_librados_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_librados_build-RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
-
-ceph_test_librados_build-Messenger.o: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Messenger.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Messenger.Tpo -c -o ceph_test_librados_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Messenger.Tpo $(DEPDIR)/ceph_test_librados_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_librados_build-Messenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
-
-ceph_test_librados_build-Messenger.obj: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Messenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Messenger.Tpo -c -o ceph_test_librados_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Messenger.Tpo $(DEPDIR)/ceph_test_librados_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_librados_build-Messenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
-
-ceph_test_librados_build-Pipe.o: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Pipe.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Pipe.Tpo -c -o ceph_test_librados_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Pipe.Tpo $(DEPDIR)/ceph_test_librados_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_librados_build-Pipe.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
-
-ceph_test_librados_build-Pipe.obj: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Pipe.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Pipe.Tpo -c -o ceph_test_librados_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Pipe.Tpo $(DEPDIR)/ceph_test_librados_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_librados_build-Pipe.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
-
-ceph_test_librados_build-SimpleMessenger.o: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-SimpleMessenger.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Tpo -c -o ceph_test_librados_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_librados_build-SimpleMessenger.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
-
-ceph_test_librados_build-SimpleMessenger.obj: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-SimpleMessenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Tpo -c -o ceph_test_librados_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_librados_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_librados_build-SimpleMessenger.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
-
-ceph_test_librados_build-msg_types.o: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-msg_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-msg_types.Tpo -c -o ceph_test_librados_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-msg_types.Tpo $(DEPDIR)/ceph_test_librados_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_librados_build-msg_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
-
-ceph_test_librados_build-msg_types.obj: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-msg_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-msg_types.Tpo -c -o ceph_test_librados_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-msg_types.Tpo $(DEPDIR)/ceph_test_librados_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_librados_build-msg_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
-
-ceph_test_librados_build-hobject.o: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-hobject.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-hobject.Tpo -c -o ceph_test_librados_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-hobject.Tpo $(DEPDIR)/ceph_test_librados_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_librados_build-hobject.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
-
-ceph_test_librados_build-hobject.obj: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-hobject.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-hobject.Tpo -c -o ceph_test_librados_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-hobject.Tpo $(DEPDIR)/ceph_test_librados_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_librados_build-hobject.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
-
-ceph_test_librados_build-OSDMap.o: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-OSDMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-OSDMap.Tpo -c -o ceph_test_librados_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-OSDMap.Tpo $(DEPDIR)/ceph_test_librados_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_librados_build-OSDMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
-
-ceph_test_librados_build-OSDMap.obj: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-OSDMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-OSDMap.Tpo -c -o ceph_test_librados_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-OSDMap.Tpo $(DEPDIR)/ceph_test_librados_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_librados_build-OSDMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
-
-ceph_test_librados_build-osd_types.o: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-osd_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-osd_types.Tpo -c -o ceph_test_librados_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-osd_types.Tpo $(DEPDIR)/ceph_test_librados_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_librados_build-osd_types.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
-
-ceph_test_librados_build-osd_types.obj: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-osd_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-osd_types.Tpo -c -o ceph_test_librados_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-osd_types.Tpo $(DEPDIR)/ceph_test_librados_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_librados_build-osd_types.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
-
-ceph_test_librados_build-MDSMap.o: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MDSMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MDSMap.Tpo -c -o ceph_test_librados_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MDSMap.Tpo $(DEPDIR)/ceph_test_librados_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_librados_build-MDSMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
-
-ceph_test_librados_build-MDSMap.obj: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-MDSMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-MDSMap.Tpo -c -o ceph_test_librados_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-MDSMap.Tpo $(DEPDIR)/ceph_test_librados_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_librados_build-MDSMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
-
-ceph_test_librados_build-inode_backtrace.o: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-inode_backtrace.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Tpo -c -o ceph_test_librados_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_librados_build-inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(ceph_sbindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(ceph_sbindir)$$dir" || exit $$?; \
+	     } \
+	; done
 
-ceph_test_librados_build-inode_backtrace.obj: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-inode_backtrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Tpo -c -o ceph_test_librados_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_librados_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_librados_build-inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
+uninstall-ceph_sbinSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(ceph_sbin_SCRIPTS)'; test -n "$(ceph_sbindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(ceph_sbindir)'; $(am__uninstall_files_from_dir)
+install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	     } \
+	; done
 
-ceph_test_librados_build-mdstypes.o: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-mdstypes.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-mdstypes.Tpo -c -o ceph_test_librados_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-mdstypes.Tpo $(DEPDIR)/ceph_test_librados_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_librados_build-mdstypes.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
+uninstall-dist_binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
+install-sbinSCRIPTS: $(sbin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
+	@list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+	     } \
+	; done
 
-ceph_test_librados_build-mdstypes.obj: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-mdstypes.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-mdstypes.Tpo -c -o ceph_test_librados_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-mdstypes.Tpo $(DEPDIR)/ceph_test_librados_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_librados_build-mdstypes.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
+uninstall-sbinSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
+install-shell_commonSCRIPTS: $(shell_common_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(shell_commondir)" || $(MKDIR_P) "$(DESTDIR)$(shell_commondir)"
+	@list='$(shell_common_SCRIPTS)'; test -n "$(shell_commondir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(shell_commondir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(shell_commondir)$$dir" || exit $$?; \
+	     } \
+	; done
 
-ceph_test_librados_build-blkdev.o: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-blkdev.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-blkdev.Tpo -c -o ceph_test_librados_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-blkdev.Tpo $(DEPDIR)/ceph_test_librados_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_librados_build-blkdev.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
+uninstall-shell_commonSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(shell_common_SCRIPTS)'; test -n "$(shell_commondir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(shell_commondir)'; $(am__uninstall_files_from_dir)
+install-su_sbinSCRIPTS: $(su_sbin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(su_sbindir)" || $(MKDIR_P) "$(DESTDIR)$(su_sbindir)"
+	@list='$(su_sbin_SCRIPTS)'; test -n "$(su_sbindir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(su_sbindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(su_sbindir)$$dir" || exit $$?; \
+	     } \
+	; done
 
-ceph_test_librados_build-blkdev.obj: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-blkdev.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-blkdev.Tpo -c -o ceph_test_librados_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-blkdev.Tpo $(DEPDIR)/ceph_test_librados_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_librados_build-blkdev.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
+uninstall-su_sbinSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(su_sbin_SCRIPTS)'; test -n "$(su_sbindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(su_sbindir)'; $(am__uninstall_files_from_dir)
 
-ceph_test_librados_build-common_init.o: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-common_init.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-common_init.Tpo -c -o ceph_test_librados_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-common_init.Tpo $(DEPDIR)/ceph_test_librados_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_librados_build-common_init.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+	-rm -f arch/intel.$(OBJEXT)
+	-rm -f arch/intel.lo
+	-rm -f arch/neon.$(OBJEXT)
+	-rm -f arch/neon.lo
+	-rm -f arch/probe.$(OBJEXT)
+	-rm -f arch/probe.lo
+	-rm -f auth/AuthAuthorizeHandler.$(OBJEXT)
+	-rm -f auth/AuthAuthorizeHandler.lo
+	-rm -f auth/AuthClientHandler.$(OBJEXT)
+	-rm -f auth/AuthClientHandler.lo
+	-rm -f auth/AuthMethodList.$(OBJEXT)
+	-rm -f auth/AuthMethodList.lo
+	-rm -f auth/AuthServiceHandler.$(OBJEXT)
+	-rm -f auth/AuthServiceHandler.lo
+	-rm -f auth/AuthSessionHandler.$(OBJEXT)
+	-rm -f auth/AuthSessionHandler.lo
+	-rm -f auth/Crypto.$(OBJEXT)
+	-rm -f auth/Crypto.lo
+	-rm -f auth/KeyRing.$(OBJEXT)
+	-rm -f auth/KeyRing.lo
+	-rm -f auth/RotatingKeyRing.$(OBJEXT)
+	-rm -f auth/RotatingKeyRing.lo
+	-rm -f auth/cephx/CephxAuthorizeHandler.$(OBJEXT)
+	-rm -f auth/cephx/CephxAuthorizeHandler.lo
+	-rm -f auth/cephx/CephxClientHandler.$(OBJEXT)
+	-rm -f auth/cephx/CephxClientHandler.lo
+	-rm -f auth/cephx/CephxKeyServer.$(OBJEXT)
+	-rm -f auth/cephx/CephxKeyServer.lo
+	-rm -f auth/cephx/CephxProtocol.$(OBJEXT)
+	-rm -f auth/cephx/CephxProtocol.lo
+	-rm -f auth/cephx/CephxServiceHandler.$(OBJEXT)
+	-rm -f auth/cephx/CephxServiceHandler.lo
+	-rm -f auth/cephx/CephxSessionHandler.$(OBJEXT)
+	-rm -f auth/cephx/CephxSessionHandler.lo
+	-rm -f auth/none/AuthNoneAuthorizeHandler.$(OBJEXT)
+	-rm -f auth/none/AuthNoneAuthorizeHandler.lo
+	-rm -f auth/unknown/AuthUnknownAuthorizeHandler.$(OBJEXT)
+	-rm -f auth/unknown/AuthUnknownAuthorizeHandler.lo
+	-rm -f client/Client.$(OBJEXT)
+	-rm -f client/Client.lo
+	-rm -f client/ClientSnapRealm.$(OBJEXT)
+	-rm -f client/ClientSnapRealm.lo
+	-rm -f client/Dentry.$(OBJEXT)
+	-rm -f client/Dentry.lo
+	-rm -f client/Inode.$(OBJEXT)
+	-rm -f client/Inode.lo
+	-rm -f client/MetaRequest.$(OBJEXT)
+	-rm -f client/MetaRequest.lo
+	-rm -f client/MetaSession.$(OBJEXT)
+	-rm -f client/MetaSession.lo
+	-rm -f client/SyntheticClient.$(OBJEXT)
+	-rm -f client/Trace.$(OBJEXT)
+	-rm -f client/Trace.lo
+	-rm -f client/fuse_ll.$(OBJEXT)
+	-rm -f client/fuse_ll.lo
+	-rm -f client/test_ioctls.$(OBJEXT)
+	-rm -f cls/hello/cls_hello.$(OBJEXT)
+	-rm -f cls/hello/cls_hello.lo
+	-rm -f cls/lock/cls_lock.$(OBJEXT)
+	-rm -f cls/lock/cls_lock.lo
+	-rm -f cls/lock/cls_lock_client.$(OBJEXT)
+	-rm -f cls/lock/cls_lock_client.lo
+	-rm -f cls/lock/cls_lock_ops.$(OBJEXT)
+	-rm -f cls/lock/cls_lock_ops.lo
+	-rm -f cls/lock/cls_lock_types.$(OBJEXT)
+	-rm -f cls/lock/cls_lock_types.lo
+	-rm -f cls/log/cls_log.$(OBJEXT)
+	-rm -f cls/log/cls_log.lo
+	-rm -f cls/log/cls_log_client.$(OBJEXT)
+	-rm -f cls/rbd/cls_rbd.$(OBJEXT)
+	-rm -f cls/rbd/cls_rbd.lo
+	-rm -f cls/rbd/cls_rbd_client.$(OBJEXT)
+	-rm -f cls/rbd/cls_rbd_client.lo
+	-rm -f cls/refcount/cls_refcount.$(OBJEXT)
+	-rm -f cls/refcount/cls_refcount.lo
+	-rm -f cls/refcount/cls_refcount_client.$(OBJEXT)
+	-rm -f cls/refcount/cls_refcount_client.lo
+	-rm -f cls/refcount/cls_refcount_ops.$(OBJEXT)
+	-rm -f cls/refcount/cls_refcount_ops.lo
+	-rm -f cls/replica_log/cls_replica_log.$(OBJEXT)
+	-rm -f cls/replica_log/cls_replica_log.lo
+	-rm -f cls/replica_log/cls_replica_log_client.$(OBJEXT)
+	-rm -f cls/replica_log/cls_replica_log_ops.$(OBJEXT)
+	-rm -f cls/replica_log/cls_replica_log_types.$(OBJEXT)
+	-rm -f cls/rgw/cls_rgw.$(OBJEXT)
+	-rm -f cls/rgw/cls_rgw.lo
+	-rm -f cls/rgw/cls_rgw_client.$(OBJEXT)
+	-rm -f cls/rgw/cls_rgw_client.lo
+	-rm -f cls/rgw/cls_rgw_ops.$(OBJEXT)
+	-rm -f cls/rgw/cls_rgw_ops.lo
+	-rm -f cls/rgw/cls_rgw_types.$(OBJEXT)
+	-rm -f cls/rgw/cls_rgw_types.lo
+	-rm -f cls/statelog/cls_statelog.$(OBJEXT)
+	-rm -f cls/statelog/cls_statelog.lo
+	-rm -f cls/statelog/cls_statelog_client.$(OBJEXT)
+	-rm -f cls/version/cls_version.$(OBJEXT)
+	-rm -f cls/version/cls_version.lo
+	-rm -f cls/version/cls_version_client.$(OBJEXT)
+	-rm -f cls/version/cls_version_types.$(OBJEXT)
+	-rm -f common/BackTrace.$(OBJEXT)
+	-rm -f common/BackTrace.lo
+	-rm -f common/Clock.$(OBJEXT)
+	-rm -f common/Clock.lo
+	-rm -f common/ConfUtils.$(OBJEXT)
+	-rm -f common/ConfUtils.lo
+	-rm -f common/DecayCounter.$(OBJEXT)
+	-rm -f common/DecayCounter.lo
+	-rm -f common/Finisher.$(OBJEXT)
+	-rm -f common/Finisher.lo
+	-rm -f common/Formatter.$(OBJEXT)
+	-rm -f common/Formatter.lo
+	-rm -f common/HeartbeatMap.$(OBJEXT)
+	-rm -f common/HeartbeatMap.lo
+	-rm -f common/LogClient.$(OBJEXT)
+	-rm -f common/LogClient.lo
+	-rm -f common/LogEntry.$(OBJEXT)
+	-rm -f common/LogEntry.lo
+	-rm -f common/MemoryModel.$(OBJEXT)
+	-rm -f common/MemoryModel.lo
+	-rm -f common/Mutex.$(OBJEXT)
+	-rm -f common/Mutex.lo
+	-rm -f common/OutputDataSocket.$(OBJEXT)
+	-rm -f common/OutputDataSocket.lo
+	-rm -f common/PrebufferedStreambuf.$(OBJEXT)
+	-rm -f common/PrebufferedStreambuf.lo
+	-rm -f common/RefCountedObj.$(OBJEXT)
+	-rm -f common/RefCountedObj.lo
+	-rm -f common/SloppyCRCMap.$(OBJEXT)
+	-rm -f common/SloppyCRCMap.lo
+	-rm -f common/TextTable.$(OBJEXT)
+	-rm -f common/TextTable.lo
+	-rm -f common/Thread.$(OBJEXT)
+	-rm -f common/Thread.lo
+	-rm -f common/Throttle.$(OBJEXT)
+	-rm -f common/Throttle.lo
+	-rm -f common/Timer.$(OBJEXT)
+	-rm -f common/Timer.lo
+	-rm -f common/TrackedOp.$(OBJEXT)
+	-rm -f common/TrackedOp.lo
+	-rm -f common/WorkQueue.$(OBJEXT)
+	-rm -f common/WorkQueue.lo
+	-rm -f common/addr_parsing.$(OBJEXT)
+	-rm -f common/addr_parsing.lo
+	-rm -f common/admin_socket.$(OBJEXT)
+	-rm -f common/admin_socket.lo
+	-rm -f common/admin_socket_client.$(OBJEXT)
+	-rm -f common/admin_socket_client.lo
+	-rm -f common/armor.$(OBJEXT)
+	-rm -f common/armor.lo
+	-rm -f common/assert.$(OBJEXT)
+	-rm -f common/assert.lo
+	-rm -f common/blkdev.$(OBJEXT)
+	-rm -f common/blkdev.lo
+	-rm -f common/bloom_filter.$(OBJEXT)
+	-rm -f common/bloom_filter.lo
+	-rm -f common/buffer.$(OBJEXT)
+	-rm -f common/buffer.lo
+	-rm -f common/ceph_argparse.$(OBJEXT)
+	-rm -f common/ceph_argparse.lo
+	-rm -f common/ceph_context.$(OBJEXT)
+	-rm -f common/ceph_context.lo
+	-rm -f common/ceph_crypto.$(OBJEXT)
+	-rm -f common/ceph_crypto.lo
+	-rm -f common/ceph_crypto_cms.$(OBJEXT)
+	-rm -f common/ceph_crypto_cms.lo
+	-rm -f common/ceph_frag.$(OBJEXT)
+	-rm -f common/ceph_frag.lo
+	-rm -f common/ceph_fs.$(OBJEXT)
+	-rm -f common/ceph_fs.lo
+	-rm -f common/ceph_hash.$(OBJEXT)
+	-rm -f common/ceph_hash.lo
+	-rm -f common/ceph_json.$(OBJEXT)
+	-rm -f common/ceph_json.lo
+	-rm -f common/ceph_strings.$(OBJEXT)
+	-rm -f common/ceph_strings.lo
+	-rm -f common/cmdparse.$(OBJEXT)
+	-rm -f common/cmdparse.lo
+	-rm -f common/code_environment.$(OBJEXT)
+	-rm -f common/code_environment.lo
+	-rm -f common/common_init.$(OBJEXT)
+	-rm -f common/common_init.lo
+	-rm -f common/config.$(OBJEXT)
+	-rm -f common/config.lo
+	-rm -f common/dout.$(OBJEXT)
+	-rm -f common/dout.lo
+	-rm -f common/entity_name.$(OBJEXT)
+	-rm -f common/entity_name.lo
+	-rm -f common/environment.$(OBJEXT)
+	-rm -f common/environment.lo
+	-rm -f common/errno.$(OBJEXT)
+	-rm -f common/errno.lo
+	-rm -f common/escape.$(OBJEXT)
+	-rm -f common/escape.lo
+	-rm -f common/fd.$(OBJEXT)
+	-rm -f common/fd.lo
+	-rm -f common/hex.$(OBJEXT)
+	-rm -f common/hex.lo
+	-rm -f common/hobject.$(OBJEXT)
+	-rm -f common/hobject.lo
+	-rm -f common/ipaddr.$(OBJEXT)
+	-rm -f common/ipaddr.lo
+	-rm -f common/libcommon_crc_la-crc32c.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-crc32c.lo
+	-rm -f common/libcommon_crc_la-crc32c_intel_baseline.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-crc32c_intel_baseline.lo
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast.lo
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast_asm.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast_asm.lo
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast_zero_asm.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo
+	-rm -f common/libcommon_crc_la-sctp_crc32.$(OBJEXT)
+	-rm -f common/libcommon_crc_la-sctp_crc32.lo
+	-rm -f common/lockdep.$(OBJEXT)
+	-rm -f common/lockdep.lo
+	-rm -f common/mime.$(OBJEXT)
+	-rm -f common/mime.lo
+	-rm -f common/obj_bencher.$(OBJEXT)
+	-rm -f common/page.$(OBJEXT)
+	-rm -f common/page.lo
+	-rm -f common/perf_counters.$(OBJEXT)
+	-rm -f common/perf_counters.lo
+	-rm -f common/pick_address.$(OBJEXT)
+	-rm -f common/pick_address.lo
+	-rm -f common/pipe.$(OBJEXT)
+	-rm -f common/pipe.lo
+	-rm -f common/rest_bench-obj_bencher.$(OBJEXT)
+	-rm -f common/run_cmd.$(OBJEXT)
+	-rm -f common/run_cmd.lo
+	-rm -f common/safe_io.$(OBJEXT)
+	-rm -f common/safe_io.lo
+	-rm -f common/secret.$(OBJEXT)
+	-rm -f common/secret.lo
+	-rm -f common/signal.$(OBJEXT)
+	-rm -f common/signal.lo
+	-rm -f common/simple_spin.$(OBJEXT)
+	-rm -f common/simple_spin.lo
+	-rm -f common/snap_types.$(OBJEXT)
+	-rm -f common/snap_types.lo
+	-rm -f common/str_list.$(OBJEXT)
+	-rm -f common/str_list.lo
+	-rm -f common/strtol.$(OBJEXT)
+	-rm -f common/strtol.lo
+	-rm -f common/test_build_libcommon-BackTrace.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Clock.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ConfUtils.$(OBJEXT)
+	-rm -f common/test_build_libcommon-DecayCounter.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Finisher.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Formatter.$(OBJEXT)
+	-rm -f common/test_build_libcommon-HeartbeatMap.$(OBJEXT)
+	-rm -f common/test_build_libcommon-LogClient.$(OBJEXT)
+	-rm -f common/test_build_libcommon-LogEntry.$(OBJEXT)
+	-rm -f common/test_build_libcommon-MemoryModel.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Mutex.$(OBJEXT)
+	-rm -f common/test_build_libcommon-OutputDataSocket.$(OBJEXT)
+	-rm -f common/test_build_libcommon-PrebufferedStreambuf.$(OBJEXT)
+	-rm -f common/test_build_libcommon-RefCountedObj.$(OBJEXT)
+	-rm -f common/test_build_libcommon-SloppyCRCMap.$(OBJEXT)
+	-rm -f common/test_build_libcommon-TextTable.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Thread.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Throttle.$(OBJEXT)
+	-rm -f common/test_build_libcommon-Timer.$(OBJEXT)
+	-rm -f common/test_build_libcommon-WorkQueue.$(OBJEXT)
+	-rm -f common/test_build_libcommon-addr_parsing.$(OBJEXT)
+	-rm -f common/test_build_libcommon-admin_socket.$(OBJEXT)
+	-rm -f common/test_build_libcommon-admin_socket_client.$(OBJEXT)
+	-rm -f common/test_build_libcommon-armor.$(OBJEXT)
+	-rm -f common/test_build_libcommon-assert.$(OBJEXT)
+	-rm -f common/test_build_libcommon-blkdev.$(OBJEXT)
+	-rm -f common/test_build_libcommon-bloom_filter.$(OBJEXT)
+	-rm -f common/test_build_libcommon-buffer.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_argparse.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_context.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_crypto.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_crypto_cms.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_frag.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_fs.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_hash.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_json.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ceph_strings.$(OBJEXT)
+	-rm -f common/test_build_libcommon-cmdparse.$(OBJEXT)
+	-rm -f common/test_build_libcommon-code_environment.$(OBJEXT)
+	-rm -f common/test_build_libcommon-common_init.$(OBJEXT)
+	-rm -f common/test_build_libcommon-config.$(OBJEXT)
+	-rm -f common/test_build_libcommon-dout.$(OBJEXT)
+	-rm -f common/test_build_libcommon-entity_name.$(OBJEXT)
+	-rm -f common/test_build_libcommon-environment.$(OBJEXT)
+	-rm -f common/test_build_libcommon-errno.$(OBJEXT)
+	-rm -f common/test_build_libcommon-escape.$(OBJEXT)
+	-rm -f common/test_build_libcommon-fd.$(OBJEXT)
+	-rm -f common/test_build_libcommon-hex.$(OBJEXT)
+	-rm -f common/test_build_libcommon-hobject.$(OBJEXT)
+	-rm -f common/test_build_libcommon-ipaddr.$(OBJEXT)
+	-rm -f common/test_build_libcommon-lockdep.$(OBJEXT)
+	-rm -f common/test_build_libcommon-mime.$(OBJEXT)
+	-rm -f common/test_build_libcommon-page.$(OBJEXT)
+	-rm -f common/test_build_libcommon-perf_counters.$(OBJEXT)
+	-rm -f common/test_build_libcommon-pick_address.$(OBJEXT)
+	-rm -f common/test_build_libcommon-pipe.$(OBJEXT)
+	-rm -f common/test_build_libcommon-run_cmd.$(OBJEXT)
+	-rm -f common/test_build_libcommon-safe_io.$(OBJEXT)
+	-rm -f common/test_build_libcommon-secret.$(OBJEXT)
+	-rm -f common/test_build_libcommon-signal.$(OBJEXT)
+	-rm -f common/test_build_libcommon-simple_spin.$(OBJEXT)
+	-rm -f common/test_build_libcommon-snap_types.$(OBJEXT)
+	-rm -f common/test_build_libcommon-str_list.$(OBJEXT)
+	-rm -f common/test_build_libcommon-strtol.$(OBJEXT)
+	-rm -f common/test_build_libcommon-utf8.$(OBJEXT)
+	-rm -f common/test_build_libcommon-util.$(OBJEXT)
+	-rm -f common/test_build_libcommon-version.$(OBJEXT)
+	-rm -f common/test_build_libcommon-xattr.$(OBJEXT)
+	-rm -f common/utf8.$(OBJEXT)
+	-rm -f common/utf8.lo
+	-rm -f common/util.$(OBJEXT)
+	-rm -f common/util.lo
+	-rm -f common/version.$(OBJEXT)
+	-rm -f common/version.lo
+	-rm -f common/xattr.$(OBJEXT)
+	-rm -f common/xattr.lo
+	-rm -f crush/CrushCompiler.$(OBJEXT)
+	-rm -f crush/CrushCompiler.lo
+	-rm -f crush/CrushTester.$(OBJEXT)
+	-rm -f crush/CrushTester.lo
+	-rm -f crush/CrushWrapper.$(OBJEXT)
+	-rm -f crush/CrushWrapper.lo
+	-rm -f crush/builder.$(OBJEXT)
+	-rm -f crush/builder.lo
+	-rm -f crush/crush.$(OBJEXT)
+	-rm -f crush/crush.lo
+	-rm -f crush/hash.$(OBJEXT)
+	-rm -f crush/hash.lo
+	-rm -f crush/mapper.$(OBJEXT)
+	-rm -f crush/mapper.lo
+	-rm -f global/global_context.$(OBJEXT)
+	-rm -f global/global_context.lo
+	-rm -f global/global_init.$(OBJEXT)
+	-rm -f global/global_init.lo
+	-rm -f global/pidfile.$(OBJEXT)
+	-rm -f global/pidfile.lo
+	-rm -f global/signal_handler.$(OBJEXT)
+	-rm -f global/signal_handler.lo
+	-rm -f java/native/libcephfs_jni_la-JniConstants.$(OBJEXT)
+	-rm -f java/native/libcephfs_jni_la-JniConstants.lo
+	-rm -f java/native/libcephfs_jni_la-libcephfs_jni.$(OBJEXT)
+	-rm -f java/native/libcephfs_jni_la-libcephfs_jni.lo
+	-rm -f json_spirit/json_spirit_reader.$(OBJEXT)
+	-rm -f json_spirit/json_spirit_reader.lo
+	-rm -f json_spirit/json_spirit_value.$(OBJEXT)
+	-rm -f json_spirit/json_spirit_value.lo
+	-rm -f json_spirit/json_spirit_writer.$(OBJEXT)
+	-rm -f json_spirit/json_spirit_writer.lo
+	-rm -f key_value_store/cls_kvs.$(OBJEXT)
+	-rm -f key_value_store/cls_kvs.lo
+	-rm -f key_value_store/kv_flat_btree_async.$(OBJEXT)
+	-rm -f librados/IoCtxImpl.$(OBJEXT)
+	-rm -f librados/IoCtxImpl.lo
+	-rm -f librados/RadosClient.$(OBJEXT)
+	-rm -f librados/RadosClient.lo
+	-rm -f librados/librados.$(OBJEXT)
+	-rm -f librados/librados.lo
+	-rm -f librados/snap_set_diff.$(OBJEXT)
+	-rm -f librados/snap_set_diff.lo
+	-rm -f librados/test_build_librados-IoCtxImpl.$(OBJEXT)
+	-rm -f librados/test_build_librados-RadosClient.$(OBJEXT)
+	-rm -f librados/test_build_librados-librados.$(OBJEXT)
+	-rm -f librados/test_build_librados-snap_set_diff.$(OBJEXT)
+	-rm -f librbd/AioCompletion.$(OBJEXT)
+	-rm -f librbd/AioCompletion.lo
+	-rm -f librbd/AioRequest.$(OBJEXT)
+	-rm -f librbd/AioRequest.lo
+	-rm -f librbd/ImageCtx.$(OBJEXT)
+	-rm -f librbd/ImageCtx.lo
+	-rm -f librbd/LibrbdWriteback.$(OBJEXT)
+	-rm -f librbd/LibrbdWriteback.lo
+	-rm -f librbd/WatchCtx.$(OBJEXT)
+	-rm -f librbd/WatchCtx.lo
+	-rm -f librbd/internal.$(OBJEXT)
+	-rm -f librbd/internal.lo
+	-rm -f librbd/librbd.$(OBJEXT)
+	-rm -f librbd/librbd.lo
+	-rm -f log/Log.$(OBJEXT)
+	-rm -f log/Log.lo
+	-rm -f log/SubsystemMap.$(OBJEXT)
+	-rm -f log/SubsystemMap.lo
+	-rm -f log/unittest_log-test.$(OBJEXT)
+	-rm -f mds/Anchor.$(OBJEXT)
+	-rm -f mds/Anchor.lo
+	-rm -f mds/AnchorClient.$(OBJEXT)
+	-rm -f mds/AnchorClient.lo
+	-rm -f mds/AnchorServer.$(OBJEXT)
+	-rm -f mds/AnchorServer.lo
+	-rm -f mds/CDentry.$(OBJEXT)
+	-rm -f mds/CDentry.lo
+	-rm -f mds/CDir.$(OBJEXT)
+	-rm -f mds/CDir.lo
+	-rm -f mds/CInode.$(OBJEXT)
+	-rm -f mds/CInode.lo
+	-rm -f mds/Capability.$(OBJEXT)
+	-rm -f mds/Capability.lo
+	-rm -f mds/Dumper.$(OBJEXT)
+	-rm -f mds/Dumper.lo
+	-rm -f mds/InoTable.$(OBJEXT)
+	-rm -f mds/InoTable.lo
+	-rm -f mds/Locker.$(OBJEXT)
+	-rm -f mds/Locker.lo
+	-rm -f mds/LogEvent.$(OBJEXT)
+	-rm -f mds/LogEvent.lo
+	-rm -f mds/MDBalancer.$(OBJEXT)
+	-rm -f mds/MDBalancer.lo
+	-rm -f mds/MDCache.$(OBJEXT)
+	-rm -f mds/MDCache.lo
+	-rm -f mds/MDLog.$(OBJEXT)
+	-rm -f mds/MDLog.lo
+	-rm -f mds/MDS.$(OBJEXT)
+	-rm -f mds/MDS.lo
+	-rm -f mds/MDSMap.$(OBJEXT)
+	-rm -f mds/MDSMap.lo
+	-rm -f mds/MDSTable.$(OBJEXT)
+	-rm -f mds/MDSTable.lo
+	-rm -f mds/MDSTableClient.$(OBJEXT)
+	-rm -f mds/MDSTableClient.lo
+	-rm -f mds/MDSTableServer.$(OBJEXT)
+	-rm -f mds/MDSTableServer.lo
+	-rm -f mds/Migrator.$(OBJEXT)
+	-rm -f mds/Migrator.lo
+	-rm -f mds/Mutation.$(OBJEXT)
+	-rm -f mds/Mutation.lo
+	-rm -f mds/Resetter.$(OBJEXT)
+	-rm -f mds/Resetter.lo
+	-rm -f mds/Server.$(OBJEXT)
+	-rm -f mds/Server.lo
+	-rm -f mds/SessionMap.$(OBJEXT)
+	-rm -f mds/SessionMap.lo
+	-rm -f mds/SnapRealm.$(OBJEXT)
+	-rm -f mds/SnapRealm.lo
+	-rm -f mds/SnapServer.$(OBJEXT)
+	-rm -f mds/SnapServer.lo
+	-rm -f mds/flock.$(OBJEXT)
+	-rm -f mds/flock.lo
+	-rm -f mds/inode_backtrace.$(OBJEXT)
+	-rm -f mds/inode_backtrace.lo
+	-rm -f mds/journal.$(OBJEXT)
+	-rm -f mds/journal.lo
+	-rm -f mds/locks.$(OBJEXT)
+	-rm -f mds/locks.lo
+	-rm -f mds/mdstypes.$(OBJEXT)
+	-rm -f mds/mdstypes.lo
+	-rm -f mds/snap.$(OBJEXT)
+	-rm -f mds/snap.lo
+	-rm -f mds/test_build_libcommon-MDSMap.$(OBJEXT)
+	-rm -f mds/test_build_libcommon-inode_backtrace.$(OBJEXT)
+	-rm -f mds/test_build_libcommon-mdstypes.$(OBJEXT)
+	-rm -f mon/AuthMonitor.$(OBJEXT)
+	-rm -f mon/AuthMonitor.lo
+	-rm -f mon/ConfigKeyService.$(OBJEXT)
+	-rm -f mon/ConfigKeyService.lo
+	-rm -f mon/DataHealthService.$(OBJEXT)
+	-rm -f mon/DataHealthService.lo
+	-rm -f mon/Elector.$(OBJEXT)
+	-rm -f mon/Elector.lo
+	-rm -f mon/HealthMonitor.$(OBJEXT)
+	-rm -f mon/HealthMonitor.lo
+	-rm -f mon/LogMonitor.$(OBJEXT)
+	-rm -f mon/LogMonitor.lo
+	-rm -f mon/MDSMonitor.$(OBJEXT)
+	-rm -f mon/MDSMonitor.lo
+	-rm -f mon/MonCap.$(OBJEXT)
+	-rm -f mon/MonCap.lo
+	-rm -f mon/MonClient.$(OBJEXT)
+	-rm -f mon/MonClient.lo
+	-rm -f mon/MonMap.$(OBJEXT)
+	-rm -f mon/MonMap.lo
+	-rm -f mon/Monitor.$(OBJEXT)
+	-rm -f mon/Monitor.lo
+	-rm -f mon/MonitorStore.$(OBJEXT)
+	-rm -f mon/MonitorStore.lo
+	-rm -f mon/MonmapMonitor.$(OBJEXT)
+	-rm -f mon/MonmapMonitor.lo
+	-rm -f mon/OSDMonitor.$(OBJEXT)
+	-rm -f mon/OSDMonitor.lo
+	-rm -f mon/PGMap.$(OBJEXT)
+	-rm -f mon/PGMap.lo
+	-rm -f mon/PGMonitor.$(OBJEXT)
+	-rm -f mon/PGMonitor.lo
+	-rm -f mon/Paxos.$(OBJEXT)
+	-rm -f mon/Paxos.lo
+	-rm -f mon/PaxosService.$(OBJEXT)
+	-rm -f mon/PaxosService.lo
+	-rm -f mon/test_build_libcommon-MonCap.$(OBJEXT)
+	-rm -f mon/test_build_libcommon-MonClient.$(OBJEXT)
+	-rm -f mon/test_build_libcommon-MonMap.$(OBJEXT)
+	-rm -f mount/mount.ceph.$(OBJEXT)
+	-rm -f msg/Accepter.$(OBJEXT)
+	-rm -f msg/Accepter.lo
+	-rm -f msg/DispatchQueue.$(OBJEXT)
+	-rm -f msg/DispatchQueue.lo
+	-rm -f msg/Message.$(OBJEXT)
+	-rm -f msg/Message.lo
+	-rm -f msg/Messenger.$(OBJEXT)
+	-rm -f msg/Messenger.lo
+	-rm -f msg/Pipe.$(OBJEXT)
+	-rm -f msg/Pipe.lo
+	-rm -f msg/SimpleMessenger.$(OBJEXT)
+	-rm -f msg/SimpleMessenger.lo
+	-rm -f msg/msg_types.$(OBJEXT)
+	-rm -f msg/msg_types.lo
+	-rm -f objclass/class_api.$(OBJEXT)
+	-rm -f objclass/class_api.lo
+	-rm -f os/BtrfsFileStoreBackend.$(OBJEXT)
+	-rm -f os/BtrfsFileStoreBackend.lo
+	-rm -f os/DBObjectMap.$(OBJEXT)
+	-rm -f os/DBObjectMap.lo
+	-rm -f os/FileJournal.$(OBJEXT)
+	-rm -f os/FileJournal.lo
+	-rm -f os/FileStore.$(OBJEXT)
+	-rm -f os/FileStore.lo
+	-rm -f os/FlatIndex.$(OBJEXT)
+	-rm -f os/FlatIndex.lo
+	-rm -f os/GenericFileStoreBackend.$(OBJEXT)
+	-rm -f os/GenericFileStoreBackend.lo
+	-rm -f os/HashIndex.$(OBJEXT)
+	-rm -f os/HashIndex.lo
+	-rm -f os/IndexManager.$(OBJEXT)
+	-rm -f os/IndexManager.lo
+	-rm -f os/JournalingObjectStore.$(OBJEXT)
+	-rm -f os/JournalingObjectStore.lo
+	-rm -f os/LFNIndex.$(OBJEXT)
+	-rm -f os/LFNIndex.lo
+	-rm -f os/LevelDBStore.$(OBJEXT)
+	-rm -f os/LevelDBStore.lo
+	-rm -f os/ObjectStore.$(OBJEXT)
+	-rm -f os/ObjectStore.lo
+	-rm -f os/WBThrottle.$(OBJEXT)
+	-rm -f os/WBThrottle.lo
+	-rm -f os/ZFSFileStoreBackend.$(OBJEXT)
+	-rm -f os/ZFSFileStoreBackend.lo
+	-rm -f os/chain_xattr.$(OBJEXT)
+	-rm -f os/chain_xattr.lo
+	-rm -f os/libos_zfs_a-ZFS.$(OBJEXT)
+	-rm -f osd/Ager.$(OBJEXT)
+	-rm -f osd/Ager.lo
+	-rm -f osd/ClassHandler.$(OBJEXT)
+	-rm -f osd/ClassHandler.lo
+	-rm -f osd/ErasureCodePlugin.$(OBJEXT)
+	-rm -f osd/ErasureCodePlugin.lo
+	-rm -f osd/ErasureCodePluginJerasure/cauchy.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/galois.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/jerasure.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo
+	-rm -f osd/ErasureCodePluginJerasure/liberation.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/reed_sol.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.$(OBJEXT)
+	-rm -f osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.$(OBJEXT)
+	-rm -f osd/OSD.$(OBJEXT)
+	-rm -f osd/OSD.lo
+	-rm -f osd/OSDCap.$(OBJEXT)
+	-rm -f osd/OSDCap.lo
+	-rm -f osd/OSDMap.$(OBJEXT)
+	-rm -f osd/OSDMap.lo
+	-rm -f osd/OpRequest.$(OBJEXT)
+	-rm -f osd/OpRequest.lo
+	-rm -f osd/PG.$(OBJEXT)
+	-rm -f osd/PG.lo
+	-rm -f osd/PGLog.$(OBJEXT)
+	-rm -f osd/PGLog.lo
+	-rm -f osd/ReplicatedBackend.$(OBJEXT)
+	-rm -f osd/ReplicatedBackend.lo
+	-rm -f osd/ReplicatedPG.$(OBJEXT)
+	-rm -f osd/ReplicatedPG.lo
+	-rm -f osd/SnapMapper.$(OBJEXT)
+	-rm -f osd/SnapMapper.lo
+	-rm -f osd/Watch.$(OBJEXT)
+	-rm -f osd/Watch.lo
+	-rm -f osd/osd_types.$(OBJEXT)
+	-rm -f osd/osd_types.lo
+	-rm -f osd/test_build_libcommon-OSDMap.$(OBJEXT)
+	-rm -f osd/test_build_libcommon-osd_types.$(OBJEXT)
+	-rm -f osdc/Filer.$(OBJEXT)
+	-rm -f osdc/Filer.lo
+	-rm -f osdc/Journaler.$(OBJEXT)
+	-rm -f osdc/Journaler.lo
+	-rm -f osdc/ObjectCacher.$(OBJEXT)
+	-rm -f osdc/ObjectCacher.lo
+	-rm -f osdc/Objecter.$(OBJEXT)
+	-rm -f osdc/Objecter.lo
+	-rm -f osdc/Striper.$(OBJEXT)
+	-rm -f osdc/Striper.lo
+	-rm -f osdc/test_build_libcephfs-Filer.$(OBJEXT)
+	-rm -f osdc/test_build_libcephfs-Journaler.$(OBJEXT)
+	-rm -f osdc/test_build_libcephfs-ObjectCacher.$(OBJEXT)
+	-rm -f osdc/test_build_libcephfs-Objecter.$(OBJEXT)
+	-rm -f osdc/test_build_libcephfs-Striper.$(OBJEXT)
+	-rm -f perfglue/cpu_profiler.$(OBJEXT)
+	-rm -f perfglue/cpu_profiler.lo
+	-rm -f perfglue/disabled_heap_profiler.$(OBJEXT)
+	-rm -f perfglue/disabled_heap_profiler.lo
+	-rm -f perfglue/disabled_stubs.$(OBJEXT)
+	-rm -f perfglue/disabled_stubs.lo
+	-rm -f perfglue/heap_profiler.$(OBJEXT)
+	-rm -f perfglue/heap_profiler.lo
+	-rm -f rbd_fuse/rbd-fuse.$(OBJEXT)
+	-rm -f rgw/ceph_dencoder-rgw_acl.$(OBJEXT)
+	-rm -f rgw/ceph_dencoder-rgw_common.$(OBJEXT)
+	-rm -f rgw/ceph_dencoder-rgw_dencoder.$(OBJEXT)
+	-rm -f rgw/ceph_dencoder-rgw_env.$(OBJEXT)
+	-rm -f rgw/ceph_dencoder-rgw_json_enc.$(OBJEXT)
+	-rm -f rgw/librgw_la-librgw.$(OBJEXT)
+	-rm -f rgw/librgw_la-librgw.lo
+	-rm -f rgw/librgw_la-rgw_acl.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_acl.lo
+	-rm -f rgw/librgw_la-rgw_acl_s3.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_acl_s3.lo
+	-rm -f rgw/librgw_la-rgw_acl_swift.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_acl_swift.lo
+	-rm -f rgw/librgw_la-rgw_auth_s3.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_auth_s3.lo
+	-rm -f rgw/librgw_la-rgw_bucket.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_bucket.lo
+	-rm -f rgw/librgw_la-rgw_cache.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_cache.lo
+	-rm -f rgw/librgw_la-rgw_client_io.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_client_io.lo
+	-rm -f rgw/librgw_la-rgw_common.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_common.lo
+	-rm -f rgw/librgw_la-rgw_cors.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_cors.lo
+	-rm -f rgw/librgw_la-rgw_cors_s3.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_cors_s3.lo
+	-rm -f rgw/librgw_la-rgw_env.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_env.lo
+	-rm -f rgw/librgw_la-rgw_fcgi.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_fcgi.lo
+	-rm -f rgw/librgw_la-rgw_formats.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_formats.lo
+	-rm -f rgw/librgw_la-rgw_gc.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_gc.lo
+	-rm -f rgw/librgw_la-rgw_http_client.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_http_client.lo
+	-rm -f rgw/librgw_la-rgw_json_enc.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_json_enc.lo
+	-rm -f rgw/librgw_la-rgw_keystone.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_keystone.lo
+	-rm -f rgw/librgw_la-rgw_log.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_log.lo
+	-rm -f rgw/librgw_la-rgw_metadata.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_metadata.lo
+	-rm -f rgw/librgw_la-rgw_multi.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_multi.lo
+	-rm -f rgw/librgw_la-rgw_multi_del.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_multi_del.lo
+	-rm -f rgw/librgw_la-rgw_op.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_op.lo
+	-rm -f rgw/librgw_la-rgw_policy_s3.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_policy_s3.lo
+	-rm -f rgw/librgw_la-rgw_quota.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_quota.lo
+	-rm -f rgw/librgw_la-rgw_rados.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_rados.lo
+	-rm -f rgw/librgw_la-rgw_replica_log.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_replica_log.lo
+	-rm -f rgw/librgw_la-rgw_rest_client.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_rest_client.lo
+	-rm -f rgw/librgw_la-rgw_rest_conn.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_rest_conn.lo
+	-rm -f rgw/librgw_la-rgw_tools.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_tools.lo
+	-rm -f rgw/librgw_la-rgw_usage.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_usage.lo
+	-rm -f rgw/librgw_la-rgw_user.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_user.lo
+	-rm -f rgw/librgw_la-rgw_xml.$(OBJEXT)
+	-rm -f rgw/librgw_la-rgw_xml.lo
+	-rm -f rgw/rgw_admin.$(OBJEXT)
+	-rm -f rgw/rgw_common.$(OBJEXT)
+	-rm -f rgw/rgw_env.$(OBJEXT)
+	-rm -f rgw/rgw_http_client.$(OBJEXT)
+	-rm -f rgw/rgw_json_enc.$(OBJEXT)
+	-rm -f rgw/rgw_jsonparser.$(OBJEXT)
+	-rm -f rgw/rgw_main.$(OBJEXT)
+	-rm -f rgw/rgw_multiparser.$(OBJEXT)
+	-rm -f rgw/rgw_replica_log.$(OBJEXT)
+	-rm -f rgw/rgw_resolve.$(OBJEXT)
+	-rm -f rgw/rgw_rest.$(OBJEXT)
+	-rm -f rgw/rgw_rest_bucket.$(OBJEXT)
+	-rm -f rgw/rgw_rest_config.$(OBJEXT)
+	-rm -f rgw/rgw_rest_log.$(OBJEXT)
+	-rm -f rgw/rgw_rest_metadata.$(OBJEXT)
+	-rm -f rgw/rgw_rest_opstate.$(OBJEXT)
+	-rm -f rgw/rgw_rest_replica_log.$(OBJEXT)
+	-rm -f rgw/rgw_rest_s3.$(OBJEXT)
+	-rm -f rgw/rgw_rest_swift.$(OBJEXT)
+	-rm -f rgw/rgw_rest_usage.$(OBJEXT)
+	-rm -f rgw/rgw_rest_user.$(OBJEXT)
+	-rm -f rgw/rgw_swift.$(OBJEXT)
+	-rm -f rgw/rgw_swift_auth.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-librgw.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_acl.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_acl_s3.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_acl_swift.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_auth_s3.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_bucket.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_cache.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_client_io.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_common.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_cors.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_cors_s3.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_env.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_fcgi.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_formats.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_gc.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_http_client.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_json_enc.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_keystone.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_log.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_metadata.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_multi.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_multi_del.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_op.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_policy_s3.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_quota.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_rados.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_replica_log.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_rest_client.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_rest_conn.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_tools.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_usage.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_user.$(OBJEXT)
+	-rm -f rgw/test_build_librgw-rgw_xml.$(OBJEXT)
+	-rm -f rgw/unittest_formatter-rgw_formats.$(OBJEXT)
+	-rm -f test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.$(OBJEXT)
+	-rm -f test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.$(OBJEXT)
+	-rm -f test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.$(OBJEXT)
+	-rm -f test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.$(OBJEXT)
+	-rm -f test/ObjectMap/ceph_test_object_map-test_object_map.$(OBJEXT)
+	-rm -f test/TestSignalHandlers.$(OBJEXT)
+	-rm -f test/TestTimers.$(OBJEXT)
+	-rm -f test/bench/bencher.$(OBJEXT)
+	-rm -f test/bench/detailed_stat_collector.$(OBJEXT)
+	-rm -f test/bench/dumb_backend.$(OBJEXT)
+	-rm -f test/bench/rados_backend.$(OBJEXT)
+	-rm -f test/bench/rbd_backend.$(OBJEXT)
+	-rm -f test/bench/small_io_bench.$(OBJEXT)
+	-rm -f test/bench/small_io_bench_dumb.$(OBJEXT)
+	-rm -f test/bench/small_io_bench_fs.$(OBJEXT)
+	-rm -f test/bench/small_io_bench_rbd.$(OBJEXT)
+	-rm -f test/bench/testfilestore_backend.$(OBJEXT)
+	-rm -f test/bench/tp_bench.$(OBJEXT)
+	-rm -f test/bench_log.$(OBJEXT)
+	-rm -f test/ceph_test_cls_rgw_log-test_rgw_admin_log.$(OBJEXT)
+	-rm -f test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.$(OBJEXT)
+	-rm -f test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.$(OBJEXT)
+	-rm -f test/ceph_test_cors-test_cors.$(OBJEXT)
+	-rm -f test/ceph_test_filejournal-test_filejournal.$(OBJEXT)
+	-rm -f test/ceph_test_snap_mapper-test_snap_mapper.$(OBJEXT)
+	-rm -f test/ceph_test_stress_watch-test_stress_watch.$(OBJEXT)
+	-rm -f test/ceph_xattr_bench-xattr_bench.$(OBJEXT)
+	-rm -f test/cls_hello/ceph_test_cls_hello-test_cls_hello.$(OBJEXT)
+	-rm -f test/cls_lock/ceph_test_cls_lock-test_cls_lock.$(OBJEXT)
+	-rm -f test/cls_log/ceph_test_cls_log-test_cls_log.$(OBJEXT)
+	-rm -f test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.$(OBJEXT)
+	-rm -f test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.$(OBJEXT)
+	-rm -f test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.$(OBJEXT)
+	-rm -f test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.$(OBJEXT)
+	-rm -f test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.$(OBJEXT)
+	-rm -f test/cls_version/ceph_test_cls_version-test_cls_version.$(OBJEXT)
+	-rm -f test/common/ObjectContents.$(OBJEXT)
+	-rm -f test/common/get_command_descriptions.$(OBJEXT)
+	-rm -f test/common/unittest_bloom_filter-test_bloom_filter.$(OBJEXT)
+	-rm -f test/common/unittest_crc32c-test_crc32c.$(OBJEXT)
+	-rm -f test/common/unittest_sharedptr_registry-test_sharedptr_registry.$(OBJEXT)
+	-rm -f test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.$(OBJEXT)
+	-rm -f test/common/unittest_throttle-Throttle.$(OBJEXT)
+	-rm -f test/common/unittest_util-test_util.$(OBJEXT)
+	-rm -f test/encoding/ceph_dencoder-ceph_dencoder.$(OBJEXT)
+	-rm -f test/filestore/DeterministicOpSequence.$(OBJEXT)
+	-rm -f test/filestore/FileStoreDiff.$(OBJEXT)
+	-rm -f test/filestore/FileStoreTracker.$(OBJEXT)
+	-rm -f test/filestore/TestFileStoreState.$(OBJEXT)
+	-rm -f test/filestore/ceph_test_filestore-store_test.$(OBJEXT)
+	-rm -f test/filestore/test_idempotent.$(OBJEXT)
+	-rm -f test/filestore/test_idempotent_sequence.$(OBJEXT)
+	-rm -f test/filestore/unittest_chain_xattr-chain_xattr.$(OBJEXT)
+	-rm -f test/filestore/workload_generator.$(OBJEXT)
+	-rm -f test/kv_store_bench.$(OBJEXT)
+	-rm -f test/libcephfs/ceph_test_libcephfs-caps.$(OBJEXT)
+	-rm -f test/libcephfs/ceph_test_libcephfs-multiclient.$(OBJEXT)
+	-rm -f test/libcephfs/ceph_test_libcephfs-readdir_r_cb.$(OBJEXT)
+	-rm -f test/libcephfs/ceph_test_libcephfs-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_hello-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_lock-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_log-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_rbd-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_refcount-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_replica_log-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_rgw-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_statelog-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_cls_version-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_librbd-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_aio-aio.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_aio-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_cls-cls.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_cls-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_cmd-cmd.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_cmd-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_io-io.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_io-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_list-list.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_list-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_lock-lock.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_lock-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_misc-misc.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_misc-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_pool-pool.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_pool-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_snapshots-snapshots.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_snapshots-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_stat-stat.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_stat-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_watch_notify-test.$(OBJEXT)
+	-rm -f test/librados/ceph_test_rados_api_watch_notify-watch_notify.$(OBJEXT)
+	-rm -f test/librados/ceph_test_stress_watch-test.$(OBJEXT)
+	-rm -f test/librados/test.$(OBJEXT)
+	-rm -f test/librados/unittest_librados-librados.$(OBJEXT)
+	-rm -f test/librados/unittest_librados_config-librados_config.$(OBJEXT)
+	-rm -f test/librbd/ceph_test_librbd-test_librbd.$(OBJEXT)
+	-rm -f test/librbd/ceph_test_librbd_fsx-fsx.$(OBJEXT)
+	-rm -f test/mon/test_mon_workloadgen.$(OBJEXT)
+	-rm -f test/mon/unittest_mon_moncap-moncap.$(OBJEXT)
+	-rm -f test/multi_stress_watch.$(OBJEXT)
+	-rm -f test/omap_bench.$(OBJEXT)
+	-rm -f test/os/unittest_flatindex-TestFlatIndex.$(OBJEXT)
+	-rm -f test/os/unittest_lfnindex-TestLFNIndex.$(OBJEXT)
+	-rm -f test/osd/Object.$(OBJEXT)
+	-rm -f test/osd/RadosModel.$(OBJEXT)
+	-rm -f test/osd/TestOpStat.$(OBJEXT)
+	-rm -f test/osd/TestRados.$(OBJEXT)
+	-rm -f test/osd/libec_example_la-ErasureCodePluginExample.$(OBJEXT)
+	-rm -f test/osd/libec_example_la-ErasureCodePluginExample.lo
+	-rm -f test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.$(OBJEXT)
+	-rm -f test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo
+	-rm -f test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.$(OBJEXT)
+	-rm -f test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo
+	-rm -f test/osd/libec_hangs_la-ErasureCodePluginHangs.$(OBJEXT)
+	-rm -f test/osd/libec_hangs_la-ErasureCodePluginHangs.lo
+	-rm -f test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.$(OBJEXT)
+	-rm -f test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo
+	-rm -f test/osd/unittest_erasure_code_example-TestErasureCodeExample.$(OBJEXT)
+	-rm -f test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.$(OBJEXT)
+	-rm -f test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.$(OBJEXT)
+	-rm -f test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.$(OBJEXT)
+	-rm -f test/osd/unittest_osd_osdcap-osdcap.$(OBJEXT)
+	-rm -f test/osd/unittest_pglog-TestPGLog.$(OBJEXT)
+	-rm -f test/osdc/FakeWriteback.$(OBJEXT)
+	-rm -f test/osdc/object_cacher_stress.$(OBJEXT)
+	-rm -f test/streamtest.$(OBJEXT)
+	-rm -f test/system/cross_process_sem.$(OBJEXT)
+	-rm -f test/system/cross_process_sem.lo
+	-rm -f test/system/rados_delete_pools_parallel.$(OBJEXT)
+	-rm -f test/system/rados_list_parallel.$(OBJEXT)
+	-rm -f test/system/rados_open_pools_parallel.$(OBJEXT)
+	-rm -f test/system/rados_watch_notify.$(OBJEXT)
+	-rm -f test/system/st_rados_create_pool.$(OBJEXT)
+	-rm -f test/system/st_rados_delete_objs.$(OBJEXT)
+	-rm -f test/system/st_rados_delete_pool.$(OBJEXT)
+	-rm -f test/system/st_rados_list_objects.$(OBJEXT)
+	-rm -f test/system/st_rados_notify.$(OBJEXT)
+	-rm -f test/system/st_rados_watch.$(OBJEXT)
+	-rm -f test/system/systest_runnable.$(OBJEXT)
+	-rm -f test/system/systest_runnable.lo
+	-rm -f test/system/systest_settings.$(OBJEXT)
+	-rm -f test/system/systest_settings.lo
+	-rm -f test/test_arch.$(OBJEXT)
+	-rm -f test/test_build_libcephfs-buildtest_skeleton.$(OBJEXT)
+	-rm -f test/test_build_libcommon-buildtest_skeleton.$(OBJEXT)
+	-rm -f test/test_build_librados-buildtest_skeleton.$(OBJEXT)
+	-rm -f test/test_build_librgw-buildtest_skeleton.$(OBJEXT)
+	-rm -f test/test_cfuse_cache_invalidate.$(OBJEXT)
+	-rm -f test/test_mutate.$(OBJEXT)
+	-rm -f test/test_rewrite_latency.$(OBJEXT)
+	-rm -f test/test_trans.$(OBJEXT)
+	-rm -f test/testcrypto.$(OBJEXT)
+	-rm -f test/testkeys.$(OBJEXT)
+	-rm -f test/testmsgr.$(OBJEXT)
+	-rm -f test/unittest_addrs-test_addrs.$(OBJEXT)
+	-rm -f test/unittest_admin_socket-admin_socket.$(OBJEXT)
+	-rm -f test/unittest_base64-base64.$(OBJEXT)
+	-rm -f test/unittest_bufferlist-bufferlist.$(OBJEXT)
+	-rm -f test/unittest_ceph_argparse-ceph_argparse.$(OBJEXT)
+	-rm -f test/unittest_ceph_compatset-ceph_compatset.$(OBJEXT)
+	-rm -f test/unittest_ceph_crypto-ceph_crypto.$(OBJEXT)
+	-rm -f test/unittest_confutils-confutils.$(OBJEXT)
+	-rm -f test/unittest_crypto-crypto.$(OBJEXT)
+	-rm -f test/unittest_daemon_config-daemon_config.$(OBJEXT)
+	-rm -f test/unittest_encoding-encoding.$(OBJEXT)
+	-rm -f test/unittest_escape-escape.$(OBJEXT)
+	-rm -f test/unittest_formatter-formatter.$(OBJEXT)
+	-rm -f test/unittest_gather-gather.$(OBJEXT)
+	-rm -f test/unittest_heartbeatmap-heartbeat_map.$(OBJEXT)
+	-rm -f test/unittest_ipaddr-test_ipaddr.$(OBJEXT)
+	-rm -f test/unittest_libcephfs_config-libcephfs_config.$(OBJEXT)
+	-rm -f test/unittest_mime-mime.$(OBJEXT)
+	-rm -f test/unittest_osd_types-test_osd_types.$(OBJEXT)
+	-rm -f test/unittest_perf_counters-perf_counters.$(OBJEXT)
+	-rm -f test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.$(OBJEXT)
+	-rm -f test/unittest_run_cmd-run_cmd.$(OBJEXT)
+	-rm -f test/unittest_signals-signals.$(OBJEXT)
+	-rm -f test/unittest_simple_spin-simple_spin.$(OBJEXT)
+	-rm -f test/unittest_str_list-test_str_list.$(OBJEXT)
+	-rm -f test/unittest_striper-test_striper.$(OBJEXT)
+	-rm -f test/unittest_strtol-strtol.$(OBJEXT)
+	-rm -f test/unittest_texttable-test_texttable.$(OBJEXT)
+	-rm -f test/unittest_utf8-utf8.$(OBJEXT)
+	-rm -f test/unittest_workqueue-test_workqueue.$(OBJEXT)
+	-rm -f tools/ceph-filestore-dump.$(OBJEXT)
+	-rm -f tools/ceph-filestore-tool.$(OBJEXT)
+	-rm -f tools/ceph-monstore-tool.$(OBJEXT)
+	-rm -f tools/ceph-osdomap-tool.$(OBJEXT)
+	-rm -f tools/ceph_authtool.$(OBJEXT)
+	-rm -f tools/ceph_conf.$(OBJEXT)
+	-rm -f tools/ceph_kvstore_tool-ceph-kvstore-tool.$(OBJEXT)
+	-rm -f tools/crushtool.$(OBJEXT)
+	-rm -f tools/dupstore.$(OBJEXT)
+	-rm -f tools/mon_store_converter.$(OBJEXT)
+	-rm -f tools/monmaptool.$(OBJEXT)
+	-rm -f tools/osdmaptool.$(OBJEXT)
+	-rm -f tools/psim.$(OBJEXT)
+	-rm -f tools/rados/rados.$(OBJEXT)
+	-rm -f tools/rados/rados_export.$(OBJEXT)
+	-rm -f tools/rados/rados_import.$(OBJEXT)
+	-rm -f tools/rados/rados_sync.$(OBJEXT)
+	-rm -f tools/radosacl.$(OBJEXT)
+	-rm -f tools/rest_bench-rest_bench.$(OBJEXT)
+	-rm -f tools/scratchtool.$(OBJEXT)
+	-rm -f tools/scratchtoolpp.$(OBJEXT)
 
-ceph_test_librados_build-common_init.obj: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-common_init.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-common_init.Tpo -c -o ceph_test_librados_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-common_init.Tpo $(DEPDIR)/ceph_test_librados_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_librados_build-common_init.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
+distclean-compile:
+	-rm -f *.tab.c
 
-ceph_test_librados_build-ceph_argparse.o: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_argparse.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Tpo -c -o ceph_test_librados_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_librados_build-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_fuse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mds.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_mon.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_osd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_syn.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ceph_ver.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cephfs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libcephfs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/librados-config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rbd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_build_libcommon-ceph_ver.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at arch/$(DEPDIR)/intel.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at arch/$(DEPDIR)/neon.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at arch/$(DEPDIR)/probe.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/AuthAuthorizeHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/AuthClientHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/AuthMethodList.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/AuthServiceHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/AuthSessionHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/Crypto.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/KeyRing.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/$(DEPDIR)/RotatingKeyRing.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxAuthorizeHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxClientHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxKeyServer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxProtocol.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxServiceHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/cephx/$(DEPDIR)/CephxSessionHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/none/$(DEPDIR)/AuthNoneAuthorizeHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at auth/unknown/$(DEPDIR)/AuthUnknownAuthorizeHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/Client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/ClientSnapRealm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/Dentry.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/Inode.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/MetaRequest.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/MetaSession.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/SyntheticClient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/Trace.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/fuse_ll.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at client/$(DEPDIR)/test_ioctls.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/hello/$(DEPDIR)/cls_hello.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/lock/$(DEPDIR)/cls_lock.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/lock/$(DEPDIR)/cls_lock_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/lock/$(DEPDIR)/cls_lock_ops.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/lock/$(DEPDIR)/cls_lock_types.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/log/$(DEPDIR)/cls_log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/log/$(DEPDIR)/cls_log_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rbd/$(DEPDIR)/cls_rbd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rbd/$(DEPDIR)/cls_rbd_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/refcount/$(DEPDIR)/cls_refcount.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/refcount/$(DEPDIR)/cls_refcount_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/refcount/$(DEPDIR)/cls_refcount_ops.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/replica_log/$(DEPDIR)/cls_replica_log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/replica_log/$(DEPDIR)/cls_replica_log_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/replica_log/$(DEPDIR)/cls_replica_log_ops.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/replica_log/$(DEPDIR)/cls_replica_log_types.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rgw/$(DEPDIR)/cls_rgw.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rgw/$(DEPDIR)/cls_rgw_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rgw/$(DEPDIR)/cls_rgw_ops.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/rgw/$(DEPDIR)/cls_rgw_types.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/statelog/$(DEPDIR)/cls_statelog.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/statelog/$(DEPDIR)/cls_statelog_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/version/$(DEPDIR)/cls_version.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/version/$(DEPDIR)/cls_version_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at cls/version/$(DEPDIR)/cls_version_types.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/BackTrace.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Clock.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ConfUtils.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/DecayCounter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Finisher.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Formatter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/HeartbeatMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/LogClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/LogEntry.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/MemoryModel.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Mutex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/OutputDataSocket.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/PrebufferedStreambuf.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/RefCountedObj.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/SloppyCRCMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/TextTable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Thread.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Throttle.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/Timer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/TrackedOp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/WorkQueue.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/addr_parsing.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/admin_socket.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/admin_socket_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/armor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/assert.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/blkdev.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/bloom_filter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_argparse.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_context.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_crypto.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_crypto_cms.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_frag.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_fs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_hash.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_json.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ceph_strings.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/cmdparse.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/code_environment.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/common_init.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/config.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/dout.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/entity_name.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/environment.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/errno.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/escape.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/fd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/hex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/hobject.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/ipaddr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-crc32c.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_baseline.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_asm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_zero_asm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/libcommon_crc_la-sctp_crc32.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/lockdep.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/mime.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/obj_bencher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/page.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/perf_counters.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/pick_address.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/pipe.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/rest_bench-obj_bencher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/run_cmd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/safe_io.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/secret.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/signal.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/simple_spin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/snap_types.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/str_list.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/strtol.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-BackTrace.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Clock.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ConfUtils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-DecayCounter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Finisher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Formatter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-LogClient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-LogEntry.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-MemoryModel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-TextTable.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Thread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Throttle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-Timer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-WorkQueue.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-addr_parsing.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-admin_socket.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-armor.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-assert.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-blkdev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-bloom_filter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-buffer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_context.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_frag.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_fs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_hash.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_json.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ceph_strings.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-cmdparse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-code_environment.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-common_init.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-dout.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-entity_name.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-environment.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-errno.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-escape.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-fd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-hex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-hobject.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-ipaddr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-lockdep.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-mime.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-page.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-perf_counters.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-pick_address.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-pipe.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-run_cmd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-safe_io.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-secret.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-signal.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-simple_spin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-snap_types.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-str_list.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-strtol.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-utf8.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-version.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/test_build_libcommon-xattr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/utf8.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/version.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at common/$(DEPDIR)/xattr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/CrushCompiler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/CrushTester.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/CrushWrapper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/builder.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/crush.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/hash.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at crush/$(DEPDIR)/mapper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at global/$(DEPDIR)/global_context.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at global/$(DEPDIR)/global_init.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at global/$(DEPDIR)/pidfile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at global/$(DEPDIR)/signal_handler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at java/native/$(DEPDIR)/libcephfs_jni_la-JniConstants.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at java/native/$(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at json_spirit/$(DEPDIR)/json_spirit_reader.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at json_spirit/$(DEPDIR)/json_spirit_value.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at json_spirit/$(DEPDIR)/json_spirit_writer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at key_value_store/$(DEPDIR)/cls_kvs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at key_value_store/$(DEPDIR)/kv_flat_btree_async.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/IoCtxImpl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/RadosClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/librados.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/snap_set_diff.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/test_build_librados-RadosClient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/test_build_librados-librados.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librados/$(DEPDIR)/test_build_librados-snap_set_diff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/AioCompletion.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/AioRequest.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/ImageCtx.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/LibrbdWriteback.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/WatchCtx.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/internal.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at librbd/$(DEPDIR)/librbd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at log/$(DEPDIR)/Log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at log/$(DEPDIR)/SubsystemMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at log/$(DEPDIR)/unittest_log-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Anchor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/AnchorClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/AnchorServer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/CDentry.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/CDir.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/CInode.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Capability.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Dumper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/InoTable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Locker.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/LogEvent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDBalancer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDCache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDLog.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDS.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDSMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDSTable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDSTableClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/MDSTableServer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Migrator.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Mutation.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Resetter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/Server.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/SessionMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/SnapRealm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/SnapServer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/flock.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/inode_backtrace.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/journal.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/locks.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/mdstypes.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/snap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/test_build_libcommon-MDSMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mds/$(DEPDIR)/test_build_libcommon-mdstypes.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/AuthMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/ConfigKeyService.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/DataHealthService.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/Elector.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/HealthMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/LogMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MDSMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MonCap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MonClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MonMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/Monitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MonitorStore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/MonmapMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/OSDMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/PGMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/PGMonitor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/Paxos.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/PaxosService.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/test_build_libcommon-MonCap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/test_build_libcommon-MonClient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mon/$(DEPDIR)/test_build_libcommon-MonMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at mount/$(DEPDIR)/mount.ceph.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/Accepter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/DispatchQueue.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/Message.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/Messenger.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/Pipe.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/SimpleMessenger.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at msg/$(DEPDIR)/msg_types.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at objclass/$(DEPDIR)/class_api.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/BtrfsFileStoreBackend.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/DBObjectMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/FileJournal.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/FileStore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/FlatIndex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/GenericFileStoreBackend.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/HashIndex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/IndexManager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/JournalingObjectStore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/LFNIndex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/LevelDBStore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/ObjectStore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/WBThrottle.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/ZFSFileStoreBackend.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/chain_xattr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at os/$(DEPDIR)/libos_zfs_a-ZFS.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/Ager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/ClassHandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/ErasureCodePlugin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/OSD.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/OSDCap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/OSDMap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/OpRequest.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/PG.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/PGLog.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/ReplicatedBackend.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/ReplicatedPG.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/SnapMapper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/Watch.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/osd_types.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/test_build_libcommon-OSDMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/$(DEPDIR)/test_build_libcommon-osd_types.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/cauchy.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/galois.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/jerasure.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodeJerasure.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodePluginJerasure.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-cauchy.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-galois.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-jerasure.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-liberation.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-reed_sol.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/liberation.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/reed_sol.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/Filer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/Journaler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/ObjectCacher.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/Objecter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/Striper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/test_build_libcephfs-Filer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at osdc/$(DEPDIR)/test_build_libcephfs-Striper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at perfglue/$(DEPDIR)/cpu_profiler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at perfglue/$(DEPDIR)/disabled_heap_profiler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at perfglue/$(DEPDIR)/disabled_stubs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at perfglue/$(DEPDIR)/heap_profiler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rbd_fuse/$(DEPDIR)/rbd-fuse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-librgw.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_acl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_acl_s3.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_acl_swift.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_auth_s3.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_bucket.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_cache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_client_io.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_common.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_cors.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_cors_s3.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_env.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_fcgi.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_formats.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_gc.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_http_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_json_enc.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_keystone.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_metadata.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_multi.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_multi_del.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_op.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_policy_s3.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_quota.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_rados.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_replica_log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_rest_client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_rest_conn.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_tools.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_usage.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_user.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/librgw_la-rgw_xml.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_admin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_common.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_env.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_http_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_json_enc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_jsonparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_main.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_multiparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_replica_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_resolve.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_bucket.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_metadata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_opstate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_replica_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_s3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_swift.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_usage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_rest_user.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_swift.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/rgw_swift_auth.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-librgw.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_common.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_env.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_op.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_user.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/TestSignalHandlers.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/TestTimers.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/bench_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_cors-test_cors.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/kv_store_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/multi_stress_watch.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/omap_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/streamtest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_arch.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_cfuse_cache_invalidate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_mutate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_rewrite_latency.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/test_trans.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/testcrypto.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/testkeys.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/testmsgr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_addrs-test_addrs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_admin_socket-admin_socket.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_base64-base64.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_bufferlist-bufferlist.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_confutils-confutils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_crypto-crypto.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_daemon_config-daemon_config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_encoding-encoding.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_escape-escape.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_formatter-formatter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_gather-gather.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_mime-mime.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_osd_types-test_osd_types.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_perf_counters-perf_counters.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_run_cmd-run_cmd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_signals-signals.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_simple_spin-simple_spin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_str_list-test_str_list.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_striper-test_striper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_strtol-strtol.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_texttable-test_texttable.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_utf8-utf8.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/$(DEPDIR)/unittest_workqueue-test_workqueue.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/bencher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/detailed_stat_collector.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/dumb_backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/rados_backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/rbd_backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/small_io_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/small_io_bench_dumb.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/small_io_bench_fs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/small_io_bench_rbd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/testfilestore_backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/bench/$(DEPDIR)/tp_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/ObjectContents.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/get_command_descriptions.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_throttle-Throttle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/common/$(DEPDIR)/unittest_util-test_util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/DeterministicOpSequence.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/FileStoreDiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/FileStoreTracker.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/TestFileStoreState.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/test_idempotent.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/test_idempotent_sequence.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/filestore/$(DEPDIR)/workload_generator.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_log-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_cls_version-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_librbd-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/unittest_librados-librados.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/mon/$(DEPDIR)/test_mon_workloadgen.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/Object.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/RadosModel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/TestOpStat.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/TestRados.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/libec_example_la-ErasureCodePluginExample.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/libec_fail_to_register_la-ErasureCodePluginFailToRegister.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/libec_hangs_la-ErasureCodePluginHangs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osdc/$(DEPDIR)/FakeWriteback.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/osdc/$(DEPDIR)/object_cacher_stress.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/cross_process_sem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/rados_delete_pools_parallel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/rados_list_parallel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/rados_open_pools_parallel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/rados_watch_notify.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_create_pool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_delete_objs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_delete_pool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_list_objects.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_notify.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/st_rados_watch.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/systest_runnable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at test/system/$(DEPDIR)/systest_settings.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph-filestore-dump.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph-filestore-tool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph-monstore-tool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph-osdomap-tool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph_authtool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph_conf.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/crushtool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/dupstore.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/mon_store_converter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/monmaptool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/osdmaptool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/psim.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/radosacl.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/rest_bench-rest_bench.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/scratchtool.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/$(DEPDIR)/scratchtoolpp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/rados/$(DEPDIR)/rados.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/rados/$(DEPDIR)/rados_export.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/rados/$(DEPDIR)/rados_import.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at tools/rados/$(DEPDIR)/rados_sync.Po at am__quote@
+
+.S.o:
+ at am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCCAS_FALSE@	$(AM_V_CPPAS at am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
+
+.S.obj:
+ at am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCCAS_FALSE@	$(AM_V_CPPAS at am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.S.lo:
+ at am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCCAS_TRUE@	$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCCAS_FALSE@	$(AM_V_CPPAS at am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
+
+common/libcommon_crc_la-crc32c_intel_fast_asm.lo: common/crc32c_intel_fast_asm.S
+ at am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT common/libcommon_crc_la-crc32c_intel_fast_asm.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_asm.Tpo -c -o common/libcommon_crc_la-crc32c_intel_fast_asm.lo `test -f 'common/crc32c_intel_fast_asm.S' || echo '$(srcdir)/'`common/crc32c_intel_fast_asm.S
+ at am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_asm.Tpo common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_asm.Plo
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='common/crc32c_intel_fast_asm.S' object='common/libcommon_crc_la-crc32c_intel_fast_asm.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCCAS_FALSE@	$(AM_V_CPPAS at am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o common/libcommon_crc_la-crc32c_intel_fast_asm.lo `test -f 'common/crc32c_intel_fast_asm.S' || echo '$(srcdir)/'`common/crc32c_intel_fast_asm.S
+
+common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo: common/crc32c_intel_fast_zero_asm.S
+ at am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_zero_asm.Tpo -c -o common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo `test -f 'common/crc32c_intel_fast_zero_asm.S' || echo '$(srcdir)/'`com [...]
+ at am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_zero_asm.Tpo common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast_zero_asm.Plo
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='common/crc32c_intel_fast_zero_asm.S' object='common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCCAS_FALSE@	$(AM_V_CPPAS at am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o common/libcommon_crc_la-crc32c_intel_fast_zero_asm.lo `test -f 'common/crc32c_intel_fast_zero_asm.S' || echo '$(srcdir)/'`common/crc32c_intel_fast_zero_asm.S
 
-ceph_test_librados_build-ceph_argparse.obj: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_argparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Tpo -c -o ceph_test_librados_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_librados_build-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
+.c.o:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
-ceph_test_librados_build-ceph_context.o: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_context.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_context.Tpo -c -o ceph_test_librados_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_context.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_librados_build-ceph_context.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
+.c.obj:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
-ceph_test_librados_build-ceph_context.obj: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_context.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_context.Tpo -c -o ceph_test_librados_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_context.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_librados_build-ceph_context.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
+.c.lo:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-ceph_test_librados_build-buffer.o: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-buffer.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-buffer.Tpo -c -o ceph_test_librados_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-buffer.Tpo $(DEPDIR)/ceph_test_librados_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_librados_build-buffer.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
+common/libcommon_crc_la-sctp_crc32.lo: common/sctp_crc32.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libcommon_crc_la-sctp_crc32.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-sctp_crc32.Tpo -c -o common/libcommon_crc_la-sctp_crc32.lo `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-sctp_crc32.Tpo common/$(DEPDIR)/libcommon_crc_la-sctp_crc32.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/sctp_crc32.c' object='common/libcommon_crc_la-sctp_crc32.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libcommon_crc_la-sctp_crc32.lo `test -f 'common/sctp_crc32.c' || echo '$(srcdir)/'`common/sctp_crc32.c
 
-ceph_test_librados_build-buffer.obj: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-buffer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-buffer.Tpo -c -o ceph_test_librados_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-buffer.Tpo $(DEPDIR)/ceph_test_librados_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_librados_build-buffer.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
+common/libcommon_crc_la-crc32c_intel_baseline.lo: common/crc32c_intel_baseline.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libcommon_crc_la-crc32c_intel_baseline.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_baseline.Tpo -c -o common/libcommon_crc_la-crc32c_intel_baseline.lo `test -f 'common/crc32c_intel_baseline.c' || echo '$(srcdir)/'`common/crc32c_intel_baseline.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_baseline.Tpo common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_baseline.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/crc32c_intel_baseline.c' object='common/libcommon_crc_la-crc32c_intel_baseline.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libcommon_crc_la-crc32c_intel_baseline.lo `test -f 'common/crc32c_intel_baseline.c' || echo '$(srcdir)/'`common/crc32c_intel_baseline.c
 
-ceph_test_librados_build-code_environment.o: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-code_environment.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-code_environment.Tpo -c -o ceph_test_librados_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-code_environment.Tpo $(DEPDIR)/ceph_test_librados_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_librados_build-code_environment.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
+common/libcommon_crc_la-crc32c_intel_fast.lo: common/crc32c_intel_fast.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libcommon_crc_la-crc32c_intel_fast.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast.Tpo -c -o common/libcommon_crc_la-crc32c_intel_fast.lo `test -f 'common/crc32c_intel_fast.c' || echo '$(srcdir)/'`common/crc32c_intel_fast.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast.Tpo common/$(DEPDIR)/libcommon_crc_la-crc32c_intel_fast.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/crc32c_intel_fast.c' object='common/libcommon_crc_la-crc32c_intel_fast.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libcommon_crc_la-crc32c_intel_fast.lo `test -f 'common/crc32c_intel_fast.c' || echo '$(srcdir)/'`common/crc32c_intel_fast.c
 
-ceph_test_librados_build-code_environment.obj: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-code_environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-code_environment.Tpo -c -o ceph_test_librados_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-code_environment.Tpo $(DEPDIR)/ceph_test_librados_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_librados_build-code_environment.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
+osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo: osd/ErasureCodePluginJerasure/cauchy.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-cauchy.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo `test -f 'osd/ErasureCodePluginJerasure/cauchy.c' || echo '$(s [...]
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-cauchy.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-cauchy.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osd/ErasureCodePluginJerasure/cauchy.c' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-cauchy.lo `test -f 'osd/ErasureCodePluginJerasure/cauchy.c' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/cauchy.c
 
-ceph_test_librados_build-dout.o: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-dout.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-dout.Tpo -c -o ceph_test_librados_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-dout.Tpo $(DEPDIR)/ceph_test_librados_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_librados_build-dout.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
+osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo: osd/ErasureCodePluginJerasure/galois.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-galois.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo `test -f 'osd/ErasureCodePluginJerasure/galois.c' || echo '$(s [...]
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-galois.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-galois.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osd/ErasureCodePluginJerasure/galois.c' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-galois.lo `test -f 'osd/ErasureCodePluginJerasure/galois.c' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/galois.c
 
-ceph_test_librados_build-dout.obj: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-dout.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-dout.Tpo -c -o ceph_test_librados_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-dout.Tpo $(DEPDIR)/ceph_test_librados_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_librados_build-dout.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
+osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo: osd/ErasureCodePluginJerasure/jerasure.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-jerasure.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo `test -f 'osd/ErasureCodePluginJerasure/jerasure.c' || e [...]
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-jerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-jerasure.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osd/ErasureCodePluginJerasure/jerasure.c' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-jerasure.lo `test -f 'osd/ErasureCodePluginJerasure/jerasure.c' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/jerasure.c
 
-ceph_test_librados_build-signal.o: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-signal.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-signal.Tpo -c -o ceph_test_librados_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-signal.Tpo $(DEPDIR)/ceph_test_librados_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_librados_build-signal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
+osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo: osd/ErasureCodePluginJerasure/liberation.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-liberation.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo `test -f 'osd/ErasureCodePluginJerasure/liberation [...]
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-liberation.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-liberation.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osd/ErasureCodePluginJerasure/liberation.c' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-liberation.lo `test -f 'osd/ErasureCodePluginJerasure/liberation.c' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/liberation.c
 
-ceph_test_librados_build-signal.obj: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-signal.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-signal.Tpo -c -o ceph_test_librados_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-signal.Tpo $(DEPDIR)/ceph_test_librados_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_librados_build-signal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
+osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo: osd/ErasureCodePluginJerasure/reed_sol.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-reed_sol.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo `test -f 'osd/ErasureCodePluginJerasure/reed_sol.c' || e [...]
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-reed_sol.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-reed_sol.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osd/ErasureCodePluginJerasure/reed_sol.c' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CFLAGS) $(CFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-reed_sol.lo `test -f 'osd/ErasureCodePluginJerasure/reed_sol.c' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/reed_sol.c
 
-ceph_test_librados_build-simple_spin.o: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-simple_spin.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-simple_spin.Tpo -c -o ceph_test_librados_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-simple_spin.Tpo $(DEPDIR)/ceph_test_librados_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_librados_build-simple_spin.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
+test/librbd/ceph_test_librbd_fsx-fsx.o: test/librbd/fsx.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -MT test/librbd/ceph_test_librbd_fsx-fsx.o -MD -MP -MF test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo -c -o test/librbd/ceph_test_librbd_fsx-fsx.o `test -f 'test/librbd/fsx.c' || echo '$(srcdir)/'`test/librbd/fsx.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test/librbd/fsx.c' object='test/librbd/ceph_test_librbd_fsx-fsx.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -c -o test/librbd/ceph_test_librbd_fsx-fsx.o `test -f 'test/librbd/fsx.c' || echo '$(srcdir)/'`test/librbd/fsx.c
 
-ceph_test_librados_build-simple_spin.obj: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-simple_spin.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-simple_spin.Tpo -c -o ceph_test_librados_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-simple_spin.Tpo $(DEPDIR)/ceph_test_librados_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_librados_build-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
+test/librbd/ceph_test_librbd_fsx-fsx.obj: test/librbd/fsx.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -MT test/librbd/ceph_test_librbd_fsx-fsx.obj -MD -MP -MF test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo -c -o test/librbd/ceph_test_librbd_fsx-fsx.obj `if test -f 'test/librbd/fsx.c'; then $(CYGPATH_W) 'test/librbd/fsx.c'; else $(CYGPATH_W) '$(srcdir)/test/librbd/fsx.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Tpo test/librbd/$(DEPDIR)/ceph_test_librbd_fsx-fsx.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test/librbd/fsx.c' object='test/librbd/ceph_test_librbd_fsx-fsx.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_fsx_CFLAGS) $(CFLAGS) -c -o test/librbd/ceph_test_librbd_fsx-fsx.obj `if test -f 'test/librbd/fsx.c'; then $(CYGPATH_W) 'test/librbd/fsx.c'; else $(CYGPATH_W) '$(srcdir)/test/librbd/fsx.c'; fi`
 
-ceph_test_librados_build-Thread.o: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Thread.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Thread.Tpo -c -o ceph_test_librados_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Thread.Tpo $(DEPDIR)/ceph_test_librados_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_librados_build-Thread.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
+test_build_libcommon-ceph_ver.o: ceph_ver.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT test_build_libcommon-ceph_ver.o -MD -MP -MF $(DEPDIR)/test_build_libcommon-ceph_ver.Tpo -c -o test_build_libcommon-ceph_ver.o `test -f 'ceph_ver.c' || echo '$(srcdir)/'`ceph_ver.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_build_libcommon-ceph_ver.Tpo $(DEPDIR)/test_build_libcommon-ceph_ver.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ceph_ver.c' object='test_build_libcommon-ceph_ver.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o test_build_libcommon-ceph_ver.o `test -f 'ceph_ver.c' || echo '$(srcdir)/'`ceph_ver.c
 
-ceph_test_librados_build-Thread.obj: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Thread.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Thread.Tpo -c -o ceph_test_librados_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Thread.Tpo $(DEPDIR)/ceph_test_librados_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_librados_build-Thread.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
+test_build_libcommon-ceph_ver.obj: ceph_ver.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT test_build_libcommon-ceph_ver.obj -MD -MP -MF $(DEPDIR)/test_build_libcommon-ceph_ver.Tpo -c -o test_build_libcommon-ceph_ver.obj `if test -f 'ceph_ver.c'; then $(CYGPATH_W) 'ceph_ver.c'; else $(CYGPATH_W) '$(srcdir)/ceph_ver.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_build_libcommon-ceph_ver.Tpo $(DEPDIR)/test_build_libcommon-ceph_ver.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ceph_ver.c' object='test_build_libcommon-ceph_ver.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o test_build_libcommon-ceph_ver.obj `if test -f 'ceph_ver.c'; then $(CYGPATH_W) 'ceph_ver.c'; else $(CYGPATH_W) '$(srcdir)/ceph_ver.c'; fi`
 
-ceph_test_librados_build-Formatter.o: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Formatter.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Formatter.Tpo -c -o ceph_test_librados_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Formatter.Tpo $(DEPDIR)/ceph_test_librados_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_librados_build-Formatter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
+common/test_build_libcommon-escape.o: common/escape.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-escape.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-escape.Tpo -c -o common/test_build_libcommon-escape.o `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-escape.Tpo common/$(DEPDIR)/test_build_libcommon-escape.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/escape.c' object='common/test_build_libcommon-escape.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-escape.o `test -f 'common/escape.c' || echo '$(srcdir)/'`common/escape.c
 
-ceph_test_librados_build-Formatter.obj: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Formatter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Formatter.Tpo -c -o ceph_test_librados_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Formatter.Tpo $(DEPDIR)/ceph_test_librados_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_librados_build-Formatter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
+common/test_build_libcommon-escape.obj: common/escape.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-escape.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-escape.Tpo -c -o common/test_build_libcommon-escape.obj `if test -f 'common/escape.c'; then $(CYGPATH_W) 'common/escape.c'; else $(CYGPATH_W) '$(srcdir)/common/escape.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-escape.Tpo common/$(DEPDIR)/test_build_libcommon-escape.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/escape.c' object='common/test_build_libcommon-escape.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-escape.obj `if test -f 'common/escape.c'; then $(CYGPATH_W) 'common/escape.c'; else $(CYGPATH_W) '$(srcdir)/common/escape.c'; fi`
 
-ceph_test_librados_build-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-HeartbeatMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Tpo -c -o ceph_test_librados_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_librados_build-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
+common/test_build_libcommon-armor.o: common/armor.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-armor.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-armor.Tpo -c -o common/test_build_libcommon-armor.o `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-armor.Tpo common/$(DEPDIR)/test_build_libcommon-armor.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/armor.c' object='common/test_build_libcommon-armor.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-armor.o `test -f 'common/armor.c' || echo '$(srcdir)/'`common/armor.c
 
-ceph_test_librados_build-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Tpo -c -o ceph_test_librados_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_librados_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_librados_build-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
+common/test_build_libcommon-armor.obj: common/armor.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-armor.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-armor.Tpo -c -o common/test_build_libcommon-armor.obj `if test -f 'common/armor.c'; then $(CYGPATH_W) 'common/armor.c'; else $(CYGPATH_W) '$(srcdir)/common/armor.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-armor.Tpo common/$(DEPDIR)/test_build_libcommon-armor.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/armor.c' object='common/test_build_libcommon-armor.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-armor.obj `if test -f 'common/armor.c'; then $(CYGPATH_W) 'common/armor.c'; else $(CYGPATH_W) '$(srcdir)/common/armor.c'; fi`
 
-ceph_test_librados_build-ceph_fs.o: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_fs.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_fs.Tpo -c -o ceph_test_librados_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_librados_build-ceph_fs.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
+common/test_build_libcommon-xattr.o: common/xattr.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-xattr.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-xattr.Tpo -c -o common/test_build_libcommon-xattr.o `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-xattr.Tpo common/$(DEPDIR)/test_build_libcommon-xattr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/xattr.c' object='common/test_build_libcommon-xattr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-xattr.o `test -f 'common/xattr.c' || echo '$(srcdir)/'`common/xattr.c
 
-ceph_test_librados_build-ceph_fs.obj: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_fs.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_fs.Tpo -c -o ceph_test_librados_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_librados_build-ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
+common/test_build_libcommon-xattr.obj: common/xattr.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-xattr.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-xattr.Tpo -c -o common/test_build_libcommon-xattr.obj `if test -f 'common/xattr.c'; then $(CYGPATH_W) 'common/xattr.c'; else $(CYGPATH_W) '$(srcdir)/common/xattr.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-xattr.Tpo common/$(DEPDIR)/test_build_libcommon-xattr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/xattr.c' object='common/test_build_libcommon-xattr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-xattr.obj `if test -f 'common/xattr.c'; then $(CYGPATH_W) 'common/xattr.c'; else $(CYGPATH_W) '$(srcdir)/common/xattr.c'; fi`
 
-ceph_test_librados_build-ceph_hash.o: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_hash.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_hash.Tpo -c -o ceph_test_librados_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_librados_build-ceph_hash.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
+common/test_build_libcommon-safe_io.o: common/safe_io.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-safe_io.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-safe_io.Tpo -c -o common/test_build_libcommon-safe_io.o `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-safe_io.Tpo common/$(DEPDIR)/test_build_libcommon-safe_io.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/safe_io.c' object='common/test_build_libcommon-safe_io.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-safe_io.o `test -f 'common/safe_io.c' || echo '$(srcdir)/'`common/safe_io.c
 
-ceph_test_librados_build-ceph_hash.obj: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_hash.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_hash.Tpo -c -o ceph_test_librados_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_librados_build-ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
+common/test_build_libcommon-safe_io.obj: common/safe_io.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-safe_io.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-safe_io.Tpo -c -o common/test_build_libcommon-safe_io.obj `if test -f 'common/safe_io.c'; then $(CYGPATH_W) 'common/safe_io.c'; else $(CYGPATH_W) '$(srcdir)/common/safe_io.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-safe_io.Tpo common/$(DEPDIR)/test_build_libcommon-safe_io.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/safe_io.c' object='common/test_build_libcommon-safe_io.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-safe_io.obj `if test -f 'common/safe_io.c'; then $(CYGPATH_W) 'common/safe_io.c'; else $(CYGPATH_W) '$(srcdir)/common/safe_io.c'; fi`
 
-ceph_test_librados_build-ceph_strings.o: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_strings.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_strings.Tpo -c -o ceph_test_librados_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_librados_build-ceph_strings.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
+common/test_build_libcommon-pipe.o: common/pipe.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-pipe.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-pipe.Tpo -c -o common/test_build_libcommon-pipe.o `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-pipe.Tpo common/$(DEPDIR)/test_build_libcommon-pipe.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/pipe.c' object='common/test_build_libcommon-pipe.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-pipe.o `test -f 'common/pipe.c' || echo '$(srcdir)/'`common/pipe.c
 
-ceph_test_librados_build-ceph_strings.obj: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_strings.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_strings.Tpo -c -o ceph_test_librados_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_librados_build-ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
+common/test_build_libcommon-pipe.obj: common/pipe.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-pipe.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-pipe.Tpo -c -o common/test_build_libcommon-pipe.obj `if test -f 'common/pipe.c'; then $(CYGPATH_W) 'common/pipe.c'; else $(CYGPATH_W) '$(srcdir)/common/pipe.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-pipe.Tpo common/$(DEPDIR)/test_build_libcommon-pipe.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/pipe.c' object='common/test_build_libcommon-pipe.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-pipe.obj `if test -f 'common/pipe.c'; then $(CYGPATH_W) 'common/pipe.c'; else $(CYGPATH_W) '$(srcdir)/common/pipe.c'; fi`
 
-ceph_test_librados_build-ceph_frag.o: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_frag.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_frag.Tpo -c -o ceph_test_librados_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_librados_build-ceph_frag.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
+common/test_build_libcommon-utf8.o: common/utf8.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-utf8.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-utf8.Tpo -c -o common/test_build_libcommon-utf8.o `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-utf8.Tpo common/$(DEPDIR)/test_build_libcommon-utf8.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/utf8.c' object='common/test_build_libcommon-utf8.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-utf8.o `test -f 'common/utf8.c' || echo '$(srcdir)/'`common/utf8.c
 
-ceph_test_librados_build-ceph_frag.obj: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_frag.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_frag.Tpo -c -o ceph_test_librados_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_librados_build-ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
+common/test_build_libcommon-utf8.obj: common/utf8.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-utf8.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-utf8.Tpo -c -o common/test_build_libcommon-utf8.obj `if test -f 'common/utf8.c'; then $(CYGPATH_W) 'common/utf8.c'; else $(CYGPATH_W) '$(srcdir)/common/utf8.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-utf8.Tpo common/$(DEPDIR)/test_build_libcommon-utf8.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/utf8.c' object='common/test_build_libcommon-utf8.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-utf8.obj `if test -f 'common/utf8.c'; then $(CYGPATH_W) 'common/utf8.c'; else $(CYGPATH_W) '$(srcdir)/common/utf8.c'; fi`
 
-ceph_test_librados_build-config.o: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-config.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-config.Tpo -c -o ceph_test_librados_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-config.Tpo $(DEPDIR)/ceph_test_librados_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_librados_build-config.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
+common/test_build_libcommon-mime.o: common/mime.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-mime.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-mime.Tpo -c -o common/test_build_libcommon-mime.o `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-mime.Tpo common/$(DEPDIR)/test_build_libcommon-mime.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/mime.c' object='common/test_build_libcommon-mime.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-mime.o `test -f 'common/mime.c' || echo '$(srcdir)/'`common/mime.c
 
-ceph_test_librados_build-config.obj: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-config.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-config.Tpo -c -o ceph_test_librados_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-config.Tpo $(DEPDIR)/ceph_test_librados_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_librados_build-config.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
+common/test_build_libcommon-mime.obj: common/mime.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-mime.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-mime.Tpo -c -o common/test_build_libcommon-mime.obj `if test -f 'common/mime.c'; then $(CYGPATH_W) 'common/mime.c'; else $(CYGPATH_W) '$(srcdir)/common/mime.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-mime.Tpo common/$(DEPDIR)/test_build_libcommon-mime.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/mime.c' object='common/test_build_libcommon-mime.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-mime.obj `if test -f 'common/mime.c'; then $(CYGPATH_W) 'common/mime.c'; else $(CYGPATH_W) '$(srcdir)/common/mime.c'; fi`
 
-ceph_test_librados_build-strtol.o: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-strtol.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-strtol.Tpo -c -o ceph_test_librados_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-strtol.Tpo $(DEPDIR)/ceph_test_librados_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_librados_build-strtol.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
+common/test_build_libcommon-addr_parsing.o: common/addr_parsing.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-addr_parsing.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-addr_parsing.Tpo -c -o common/test_build_libcommon-addr_parsing.o `test -f 'common/addr_parsing.c' || echo '$(srcdir)/'`common/addr_parsing.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-addr_parsing.Tpo common/$(DEPDIR)/test_build_libcommon-addr_parsing.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/addr_parsing.c' object='common/test_build_libcommon-addr_parsing.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-addr_parsing.o `test -f 'common/addr_parsing.c' || echo '$(srcdir)/'`common/addr_parsing.c
 
-ceph_test_librados_build-strtol.obj: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-strtol.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-strtol.Tpo -c -o ceph_test_librados_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-strtol.Tpo $(DEPDIR)/ceph_test_librados_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_librados_build-strtol.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
+common/test_build_libcommon-addr_parsing.obj: common/addr_parsing.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-addr_parsing.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-addr_parsing.Tpo -c -o common/test_build_libcommon-addr_parsing.obj `if test -f 'common/addr_parsing.c'; then $(CYGPATH_W) 'common/addr_parsing.c'; else $(CYGPATH_W) '$(srcdir)/common/addr_parsing.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-addr_parsing.Tpo common/$(DEPDIR)/test_build_libcommon-addr_parsing.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/addr_parsing.c' object='common/test_build_libcommon-addr_parsing.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-addr_parsing.obj `if test -f 'common/addr_parsing.c'; then $(CYGPATH_W) 'common/addr_parsing.c'; else $(CYGPATH_W) '$(srcdir)/common/addr_parsing.c'; fi`
 
-ceph_test_librados_build-page.o: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-page.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-page.Tpo -c -o ceph_test_librados_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-page.Tpo $(DEPDIR)/ceph_test_librados_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_librados_build-page.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
+common/test_build_libcommon-secret.o: common/secret.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-secret.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-secret.Tpo -c -o common/test_build_libcommon-secret.o `test -f 'common/secret.c' || echo '$(srcdir)/'`common/secret.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-secret.Tpo common/$(DEPDIR)/test_build_libcommon-secret.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/secret.c' object='common/test_build_libcommon-secret.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-secret.o `test -f 'common/secret.c' || echo '$(srcdir)/'`common/secret.c
 
-ceph_test_librados_build-page.obj: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-page.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-page.Tpo -c -o ceph_test_librados_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-page.Tpo $(DEPDIR)/ceph_test_librados_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_librados_build-page.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
+common/test_build_libcommon-secret.obj: common/secret.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -MT common/test_build_libcommon-secret.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-secret.Tpo -c -o common/test_build_libcommon-secret.obj `if test -f 'common/secret.c'; then $(CYGPATH_W) 'common/secret.c'; else $(CYGPATH_W) '$(srcdir)/common/secret.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-secret.Tpo common/$(DEPDIR)/test_build_libcommon-secret.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common/secret.c' object='common/test_build_libcommon-secret.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CFLAGS) $(CFLAGS) -c -o common/test_build_libcommon-secret.obj `if test -f 'common/secret.c'; then $(CYGPATH_W) 'common/secret.c'; else $(CYGPATH_W) '$(srcdir)/common/secret.c'; fi`
 
-ceph_test_librados_build-lockdep.o: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-lockdep.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-lockdep.Tpo -c -o ceph_test_librados_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-lockdep.Tpo $(DEPDIR)/ceph_test_librados_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_librados_build-lockdep.o' libtool=no @AMDEPBACKSLASH@
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
-ceph_test_librados_build-lockdep.obj: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-lockdep.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-lockdep.Tpo -c -o ceph_test_librados_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-lockdep.Tpo $(DEPDIR)/ceph_test_librados_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_librados_build-lockdep.obj' libtool=no @AMDEPBACKSLASH@
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
-ceph_test_librados_build-version.o: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-version.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-version.Tpo -c -o ceph_test_librados_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-version.Tpo $(DEPDIR)/ceph_test_librados_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_librados_build-version.o' libtool=no @AMDEPBACKSLASH@
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
-ceph_test_librados_build-version.obj: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-version.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-version.Tpo -c -o ceph_test_librados_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-version.Tpo $(DEPDIR)/ceph_test_librados_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_librados_build-version.obj' libtool=no @AMDEPBACKSLASH@
+os/libos_zfs_a-ZFS.o: os/ZFS.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_zfs_a_CXXFLAGS) $(CXXFLAGS) -MT os/libos_zfs_a-ZFS.o -MD -MP -MF os/$(DEPDIR)/libos_zfs_a-ZFS.Tpo -c -o os/libos_zfs_a-ZFS.o `test -f 'os/ZFS.cc' || echo '$(srcdir)/'`os/ZFS.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) os/$(DEPDIR)/libos_zfs_a-ZFS.Tpo os/$(DEPDIR)/libos_zfs_a-ZFS.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/ZFS.cc' object='os/libos_zfs_a-ZFS.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_zfs_a_CXXFLAGS) $(CXXFLAGS) -c -o os/libos_zfs_a-ZFS.o `test -f 'os/ZFS.cc' || echo '$(srcdir)/'`os/ZFS.cc
 
-ceph_test_librados_build-hex.o: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-hex.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-hex.Tpo -c -o ceph_test_librados_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-hex.Tpo $(DEPDIR)/ceph_test_librados_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_librados_build-hex.o' libtool=no @AMDEPBACKSLASH@
+os/libos_zfs_a-ZFS.obj: os/ZFS.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_zfs_a_CXXFLAGS) $(CXXFLAGS) -MT os/libos_zfs_a-ZFS.obj -MD -MP -MF os/$(DEPDIR)/libos_zfs_a-ZFS.Tpo -c -o os/libos_zfs_a-ZFS.obj `if test -f 'os/ZFS.cc'; then $(CYGPATH_W) 'os/ZFS.cc'; else $(CYGPATH_W) '$(srcdir)/os/ZFS.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) os/$(DEPDIR)/libos_zfs_a-ZFS.Tpo os/$(DEPDIR)/libos_zfs_a-ZFS.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/ZFS.cc' object='os/libos_zfs_a-ZFS.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libos_zfs_a_CXXFLAGS) $(CXXFLAGS) -c -o os/libos_zfs_a-ZFS.obj `if test -f 'os/ZFS.cc'; then $(CYGPATH_W) 'os/ZFS.cc'; else $(CYGPATH_W) '$(srcdir)/os/ZFS.cc'; fi`
 
-ceph_test_librados_build-hex.obj: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-hex.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-hex.Tpo -c -o ceph_test_librados_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-hex.Tpo $(DEPDIR)/ceph_test_librados_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_librados_build-hex.obj' libtool=no @AMDEPBACKSLASH@
+java/native/libcephfs_jni_la-libcephfs_jni.lo: java/native/libcephfs_jni.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT java/native/libcephfs_jni_la-libcephfs_jni.lo -MD -MP -MF java/native/$(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Tpo -c -o java/native/libcephfs_jni_la-libcephfs_jni.lo `test -f 'java/native/libcephfs_jni.cc' || echo '$(srcdir)/'`java/native/libcephfs_jni.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) java/native/$(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Tpo java/native/$(DEPDIR)/libcephfs_jni_la-libcephfs_jni.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='java/native/libcephfs_jni.cc' object='java/native/libcephfs_jni_la-libcephfs_jni.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o java/native/libcephfs_jni_la-libcephfs_jni.lo `test -f 'java/native/libcephfs_jni.cc' || echo '$(srcdir)/'`java/native/libcephfs_jni.cc
 
-ceph_test_librados_build-entity_name.o: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-entity_name.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-entity_name.Tpo -c -o ceph_test_librados_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-entity_name.Tpo $(DEPDIR)/ceph_test_librados_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_librados_build-entity_name.o' libtool=no @AMDEPBACKSLASH@
+java/native/libcephfs_jni_la-JniConstants.lo: java/native/JniConstants.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT java/native/libcephfs_jni_la-JniConstants.lo -MD -MP -MF java/native/$(DEPDIR)/libcephfs_jni_la-JniConstants.Tpo -c -o java/native/libcephfs_jni_la-JniConstants.lo `test -f 'java/native/JniConstants.cpp' || echo '$(srcdir)/'`java/native/JniConstants.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) java/native/$(DEPDIR)/libcephfs_jni_la-JniConstants.Tpo java/native/$(DEPDIR)/libcephfs_jni_la-JniConstants.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='java/native/JniConstants.cpp' object='java/native/libcephfs_jni_la-JniConstants.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcephfs_jni_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o java/native/libcephfs_jni_la-JniConstants.lo `test -f 'java/native/JniConstants.cpp' || echo '$(srcdir)/'`java/native/JniConstants.cpp
 
-ceph_test_librados_build-entity_name.obj: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-entity_name.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-entity_name.Tpo -c -o ceph_test_librados_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-entity_name.Tpo $(DEPDIR)/ceph_test_librados_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_librados_build-entity_name.obj' libtool=no @AMDEPBACKSLASH@
+common/libcommon_crc_la-crc32c.lo: common/crc32c.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT common/libcommon_crc_la-crc32c.lo -MD -MP -MF common/$(DEPDIR)/libcommon_crc_la-crc32c.Tpo -c -o common/libcommon_crc_la-crc32c.lo `test -f 'common/crc32c.cc' || echo '$(srcdir)/'`common/crc32c.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/libcommon_crc_la-crc32c.Tpo common/$(DEPDIR)/libcommon_crc_la-crc32c.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/crc32c.cc' object='common/libcommon_crc_la-crc32c.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libcommon_crc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o common/libcommon_crc_la-crc32c.lo `test -f 'common/crc32c.cc' || echo '$(srcdir)/'`common/crc32c.cc
 
-ceph_test_librados_build-ceph_crypto.o: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Tpo -c -o ceph_test_librados_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_librados_build-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
+test/osd/libec_example_la-ErasureCodePluginExample.lo: test/osd/ErasureCodePluginExample.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_example_la_CXXFLAGS) $(CXXFLAGS) -MT test/osd/libec_example_la-ErasureCodePluginExample.lo -MD -MP -MF test/osd/$(DEPDIR)/libec_example_la-ErasureCodePluginExample.Tpo -c -o test/osd/libec_example_la-ErasureCodePluginExample.lo `test -f 'test/osd/ErasureCodePluginExample.cc' || echo '$(srcdir)/ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/libec_example_la-ErasureCodePluginExample.Tpo test/osd/$(DEPDIR)/libec_example_la-ErasureCodePluginExample.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/ErasureCodePluginExample.cc' object='test/osd/libec_example_la-ErasureCodePluginExample.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_example_la_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/libec_example_la-ErasureCodePluginExample.lo `test -f 'test/osd/ErasureCodePluginExample.cc' || echo '$(srcdir)/'`test/osd/ErasureCodePluginExample.cc
 
-ceph_test_librados_build-ceph_crypto.obj: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Tpo -c -o ceph_test_librados_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_librados_build-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo: test/osd/ErasureCodePluginFailToInitialize.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_fail_to_initialize_la_CXXFLAGS) $(CXXFLAGS) -MT test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo -MD -MP -MF test/osd/$(DEPDIR)/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.Tpo -c -o test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.Tpo test/osd/$(DEPDIR)/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/ErasureCodePluginFailToInitialize.cc' object='test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_fail_to_initialize_la_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/libec_fail_to_initialize_la-ErasureCodePluginFailToInitialize.lo `test -f 'test/osd/ErasureCodePluginFailToInitialize.cc' || echo '$(srcdir)/'`test/osd/ErasureCodePluginFailToInitialize.cc
 
-ceph_test_librados_build-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_crypto_cms.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Tpo -c -o ceph_test_librados_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_librados_build-ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
+test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo: test/osd/ErasureCodePluginFailToRegister.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_fail_to_register_la_CXXFLAGS) $(CXXFLAGS) -MT test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo -MD -MP -MF test/osd/$(DEPDIR)/libec_fail_to_register_la-ErasureCodePluginFailToRegister.Tpo -c -o test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo `test -f ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/libec_fail_to_register_la-ErasureCodePluginFailToRegister.Tpo test/osd/$(DEPDIR)/libec_fail_to_register_la-ErasureCodePluginFailToRegister.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/ErasureCodePluginFailToRegister.cc' object='test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_fail_to_register_la_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/libec_fail_to_register_la-ErasureCodePluginFailToRegister.lo `test -f 'test/osd/ErasureCodePluginFailToRegister.cc' || echo '$(srcdir)/'`test/osd/ErasureCodePluginFailToRegister.cc
 
-ceph_test_librados_build-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_crypto_cms.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Tpo -c -o ceph_test_librados_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_librados_build-ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/libec_hangs_la-ErasureCodePluginHangs.lo: test/osd/ErasureCodePluginHangs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_hangs_la_CXXFLAGS) $(CXXFLAGS) -MT test/osd/libec_hangs_la-ErasureCodePluginHangs.lo -MD -MP -MF test/osd/$(DEPDIR)/libec_hangs_la-ErasureCodePluginHangs.Tpo -c -o test/osd/libec_hangs_la-ErasureCodePluginHangs.lo `test -f 'test/osd/ErasureCodePluginHangs.cc' || echo '$(srcdir)/'`test/osd/Erasu [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/libec_hangs_la-ErasureCodePluginHangs.Tpo test/osd/$(DEPDIR)/libec_hangs_la-ErasureCodePluginHangs.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/ErasureCodePluginHangs.cc' object='test/osd/libec_hangs_la-ErasureCodePluginHangs.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_hangs_la_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/libec_hangs_la-ErasureCodePluginHangs.lo `test -f 'test/osd/ErasureCodePluginHangs.cc' || echo '$(srcdir)/'`test/osd/ErasureCodePluginHangs.cc
 
-ceph_test_librados_build-ceph_json.o: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_json.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_json.Tpo -c -o ceph_test_librados_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_json.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_librados_build-ceph_json.o' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo: osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodePluginJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodePluginJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodePluginJerasure.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodePluginJerasure.lo `test -f 'osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
 
-ceph_test_librados_build-ceph_json.obj: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ceph_json.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ceph_json.Tpo -c -o ceph_test_librados_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ceph_json.Tpo $(DEPDIR)/ceph_test_librados_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_librados_build-ceph_json.obj' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo: osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodeJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo `test -f 'osd/E [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodeJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/libec_jerasure_la-ErasureCodeJerasure.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc' object='osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_jerasure_la_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/libec_jerasure_la-ErasureCodeJerasure.lo `test -f 'osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
 
-ceph_test_librados_build-ipaddr.o: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ipaddr.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ipaddr.Tpo -c -o ceph_test_librados_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ipaddr.Tpo $(DEPDIR)/ceph_test_librados_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_librados_build-ipaddr.o' libtool=no @AMDEPBACKSLASH@
+test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo: test/osd/ErasureCodePluginMissingEntryPoint.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_missing_entry_point_la_CXXFLAGS) $(CXXFLAGS) -MT test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo -MD -MP -MF test/osd/$(DEPDIR)/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.Tpo -c -o test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEnt [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.Tpo test/osd/$(DEPDIR)/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/ErasureCodePluginMissingEntryPoint.cc' object='test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libec_missing_entry_point_la_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/libec_missing_entry_point_la-ErasureCodePluginMissingEntryPoint.lo `test -f 'test/osd/ErasureCodePluginMissingEntryPoint.cc' || echo '$(srcdir)/'`test/osd/ErasureCodePluginMissingEntryPoint.cc
 
-ceph_test_librados_build-ipaddr.obj: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-ipaddr.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-ipaddr.Tpo -c -o ceph_test_librados_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-ipaddr.Tpo $(DEPDIR)/ceph_test_librados_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_librados_build-ipaddr.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-librgw.lo: rgw/librgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-librgw.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-librgw.Tpo -c -o rgw/librgw_la-librgw.lo `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-librgw.Tpo rgw/$(DEPDIR)/librgw_la-librgw.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/librgw.cc' object='rgw/librgw_la-librgw.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-librgw.lo `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
 
-ceph_test_librados_build-pick_address.o: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-pick_address.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-pick_address.Tpo -c -o ceph_test_librados_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-pick_address.Tpo $(DEPDIR)/ceph_test_librados_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_librados_build-pick_address.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_acl.lo: rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_acl.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_acl.Tpo -c -o rgw/librgw_la-rgw_acl.lo `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_acl.Tpo rgw/$(DEPDIR)/librgw_la-rgw_acl.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='rgw/librgw_la-rgw_acl.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_acl.lo `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
 
-ceph_test_librados_build-pick_address.obj: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-pick_address.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-pick_address.Tpo -c -o ceph_test_librados_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-pick_address.Tpo $(DEPDIR)/ceph_test_librados_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_librados_build-pick_address.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_acl_s3.lo: rgw/rgw_acl_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_acl_s3.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_acl_s3.Tpo -c -o rgw/librgw_la-rgw_acl_s3.lo `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_acl_s3.Tpo rgw/$(DEPDIR)/librgw_la-rgw_acl_s3.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_s3.cc' object='rgw/librgw_la-rgw_acl_s3.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_acl_s3.lo `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
 
-ceph_test_librados_build-CrushWrapper.o: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushWrapper.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Tpo -c -o ceph_test_librados_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_librados_build-CrushWrapper.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_acl_swift.lo: rgw/rgw_acl_swift.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_acl_swift.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_acl_swift.Tpo -c -o rgw/librgw_la-rgw_acl_swift.lo `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_acl_swift.Tpo rgw/$(DEPDIR)/librgw_la-rgw_acl_swift.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_swift.cc' object='rgw/librgw_la-rgw_acl_swift.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_acl_swift.lo `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
 
-ceph_test_librados_build-CrushWrapper.obj: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushWrapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Tpo -c -o ceph_test_librados_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_librados_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_librados_build-CrushWrapper.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_client_io.lo: rgw/rgw_client_io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_client_io.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_client_io.Tpo -c -o rgw/librgw_la-rgw_client_io.lo `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_client_io.Tpo rgw/$(DEPDIR)/librgw_la-rgw_client_io.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_client_io.cc' object='rgw/librgw_la-rgw_client_io.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_client_io.lo `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
 
-ceph_test_librados_build-CrushCompiler.o: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushCompiler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Tpo -c -o ceph_test_librados_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_librados_build-CrushCompiler.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_fcgi.lo: rgw/rgw_fcgi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_fcgi.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_fcgi.Tpo -c -o rgw/librgw_la-rgw_fcgi.lo `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_fcgi.Tpo rgw/$(DEPDIR)/librgw_la-rgw_fcgi.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_fcgi.cc' object='rgw/librgw_la-rgw_fcgi.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_fcgi.lo `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
 
-ceph_test_librados_build-CrushCompiler.obj: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushCompiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Tpo -c -o ceph_test_librados_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_librados_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_librados_build-CrushCompiler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_xml.lo: rgw/rgw_xml.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_xml.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_xml.Tpo -c -o rgw/librgw_la-rgw_xml.lo `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_xml.Tpo rgw/$(DEPDIR)/librgw_la-rgw_xml.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_xml.cc' object='rgw/librgw_la-rgw_xml.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_xml.lo `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
 
-ceph_test_librados_build-CrushTester.o: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushTester.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushTester.Tpo -c -o ceph_test_librados_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushTester.Tpo $(DEPDIR)/ceph_test_librados_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_librados_build-CrushTester.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_usage.lo: rgw/rgw_usage.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_usage.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_usage.Tpo -c -o rgw/librgw_la-rgw_usage.lo `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_usage.Tpo rgw/$(DEPDIR)/librgw_la-rgw_usage.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_usage.cc' object='rgw/librgw_la-rgw_usage.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_usage.lo `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
 
-ceph_test_librados_build-CrushTester.obj: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-CrushTester.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-CrushTester.Tpo -c -o ceph_test_librados_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-CrushTester.Tpo $(DEPDIR)/ceph_test_librados_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_librados_build-CrushTester.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_json_enc.lo: rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_json_enc.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_json_enc.Tpo -c -o rgw/librgw_la-rgw_json_enc.lo `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_json_enc.Tpo rgw/$(DEPDIR)/librgw_la-rgw_json_enc.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='rgw/librgw_la-rgw_json_enc.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_json_enc.lo `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
 
-ceph_test_librados_build-cpu_profiler.o: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cpu_profiler.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Tpo -c -o ceph_test_librados_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_librados_build-cpu_profiler.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_user.lo: rgw/rgw_user.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_user.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_user.Tpo -c -o rgw/librgw_la-rgw_user.lo `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_user.Tpo rgw/$(DEPDIR)/librgw_la-rgw_user.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_user.cc' object='rgw/librgw_la-rgw_user.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_user.lo `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
 
-ceph_test_librados_build-cpu_profiler.obj: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cpu_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Tpo -c -o ceph_test_librados_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_librados_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_librados_build-cpu_profiler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_bucket.lo: rgw/rgw_bucket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_bucket.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_bucket.Tpo -c -o rgw/librgw_la-rgw_bucket.lo `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_bucket.Tpo rgw/$(DEPDIR)/librgw_la-rgw_bucket.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_bucket.cc' object='rgw/librgw_la-rgw_bucket.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_bucket.lo `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
 
-ceph_test_librados_build-disabled_stubs.o: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-disabled_stubs.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Tpo -c -o ceph_test_librados_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_librados_build-disabled_stubs.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_tools.lo: rgw/rgw_tools.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_tools.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_tools.Tpo -c -o rgw/librgw_la-rgw_tools.lo `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_tools.Tpo rgw/$(DEPDIR)/librgw_la-rgw_tools.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_tools.cc' object='rgw/librgw_la-rgw_tools.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_tools.lo `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
 
-ceph_test_librados_build-disabled_stubs.obj: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-disabled_stubs.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Tpo -c -o ceph_test_librados_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_librados_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_librados_build-disabled_stubs.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_rados.lo: rgw/rgw_rados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_rados.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_rados.Tpo -c -o rgw/librgw_la-rgw_rados.lo `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_rados.Tpo rgw/$(DEPDIR)/librgw_la-rgw_rados.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rados.cc' object='rgw/librgw_la-rgw_rados.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_rados.lo `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
 
-ceph_test_librados_build-librados.o: librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-librados.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-librados.Tpo -c -o ceph_test_librados_build-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-librados.Tpo $(DEPDIR)/ceph_test_librados_build-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='ceph_test_librados_build-librados.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_http_client.lo: rgw/rgw_http_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_http_client.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_http_client.Tpo -c -o rgw/librgw_la-rgw_http_client.lo `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_http_client.Tpo rgw/$(DEPDIR)/librgw_la-rgw_http_client.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='rgw/librgw_la-rgw_http_client.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_http_client.lo `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
 
-ceph_test_librados_build-librados.obj: librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-librados.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-librados.Tpo -c -o ceph_test_librados_build-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-librados.Tpo $(DEPDIR)/ceph_test_librados_build-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='ceph_test_librados_build-librados.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_rest_client.lo: rgw/rgw_rest_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_rest_client.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_rest_client.Tpo -c -o rgw/librgw_la-rgw_rest_client.lo `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_rest_client.Tpo rgw/$(DEPDIR)/librgw_la-rgw_rest_client.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_client.cc' object='rgw/librgw_la-rgw_rest_client.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_rest_client.lo `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
 
-ceph_test_librados_build-RadosClient.o: librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RadosClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RadosClient.Tpo -c -o ceph_test_librados_build-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RadosClient.Tpo $(DEPDIR)/ceph_test_librados_build-RadosClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='ceph_test_librados_build-RadosClient.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_rest_conn.lo: rgw/rgw_rest_conn.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_rest_conn.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_rest_conn.Tpo -c -o rgw/librgw_la-rgw_rest_conn.lo `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_rest_conn.Tpo rgw/$(DEPDIR)/librgw_la-rgw_rest_conn.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_conn.cc' object='rgw/librgw_la-rgw_rest_conn.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_rest_conn.lo `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
 
-ceph_test_librados_build-RadosClient.obj: librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-RadosClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-RadosClient.Tpo -c -o ceph_test_librados_build-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-RadosClient.Tpo $(DEPDIR)/ceph_test_librados_build-RadosClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='ceph_test_librados_build-RadosClient.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_op.lo: rgw/rgw_op.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_op.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_op.Tpo -c -o rgw/librgw_la-rgw_op.lo `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_op.Tpo rgw/$(DEPDIR)/librgw_la-rgw_op.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_op.cc' object='rgw/librgw_la-rgw_op.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_op.lo `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
 
-ceph_test_librados_build-IoCtxImpl.o: librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-IoCtxImpl.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Tpo -c -o ceph_test_librados_build-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Tpo $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='ceph_test_librados_build-IoCtxImpl.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_common.lo: rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_common.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_common.Tpo -c -o rgw/librgw_la-rgw_common.lo `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_common.Tpo rgw/$(DEPDIR)/librgw_la-rgw_common.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='rgw/librgw_la-rgw_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_common.lo `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
 
-ceph_test_librados_build-IoCtxImpl.obj: librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-IoCtxImpl.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Tpo -c -o ceph_test_librados_build-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Tpo $(DEPDIR)/ceph_test_librados_build-IoCtxImpl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='ceph_test_librados_build-IoCtxImpl.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_cache.lo: rgw/rgw_cache.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_cache.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_cache.Tpo -c -o rgw/librgw_la-rgw_cache.lo `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_cache.Tpo rgw/$(DEPDIR)/librgw_la-rgw_cache.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cache.cc' object='rgw/librgw_la-rgw_cache.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_cache.lo `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
 
-ceph_test_librados_build-Objecter.o: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Objecter.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Objecter.Tpo -c -o ceph_test_librados_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Objecter.Tpo $(DEPDIR)/ceph_test_librados_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_librados_build-Objecter.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_formats.lo: rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_formats.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_formats.Tpo -c -o rgw/librgw_la-rgw_formats.lo `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_formats.Tpo rgw/$(DEPDIR)/librgw_la-rgw_formats.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='rgw/librgw_la-rgw_formats.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_formats.lo `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
 
-ceph_test_librados_build-Objecter.obj: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Objecter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Objecter.Tpo -c -o ceph_test_librados_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Objecter.Tpo $(DEPDIR)/ceph_test_librados_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_librados_build-Objecter.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_log.lo: rgw/rgw_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_log.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_log.Tpo -c -o rgw/librgw_la-rgw_log.lo `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_log.Tpo rgw/$(DEPDIR)/librgw_la-rgw_log.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_log.cc' object='rgw/librgw_la-rgw_log.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_log.lo `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
 
-ceph_test_librados_build-Striper.o: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Striper.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Striper.Tpo -c -o ceph_test_librados_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Striper.Tpo $(DEPDIR)/ceph_test_librados_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_librados_build-Striper.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_multi.lo: rgw/rgw_multi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_multi.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_multi.Tpo -c -o rgw/librgw_la-rgw_multi.lo `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_multi.Tpo rgw/$(DEPDIR)/librgw_la-rgw_multi.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi.cc' object='rgw/librgw_la-rgw_multi.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_multi.lo `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
 
-ceph_test_librados_build-Striper.obj: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-Striper.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-Striper.Tpo -c -o ceph_test_librados_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-Striper.Tpo $(DEPDIR)/ceph_test_librados_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_librados_build-Striper.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_policy_s3.lo: rgw/rgw_policy_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_policy_s3.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_policy_s3.Tpo -c -o rgw/librgw_la-rgw_policy_s3.lo `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_policy_s3.Tpo rgw/$(DEPDIR)/librgw_la-rgw_policy_s3.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_policy_s3.cc' object='rgw/librgw_la-rgw_policy_s3.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_policy_s3.lo `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
 
-ceph_test_librados_build-cls_lock_client.o: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_client.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Tpo -c -o ceph_test_librados_build-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_librados_build-cls_lock_client.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_gc.lo: rgw/rgw_gc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_gc.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_gc.Tpo -c -o rgw/librgw_la-rgw_gc.lo `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_gc.Tpo rgw/$(DEPDIR)/librgw_la-rgw_gc.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_gc.cc' object='rgw/librgw_la-rgw_gc.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_gc.lo `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
 
-ceph_test_librados_build-cls_lock_client.obj: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Tpo -c -o ceph_test_librados_build-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_librados_build-cls_lock_client.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_multi_del.lo: rgw/rgw_multi_del.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_multi_del.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_multi_del.Tpo -c -o rgw/librgw_la-rgw_multi_del.lo `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_multi_del.Tpo rgw/$(DEPDIR)/librgw_la-rgw_multi_del.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi_del.cc' object='rgw/librgw_la-rgw_multi_del.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_multi_del.lo `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
 
-ceph_test_librados_build-cls_lock_types.o: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Tpo -c -o ceph_test_librados_build-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_librados_build-cls_lock_types.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_env.lo: rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_env.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_env.Tpo -c -o rgw/librgw_la-rgw_env.lo `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_env.Tpo rgw/$(DEPDIR)/librgw_la-rgw_env.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='rgw/librgw_la-rgw_env.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_env.lo `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
 
-ceph_test_librados_build-cls_lock_types.obj: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Tpo -c -o ceph_test_librados_build-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_librados_build-cls_lock_types.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_cors.lo: rgw/rgw_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_cors.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_cors.Tpo -c -o rgw/librgw_la-rgw_cors.lo `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_cors.Tpo rgw/$(DEPDIR)/librgw_la-rgw_cors.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors.cc' object='rgw/librgw_la-rgw_cors.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_cors.lo `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
 
-ceph_test_librados_build-cls_lock_ops.o: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_ops.o -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Tpo -c -o ceph_test_librados_build-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_librados_build-cls_lock_ops.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_cors_s3.lo: rgw/rgw_cors_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_cors_s3.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_cors_s3.Tpo -c -o rgw/librgw_la-rgw_cors_s3.lo `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_cors_s3.Tpo rgw/$(DEPDIR)/librgw_la-rgw_cors_s3.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors_s3.cc' object='rgw/librgw_la-rgw_cors_s3.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_cors_s3.lo `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
 
-ceph_test_librados_build-cls_lock_ops.obj: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librados_build-cls_lock_ops.obj -MD -MP -MF $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Tpo -c -o ceph_test_librados_build-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_librados_build-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_librados_build-cls_lock_ops.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_auth_s3.lo: rgw/rgw_auth_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_auth_s3.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_auth_s3.Tpo -c -o rgw/librgw_la-rgw_auth_s3.lo `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_auth_s3.Tpo rgw/$(DEPDIR)/librgw_la-rgw_auth_s3.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_auth_s3.cc' object='rgw/librgw_la-rgw_auth_s3.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librados_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librados_build-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_auth_s3.lo `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
 
-ceph_test_librbd-test_librbd.o: test/librbd/test_librbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librbd-test_librbd.o -MD -MP -MF $(DEPDIR)/ceph_test_librbd-test_librbd.Tpo -c -o ceph_test_librbd-test_librbd.o `test -f 'test/librbd/test_librbd.cc' || echo '$(srcdir)/'`test/librbd/test_librbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd-test_librbd.Tpo $(DEPDIR)/ceph_test_librbd-test_librbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librbd/test_librbd.cc' object='ceph_test_librbd-test_librbd.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_metadata.lo: rgw/rgw_metadata.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_metadata.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_metadata.Tpo -c -o rgw/librgw_la-rgw_metadata.lo `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_metadata.Tpo rgw/$(DEPDIR)/librgw_la-rgw_metadata.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_metadata.cc' object='rgw/librgw_la-rgw_metadata.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librbd-test_librbd.o `test -f 'test/librbd/test_librbd.cc' || echo '$(srcdir)/'`test/librbd/test_librbd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_metadata.lo `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
 
-ceph_test_librbd-test_librbd.obj: test/librbd/test_librbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librbd-test_librbd.obj -MD -MP -MF $(DEPDIR)/ceph_test_librbd-test_librbd.Tpo -c -o ceph_test_librbd-test_librbd.obj `if test -f 'test/librbd/test_librbd.cc'; then $(CYGPATH_W) 'test/librbd/test_librbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librbd/test_librbd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd-test_librbd.Tpo $(DEPDIR)/ceph_test_librbd-test_librbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librbd/test_librbd.cc' object='ceph_test_librbd-test_librbd.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_replica_log.lo: rgw/rgw_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_replica_log.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_replica_log.Tpo -c -o rgw/librgw_la-rgw_replica_log.lo `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_replica_log.Tpo rgw/$(DEPDIR)/librgw_la-rgw_replica_log.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='rgw/librgw_la-rgw_replica_log.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librbd-test_librbd.obj `if test -f 'test/librbd/test_librbd.cc'; then $(CYGPATH_W) 'test/librbd/test_librbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librbd/test_librbd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_replica_log.lo `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
 
-ceph_test_librbd-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librbd-test.o -MD -MP -MF $(DEPDIR)/ceph_test_librbd-test.Tpo -c -o ceph_test_librbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd-test.Tpo $(DEPDIR)/ceph_test_librbd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_librbd-test.o' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_keystone.lo: rgw/rgw_keystone.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_keystone.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_keystone.Tpo -c -o rgw/librgw_la-rgw_keystone.lo `test -f 'rgw/rgw_keystone.cc' || echo '$(srcdir)/'`rgw/rgw_keystone.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_keystone.Tpo rgw/$(DEPDIR)/librgw_la-rgw_keystone.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_keystone.cc' object='rgw/librgw_la-rgw_keystone.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_keystone.lo `test -f 'rgw/rgw_keystone.cc' || echo '$(srcdir)/'`rgw/rgw_keystone.cc
 
-ceph_test_librbd-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librbd-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_librbd-test.Tpo -c -o ceph_test_librbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librbd-test.Tpo $(DEPDIR)/ceph_test_librbd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_librbd-test.obj' libtool=no @AMDEPBACKSLASH@
+rgw/librgw_la-rgw_quota.lo: rgw/rgw_quota.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -MT rgw/librgw_la-rgw_quota.lo -MD -MP -MF rgw/$(DEPDIR)/librgw_la-rgw_quota.Tpo -c -o rgw/librgw_la-rgw_quota.lo `test -f 'rgw/rgw_quota.cc' || echo '$(srcdir)/'`rgw/rgw_quota.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/librgw_la-rgw_quota.Tpo rgw/$(DEPDIR)/librgw_la-rgw_quota.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_quota.cc' object='rgw/librgw_la-rgw_quota.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librgw_la_CXXFLAGS) $(CXXFLAGS) -c -o rgw/librgw_la-rgw_quota.lo `test -f 'rgw/rgw_quota.cc' || echo '$(srcdir)/'`rgw/rgw_quota.cc
 
-ceph_test_librgw_build-test_libcommon_build.o: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-test_libcommon_build.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Tpo -c -o ceph_test_librgw_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_librgw_build-test_libcommon_build.o' libtool=no @AMDEPBACKSLASH@
+test/encoding/ceph_dencoder-ceph_dencoder.o: test/encoding/ceph_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT test/encoding/ceph_dencoder-ceph_dencoder.o -MD -MP -MF test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo -c -o test/encoding/ceph_dencoder-ceph_dencoder.o `test -f 'test/encoding/ceph_dencoder.cc' || echo '$(srcdir)/'`test/encoding/ceph_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding/ceph_dencoder.cc' object='test/encoding/ceph_dencoder-ceph_dencoder.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-test_libcommon_build.o `test -f 'test/test_libcommon_build.cc' || echo '$(srcdir)/'`test/test_libcommon_build.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o test/encoding/ceph_dencoder-ceph_dencoder.o `test -f 'test/encoding/ceph_dencoder.cc' || echo '$(srcdir)/'`test/encoding/ceph_dencoder.cc
 
-ceph_test_librgw_build-test_libcommon_build.obj: test/test_libcommon_build.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-test_libcommon_build.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Tpo -c -o ceph_test_librgw_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Tpo $(DEPDIR)/ceph_test_librgw_build-test_libcommon_build.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_libcommon_build.cc' object='ceph_test_librgw_build-test_libcommon_build.obj' libtool=no @AMDEPBACKSLASH@
+test/encoding/ceph_dencoder-ceph_dencoder.obj: test/encoding/ceph_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT test/encoding/ceph_dencoder-ceph_dencoder.obj -MD -MP -MF test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo -c -o test/encoding/ceph_dencoder-ceph_dencoder.obj `if test -f 'test/encoding/ceph_dencoder.cc'; then $(CYGPATH_W) 'test/encoding/ceph_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding/ceph_dencoder.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Tpo test/encoding/$(DEPDIR)/ceph_dencoder-ceph_dencoder.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding/ceph_dencoder.cc' object='test/encoding/ceph_dencoder-ceph_dencoder.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-test_libcommon_build.obj `if test -f 'test/test_libcommon_build.cc'; then $(CYGPATH_W) 'test/test_libcommon_build.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_libcommon_build.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o test/encoding/ceph_dencoder-ceph_dencoder.obj `if test -f 'test/encoding/ceph_dencoder.cc'; then $(CYGPATH_W) 'test/encoding/ceph_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding/ceph_dencoder.cc'; fi`
 
-ceph_test_librgw_build-AuthAuthorizeHandler.o: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_dencoder.o: rgw/rgw_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_dencoder.o -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo -c -o rgw/ceph_dencoder-rgw_dencoder.o `test -f 'rgw/rgw_dencoder.cc' || echo '$(srcdir)/'`rgw/rgw_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_dencoder.cc' object='rgw/ceph_dencoder-rgw_dencoder.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthAuthorizeHandler.o `test -f 'auth/AuthAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/AuthAuthorizeHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_dencoder.o `test -f 'rgw/rgw_dencoder.cc' || echo '$(srcdir)/'`rgw/rgw_dencoder.cc
 
-ceph_test_librgw_build-AuthAuthorizeHandler.obj: auth/AuthAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_dencoder.obj: rgw/rgw_dencoder.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_dencoder.obj -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo -c -o rgw/ceph_dencoder-rgw_dencoder.obj `if test -f 'rgw/rgw_dencoder.cc'; then $(CYGPATH_W) 'rgw/rgw_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_dencoder.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_dencoder.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_dencoder.cc' object='rgw/ceph_dencoder-rgw_dencoder.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthAuthorizeHandler.obj `if test -f 'auth/AuthAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/AuthAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthAuthorizeHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_dencoder.obj `if test -f 'rgw/rgw_dencoder.cc'; then $(CYGPATH_W) 'rgw/rgw_dencoder.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_dencoder.cc'; fi`
 
-ceph_test_librgw_build-AuthClientHandler.o: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Tpo -c -o ceph_test_librgw_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_librgw_build-AuthClientHandler.o' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_acl.o: rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_acl.o -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Tpo -c -o rgw/ceph_dencoder-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='rgw/ceph_dencoder-rgw_acl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthClientHandler.o `test -f 'auth/AuthClientHandler.cc' || echo '$(srcdir)/'`auth/AuthClientHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
 
-ceph_test_librgw_build-AuthClientHandler.obj: auth/AuthClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Tpo -c -o ceph_test_librgw_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthClientHandler.cc' object='ceph_test_librgw_build-AuthClientHandler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_acl.obj: rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_acl.obj -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Tpo -c -o rgw/ceph_dencoder-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_acl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='rgw/ceph_dencoder-rgw_acl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthClientHandler.obj `if test -f 'auth/AuthClientHandler.cc'; then $(CYGPATH_W) 'auth/AuthClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthClientHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
 
-ceph_test_librgw_build-AuthSessionHandler.o: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Tpo -c -o ceph_test_librgw_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_librgw_build-AuthSessionHandler.o' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_common.o: rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_common.o -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Tpo -c -o rgw/ceph_dencoder-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='rgw/ceph_dencoder-rgw_common.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthSessionHandler.o `test -f 'auth/AuthSessionHandler.cc' || echo '$(srcdir)/'`auth/AuthSessionHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
 
-ceph_test_librgw_build-AuthSessionHandler.obj: auth/AuthSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Tpo -c -o ceph_test_librgw_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthSessionHandler.cc' object='ceph_test_librgw_build-AuthSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_common.obj: rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_common.obj -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Tpo -c -o rgw/ceph_dencoder-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_common.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='rgw/ceph_dencoder-rgw_common.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthSessionHandler.obj `if test -f 'auth/AuthSessionHandler.cc'; then $(CYGPATH_W) 'auth/AuthSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthSessionHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
 
-ceph_test_librgw_build-AuthMethodList.o: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthMethodList.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Tpo -c -o ceph_test_librgw_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_librgw_build-AuthMethodList.o' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_env.o: rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_env.o -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Tpo -c -o rgw/ceph_dencoder-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='rgw/ceph_dencoder-rgw_env.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthMethodList.o `test -f 'auth/AuthMethodList.cc' || echo '$(srcdir)/'`auth/AuthMethodList.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
 
-ceph_test_librgw_build-AuthMethodList.obj: auth/AuthMethodList.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthMethodList.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Tpo -c -o ceph_test_librgw_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthMethodList.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/AuthMethodList.cc' object='ceph_test_librgw_build-AuthMethodList.obj' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_env.obj: rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_env.obj -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Tpo -c -o rgw/ceph_dencoder-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_env.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='rgw/ceph_dencoder-rgw_env.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthMethodList.obj `if test -f 'auth/AuthMethodList.cc'; then $(CYGPATH_W) 'auth/AuthMethodList.cc'; else $(CYGPATH_W) '$(srcdir)/auth/AuthMethodList.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
 
-ceph_test_librgw_build-CephxAuthorizeHandler.o: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_librgw_build-CephxAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_json_enc.o: rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_json_enc.o -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo -c -o rgw/ceph_dencoder-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='rgw/ceph_dencoder-rgw_json_enc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxAuthorizeHandler.o `test -f 'auth/cephx/CephxAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxAuthorizeHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
 
-ceph_test_librgw_build-CephxAuthorizeHandler.obj: auth/cephx/CephxAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthor [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxAuthorizeHandler.cc' object='ceph_test_librgw_build-CephxAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
+rgw/ceph_dencoder-rgw_json_enc.obj: rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -MT rgw/ceph_dencoder-rgw_json_enc.obj -MD -MP -MF rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo -c -o rgw/ceph_dencoder-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Tpo rgw/$(DEPDIR)/ceph_dencoder-rgw_json_enc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='rgw/ceph_dencoder-rgw_json_enc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxAuthorizeHandler.obj `if test -f 'auth/cephx/CephxAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxAuthorizeHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_dencoder_CXXFLAGS) $(CXXFLAGS) -c -o rgw/ceph_dencoder-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
 
-ceph_test_librgw_build-CephxClientHandler.o: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxClientHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Tpo -c -o ceph_test_librgw_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_librgw_build-CephxClientHandler.o' libtool=no @AMDEPBACKSLASH@
+tools/ceph_kvstore_tool-ceph-kvstore-tool.o: tools/ceph-kvstore-tool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_kvstore_tool_CXXFLAGS) $(CXXFLAGS) -MT tools/ceph_kvstore_tool-ceph-kvstore-tool.o -MD -MP -MF tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Tpo -c -o tools/ceph_kvstore_tool-ceph-kvstore-tool.o `test -f 'tools/ceph-kvstore-tool.cc' || echo '$(srcdir)/'`tools/ceph-kvstore-tool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Tpo tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-kvstore-tool.cc' object='tools/ceph_kvstore_tool-ceph-kvstore-tool.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxClientHandler.o `test -f 'auth/cephx/CephxClientHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxClientHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_kvstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o tools/ceph_kvstore_tool-ceph-kvstore-tool.o `test -f 'tools/ceph-kvstore-tool.cc' || echo '$(srcdir)/'`tools/ceph-kvstore-tool.cc
 
-ceph_test_librgw_build-CephxClientHandler.obj: auth/cephx/CephxClientHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxClientHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Tpo -c -o ceph_test_librgw_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxClientHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxClientHandler.cc' object='ceph_test_librgw_build-CephxClientHandler.obj' libtool=no @AMDEPBACKSLASH@
+tools/ceph_kvstore_tool-ceph-kvstore-tool.obj: tools/ceph-kvstore-tool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_kvstore_tool_CXXFLAGS) $(CXXFLAGS) -MT tools/ceph_kvstore_tool-ceph-kvstore-tool.obj -MD -MP -MF tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Tpo -c -o tools/ceph_kvstore_tool-ceph-kvstore-tool.obj `if test -f 'tools/ceph-kvstore-tool.cc'; then $(CYGPATH_W) 'tools/ceph-kvstore-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-kvstore-tool.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Tpo tools/$(DEPDIR)/ceph_kvstore_tool-ceph-kvstore-tool.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/ceph-kvstore-tool.cc' object='tools/ceph_kvstore_tool-ceph-kvstore-tool.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxClientHandler.obj `if test -f 'auth/cephx/CephxClientHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxClientHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxClientHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_kvstore_tool_CXXFLAGS) $(CXXFLAGS) -c -o tools/ceph_kvstore_tool-ceph-kvstore-tool.obj `if test -f 'tools/ceph-kvstore-tool.cc'; then $(CYGPATH_W) 'tools/ceph-kvstore-tool.cc'; else $(CYGPATH_W) '$(srcdir)/tools/ceph-kvstore-tool.cc'; fi`
 
-ceph_test_librgw_build-CephxProtocol.o: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxProtocol.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Tpo -c -o ceph_test_librgw_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_librgw_build-CephxProtocol.o' libtool=no @AMDEPBACKSLASH@
+test/cls_hello/ceph_test_cls_hello-test_cls_hello.o: test/cls_hello/test_cls_hello.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -MT test/cls_hello/ceph_test_cls_hello-test_cls_hello.o -MD -MP -MF test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Tpo -c -o test/cls_hello/ceph_test_cls_hello-test_cls_hello.o `test -f 'test/cls_hello/test_cls_hello.cc' || echo '$(srcdir)/'`test/cls_hello/test_cls_hello.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Tpo test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_hello/test_cls_hello.cc' object='test/cls_hello/ceph_test_cls_hello-test_cls_hello.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxProtocol.o `test -f 'auth/cephx/CephxProtocol.cc' || echo '$(srcdir)/'`auth/cephx/CephxProtocol.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_hello/ceph_test_cls_hello-test_cls_hello.o `test -f 'test/cls_hello/test_cls_hello.cc' || echo '$(srcdir)/'`test/cls_hello/test_cls_hello.cc
 
-ceph_test_librgw_build-CephxProtocol.obj: auth/cephx/CephxProtocol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxProtocol.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Tpo -c -o ceph_test_librgw_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxProtocol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxProtocol.cc' object='ceph_test_librgw_build-CephxProtocol.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_hello/ceph_test_cls_hello-test_cls_hello.obj: test/cls_hello/test_cls_hello.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -MT test/cls_hello/ceph_test_cls_hello-test_cls_hello.obj -MD -MP -MF test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Tpo -c -o test/cls_hello/ceph_test_cls_hello-test_cls_hello.obj `if test -f 'test/cls_hello/test_cls_hello.cc'; then $(CYGPATH_W) 'test/cls_hello/test_cls_hello.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_hello/t [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Tpo test/cls_hello/$(DEPDIR)/ceph_test_cls_hello-test_cls_hello.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_hello/test_cls_hello.cc' object='test/cls_hello/ceph_test_cls_hello-test_cls_hello.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxProtocol.obj `if test -f 'auth/cephx/CephxProtocol.cc'; then $(CYGPATH_W) 'auth/cephx/CephxProtocol.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxProtocol.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_hello/ceph_test_cls_hello-test_cls_hello.obj `if test -f 'test/cls_hello/test_cls_hello.cc'; then $(CYGPATH_W) 'test/cls_hello/test_cls_hello.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_hello/test_cls_hello.cc'; fi`
 
-ceph_test_librgw_build-CephxSessionHandler.o: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxSessionHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Tpo -c -o ceph_test_librgw_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_librgw_build-CephxSessionHandler.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_hello-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_hello-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Tpo -c -o test/librados/ceph_test_cls_hello-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_hello-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxSessionHandler.o `test -f 'auth/cephx/CephxSessionHandler.cc' || echo '$(srcdir)/'`auth/cephx/CephxSessionHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_hello-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-CephxSessionHandler.obj: auth/cephx/CephxSessionHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CephxSessionHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Tpo -c -o ceph_test_librgw_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-CephxSessionHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/cephx/CephxSessionHandler.cc' object='ceph_test_librgw_build-CephxSessionHandler.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_hello-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_hello-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Tpo -c -o test/librados/ceph_test_cls_hello-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_hello-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_hello-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CephxSessionHandler.obj `if test -f 'auth/cephx/CephxSessionHandler.cc'; then $(CYGPATH_W) 'auth/cephx/CephxSessionHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/cephx/CephxSessionHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_hello_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_hello-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-AuthNoneAuthorizeHandler.o: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthNoneAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthNoneAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
+test/cls_lock/ceph_test_cls_lock-test_cls_lock.o: test/cls_lock/test_cls_lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT test/cls_lock/ceph_test_cls_lock-test_cls_lock.o -MD -MP -MF test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo -c -o test/cls_lock/ceph_test_cls_lock-test_cls_lock.o `test -f 'test/cls_lock/test_cls_lock.cc' || echo '$(srcdir)/'`test/cls_lock/test_cls_lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_lock/test_cls_lock.cc' object='test/cls_lock/ceph_test_cls_lock-test_cls_lock.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthNoneAuthorizeHandler.o `test -f 'auth/none/AuthNoneAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/none/AuthNoneAuthorizeHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_lock/ceph_test_cls_lock-test_cls_lock.o `test -f 'test/cls_lock/test_cls_lock.cc' || echo '$(srcdir)/'`test/cls_lock/test_cls_lock.cc
 
-ceph_test_librgw_build-AuthNoneAuthorizeHandler.obj: auth/none/AuthNoneAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthNoneAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthNoneAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/none/AuthNoneAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthNoneAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_lock/ceph_test_cls_lock-test_cls_lock.obj: test/cls_lock/test_cls_lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT test/cls_lock/ceph_test_cls_lock-test_cls_lock.obj -MD -MP -MF test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo -c -o test/cls_lock/ceph_test_cls_lock-test_cls_lock.obj `if test -f 'test/cls_lock/test_cls_lock.cc'; then $(CYGPATH_W) 'test/cls_lock/test_cls_lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_lock/test_cls_lock.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Tpo test/cls_lock/$(DEPDIR)/ceph_test_cls_lock-test_cls_lock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_lock/test_cls_lock.cc' object='test/cls_lock/ceph_test_cls_lock-test_cls_lock.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthNoneAuthorizeHandler.obj `if test -f 'auth/none/AuthNoneAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/none/AuthNoneAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/none/AuthNoneAuthorizeHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_lock/ceph_test_cls_lock-test_cls_lock.obj `if test -f 'test/cls_lock/test_cls_lock.cc'; then $(CYGPATH_W) 'test/cls_lock/test_cls_lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_lock/test_cls_lock.cc'; fi`
 
-ceph_test_librgw_build-AuthUnknownAuthorizeHandler.o: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthUnknownAuthorizeHandler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthUnknownAuthorizeHandler.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_lock-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_lock-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Tpo -c -o test/librados/ceph_test_cls_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_lock-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthUnknownAuthorizeHandler.o `test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc' || echo '$(srcdir)/'`auth/unknown/AuthUnknownAuthorizeHandler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-AuthUnknownAuthorizeHandler.obj: auth/unknown/AuthUnknownAuthorizeHandler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-AuthUnknownAuthorizeHandler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Tpo -c -o ceph_test_librgw_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Tpo $(DEPDIR)/ceph_test_librgw_build-AuthUnknownAuthorizeHandler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/unknown/AuthUnknownAuthorizeHandler.cc' object='ceph_test_librgw_build-AuthUnknownAuthorizeHandler.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_lock-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_lock-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Tpo -c -o test/librados/ceph_test_cls_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_lock-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_lock-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-AuthUnknownAuthorizeHandler.obj `if test -f 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; then $(CYGPATH_W) 'auth/unknown/AuthUnknownAuthorizeHandler.cc'; else $(CYGPATH_W) '$(srcdir)/auth/unknown/AuthUnknownAuthorizeHandler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-Crypto.o: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Crypto.Tpo -c -o ceph_test_librgw_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Crypto.Tpo $(DEPDIR)/ceph_test_librgw_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_librgw_build-Crypto.o' libtool=no @AMDEPBACKSLASH@
+test/cls_log/ceph_test_cls_log-test_cls_log.o: test/cls_log/test_cls_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT test/cls_log/ceph_test_cls_log-test_cls_log.o -MD -MP -MF test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo -c -o test/cls_log/ceph_test_cls_log-test_cls_log.o `test -f 'test/cls_log/test_cls_log.cc' || echo '$(srcdir)/'`test/cls_log/test_cls_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_log/test_cls_log.cc' object='test/cls_log/ceph_test_cls_log-test_cls_log.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Crypto.o `test -f 'auth/Crypto.cc' || echo '$(srcdir)/'`auth/Crypto.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_log/ceph_test_cls_log-test_cls_log.o `test -f 'test/cls_log/test_cls_log.cc' || echo '$(srcdir)/'`test/cls_log/test_cls_log.cc
 
-ceph_test_librgw_build-Crypto.obj: auth/Crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Crypto.Tpo -c -o ceph_test_librgw_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Crypto.Tpo $(DEPDIR)/ceph_test_librgw_build-Crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/Crypto.cc' object='ceph_test_librgw_build-Crypto.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_log/ceph_test_cls_log-test_cls_log.obj: test/cls_log/test_cls_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT test/cls_log/ceph_test_cls_log-test_cls_log.obj -MD -MP -MF test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo -c -o test/cls_log/ceph_test_cls_log-test_cls_log.obj `if test -f 'test/cls_log/test_cls_log.cc'; then $(CYGPATH_W) 'test/cls_log/test_cls_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_log/test_cls_log.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Tpo test/cls_log/$(DEPDIR)/ceph_test_cls_log-test_cls_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_log/test_cls_log.cc' object='test/cls_log/ceph_test_cls_log-test_cls_log.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Crypto.obj `if test -f 'auth/Crypto.cc'; then $(CYGPATH_W) 'auth/Crypto.cc'; else $(CYGPATH_W) '$(srcdir)/auth/Crypto.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_log/ceph_test_cls_log-test_cls_log.obj `if test -f 'test/cls_log/test_cls_log.cc'; then $(CYGPATH_W) 'test/cls_log/test_cls_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_log/test_cls_log.cc'; fi`
 
-ceph_test_librgw_build-KeyRing.o: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-KeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-KeyRing.Tpo -c -o ceph_test_librgw_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-KeyRing.Tpo $(DEPDIR)/ceph_test_librgw_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_librgw_build-KeyRing.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_log-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_log-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_log-test.Tpo -c -o test/librados/ceph_test_cls_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_log-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_log-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-KeyRing.o `test -f 'auth/KeyRing.cc' || echo '$(srcdir)/'`auth/KeyRing.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-KeyRing.obj: auth/KeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-KeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-KeyRing.Tpo -c -o ceph_test_librgw_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-KeyRing.Tpo $(DEPDIR)/ceph_test_librgw_build-KeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/KeyRing.cc' object='ceph_test_librgw_build-KeyRing.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_log-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_log-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_log-test.Tpo -c -o test/librados/ceph_test_cls_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_log-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_log-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-KeyRing.obj `if test -f 'auth/KeyRing.cc'; then $(CYGPATH_W) 'auth/KeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/KeyRing.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_log_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-RotatingKeyRing.o: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RotatingKeyRing.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Tpo -c -o ceph_test_librgw_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_librgw_build-RotatingKeyRing.o' libtool=no @AMDEPBACKSLASH@
+test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.o: test/cls_rbd/test_cls_rbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.o -MD -MP -MF test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo -c -o test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.o `test -f 'test/cls_rbd/test_cls_rbd.cc' || echo '$(srcdir)/'`test/cls_rbd/test_cls_rbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rbd/test_cls_rbd.cc' object='test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RotatingKeyRing.o `test -f 'auth/RotatingKeyRing.cc' || echo '$(srcdir)/'`auth/RotatingKeyRing.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.o `test -f 'test/cls_rbd/test_cls_rbd.cc' || echo '$(srcdir)/'`test/cls_rbd/test_cls_rbd.cc
 
-ceph_test_librgw_build-RotatingKeyRing.obj: auth/RotatingKeyRing.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RotatingKeyRing.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Tpo -c -o ceph_test_librgw_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Tpo $(DEPDIR)/ceph_test_librgw_build-RotatingKeyRing.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='auth/RotatingKeyRing.cc' object='ceph_test_librgw_build-RotatingKeyRing.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.obj: test/cls_rbd/test_cls_rbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.obj -MD -MP -MF test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo -c -o test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.obj `if test -f 'test/cls_rbd/test_cls_rbd.cc'; then $(CYGPATH_W) 'test/cls_rbd/test_cls_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rbd/test_cls_rbd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Tpo test/cls_rbd/$(DEPDIR)/ceph_test_cls_rbd-test_cls_rbd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rbd/test_cls_rbd.cc' object='test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RotatingKeyRing.obj `if test -f 'auth/RotatingKeyRing.cc'; then $(CYGPATH_W) 'auth/RotatingKeyRing.cc'; else $(CYGPATH_W) '$(srcdir)/auth/RotatingKeyRing.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_rbd/ceph_test_cls_rbd-test_cls_rbd.obj `if test -f 'test/cls_rbd/test_cls_rbd.cc'; then $(CYGPATH_W) 'test/cls_rbd/test_cls_rbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rbd/test_cls_rbd.cc'; fi`
 
-ceph_test_librgw_build-DecayCounter.o: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-DecayCounter.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Tpo -c -o ceph_test_librgw_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_librgw_build-DecayCounter.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_rbd-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_rbd-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Tpo -c -o test/librados/ceph_test_cls_rbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_rbd-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_rbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-DecayCounter.obj: common/DecayCounter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-DecayCounter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Tpo -c -o ceph_test_librgw_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Tpo $(DEPDIR)/ceph_test_librgw_build-DecayCounter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='ceph_test_librgw_build-DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_rbd-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_rbd-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Tpo -c -o test/librados/ceph_test_cls_rbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_rbd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_rbd-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_rbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-LogClient.o: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-LogClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-LogClient.Tpo -c -o ceph_test_librgw_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-LogClient.Tpo $(DEPDIR)/ceph_test_librgw_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_librgw_build-LogClient.o' libtool=no @AMDEPBACKSLASH@
+test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.o: test/cls_refcount/test_cls_refcount.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.o -MD -MP -MF test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo -c -o test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.o `test -f 'test/cls_refcount/test_cls_refcount.cc' || echo '$(srcdir)/'`test/cls_refcount/test_cls_refcount.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_refcount/test_cls_refcount.cc' object='test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.o `test -f 'test/cls_refcount/test_cls_refcount.cc' || echo '$(srcdir)/'`test/cls_refcount/test_cls_refcount.cc
 
-ceph_test_librgw_build-LogClient.obj: common/LogClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-LogClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-LogClient.Tpo -c -o ceph_test_librgw_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-LogClient.Tpo $(DEPDIR)/ceph_test_librgw_build-LogClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='ceph_test_librgw_build-LogClient.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.obj: test/cls_refcount/test_cls_refcount.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.obj -MD -MP -MF test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo -c -o test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.obj `if test -f 'test/cls_refcount/test_cls_refcount.cc'; then $(CYGPATH_W) 'test/cls_refcount/test_cls_refcount.cc'; els [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Tpo test/cls_refcount/$(DEPDIR)/ceph_test_cls_refcount-test_cls_refcount.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_refcount/test_cls_refcount.cc' object='test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_refcount/ceph_test_cls_refcount-test_cls_refcount.obj `if test -f 'test/cls_refcount/test_cls_refcount.cc'; then $(CYGPATH_W) 'test/cls_refcount/test_cls_refcount.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_refcount/test_cls_refcount.cc'; fi`
 
-ceph_test_librgw_build-LogEntry.o: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-LogEntry.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-LogEntry.Tpo -c -o ceph_test_librgw_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-LogEntry.Tpo $(DEPDIR)/ceph_test_librgw_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_librgw_build-LogEntry.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_refcount-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_refcount-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Tpo -c -o test/librados/ceph_test_cls_refcount-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_refcount-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_refcount-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-LogEntry.obj: common/LogEntry.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-LogEntry.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-LogEntry.Tpo -c -o ceph_test_librgw_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-LogEntry.Tpo $(DEPDIR)/ceph_test_librgw_build-LogEntry.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='ceph_test_librgw_build-LogEntry.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_refcount-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_refcount-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Tpo -c -o test/librados/ceph_test_cls_refcount-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_refcount-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_refcount-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_refcount_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_refcount-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Tpo -c -o ceph_test_librgw_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_librgw_build-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
+test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.o: test/cls_replica_log/test_cls_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.o -MD -MP -MF test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo -c -o test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.o `test -f 'test/cls_replica_log/test_cls_replica_log.cc' || echo '$(srcdir)/'`test/cls_repli [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_replica_log/test_cls_replica_log.cc' object='test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.o `test -f 'test/cls_replica_log/test_cls_replica_log.cc' || echo '$(srcdir)/'`test/cls_replica_log/test_cls_replica_log.cc
 
-ceph_test_librgw_build-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Tpo -c -o ceph_test_librgw_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Tpo $(DEPDIR)/ceph_test_librgw_build-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='ceph_test_librgw_build-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.obj: test/cls_replica_log/test_cls_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.obj -MD -MP -MF test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo -c -o test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.obj `if test -f 'test/cls_replica_log/test_cls_replica_log.cc'; then $(CYGPATH_W) 'test/cls [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Tpo test/cls_replica_log/$(DEPDIR)/ceph_test_cls_replica_log-test_cls_replica_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_replica_log/test_cls_replica_log.cc' object='test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_replica_log/ceph_test_cls_replica_log-test_cls_replica_log.obj `if test -f 'test/cls_replica_log/test_cls_replica_log.cc'; then $(CYGPATH_W) 'test/cls_replica_log/test_cls_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_replica_log/test_cls_replica_log.cc'; fi`
 
-ceph_test_librgw_build-BackTrace.o: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-BackTrace.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-BackTrace.Tpo -c -o ceph_test_librgw_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-BackTrace.Tpo $(DEPDIR)/ceph_test_librgw_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_librgw_build-BackTrace.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_replica_log-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_replica_log-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Tpo -c -o test/librados/ceph_test_cls_replica_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_replica_log-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_replica_log-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-BackTrace.obj: common/BackTrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-BackTrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-BackTrace.Tpo -c -o ceph_test_librgw_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-BackTrace.Tpo $(DEPDIR)/ceph_test_librgw_build-BackTrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='ceph_test_librgw_build-BackTrace.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_replica_log-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_replica_log-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Tpo -c -o test/librados/ceph_test_cls_replica_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_replica_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_replica_log-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_replica_log_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_replica_log-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-perf_counters.o: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-perf_counters.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-perf_counters.Tpo -c -o ceph_test_librgw_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-perf_counters.Tpo $(DEPDIR)/ceph_test_librgw_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_librgw_build-perf_counters.o' libtool=no @AMDEPBACKSLASH@
+test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.o: test/cls_rgw/test_cls_rgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.o -MD -MP -MF test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo -c -o test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.o `test -f 'test/cls_rgw/test_cls_rgw.cc' || echo '$(srcdir)/'`test/cls_rgw/test_cls_rgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rgw/test_cls_rgw.cc' object='test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.o `test -f 'test/cls_rgw/test_cls_rgw.cc' || echo '$(srcdir)/'`test/cls_rgw/test_cls_rgw.cc
 
-ceph_test_librgw_build-perf_counters.obj: common/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-perf_counters.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-perf_counters.Tpo -c -o ceph_test_librgw_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-perf_counters.Tpo $(DEPDIR)/ceph_test_librgw_build-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='ceph_test_librgw_build-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.obj: test/cls_rgw/test_cls_rgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.obj -MD -MP -MF test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo -c -o test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.obj `if test -f 'test/cls_rgw/test_cls_rgw.cc'; then $(CYGPATH_W) 'test/cls_rgw/test_cls_rgw.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rgw/test_cls_rgw.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Tpo test/cls_rgw/$(DEPDIR)/ceph_test_cls_rgw-test_cls_rgw.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_rgw/test_cls_rgw.cc' object='test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_rgw/ceph_test_cls_rgw-test_cls_rgw.obj `if test -f 'test/cls_rgw/test_cls_rgw.cc'; then $(CYGPATH_W) 'test/cls_rgw/test_cls_rgw.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_rgw/test_cls_rgw.cc'; fi`
 
-ceph_test_librgw_build-Mutex.o: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Mutex.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Mutex.Tpo -c -o ceph_test_librgw_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Mutex.Tpo $(DEPDIR)/ceph_test_librgw_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_librgw_build-Mutex.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_rgw-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_rgw-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Tpo -c -o test/librados/ceph_test_cls_rgw-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_rgw-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_rgw-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Mutex.obj: common/Mutex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Mutex.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Mutex.Tpo -c -o ceph_test_librgw_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Mutex.Tpo $(DEPDIR)/ceph_test_librgw_build-Mutex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='ceph_test_librgw_build-Mutex.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_rgw-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_rgw-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Tpo -c -o test/librados/ceph_test_cls_rgw-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_rgw-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_rgw-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_rgw-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-OutputDataSocket.o: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-OutputDataSocket.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Tpo -c -o ceph_test_librgw_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_librgw_build-OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_log-test_rgw_admin_log.o: test/test_rgw_admin_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_log-test_rgw_admin_log.o -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo -c -o test/ceph_test_cls_rgw_log-test_rgw_admin_log.o `test -f 'test/test_rgw_admin_log.cc' || echo '$(srcdir)/'`test/test_rgw_admin_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_log.cc' object='test/ceph_test_cls_rgw_log-test_rgw_admin_log.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_log-test_rgw_admin_log.o `test -f 'test/test_rgw_admin_log.cc' || echo '$(srcdir)/'`test/test_rgw_admin_log.cc
 
-ceph_test_librgw_build-OutputDataSocket.obj: common/OutputDataSocket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-OutputDataSocket.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Tpo -c -o ceph_test_librgw_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Tpo $(DEPDIR)/ceph_test_librgw_build-OutputDataSocket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='ceph_test_librgw_build-OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_log-test_rgw_admin_log.obj: test/test_rgw_admin_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_log-test_rgw_admin_log.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo -c -o test/ceph_test_cls_rgw_log-test_rgw_admin_log.obj `if test -f 'test/test_rgw_admin_log.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_log.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_log-test_rgw_admin_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_log.cc' object='test/ceph_test_cls_rgw_log-test_rgw_admin_log.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_log_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_log-test_rgw_admin_log.obj `if test -f 'test/test_rgw_admin_log.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_log.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_log.cc'; fi`
 
-ceph_test_librgw_build-admin_socket.o: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-admin_socket.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-admin_socket.Tpo -c -o ceph_test_librgw_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-admin_socket.Tpo $(DEPDIR)/ceph_test_librgw_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_librgw_build-admin_socket.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.o: test/test_rgw_admin_meta.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.o -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo -c -o test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.o `test -f 'test/test_rgw_admin_meta.cc' || echo '$(srcdir)/'`test/test_rgw_admin_meta.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_meta.cc' object='test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.o `test -f 'test/test_rgw_admin_meta.cc' || echo '$(srcdir)/'`test/test_rgw_admin_meta.cc
 
-ceph_test_librgw_build-admin_socket.obj: common/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-admin_socket.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-admin_socket.Tpo -c -o ceph_test_librgw_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-admin_socket.Tpo $(DEPDIR)/ceph_test_librgw_build-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='ceph_test_librgw_build-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj: test/test_rgw_admin_meta.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo -c -o test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj `if test -f 'test/test_rgw_admin_meta.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_meta.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_meta.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_meta-test_rgw_admin_meta.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_meta.cc' object='test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_meta_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_meta-test_rgw_admin_meta.obj `if test -f 'test/test_rgw_admin_meta.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_meta.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_meta.cc'; fi`
 
-ceph_test_librgw_build-admin_socket_client.o: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-admin_socket_client.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Tpo -c -o ceph_test_librgw_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_librgw_build-admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o: test/test_rgw_admin_opstate.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo -c -o test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o `test -f 'test/test_rgw_admin_opstate.cc' || echo '$(srcdir)/'`test/test_rgw_admin_opstate.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_opstate.cc' object='test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.o `test -f 'test/test_rgw_admin_opstate.cc' || echo '$(srcdir)/'`test/test_rgw_admin_opstate.cc
 
-ceph_test_librgw_build-admin_socket_client.obj: common/admin_socket_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-admin_socket_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Tpo -c -o ceph_test_librgw_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Tpo $(DEPDIR)/ceph_test_librgw_build-admin_socket_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='ceph_test_librgw_build-admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj: test/test_rgw_admin_opstate.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo -c -o test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj `if test -f 'test/test_rgw_admin_opstate.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/te [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Tpo test/$(DEPDIR)/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rgw_admin_opstate.cc' object='test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_rgw_opstate_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cls_rgw_opstate-test_rgw_admin_opstate.obj `if test -f 'test/test_rgw_admin_opstate.cc'; then $(CYGPATH_W) 'test/test_rgw_admin_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rgw_admin_opstate.cc'; fi`
 
-ceph_test_librgw_build-cmdparse.o: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cmdparse.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cmdparse.Tpo -c -o ceph_test_librgw_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cmdparse.Tpo $(DEPDIR)/ceph_test_librgw_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_librgw_build-cmdparse.o' libtool=no @AMDEPBACKSLASH@
+test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.o: test/cls_statelog/test_cls_statelog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.o -MD -MP -MF test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo -c -o test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.o `test -f 'test/cls_statelog/test_cls_statelog.cc' || echo '$(srcdir)/'`test/cls_statelog/test_cls_statelog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_statelog/test_cls_statelog.cc' object='test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.o `test -f 'test/cls_statelog/test_cls_statelog.cc' || echo '$(srcdir)/'`test/cls_statelog/test_cls_statelog.cc
 
-ceph_test_librgw_build-cmdparse.obj: common/cmdparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cmdparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cmdparse.Tpo -c -o ceph_test_librgw_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cmdparse.Tpo $(DEPDIR)/ceph_test_librgw_build-cmdparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='ceph_test_librgw_build-cmdparse.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.obj: test/cls_statelog/test_cls_statelog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.obj -MD -MP -MF test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo -c -o test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.obj `if test -f 'test/cls_statelog/test_cls_statelog.cc'; then $(CYGPATH_W) 'test/cls_statelog/test_cls_statelog.cc'; els [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Tpo test/cls_statelog/$(DEPDIR)/ceph_test_cls_statelog-test_cls_statelog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_statelog/test_cls_statelog.cc' object='test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_statelog/ceph_test_cls_statelog-test_cls_statelog.obj `if test -f 'test/cls_statelog/test_cls_statelog.cc'; then $(CYGPATH_W) 'test/cls_statelog/test_cls_statelog.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_statelog/test_cls_statelog.cc'; fi`
 
-ceph_test_librgw_build-Clock.o: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Clock.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Clock.Tpo -c -o ceph_test_librgw_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Clock.Tpo $(DEPDIR)/ceph_test_librgw_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_librgw_build-Clock.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_statelog-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_statelog-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Tpo -c -o test/librados/ceph_test_cls_statelog-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_statelog-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_statelog-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Clock.obj: common/Clock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Clock.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Clock.Tpo -c -o ceph_test_librgw_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Clock.Tpo $(DEPDIR)/ceph_test_librgw_build-Clock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='ceph_test_librgw_build-Clock.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_statelog-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_statelog-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Tpo -c -o test/librados/ceph_test_cls_statelog-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_statelog-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_statelog-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_statelog_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_statelog-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-Throttle.o: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Throttle.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Throttle.Tpo -c -o ceph_test_librgw_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Throttle.Tpo $(DEPDIR)/ceph_test_librgw_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_librgw_build-Throttle.o' libtool=no @AMDEPBACKSLASH@
+test/cls_version/ceph_test_cls_version-test_cls_version.o: test/cls_version/test_cls_version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT test/cls_version/ceph_test_cls_version-test_cls_version.o -MD -MP -MF test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo -c -o test/cls_version/ceph_test_cls_version-test_cls_version.o `test -f 'test/cls_version/test_cls_version.cc' || echo '$(srcdir)/'`test/cls_version/test_cls_version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_version/test_cls_version.cc' object='test/cls_version/ceph_test_cls_version-test_cls_version.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_version/ceph_test_cls_version-test_cls_version.o `test -f 'test/cls_version/test_cls_version.cc' || echo '$(srcdir)/'`test/cls_version/test_cls_version.cc
 
-ceph_test_librgw_build-Throttle.obj: common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Throttle.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Throttle.Tpo -c -o ceph_test_librgw_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Throttle.Tpo $(DEPDIR)/ceph_test_librgw_build-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='ceph_test_librgw_build-Throttle.obj' libtool=no @AMDEPBACKSLASH@
+test/cls_version/ceph_test_cls_version-test_cls_version.obj: test/cls_version/test_cls_version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT test/cls_version/ceph_test_cls_version-test_cls_version.obj -MD -MP -MF test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo -c -o test/cls_version/ceph_test_cls_version-test_cls_version.obj `if test -f 'test/cls_version/test_cls_version.cc'; then $(CYGPATH_W) 'test/cls_version/test_cls_version.cc'; else $(CYGPATH_W) [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Tpo test/cls_version/$(DEPDIR)/ceph_test_cls_version-test_cls_version.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/cls_version/test_cls_version.cc' object='test/cls_version/ceph_test_cls_version-test_cls_version.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o test/cls_version/ceph_test_cls_version-test_cls_version.obj `if test -f 'test/cls_version/test_cls_version.cc'; then $(CYGPATH_W) 'test/cls_version/test_cls_version.cc'; else $(CYGPATH_W) '$(srcdir)/test/cls_version/test_cls_version.cc'; fi`
 
-ceph_test_librgw_build-Timer.o: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Timer.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Timer.Tpo -c -o ceph_test_librgw_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Timer.Tpo $(DEPDIR)/ceph_test_librgw_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_librgw_build-Timer.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_version-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_version-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_version-test.Tpo -c -o test/librados/ceph_test_cls_version-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_version-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_version-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_version-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_version-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Timer.obj: common/Timer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Timer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Timer.Tpo -c -o ceph_test_librgw_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Timer.Tpo $(DEPDIR)/ceph_test_librgw_build-Timer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='ceph_test_librgw_build-Timer.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_cls_version-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_cls_version-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_cls_version-test.Tpo -c -o test/librados/ceph_test_cls_version-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_cls_version-test.Tpo test/librados/$(DEPDIR)/ceph_test_cls_version-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_cls_version-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cls_version_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_cls_version-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-Finisher.o: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Finisher.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Finisher.Tpo -c -o ceph_test_librgw_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Finisher.Tpo $(DEPDIR)/ceph_test_librgw_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_librgw_build-Finisher.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cors-test_cors.o: test/test_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cors-test_cors.o -MD -MP -MF test/$(DEPDIR)/ceph_test_cors-test_cors.Tpo -c -o test/ceph_test_cors-test_cors.o `test -f 'test/test_cors.cc' || echo '$(srcdir)/'`test/test_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cors-test_cors.Tpo test/$(DEPDIR)/ceph_test_cors-test_cors.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cors.cc' object='test/ceph_test_cors-test_cors.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cors-test_cors.o `test -f 'test/test_cors.cc' || echo '$(srcdir)/'`test/test_cors.cc
 
-ceph_test_librgw_build-Finisher.obj: common/Finisher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Finisher.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Finisher.Tpo -c -o ceph_test_librgw_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Finisher.Tpo $(DEPDIR)/ceph_test_librgw_build-Finisher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='ceph_test_librgw_build-Finisher.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_cors-test_cors.obj: test/test_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_cors-test_cors.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_cors-test_cors.Tpo -c -o test/ceph_test_cors-test_cors.obj `if test -f 'test/test_cors.cc'; then $(CYGPATH_W) 'test/test_cors.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_cors.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_cors-test_cors.Tpo test/$(DEPDIR)/ceph_test_cors-test_cors.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_cors.cc' object='test/ceph_test_cors-test_cors.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_cors_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_cors-test_cors.obj `if test -f 'test/test_cors.cc'; then $(CYGPATH_W) 'test/test_cors.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_cors.cc'; fi`
 
-ceph_test_librgw_build-environment.o: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-environment.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-environment.Tpo -c -o ceph_test_librgw_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-environment.Tpo $(DEPDIR)/ceph_test_librgw_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_librgw_build-environment.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_filejournal-test_filejournal.o: test/test_filejournal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_filejournal-test_filejournal.o -MD -MP -MF test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo -c -o test/ceph_test_filejournal-test_filejournal.o `test -f 'test/test_filejournal.cc' || echo '$(srcdir)/'`test/test_filejournal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_filejournal.cc' object='test/ceph_test_filejournal-test_filejournal.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_filejournal-test_filejournal.o `test -f 'test/test_filejournal.cc' || echo '$(srcdir)/'`test/test_filejournal.cc
 
-ceph_test_librgw_build-environment.obj: common/environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-environment.Tpo -c -o ceph_test_librgw_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-environment.Tpo $(DEPDIR)/ceph_test_librgw_build-environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='ceph_test_librgw_build-environment.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_filejournal-test_filejournal.obj: test/test_filejournal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_filejournal-test_filejournal.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo -c -o test/ceph_test_filejournal-test_filejournal.obj `if test -f 'test/test_filejournal.cc'; then $(CYGPATH_W) 'test/test_filejournal.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_filejournal.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Tpo test/$(DEPDIR)/ceph_test_filejournal-test_filejournal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_filejournal.cc' object='test/ceph_test_filejournal-test_filejournal.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filejournal_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_filejournal-test_filejournal.obj `if test -f 'test/test_filejournal.cc'; then $(CYGPATH_W) 'test/test_filejournal.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_filejournal.cc'; fi`
 
-ceph_test_librgw_build-assert.o: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-assert.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-assert.Tpo -c -o ceph_test_librgw_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-assert.Tpo $(DEPDIR)/ceph_test_librgw_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_librgw_build-assert.o' libtool=no @AMDEPBACKSLASH@
+test/filestore/ceph_test_filestore-store_test.o: test/filestore/store_test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -MT test/filestore/ceph_test_filestore-store_test.o -MD -MP -MF test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Tpo -c -o test/filestore/ceph_test_filestore-store_test.o `test -f 'test/filestore/store_test.cc' || echo '$(srcdir)/'`test/filestore/store_test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Tpo test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/store_test.cc' object='test/filestore/ceph_test_filestore-store_test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -c -o test/filestore/ceph_test_filestore-store_test.o `test -f 'test/filestore/store_test.cc' || echo '$(srcdir)/'`test/filestore/store_test.cc
 
-ceph_test_librgw_build-assert.obj: common/assert.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-assert.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-assert.Tpo -c -o ceph_test_librgw_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-assert.Tpo $(DEPDIR)/ceph_test_librgw_build-assert.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='ceph_test_librgw_build-assert.obj' libtool=no @AMDEPBACKSLASH@
+test/filestore/ceph_test_filestore-store_test.obj: test/filestore/store_test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -MT test/filestore/ceph_test_filestore-store_test.obj -MD -MP -MF test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Tpo -c -o test/filestore/ceph_test_filestore-store_test.obj `if test -f 'test/filestore/store_test.cc'; then $(CYGPATH_W) 'test/filestore/store_test.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/store_test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Tpo test/filestore/$(DEPDIR)/ceph_test_filestore-store_test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/store_test.cc' object='test/filestore/ceph_test_filestore-store_test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_filestore_CXXFLAGS) $(CXXFLAGS) -c -o test/filestore/ceph_test_filestore-store_test.obj `if test -f 'test/filestore/store_test.cc'; then $(CYGPATH_W) 'test/filestore/store_test.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/store_test.cc'; fi`
 
-ceph_test_librgw_build-run_cmd.o: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-run_cmd.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-run_cmd.Tpo -c -o ceph_test_librgw_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-run_cmd.Tpo $(DEPDIR)/ceph_test_librgw_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_librgw_build-run_cmd.o' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o: test/ObjectMap/test_keyvaluedb_atomicity.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o `test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc' || echo '$(srcdir)/ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_atomicity.cc' object='test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.o `test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_atomicity.cc
 
-ceph_test_librgw_build-run_cmd.obj: common/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-run_cmd.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-run_cmd.Tpo -c -o ceph_test_librgw_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-run_cmd.Tpo $(DEPDIR)/ceph_test_librgw_build-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='ceph_test_librgw_build-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj: test/ObjectMap/test_keyvaluedb_atomicity.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj `if test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; then $(CYGP [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_atomicity.cc' object='test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_atomicity_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_atomicity-test_keyvaluedb_atomicity.obj `if test -f 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_atomicity.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_keyvaluedb_atomicity.cc'; fi`
 
-ceph_test_librgw_build-WorkQueue.o: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-WorkQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Tpo -c -o ceph_test_librgw_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_librgw_build-WorkQueue.o' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o: test/ObjectMap/test_keyvaluedb_iterators.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o `test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc' || echo '$(srcdir)/ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_iterators.cc' object='test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.o `test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc' || echo '$(srcdir)/'`test/ObjectMap/test_keyvaluedb_iterators.cc
 
-ceph_test_librgw_build-WorkQueue.obj: common/WorkQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-WorkQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Tpo -c -o ceph_test_librgw_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Tpo $(DEPDIR)/ceph_test_librgw_build-WorkQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='ceph_test_librgw_build-WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj: test/ObjectMap/test_keyvaluedb_iterators.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj `if test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc'; then $(CYGP [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_keyvaluedb_iterators.cc' object='test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-test_keyvaluedb_iterators.obj `if test -f 'test/ObjectMap/test_keyvaluedb_iterators.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_keyvaluedb_iterators.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_keyvaluedb_iterators.cc'; fi`
 
-ceph_test_librgw_build-ConfUtils.o: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ConfUtils.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Tpo -c -o ceph_test_librgw_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_librgw_build-ConfUtils.o' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o: test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
 
-ceph_test_librgw_build-ConfUtils.obj: common/ConfUtils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ConfUtils.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Tpo -c -o ceph_test_librgw_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Tpo $(DEPDIR)/ceph_test_librgw_build-ConfUtils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='ceph_test_librgw_build-ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj: test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMem [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_keyvaluedb_iterators_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_keyvaluedb_iterators-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/KeyValueDBMemory.cc'; fi`
 
-ceph_test_librgw_build-MemoryModel.o: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MemoryModel.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Tpo -c -o ceph_test_librgw_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_librgw_build-MemoryModel.o' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-test.o: test/libcephfs/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-test.o -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Tpo -c -o test/libcephfs/ceph_test_libcephfs-test.o `test -f 'test/libcephfs/test.cc' || echo '$(srcdir)/'`test/libcephfs/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/test.cc' object='test/libcephfs/ceph_test_libcephfs-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-test.o `test -f 'test/libcephfs/test.cc' || echo '$(srcdir)/'`test/libcephfs/test.cc
 
-ceph_test_librgw_build-MemoryModel.obj: common/MemoryModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MemoryModel.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Tpo -c -o ceph_test_librgw_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Tpo $(DEPDIR)/ceph_test_librgw_build-MemoryModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='ceph_test_librgw_build-MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-test.obj: test/libcephfs/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-test.obj -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Tpo -c -o test/libcephfs/ceph_test_libcephfs-test.obj `if test -f 'test/libcephfs/test.cc'; then $(CYGPATH_W) 'test/libcephfs/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/test.cc' object='test/libcephfs/ceph_test_libcephfs-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-test.obj `if test -f 'test/libcephfs/test.cc'; then $(CYGPATH_W) 'test/libcephfs/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/test.cc'; fi`
 
-ceph_test_librgw_build-fd.o: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-fd.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-fd.Tpo -c -o ceph_test_librgw_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-fd.Tpo $(DEPDIR)/ceph_test_librgw_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_librgw_build-fd.o' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-readdir_r_cb.o: test/libcephfs/readdir_r_cb.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-readdir_r_cb.o -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo -c -o test/libcephfs/ceph_test_libcephfs-readdir_r_cb.o `test -f 'test/libcephfs/readdir_r_cb.cc' || echo '$(srcdir)/'`test/libcephfs/readdir_r_cb.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/readdir_r_cb.cc' object='test/libcephfs/ceph_test_libcephfs-readdir_r_cb.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-readdir_r_cb.o `test -f 'test/libcephfs/readdir_r_cb.cc' || echo '$(srcdir)/'`test/libcephfs/readdir_r_cb.cc
 
-ceph_test_librgw_build-fd.obj: common/fd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-fd.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-fd.Tpo -c -o ceph_test_librgw_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-fd.Tpo $(DEPDIR)/ceph_test_librgw_build-fd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='ceph_test_librgw_build-fd.obj' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-readdir_r_cb.obj: test/libcephfs/readdir_r_cb.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-readdir_r_cb.obj -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo -c -o test/libcephfs/ceph_test_libcephfs-readdir_r_cb.obj `if test -f 'test/libcephfs/readdir_r_cb.cc'; then $(CYGPATH_W) 'test/libcephfs/readdir_r_cb.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/readdir_r_c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-readdir_r_cb.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/readdir_r_cb.cc' object='test/libcephfs/ceph_test_libcephfs-readdir_r_cb.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-readdir_r_cb.obj `if test -f 'test/libcephfs/readdir_r_cb.cc'; then $(CYGPATH_W) 'test/libcephfs/readdir_r_cb.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/readdir_r_cb.cc'; fi`
 
-ceph_test_librgw_build-snap_types.o: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-snap_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-snap_types.Tpo -c -o ceph_test_librgw_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-snap_types.Tpo $(DEPDIR)/ceph_test_librgw_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_librgw_build-snap_types.o' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-caps.o: test/libcephfs/caps.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-caps.o -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Tpo -c -o test/libcephfs/ceph_test_libcephfs-caps.o `test -f 'test/libcephfs/caps.cc' || echo '$(srcdir)/'`test/libcephfs/caps.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/caps.cc' object='test/libcephfs/ceph_test_libcephfs-caps.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-caps.o `test -f 'test/libcephfs/caps.cc' || echo '$(srcdir)/'`test/libcephfs/caps.cc
 
-ceph_test_librgw_build-snap_types.obj: common/snap_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-snap_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-snap_types.Tpo -c -o ceph_test_librgw_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-snap_types.Tpo $(DEPDIR)/ceph_test_librgw_build-snap_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='ceph_test_librgw_build-snap_types.obj' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-caps.obj: test/libcephfs/caps.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-caps.obj -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Tpo -c -o test/libcephfs/ceph_test_libcephfs-caps.obj `if test -f 'test/libcephfs/caps.cc'; then $(CYGPATH_W) 'test/libcephfs/caps.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/caps.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-caps.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/caps.cc' object='test/libcephfs/ceph_test_libcephfs-caps.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-caps.obj `if test -f 'test/libcephfs/caps.cc'; then $(CYGPATH_W) 'test/libcephfs/caps.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/caps.cc'; fi`
 
-ceph_test_librgw_build-str_list.o: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-str_list.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-str_list.Tpo -c -o ceph_test_librgw_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-str_list.Tpo $(DEPDIR)/ceph_test_librgw_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_librgw_build-str_list.o' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-multiclient.o: test/libcephfs/multiclient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-multiclient.o -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo -c -o test/libcephfs/ceph_test_libcephfs-multiclient.o `test -f 'test/libcephfs/multiclient.cc' || echo '$(srcdir)/'`test/libcephfs/multiclient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/multiclient.cc' object='test/libcephfs/ceph_test_libcephfs-multiclient.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-multiclient.o `test -f 'test/libcephfs/multiclient.cc' || echo '$(srcdir)/'`test/libcephfs/multiclient.cc
 
-ceph_test_librgw_build-str_list.obj: common/str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-str_list.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-str_list.Tpo -c -o ceph_test_librgw_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-str_list.Tpo $(DEPDIR)/ceph_test_librgw_build-str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='ceph_test_librgw_build-str_list.obj' libtool=no @AMDEPBACKSLASH@
+test/libcephfs/ceph_test_libcephfs-multiclient.obj: test/libcephfs/multiclient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/libcephfs/ceph_test_libcephfs-multiclient.obj -MD -MP -MF test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo -c -o test/libcephfs/ceph_test_libcephfs-multiclient.obj `if test -f 'test/libcephfs/multiclient.cc'; then $(CYGPATH_W) 'test/libcephfs/multiclient.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/multiclient.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Tpo test/libcephfs/$(DEPDIR)/ceph_test_libcephfs-multiclient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs/multiclient.cc' object='test/libcephfs/ceph_test_libcephfs-multiclient.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/libcephfs/ceph_test_libcephfs-multiclient.obj `if test -f 'test/libcephfs/multiclient.cc'; then $(CYGPATH_W) 'test/libcephfs/multiclient.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs/multiclient.cc'; fi`
 
-ceph_test_librgw_build-errno.o: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-errno.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-errno.Tpo -c -o ceph_test_librgw_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-errno.Tpo $(DEPDIR)/ceph_test_librgw_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_librgw_build-errno.o' libtool=no @AMDEPBACKSLASH@
+test/librbd/ceph_test_librbd-test_librbd.o: test/librbd/test_librbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT test/librbd/ceph_test_librbd-test_librbd.o -MD -MP -MF test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Tpo -c -o test/librbd/ceph_test_librbd-test_librbd.o `test -f 'test/librbd/test_librbd.cc' || echo '$(srcdir)/'`test/librbd/test_librbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Tpo test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librbd/test_librbd.cc' object='test/librbd/ceph_test_librbd-test_librbd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librbd/ceph_test_librbd-test_librbd.o `test -f 'test/librbd/test_librbd.cc' || echo '$(srcdir)/'`test/librbd/test_librbd.cc
 
-ceph_test_librgw_build-errno.obj: common/errno.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-errno.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-errno.Tpo -c -o ceph_test_librgw_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-errno.Tpo $(DEPDIR)/ceph_test_librgw_build-errno.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='ceph_test_librgw_build-errno.obj' libtool=no @AMDEPBACKSLASH@
+test/librbd/ceph_test_librbd-test_librbd.obj: test/librbd/test_librbd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT test/librbd/ceph_test_librbd-test_librbd.obj -MD -MP -MF test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Tpo -c -o test/librbd/ceph_test_librbd-test_librbd.obj `if test -f 'test/librbd/test_librbd.cc'; then $(CYGPATH_W) 'test/librbd/test_librbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librbd/test_librbd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Tpo test/librbd/$(DEPDIR)/ceph_test_librbd-test_librbd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librbd/test_librbd.cc' object='test/librbd/ceph_test_librbd-test_librbd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librbd/ceph_test_librbd-test_librbd.obj `if test -f 'test/librbd/test_librbd.cc'; then $(CYGPATH_W) 'test/librbd/test_librbd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librbd/test_librbd.cc'; fi`
 
-ceph_test_librgw_build-json_spirit_reader.o: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_reader.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Tpo -c -o ceph_test_librgw_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_librgw_build-json_spirit_reader.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_librbd-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_librbd-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_librbd-test.Tpo -c -o test/librados/ceph_test_librbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_librbd-test.Tpo test/librados/$(DEPDIR)/ceph_test_librbd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_librbd-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_reader.o `test -f 'json_spirit/json_spirit_reader.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_reader.cpp
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_librbd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-json_spirit_reader.obj: json_spirit/json_spirit_reader.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_reader.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Tpo -c -o ceph_test_librgw_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_reader.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_reader.cpp' object='ceph_test_librgw_build-json_spirit_reader.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_librbd-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_librbd-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_librbd-test.Tpo -c -o test/librados/ceph_test_librbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_librbd-test.Tpo test/librados/$(DEPDIR)/ceph_test_librbd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_librbd-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_reader.obj `if test -f 'json_spirit/json_spirit_reader.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_reader.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_reader.cpp'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librbd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_librbd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-json_spirit_writer.o: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_writer.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Tpo -c -o ceph_test_librgw_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_librgw_build-json_spirit_writer.o' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_object_map-test_object_map.o: test/ObjectMap/test_object_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_object_map-test_object_map.o -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Tpo -c -o test/ObjectMap/ceph_test_object_map-test_object_map.o `test -f 'test/ObjectMap/test_object_map.cc' || echo '$(srcdir)/'`test/ObjectMap/test_object_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_object_map.cc' object='test/ObjectMap/ceph_test_object_map-test_object_map.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_writer.o `test -f 'json_spirit/json_spirit_writer.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_writer.cpp
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_object_map-test_object_map.o `test -f 'test/ObjectMap/test_object_map.cc' || echo '$(srcdir)/'`test/ObjectMap/test_object_map.cc
 
-ceph_test_librgw_build-json_spirit_writer.obj: json_spirit/json_spirit_writer.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_writer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Tpo -c -o ceph_test_librgw_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_writer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_writer.cpp' object='ceph_test_librgw_build-json_spirit_writer.obj' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_object_map-test_object_map.obj: test/ObjectMap/test_object_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_object_map-test_object_map.obj -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Tpo -c -o test/ObjectMap/ceph_test_object_map-test_object_map.obj `if test -f 'test/ObjectMap/test_object_map.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_object_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/Ob [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_object_map-test_object_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_object_map.cc' object='test/ObjectMap/ceph_test_object_map-test_object_map.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_writer.obj `if test -f 'json_spirit/json_spirit_writer.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_writer.cpp'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_object_map-test_object_map.obj `if test -f 'test/ObjectMap/test_object_map.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_object_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_object_map.cc'; fi`
 
-ceph_test_librgw_build-json_spirit_value.o: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_value.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Tpo -c -o ceph_test_librgw_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_librgw_build-json_spirit_value.o' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.o: test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.o -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo -c -o test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_value.o `test -f 'json_spirit/json_spirit_value.cpp' || echo '$(srcdir)/'`json_spirit/json_spirit_value.cpp
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
 
-ceph_test_librgw_build-json_spirit_value.obj: json_spirit/json_spirit_value.cpp
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-json_spirit_value.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Tpo -c -o ceph_test_librgw_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Tpo $(DEPDIR)/ceph_test_librgw_build-json_spirit_value.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='json_spirit/json_spirit_value.cpp' object='ceph_test_librgw_build-json_spirit_value.obj' libtool=no @AMDEPBACKSLASH@
+test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.obj: test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.obj -MD -MP -MF test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo -c -o test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/te [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo test/ObjectMap/$(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-json_spirit_value.obj `if test -f 'json_spirit/json_spirit_value.cpp'; then $(CYGPATH_W) 'json_spirit/json_spirit_value.cpp'; else $(CYGPATH_W) '$(srcdir)/json_spirit/json_spirit_value.cpp'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o test/ObjectMap/ceph_test_object_map-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/KeyValueDBMemory.cc'; fi`
 
-ceph_test_librgw_build-Log.o: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Log.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Log.Tpo -c -o ceph_test_librgw_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Log.Tpo $(DEPDIR)/ceph_test_librgw_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_librgw_build-Log.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_aio-aio.o: test/librados/aio.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_aio-aio.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo -c -o test/librados/ceph_test_rados_api_aio-aio.o `test -f 'test/librados/aio.cc' || echo '$(srcdir)/'`test/librados/aio.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/aio.cc' object='test/librados/ceph_test_rados_api_aio-aio.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Log.o `test -f 'log/Log.cc' || echo '$(srcdir)/'`log/Log.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_aio-aio.o `test -f 'test/librados/aio.cc' || echo '$(srcdir)/'`test/librados/aio.cc
 
-ceph_test_librgw_build-Log.obj: log/Log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Log.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Log.Tpo -c -o ceph_test_librgw_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Log.Tpo $(DEPDIR)/ceph_test_librgw_build-Log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/Log.cc' object='ceph_test_librgw_build-Log.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_aio-aio.obj: test/librados/aio.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_aio-aio.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo -c -o test/librados/ceph_test_rados_api_aio-aio.obj `if test -f 'test/librados/aio.cc'; then $(CYGPATH_W) 'test/librados/aio.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/aio.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_aio-aio.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/aio.cc' object='test/librados/ceph_test_rados_api_aio-aio.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Log.obj `if test -f 'log/Log.cc'; then $(CYGPATH_W) 'log/Log.cc'; else $(CYGPATH_W) '$(srcdir)/log/Log.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_aio-aio.obj `if test -f 'test/librados/aio.cc'; then $(CYGPATH_W) 'test/librados/aio.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/aio.cc'; fi`
 
-ceph_test_librgw_build-SubsystemMap.o: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-SubsystemMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Tpo -c -o ceph_test_librgw_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_librgw_build-SubsystemMap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_aio-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_aio-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Tpo -c -o test/librados/ceph_test_rados_api_aio-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_aio-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-SubsystemMap.o `test -f 'log/SubsystemMap.cc' || echo '$(srcdir)/'`log/SubsystemMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_aio-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-SubsystemMap.obj: log/SubsystemMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-SubsystemMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Tpo -c -o ceph_test_librgw_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Tpo $(DEPDIR)/ceph_test_librgw_build-SubsystemMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/SubsystemMap.cc' object='ceph_test_librgw_build-SubsystemMap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_aio-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_aio-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Tpo -c -o test/librados/ceph_test_rados_api_aio-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_aio-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_aio-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-SubsystemMap.obj `if test -f 'log/SubsystemMap.cc'; then $(CYGPATH_W) 'log/SubsystemMap.cc'; else $(CYGPATH_W) '$(srcdir)/log/SubsystemMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_aio-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonCap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonCap.Tpo -c -o ceph_test_librgw_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonCap.Tpo $(DEPDIR)/ceph_test_librgw_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_librgw_build-MonCap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cls-cls.o: test/librados/cls.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cls-cls.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo -c -o test/librados/ceph_test_rados_api_cls-cls.o `test -f 'test/librados/cls.cc' || echo '$(srcdir)/'`test/librados/cls.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cls.cc' object='test/librados/ceph_test_rados_api_cls-cls.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cls-cls.o `test -f 'test/librados/cls.cc' || echo '$(srcdir)/'`test/librados/cls.cc
 
-ceph_test_librgw_build-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonCap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonCap.Tpo -c -o ceph_test_librgw_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonCap.Tpo $(DEPDIR)/ceph_test_librgw_build-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='ceph_test_librgw_build-MonCap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cls-cls.obj: test/librados/cls.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cls-cls.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo -c -o test/librados/ceph_test_rados_api_cls-cls.obj `if test -f 'test/librados/cls.cc'; then $(CYGPATH_W) 'test/librados/cls.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cls.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cls-cls.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cls.cc' object='test/librados/ceph_test_rados_api_cls-cls.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cls-cls.obj `if test -f 'test/librados/cls.cc'; then $(CYGPATH_W) 'test/librados/cls.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cls.cc'; fi`
 
-ceph_test_librgw_build-MonClient.o: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonClient.Tpo -c -o ceph_test_librgw_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonClient.Tpo $(DEPDIR)/ceph_test_librgw_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_librgw_build-MonClient.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cls-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cls-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Tpo -c -o test/librados/ceph_test_rados_api_cls-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_cls-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cls-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-MonClient.obj: mon/MonClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonClient.Tpo -c -o ceph_test_librgw_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonClient.Tpo $(DEPDIR)/ceph_test_librgw_build-MonClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='ceph_test_librgw_build-MonClient.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cls-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cls-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Tpo -c -o test/librados/ceph_test_rados_api_cls-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cls-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_cls-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cls-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-MonMap.o: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonMap.Tpo -c -o ceph_test_librgw_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonMap.Tpo $(DEPDIR)/ceph_test_librgw_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_librgw_build-MonMap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cmd-cmd.o: test/librados/cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cmd-cmd.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo -c -o test/librados/ceph_test_rados_api_cmd-cmd.o `test -f 'test/librados/cmd.cc' || echo '$(srcdir)/'`test/librados/cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cmd.cc' object='test/librados/ceph_test_rados_api_cmd-cmd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cmd-cmd.o `test -f 'test/librados/cmd.cc' || echo '$(srcdir)/'`test/librados/cmd.cc
 
-ceph_test_librgw_build-MonMap.obj: mon/MonMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MonMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MonMap.Tpo -c -o ceph_test_librgw_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MonMap.Tpo $(DEPDIR)/ceph_test_librgw_build-MonMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='ceph_test_librgw_build-MonMap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cmd-cmd.obj: test/librados/cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cmd-cmd.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo -c -o test/librados/ceph_test_rados_api_cmd-cmd.obj `if test -f 'test/librados/cmd.cc'; then $(CYGPATH_W) 'test/librados/cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cmd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cmd.cc' object='test/librados/ceph_test_rados_api_cmd-cmd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cmd-cmd.obj `if test -f 'test/librados/cmd.cc'; then $(CYGPATH_W) 'test/librados/cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cmd.cc'; fi`
 
-ceph_test_librgw_build-Accepter.o: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Accepter.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Accepter.Tpo -c -o ceph_test_librgw_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Accepter.Tpo $(DEPDIR)/ceph_test_librgw_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_librgw_build-Accepter.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cmd-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cmd-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo -c -o test/librados/ceph_test_rados_api_cmd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_cmd-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Accepter.o `test -f 'msg/Accepter.cc' || echo '$(srcdir)/'`msg/Accepter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cmd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Accepter.obj: msg/Accepter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Accepter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Accepter.Tpo -c -o ceph_test_librgw_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Accepter.Tpo $(DEPDIR)/ceph_test_librgw_build-Accepter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Accepter.cc' object='ceph_test_librgw_build-Accepter.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_cmd-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_cmd-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo -c -o test/librados/ceph_test_rados_api_cmd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_cmd-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_cmd-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Accepter.obj `if test -f 'msg/Accepter.cc'; then $(CYGPATH_W) 'msg/Accepter.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Accepter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_cmd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-DispatchQueue.o: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-DispatchQueue.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Tpo -c -o ceph_test_librgw_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_librgw_build-DispatchQueue.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_io-io.o: test/librados/io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_io-io.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Tpo -c -o test/librados/ceph_test_rados_api_io-io.o `test -f 'test/librados/io.cc' || echo '$(srcdir)/'`test/librados/io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/io.cc' object='test/librados/ceph_test_rados_api_io-io.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-DispatchQueue.o `test -f 'msg/DispatchQueue.cc' || echo '$(srcdir)/'`msg/DispatchQueue.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_io-io.o `test -f 'test/librados/io.cc' || echo '$(srcdir)/'`test/librados/io.cc
 
-ceph_test_librgw_build-DispatchQueue.obj: msg/DispatchQueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-DispatchQueue.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Tpo -c -o ceph_test_librgw_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Tpo $(DEPDIR)/ceph_test_librgw_build-DispatchQueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/DispatchQueue.cc' object='ceph_test_librgw_build-DispatchQueue.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_io-io.obj: test/librados/io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_io-io.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Tpo -c -o test/librados/ceph_test_rados_api_io-io.obj `if test -f 'test/librados/io.cc'; then $(CYGPATH_W) 'test/librados/io.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/io.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_io-io.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/io.cc' object='test/librados/ceph_test_rados_api_io-io.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-DispatchQueue.obj `if test -f 'msg/DispatchQueue.cc'; then $(CYGPATH_W) 'msg/DispatchQueue.cc'; else $(CYGPATH_W) '$(srcdir)/msg/DispatchQueue.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_io-io.obj `if test -f 'test/librados/io.cc'; then $(CYGPATH_W) 'test/librados/io.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/io.cc'; fi`
 
-ceph_test_librgw_build-Message.o: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Message.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Message.Tpo -c -o ceph_test_librgw_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Message.Tpo $(DEPDIR)/ceph_test_librgw_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_librgw_build-Message.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_io-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_io-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Tpo -c -o test/librados/ceph_test_rados_api_io-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_io-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Message.o `test -f 'msg/Message.cc' || echo '$(srcdir)/'`msg/Message.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_io-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Message.obj: msg/Message.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Message.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Message.Tpo -c -o ceph_test_librgw_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Message.Tpo $(DEPDIR)/ceph_test_librgw_build-Message.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Message.cc' object='ceph_test_librgw_build-Message.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_io-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_io-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Tpo -c -o test/librados/ceph_test_rados_api_io-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_io-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_io-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Message.obj `if test -f 'msg/Message.cc'; then $(CYGPATH_W) 'msg/Message.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Message.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_io-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-RefCountedObj.o: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RefCountedObj.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Tpo -c -o ceph_test_librgw_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_librgw_build-RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_list-list.o: test/librados/list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_list-list.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Tpo -c -o test/librados/ceph_test_rados_api_list-list.o `test -f 'test/librados/list.cc' || echo '$(srcdir)/'`test/librados/list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/list.cc' object='test/librados/ceph_test_rados_api_list-list.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_list-list.o `test -f 'test/librados/list.cc' || echo '$(srcdir)/'`test/librados/list.cc
 
-ceph_test_librgw_build-RefCountedObj.obj: common/RefCountedObj.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RefCountedObj.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Tpo -c -o ceph_test_librgw_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Tpo $(DEPDIR)/ceph_test_librgw_build-RefCountedObj.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='ceph_test_librgw_build-RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_list-list.obj: test/librados/list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_list-list.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Tpo -c -o test/librados/ceph_test_rados_api_list-list.obj `if test -f 'test/librados/list.cc'; then $(CYGPATH_W) 'test/librados/list.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/list.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_list-list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/list.cc' object='test/librados/ceph_test_rados_api_list-list.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_list-list.obj `if test -f 'test/librados/list.cc'; then $(CYGPATH_W) 'test/librados/list.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/list.cc'; fi`
 
-ceph_test_librgw_build-Messenger.o: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Messenger.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Messenger.Tpo -c -o ceph_test_librgw_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Messenger.Tpo $(DEPDIR)/ceph_test_librgw_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_librgw_build-Messenger.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_list-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_list-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Tpo -c -o test/librados/ceph_test_rados_api_list-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_list-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Messenger.o `test -f 'msg/Messenger.cc' || echo '$(srcdir)/'`msg/Messenger.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_list-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-Messenger.obj: msg/Messenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Messenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Messenger.Tpo -c -o ceph_test_librgw_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Messenger.Tpo $(DEPDIR)/ceph_test_librgw_build-Messenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Messenger.cc' object='ceph_test_librgw_build-Messenger.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_list-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_list-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Tpo -c -o test/librados/ceph_test_rados_api_list-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_list-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_list-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Messenger.obj `if test -f 'msg/Messenger.cc'; then $(CYGPATH_W) 'msg/Messenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Messenger.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_list-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-Pipe.o: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Pipe.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Pipe.Tpo -c -o ceph_test_librgw_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Pipe.Tpo $(DEPDIR)/ceph_test_librgw_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_librgw_build-Pipe.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_lock-lock.o: test/librados/lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_lock-lock.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo -c -o test/librados/ceph_test_rados_api_lock-lock.o `test -f 'test/librados/lock.cc' || echo '$(srcdir)/'`test/librados/lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/lock.cc' object='test/librados/ceph_test_rados_api_lock-lock.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Pipe.o `test -f 'msg/Pipe.cc' || echo '$(srcdir)/'`msg/Pipe.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_lock-lock.o `test -f 'test/librados/lock.cc' || echo '$(srcdir)/'`test/librados/lock.cc
 
-ceph_test_librgw_build-Pipe.obj: msg/Pipe.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Pipe.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Pipe.Tpo -c -o ceph_test_librgw_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Pipe.Tpo $(DEPDIR)/ceph_test_librgw_build-Pipe.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/Pipe.cc' object='ceph_test_librgw_build-Pipe.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_lock-lock.obj: test/librados/lock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_lock-lock.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo -c -o test/librados/ceph_test_rados_api_lock-lock.obj `if test -f 'test/librados/lock.cc'; then $(CYGPATH_W) 'test/librados/lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/lock.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_lock-lock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/lock.cc' object='test/librados/ceph_test_rados_api_lock-lock.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Pipe.obj `if test -f 'msg/Pipe.cc'; then $(CYGPATH_W) 'msg/Pipe.cc'; else $(CYGPATH_W) '$(srcdir)/msg/Pipe.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_lock-lock.obj `if test -f 'test/librados/lock.cc'; then $(CYGPATH_W) 'test/librados/lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/lock.cc'; fi`
 
-ceph_test_librgw_build-SimpleMessenger.o: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-SimpleMessenger.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Tpo -c -o ceph_test_librgw_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_librgw_build-SimpleMessenger.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_lock-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_lock-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Tpo -c -o test/librados/ceph_test_rados_api_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_lock-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-SimpleMessenger.o `test -f 'msg/SimpleMessenger.cc' || echo '$(srcdir)/'`msg/SimpleMessenger.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-SimpleMessenger.obj: msg/SimpleMessenger.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-SimpleMessenger.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Tpo -c -o ceph_test_librgw_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Tpo $(DEPDIR)/ceph_test_librgw_build-SimpleMessenger.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/SimpleMessenger.cc' object='ceph_test_librgw_build-SimpleMessenger.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_lock-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_lock-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Tpo -c -o test/librados/ceph_test_rados_api_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_lock-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_lock-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-SimpleMessenger.obj `if test -f 'msg/SimpleMessenger.cc'; then $(CYGPATH_W) 'msg/SimpleMessenger.cc'; else $(CYGPATH_W) '$(srcdir)/msg/SimpleMessenger.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-msg_types.o: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-msg_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-msg_types.Tpo -c -o ceph_test_librgw_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-msg_types.Tpo $(DEPDIR)/ceph_test_librgw_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_librgw_build-msg_types.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_misc-misc.o: test/librados/misc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_misc-misc.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo -c -o test/librados/ceph_test_rados_api_misc-misc.o `test -f 'test/librados/misc.cc' || echo '$(srcdir)/'`test/librados/misc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/misc.cc' object='test/librados/ceph_test_rados_api_misc-misc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-msg_types.o `test -f 'msg/msg_types.cc' || echo '$(srcdir)/'`msg/msg_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_misc-misc.o `test -f 'test/librados/misc.cc' || echo '$(srcdir)/'`test/librados/misc.cc
 
-ceph_test_librgw_build-msg_types.obj: msg/msg_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-msg_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-msg_types.Tpo -c -o ceph_test_librgw_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-msg_types.Tpo $(DEPDIR)/ceph_test_librgw_build-msg_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='msg/msg_types.cc' object='ceph_test_librgw_build-msg_types.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_misc-misc.obj: test/librados/misc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_misc-misc.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo -c -o test/librados/ceph_test_rados_api_misc-misc.obj `if test -f 'test/librados/misc.cc'; then $(CYGPATH_W) 'test/librados/misc.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/misc.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_misc-misc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/misc.cc' object='test/librados/ceph_test_rados_api_misc-misc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-msg_types.obj `if test -f 'msg/msg_types.cc'; then $(CYGPATH_W) 'msg/msg_types.cc'; else $(CYGPATH_W) '$(srcdir)/msg/msg_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_misc-misc.obj `if test -f 'test/librados/misc.cc'; then $(CYGPATH_W) 'test/librados/misc.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/misc.cc'; fi`
 
-ceph_test_librgw_build-hobject.o: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-hobject.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-hobject.Tpo -c -o ceph_test_librgw_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-hobject.Tpo $(DEPDIR)/ceph_test_librgw_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_librgw_build-hobject.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_misc-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_misc-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Tpo -c -o test/librados/ceph_test_rados_api_misc-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_misc-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-hobject.o `test -f 'os/hobject.cc' || echo '$(srcdir)/'`os/hobject.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_misc-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-hobject.obj: os/hobject.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-hobject.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-hobject.Tpo -c -o ceph_test_librgw_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-hobject.Tpo $(DEPDIR)/ceph_test_librgw_build-hobject.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/hobject.cc' object='ceph_test_librgw_build-hobject.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_misc-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_misc-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Tpo -c -o test/librados/ceph_test_rados_api_misc-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_misc-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_misc-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-hobject.obj `if test -f 'os/hobject.cc'; then $(CYGPATH_W) 'os/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/os/hobject.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_misc-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-OSDMap.o: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-OSDMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-OSDMap.Tpo -c -o ceph_test_librgw_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-OSDMap.Tpo $(DEPDIR)/ceph_test_librgw_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_librgw_build-OSDMap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_pool-pool.o: test/librados/pool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_pool-pool.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo -c -o test/librados/ceph_test_rados_api_pool-pool.o `test -f 'test/librados/pool.cc' || echo '$(srcdir)/'`test/librados/pool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/pool.cc' object='test/librados/ceph_test_rados_api_pool-pool.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_pool-pool.o `test -f 'test/librados/pool.cc' || echo '$(srcdir)/'`test/librados/pool.cc
 
-ceph_test_librgw_build-OSDMap.obj: osd/OSDMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-OSDMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-OSDMap.Tpo -c -o ceph_test_librgw_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-OSDMap.Tpo $(DEPDIR)/ceph_test_librgw_build-OSDMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='ceph_test_librgw_build-OSDMap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_pool-pool.obj: test/librados/pool.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_pool-pool.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo -c -o test/librados/ceph_test_rados_api_pool-pool.obj `if test -f 'test/librados/pool.cc'; then $(CYGPATH_W) 'test/librados/pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/pool.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_pool-pool.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/pool.cc' object='test/librados/ceph_test_rados_api_pool-pool.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_pool-pool.obj `if test -f 'test/librados/pool.cc'; then $(CYGPATH_W) 'test/librados/pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/pool.cc'; fi`
 
-ceph_test_librgw_build-osd_types.o: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-osd_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-osd_types.Tpo -c -o ceph_test_librgw_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-osd_types.Tpo $(DEPDIR)/ceph_test_librgw_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_librgw_build-osd_types.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_pool-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_pool-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Tpo -c -o test/librados/ceph_test_rados_api_pool-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_pool-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_pool-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-osd_types.obj: osd/osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-osd_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-osd_types.Tpo -c -o ceph_test_librgw_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-osd_types.Tpo $(DEPDIR)/ceph_test_librgw_build-osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='ceph_test_librgw_build-osd_types.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_pool-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_pool-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Tpo -c -o test/librados/ceph_test_rados_api_pool-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_pool-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_pool-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_pool-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-MDSMap.o: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MDSMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MDSMap.Tpo -c -o ceph_test_librgw_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MDSMap.Tpo $(DEPDIR)/ceph_test_librgw_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_librgw_build-MDSMap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_snapshots-snapshots.o: test/librados/snapshots.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_snapshots-snapshots.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo -c -o test/librados/ceph_test_rados_api_snapshots-snapshots.o `test -f 'test/librados/snapshots.cc' || echo '$(srcdir)/'`test/librados/snapshots.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/snapshots.cc' object='test/librados/ceph_test_rados_api_snapshots-snapshots.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_snapshots-snapshots.o `test -f 'test/librados/snapshots.cc' || echo '$(srcdir)/'`test/librados/snapshots.cc
 
-ceph_test_librgw_build-MDSMap.obj: mds/MDSMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-MDSMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-MDSMap.Tpo -c -o ceph_test_librgw_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-MDSMap.Tpo $(DEPDIR)/ceph_test_librgw_build-MDSMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='ceph_test_librgw_build-MDSMap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_snapshots-snapshots.obj: test/librados/snapshots.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_snapshots-snapshots.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo -c -o test/librados/ceph_test_rados_api_snapshots-snapshots.obj `if test -f 'test/librados/snapshots.cc'; then $(CYGPATH_W) 'test/librados/snapshots.cc'; else $(CYGPATH_W) '$(srcdir)/test/l [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/snapshots.cc' object='test/librados/ceph_test_rados_api_snapshots-snapshots.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_snapshots-snapshots.obj `if test -f 'test/librados/snapshots.cc'; then $(CYGPATH_W) 'test/librados/snapshots.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/snapshots.cc'; fi`
 
-ceph_test_librgw_build-inode_backtrace.o: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-inode_backtrace.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Tpo -c -o ceph_test_librgw_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_librgw_build-inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_snapshots-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_snapshots-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo -c -o test/librados/ceph_test_rados_api_snapshots-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_snapshots-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_snapshots-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-inode_backtrace.obj: mds/inode_backtrace.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-inode_backtrace.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Tpo -c -o ceph_test_librgw_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Tpo $(DEPDIR)/ceph_test_librgw_build-inode_backtrace.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='ceph_test_librgw_build-inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_snapshots-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_snapshots-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo -c -o test/librados/ceph_test_rados_api_snapshots-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_snapshots-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_snapshots-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_snapshots-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-mdstypes.o: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-mdstypes.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-mdstypes.Tpo -c -o ceph_test_librgw_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-mdstypes.Tpo $(DEPDIR)/ceph_test_librgw_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_librgw_build-mdstypes.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_stat-stat.o: test/librados/stat.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_stat-stat.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo -c -o test/librados/ceph_test_rados_api_stat-stat.o `test -f 'test/librados/stat.cc' || echo '$(srcdir)/'`test/librados/stat.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/stat.cc' object='test/librados/ceph_test_rados_api_stat-stat.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_stat-stat.o `test -f 'test/librados/stat.cc' || echo '$(srcdir)/'`test/librados/stat.cc
 
-ceph_test_librgw_build-mdstypes.obj: mds/mdstypes.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-mdstypes.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-mdstypes.Tpo -c -o ceph_test_librgw_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-mdstypes.Tpo $(DEPDIR)/ceph_test_librgw_build-mdstypes.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='ceph_test_librgw_build-mdstypes.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_stat-stat.obj: test/librados/stat.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_stat-stat.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo -c -o test/librados/ceph_test_rados_api_stat-stat.obj `if test -f 'test/librados/stat.cc'; then $(CYGPATH_W) 'test/librados/stat.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/stat.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_stat-stat.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/stat.cc' object='test/librados/ceph_test_rados_api_stat-stat.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_stat-stat.obj `if test -f 'test/librados/stat.cc'; then $(CYGPATH_W) 'test/librados/stat.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/stat.cc'; fi`
 
-ceph_test_librgw_build-blkdev.o: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-blkdev.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-blkdev.Tpo -c -o ceph_test_librgw_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-blkdev.Tpo $(DEPDIR)/ceph_test_librgw_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_librgw_build-blkdev.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_stat-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_stat-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Tpo -c -o test/librados/ceph_test_rados_api_stat-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_stat-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_stat-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-blkdev.obj: common/blkdev.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-blkdev.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-blkdev.Tpo -c -o ceph_test_librgw_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-blkdev.Tpo $(DEPDIR)/ceph_test_librgw_build-blkdev.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='ceph_test_librgw_build-blkdev.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_stat-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_stat-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Tpo -c -o test/librados/ceph_test_rados_api_stat-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_stat-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_stat-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_stat-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-common_init.o: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-common_init.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-common_init.Tpo -c -o ceph_test_librgw_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-common_init.Tpo $(DEPDIR)/ceph_test_librgw_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_librgw_build-common_init.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_watch_notify-watch_notify.o: test/librados/watch_notify.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_watch_notify-watch_notify.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo -c -o test/librados/ceph_test_rados_api_watch_notify-watch_notify.o `test -f 'test/librados/watch_notify.cc' || echo '$(srcdir)/'`test/librados/watch_notify.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/watch_notify.cc' object='test/librados/ceph_test_rados_api_watch_notify-watch_notify.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_watch_notify-watch_notify.o `test -f 'test/librados/watch_notify.cc' || echo '$(srcdir)/'`test/librados/watch_notify.cc
 
-ceph_test_librgw_build-common_init.obj: common/common_init.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-common_init.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-common_init.Tpo -c -o ceph_test_librgw_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-common_init.Tpo $(DEPDIR)/ceph_test_librgw_build-common_init.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='ceph_test_librgw_build-common_init.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_watch_notify-watch_notify.obj: test/librados/watch_notify.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_watch_notify-watch_notify.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo -c -o test/librados/ceph_test_rados_api_watch_notify-watch_notify.obj `if test -f 'test/librados/watch_notify.cc'; then $(CYGPATH_W) 'test/librados/watch_notify.cc'; else $(C [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/watch_notify.cc' object='test/librados/ceph_test_rados_api_watch_notify-watch_notify.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_watch_notify-watch_notify.obj `if test -f 'test/librados/watch_notify.cc'; then $(CYGPATH_W) 'test/librados/watch_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/watch_notify.cc'; fi`
 
-ceph_test_librgw_build-ceph_argparse.o: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_argparse.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Tpo -c -o ceph_test_librgw_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_librgw_build-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_watch_notify-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_watch_notify-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo -c -o test/librados/ceph_test_rados_api_watch_notify-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_watch_notify-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_watch_notify-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-ceph_argparse.obj: common/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_argparse.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Tpo -c -o ceph_test_librgw_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='ceph_test_librgw_build-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_rados_api_watch_notify-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_rados_api_watch_notify-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo -c -o test/librados/ceph_test_rados_api_watch_notify-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo test/librados/$(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_rados_api_watch_notify-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_rados_api_watch_notify-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-ceph_context.o: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_context.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_context.Tpo -c -o ceph_test_librgw_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_context.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_librgw_build-ceph_context.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_snap_mapper-test_snap_mapper.o: test/test_snap_mapper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_snap_mapper-test_snap_mapper.o -MD -MP -MF test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo -c -o test/ceph_test_snap_mapper-test_snap_mapper.o `test -f 'test/test_snap_mapper.cc' || echo '$(srcdir)/'`test/test_snap_mapper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_snap_mapper.cc' object='test/ceph_test_snap_mapper-test_snap_mapper.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_snap_mapper-test_snap_mapper.o `test -f 'test/test_snap_mapper.cc' || echo '$(srcdir)/'`test/test_snap_mapper.cc
 
-ceph_test_librgw_build-ceph_context.obj: common/ceph_context.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_context.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_context.Tpo -c -o ceph_test_librgw_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_context.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_context.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='ceph_test_librgw_build-ceph_context.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_snap_mapper-test_snap_mapper.obj: test/test_snap_mapper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_snap_mapper-test_snap_mapper.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo -c -o test/ceph_test_snap_mapper-test_snap_mapper.obj `if test -f 'test/test_snap_mapper.cc'; then $(CYGPATH_W) 'test/test_snap_mapper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_snap_mapper.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo test/$(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_snap_mapper.cc' object='test/ceph_test_snap_mapper-test_snap_mapper.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_snap_mapper-test_snap_mapper.obj `if test -f 'test/test_snap_mapper.cc'; then $(CYGPATH_W) 'test/test_snap_mapper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_snap_mapper.cc'; fi`
 
-ceph_test_librgw_build-buffer.o: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-buffer.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-buffer.Tpo -c -o ceph_test_librgw_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-buffer.Tpo $(DEPDIR)/ceph_test_librgw_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_librgw_build-buffer.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_stress_watch-test_stress_watch.o: test/test_stress_watch.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_stress_watch-test_stress_watch.o -MD -MP -MF test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo -c -o test/ceph_test_stress_watch-test_stress_watch.o `test -f 'test/test_stress_watch.cc' || echo '$(srcdir)/'`test/test_stress_watch.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_stress_watch.cc' object='test/ceph_test_stress_watch-test_stress_watch.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_stress_watch-test_stress_watch.o `test -f 'test/test_stress_watch.cc' || echo '$(srcdir)/'`test/test_stress_watch.cc
 
-ceph_test_librgw_build-buffer.obj: common/buffer.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-buffer.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-buffer.Tpo -c -o ceph_test_librgw_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-buffer.Tpo $(DEPDIR)/ceph_test_librgw_build-buffer.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='ceph_test_librgw_build-buffer.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_test_stress_watch-test_stress_watch.obj: test/test_stress_watch.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_test_stress_watch-test_stress_watch.obj -MD -MP -MF test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo -c -o test/ceph_test_stress_watch-test_stress_watch.obj `if test -f 'test/test_stress_watch.cc'; then $(CYGPATH_W) 'test/test_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_stress_watch.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo test/$(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_stress_watch.cc' object='test/ceph_test_stress_watch-test_stress_watch.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_test_stress_watch-test_stress_watch.obj `if test -f 'test/test_stress_watch.cc'; then $(CYGPATH_W) 'test/test_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_stress_watch.cc'; fi`
 
-ceph_test_librgw_build-code_environment.o: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-code_environment.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-code_environment.Tpo -c -o ceph_test_librgw_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-code_environment.Tpo $(DEPDIR)/ceph_test_librgw_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_librgw_build-code_environment.o' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_stress_watch-test.o: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_stress_watch-test.o -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Tpo -c -o test/librados/ceph_test_stress_watch-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Tpo test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_stress_watch-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_stress_watch-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
 
-ceph_test_librgw_build-code_environment.obj: common/code_environment.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-code_environment.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-code_environment.Tpo -c -o ceph_test_librgw_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-code_environment.Tpo $(DEPDIR)/ceph_test_librgw_build-code_environment.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='ceph_test_librgw_build-code_environment.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/ceph_test_stress_watch-test.obj: test/librados/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT test/librados/ceph_test_stress_watch-test.obj -MD -MP -MF test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Tpo -c -o test/librados/ceph_test_stress_watch-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Tpo test/librados/$(DEPDIR)/ceph_test_stress_watch-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='test/librados/ceph_test_stress_watch-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/ceph_test_stress_watch-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
 
-ceph_test_librgw_build-dout.o: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-dout.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-dout.Tpo -c -o ceph_test_librgw_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-dout.Tpo $(DEPDIR)/ceph_test_librgw_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_librgw_build-dout.o' libtool=no @AMDEPBACKSLASH@
+test/ceph_xattr_bench-xattr_bench.o: test/xattr_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_xattr_bench-xattr_bench.o -MD -MP -MF test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo -c -o test/ceph_xattr_bench-xattr_bench.o `test -f 'test/xattr_bench.cc' || echo '$(srcdir)/'`test/xattr_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/xattr_bench.cc' object='test/ceph_xattr_bench-xattr_bench.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_xattr_bench-xattr_bench.o `test -f 'test/xattr_bench.cc' || echo '$(srcdir)/'`test/xattr_bench.cc
 
-ceph_test_librgw_build-dout.obj: common/dout.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-dout.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-dout.Tpo -c -o ceph_test_librgw_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-dout.Tpo $(DEPDIR)/ceph_test_librgw_build-dout.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='ceph_test_librgw_build-dout.obj' libtool=no @AMDEPBACKSLASH@
+test/ceph_xattr_bench-xattr_bench.obj: test/xattr_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -MT test/ceph_xattr_bench-xattr_bench.obj -MD -MP -MF test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo -c -o test/ceph_xattr_bench-xattr_bench.obj `if test -f 'test/xattr_bench.cc'; then $(CYGPATH_W) 'test/xattr_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/xattr_bench.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo test/$(DEPDIR)/ceph_xattr_bench-xattr_bench.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/xattr_bench.cc' object='test/ceph_xattr_bench-xattr_bench.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -c -o test/ceph_xattr_bench-xattr_bench.obj `if test -f 'test/xattr_bench.cc'; then $(CYGPATH_W) 'test/xattr_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/xattr_bench.cc'; fi`
 
-ceph_test_librgw_build-signal.o: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-signal.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-signal.Tpo -c -o ceph_test_librgw_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-signal.Tpo $(DEPDIR)/ceph_test_librgw_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_librgw_build-signal.o' libtool=no @AMDEPBACKSLASH@
+tools/rest_bench-rest_bench.o: tools/rest_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT tools/rest_bench-rest_bench.o -MD -MP -MF tools/$(DEPDIR)/rest_bench-rest_bench.Tpo -c -o tools/rest_bench-rest_bench.o `test -f 'tools/rest_bench.cc' || echo '$(srcdir)/'`tools/rest_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) tools/$(DEPDIR)/rest_bench-rest_bench.Tpo tools/$(DEPDIR)/rest_bench-rest_bench.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/rest_bench.cc' object='tools/rest_bench-rest_bench.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o tools/rest_bench-rest_bench.o `test -f 'tools/rest_bench.cc' || echo '$(srcdir)/'`tools/rest_bench.cc
 
-ceph_test_librgw_build-signal.obj: common/signal.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-signal.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-signal.Tpo -c -o ceph_test_librgw_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-signal.Tpo $(DEPDIR)/ceph_test_librgw_build-signal.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='ceph_test_librgw_build-signal.obj' libtool=no @AMDEPBACKSLASH@
+tools/rest_bench-rest_bench.obj: tools/rest_bench.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT tools/rest_bench-rest_bench.obj -MD -MP -MF tools/$(DEPDIR)/rest_bench-rest_bench.Tpo -c -o tools/rest_bench-rest_bench.obj `if test -f 'tools/rest_bench.cc'; then $(CYGPATH_W) 'tools/rest_bench.cc'; else $(CYGPATH_W) '$(srcdir)/tools/rest_bench.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) tools/$(DEPDIR)/rest_bench-rest_bench.Tpo tools/$(DEPDIR)/rest_bench-rest_bench.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/rest_bench.cc' object='tools/rest_bench-rest_bench.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o tools/rest_bench-rest_bench.obj `if test -f 'tools/rest_bench.cc'; then $(CYGPATH_W) 'tools/rest_bench.cc'; else $(CYGPATH_W) '$(srcdir)/tools/rest_bench.cc'; fi`
 
-ceph_test_librgw_build-simple_spin.o: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-simple_spin.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-simple_spin.Tpo -c -o ceph_test_librgw_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-simple_spin.Tpo $(DEPDIR)/ceph_test_librgw_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_librgw_build-simple_spin.o' libtool=no @AMDEPBACKSLASH@
+common/rest_bench-obj_bencher.o: common/obj_bencher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT common/rest_bench-obj_bencher.o -MD -MP -MF common/$(DEPDIR)/rest_bench-obj_bencher.Tpo -c -o common/rest_bench-obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/rest_bench-obj_bencher.Tpo common/$(DEPDIR)/rest_bench-obj_bencher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='common/rest_bench-obj_bencher.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o common/rest_bench-obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
 
-ceph_test_librgw_build-simple_spin.obj: common/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-simple_spin.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-simple_spin.Tpo -c -o ceph_test_librgw_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-simple_spin.Tpo $(DEPDIR)/ceph_test_librgw_build-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='ceph_test_librgw_build-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
+common/rest_bench-obj_bencher.obj: common/obj_bencher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT common/rest_bench-obj_bencher.obj -MD -MP -MF common/$(DEPDIR)/rest_bench-obj_bencher.Tpo -c -o common/rest_bench-obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/rest_bench-obj_bencher.Tpo common/$(DEPDIR)/rest_bench-obj_bencher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='common/rest_bench-obj_bencher.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o common/rest_bench-obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
 
-ceph_test_librgw_build-Thread.o: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Thread.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Thread.Tpo -c -o ceph_test_librgw_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Thread.Tpo $(DEPDIR)/ceph_test_librgw_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_librgw_build-Thread.o' libtool=no @AMDEPBACKSLASH@
+test/test_build_libcephfs-buildtest_skeleton.o: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_libcephfs-buildtest_skeleton.o -MD -MP -MF test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Tpo -c -o test/test_build_libcephfs-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_libcephfs-buildtest_skeleton.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_libcephfs-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
 
-ceph_test_librgw_build-Thread.obj: common/Thread.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Thread.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Thread.Tpo -c -o ceph_test_librgw_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Thread.Tpo $(DEPDIR)/ceph_test_librgw_build-Thread.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='ceph_test_librgw_build-Thread.obj' libtool=no @AMDEPBACKSLASH@
+test/test_build_libcephfs-buildtest_skeleton.obj: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_libcephfs-buildtest_skeleton.obj -MD -MP -MF test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Tpo -c -o test/test_build_libcephfs-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_libcephfs-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_libcephfs-buildtest_skeleton.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_libcephfs-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
 
-ceph_test_librgw_build-Formatter.o: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Formatter.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Formatter.Tpo -c -o ceph_test_librgw_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Formatter.Tpo $(DEPDIR)/ceph_test_librgw_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_librgw_build-Formatter.o' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Objecter.o: osdc/Objecter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Objecter.o -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Tpo -c -o osdc/test_build_libcephfs-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='osdc/test_build_libcephfs-Objecter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
 
-ceph_test_librgw_build-Formatter.obj: common/Formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Formatter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Formatter.Tpo -c -o ceph_test_librgw_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Formatter.Tpo $(DEPDIR)/ceph_test_librgw_build-Formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='ceph_test_librgw_build-Formatter.obj' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Objecter.obj: osdc/Objecter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Objecter.obj -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Tpo -c -o osdc/test_build_libcephfs-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Objecter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='osdc/test_build_libcephfs-Objecter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
 
-ceph_test_librgw_build-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-HeartbeatMap.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Tpo -c -o ceph_test_librgw_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_librgw_build-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-ObjectCacher.o: osdc/ObjectCacher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-ObjectCacher.o -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Tpo -c -o osdc/test_build_libcephfs-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Tpo osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='osdc/test_build_libcephfs-ObjectCacher.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
 
-ceph_test_librgw_build-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Tpo -c -o ceph_test_librgw_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Tpo $(DEPDIR)/ceph_test_librgw_build-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='ceph_test_librgw_build-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-ObjectCacher.obj: osdc/ObjectCacher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-ObjectCacher.obj -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Tpo -c -o osdc/test_build_libcephfs-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Tpo osdc/$(DEPDIR)/test_build_libcephfs-ObjectCacher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='osdc/test_build_libcephfs-ObjectCacher.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
 
-ceph_test_librgw_build-ceph_fs.o: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_fs.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Tpo -c -o ceph_test_librgw_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_librgw_build-ceph_fs.o' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Filer.o: osdc/Filer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Filer.o -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Filer.Tpo -c -o osdc/test_build_libcephfs-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Filer.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Filer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='osdc/test_build_libcephfs-Filer.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_fs.o `test -f 'include/ceph_fs.cc' || echo '$(srcdir)/'`include/ceph_fs.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Filer.o `test -f 'osdc/Filer.cc' || echo '$(srcdir)/'`osdc/Filer.cc
 
-ceph_test_librgw_build-ceph_fs.obj: include/ceph_fs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_fs.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Tpo -c -o ceph_test_librgw_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_fs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_fs.cc' object='ceph_test_librgw_build-ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Filer.obj: osdc/Filer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Filer.obj -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Filer.Tpo -c -o osdc/test_build_libcephfs-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Filer.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Filer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Filer.cc' object='osdc/test_build_libcephfs-Filer.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_fs.obj `if test -f 'include/ceph_fs.cc'; then $(CYGPATH_W) 'include/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_fs.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Filer.obj `if test -f 'osdc/Filer.cc'; then $(CYGPATH_W) 'osdc/Filer.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Filer.cc'; fi`
 
-ceph_test_librgw_build-ceph_hash.o: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_hash.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Tpo -c -o ceph_test_librgw_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_librgw_build-ceph_hash.o' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Striper.o: osdc/Striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Striper.o -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Striper.Tpo -c -o osdc/test_build_libcephfs-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Striper.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Striper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='osdc/test_build_libcephfs-Striper.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_hash.o `test -f 'include/ceph_hash.cc' || echo '$(srcdir)/'`include/ceph_hash.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
 
-ceph_test_librgw_build-ceph_hash.obj: include/ceph_hash.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_hash.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Tpo -c -o ceph_test_librgw_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_hash.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_hash.cc' object='ceph_test_librgw_build-ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Striper.obj: osdc/Striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Striper.obj -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Striper.Tpo -c -o osdc/test_build_libcephfs-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Striper.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Striper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='osdc/test_build_libcephfs-Striper.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_hash.obj `if test -f 'include/ceph_hash.cc'; then $(CYGPATH_W) 'include/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_hash.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
 
-ceph_test_librgw_build-ceph_strings.o: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_strings.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Tpo -c -o ceph_test_librgw_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_librgw_build-ceph_strings.o' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Journaler.o: osdc/Journaler.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Journaler.o -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Tpo -c -o osdc/test_build_libcephfs-Journaler.o `test -f 'osdc/Journaler.cc' || echo '$(srcdir)/'`osdc/Journaler.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Journaler.cc' object='osdc/test_build_libcephfs-Journaler.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_strings.o `test -f 'include/ceph_strings.cc' || echo '$(srcdir)/'`include/ceph_strings.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Journaler.o `test -f 'osdc/Journaler.cc' || echo '$(srcdir)/'`osdc/Journaler.cc
 
-ceph_test_librgw_build-ceph_strings.obj: include/ceph_strings.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_strings.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Tpo -c -o ceph_test_librgw_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_strings.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_strings.cc' object='ceph_test_librgw_build-ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
+osdc/test_build_libcephfs-Journaler.obj: osdc/Journaler.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -MT osdc/test_build_libcephfs-Journaler.obj -MD -MP -MF osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Tpo -c -o osdc/test_build_libcephfs-Journaler.obj `if test -f 'osdc/Journaler.cc'; then $(CYGPATH_W) 'osdc/Journaler.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Journaler.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Tpo osdc/$(DEPDIR)/test_build_libcephfs-Journaler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Journaler.cc' object='osdc/test_build_libcephfs-Journaler.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_strings.obj `if test -f 'include/ceph_strings.cc'; then $(CYGPATH_W) 'include/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_strings.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcephfs_CXXFLAGS) $(CXXFLAGS) -c -o osdc/test_build_libcephfs-Journaler.obj `if test -f 'osdc/Journaler.cc'; then $(CYGPATH_W) 'osdc/Journaler.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Journaler.cc'; fi`
 
-ceph_test_librgw_build-ceph_frag.o: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_frag.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Tpo -c -o ceph_test_librgw_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_librgw_build-ceph_frag.o' libtool=no @AMDEPBACKSLASH@
+test/test_build_libcommon-buildtest_skeleton.o: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_libcommon-buildtest_skeleton.o -MD -MP -MF test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Tpo -c -o test/test_build_libcommon-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_libcommon-buildtest_skeleton.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_frag.o `test -f 'include/ceph_frag.cc' || echo '$(srcdir)/'`include/ceph_frag.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_libcommon-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
 
-ceph_test_librgw_build-ceph_frag.obj: include/ceph_frag.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_frag.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Tpo -c -o ceph_test_librgw_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_frag.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='include/ceph_frag.cc' object='ceph_test_librgw_build-ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
+test/test_build_libcommon-buildtest_skeleton.obj: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_libcommon-buildtest_skeleton.obj -MD -MP -MF test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Tpo -c -o test/test_build_libcommon-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_libcommon-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_libcommon-buildtest_skeleton.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_frag.obj `if test -f 'include/ceph_frag.cc'; then $(CYGPATH_W) 'include/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/include/ceph_frag.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_libcommon-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
 
-ceph_test_librgw_build-config.o: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-config.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-config.Tpo -c -o ceph_test_librgw_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-config.Tpo $(DEPDIR)/ceph_test_librgw_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_librgw_build-config.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-DecayCounter.o: common/DecayCounter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-DecayCounter.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-DecayCounter.Tpo -c -o common/test_build_libcommon-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-DecayCounter.Tpo common/$(DEPDIR)/test_build_libcommon-DecayCounter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='common/test_build_libcommon-DecayCounter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-DecayCounter.o `test -f 'common/DecayCounter.cc' || echo '$(srcdir)/'`common/DecayCounter.cc
 
-ceph_test_librgw_build-config.obj: common/config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-config.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-config.Tpo -c -o ceph_test_librgw_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-config.Tpo $(DEPDIR)/ceph_test_librgw_build-config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='ceph_test_librgw_build-config.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-DecayCounter.obj: common/DecayCounter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-DecayCounter.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-DecayCounter.Tpo -c -o common/test_build_libcommon-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-DecayCounter.Tpo common/$(DEPDIR)/test_build_libcommon-DecayCounter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/DecayCounter.cc' object='common/test_build_libcommon-DecayCounter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-DecayCounter.obj `if test -f 'common/DecayCounter.cc'; then $(CYGPATH_W) 'common/DecayCounter.cc'; else $(CYGPATH_W) '$(srcdir)/common/DecayCounter.cc'; fi`
 
-ceph_test_librgw_build-strtol.o: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-strtol.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-strtol.Tpo -c -o ceph_test_librgw_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-strtol.Tpo $(DEPDIR)/ceph_test_librgw_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_librgw_build-strtol.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-LogClient.o: common/LogClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-LogClient.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-LogClient.Tpo -c -o common/test_build_libcommon-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-LogClient.Tpo common/$(DEPDIR)/test_build_libcommon-LogClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='common/test_build_libcommon-LogClient.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-LogClient.o `test -f 'common/LogClient.cc' || echo '$(srcdir)/'`common/LogClient.cc
 
-ceph_test_librgw_build-strtol.obj: common/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-strtol.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-strtol.Tpo -c -o ceph_test_librgw_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-strtol.Tpo $(DEPDIR)/ceph_test_librgw_build-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='ceph_test_librgw_build-strtol.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-LogClient.obj: common/LogClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-LogClient.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-LogClient.Tpo -c -o common/test_build_libcommon-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-LogClient.Tpo common/$(DEPDIR)/test_build_libcommon-LogClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogClient.cc' object='common/test_build_libcommon-LogClient.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-LogClient.obj `if test -f 'common/LogClient.cc'; then $(CYGPATH_W) 'common/LogClient.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogClient.cc'; fi`
 
-ceph_test_librgw_build-page.o: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-page.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-page.Tpo -c -o ceph_test_librgw_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-page.Tpo $(DEPDIR)/ceph_test_librgw_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_librgw_build-page.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-LogEntry.o: common/LogEntry.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-LogEntry.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-LogEntry.Tpo -c -o common/test_build_libcommon-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-LogEntry.Tpo common/$(DEPDIR)/test_build_libcommon-LogEntry.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='common/test_build_libcommon-LogEntry.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-LogEntry.o `test -f 'common/LogEntry.cc' || echo '$(srcdir)/'`common/LogEntry.cc
 
-ceph_test_librgw_build-page.obj: common/page.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-page.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-page.Tpo -c -o ceph_test_librgw_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-page.Tpo $(DEPDIR)/ceph_test_librgw_build-page.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='ceph_test_librgw_build-page.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-LogEntry.obj: common/LogEntry.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-LogEntry.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-LogEntry.Tpo -c -o common/test_build_libcommon-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-LogEntry.Tpo common/$(DEPDIR)/test_build_libcommon-LogEntry.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/LogEntry.cc' object='common/test_build_libcommon-LogEntry.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-LogEntry.obj `if test -f 'common/LogEntry.cc'; then $(CYGPATH_W) 'common/LogEntry.cc'; else $(CYGPATH_W) '$(srcdir)/common/LogEntry.cc'; fi`
 
-ceph_test_librgw_build-lockdep.o: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-lockdep.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-lockdep.Tpo -c -o ceph_test_librgw_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-lockdep.Tpo $(DEPDIR)/ceph_test_librgw_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_librgw_build-lockdep.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-PrebufferedStreambuf.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Tpo -c -o common/test_build_libcommon-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Tpo common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='common/test_build_libcommon-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
 
-ceph_test_librgw_build-lockdep.obj: common/lockdep.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-lockdep.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-lockdep.Tpo -c -o ceph_test_librgw_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-lockdep.Tpo $(DEPDIR)/ceph_test_librgw_build-lockdep.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='ceph_test_librgw_build-lockdep.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-PrebufferedStreambuf.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Tpo -c -o common/test_build_libcommon-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStre [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Tpo common/$(DEPDIR)/test_build_libcommon-PrebufferedStreambuf.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='common/test_build_libcommon-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
 
-ceph_test_librgw_build-version.o: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-version.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-version.Tpo -c -o ceph_test_librgw_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-version.Tpo $(DEPDIR)/ceph_test_librgw_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_librgw_build-version.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-SloppyCRCMap.o: common/SloppyCRCMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-SloppyCRCMap.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Tpo -c -o common/test_build_libcommon-SloppyCRCMap.o `test -f 'common/SloppyCRCMap.cc' || echo '$(srcdir)/'`common/SloppyCRCMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Tpo common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/SloppyCRCMap.cc' object='common/test_build_libcommon-SloppyCRCMap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-SloppyCRCMap.o `test -f 'common/SloppyCRCMap.cc' || echo '$(srcdir)/'`common/SloppyCRCMap.cc
 
-ceph_test_librgw_build-version.obj: common/version.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-version.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-version.Tpo -c -o ceph_test_librgw_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-version.Tpo $(DEPDIR)/ceph_test_librgw_build-version.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='ceph_test_librgw_build-version.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-SloppyCRCMap.obj: common/SloppyCRCMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-SloppyCRCMap.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Tpo -c -o common/test_build_libcommon-SloppyCRCMap.obj `if test -f 'common/SloppyCRCMap.cc'; then $(CYGPATH_W) 'common/SloppyCRCMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/SloppyCRCMap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Tpo common/$(DEPDIR)/test_build_libcommon-SloppyCRCMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/SloppyCRCMap.cc' object='common/test_build_libcommon-SloppyCRCMap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-SloppyCRCMap.obj `if test -f 'common/SloppyCRCMap.cc'; then $(CYGPATH_W) 'common/SloppyCRCMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/SloppyCRCMap.cc'; fi`
 
-ceph_test_librgw_build-hex.o: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-hex.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-hex.Tpo -c -o ceph_test_librgw_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-hex.Tpo $(DEPDIR)/ceph_test_librgw_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_librgw_build-hex.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-BackTrace.o: common/BackTrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-BackTrace.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-BackTrace.Tpo -c -o common/test_build_libcommon-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-BackTrace.Tpo common/$(DEPDIR)/test_build_libcommon-BackTrace.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='common/test_build_libcommon-BackTrace.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-BackTrace.o `test -f 'common/BackTrace.cc' || echo '$(srcdir)/'`common/BackTrace.cc
 
-ceph_test_librgw_build-hex.obj: common/hex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-hex.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-hex.Tpo -c -o ceph_test_librgw_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-hex.Tpo $(DEPDIR)/ceph_test_librgw_build-hex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='ceph_test_librgw_build-hex.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-BackTrace.obj: common/BackTrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-BackTrace.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-BackTrace.Tpo -c -o common/test_build_libcommon-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-BackTrace.Tpo common/$(DEPDIR)/test_build_libcommon-BackTrace.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/BackTrace.cc' object='common/test_build_libcommon-BackTrace.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-BackTrace.obj `if test -f 'common/BackTrace.cc'; then $(CYGPATH_W) 'common/BackTrace.cc'; else $(CYGPATH_W) '$(srcdir)/common/BackTrace.cc'; fi`
 
-ceph_test_librgw_build-entity_name.o: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-entity_name.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-entity_name.Tpo -c -o ceph_test_librgw_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-entity_name.Tpo $(DEPDIR)/ceph_test_librgw_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_librgw_build-entity_name.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-perf_counters.o: common/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-perf_counters.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-perf_counters.Tpo -c -o common/test_build_libcommon-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-perf_counters.Tpo common/$(DEPDIR)/test_build_libcommon-perf_counters.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='common/test_build_libcommon-perf_counters.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-perf_counters.o `test -f 'common/perf_counters.cc' || echo '$(srcdir)/'`common/perf_counters.cc
 
-ceph_test_librgw_build-entity_name.obj: common/entity_name.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-entity_name.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-entity_name.Tpo -c -o ceph_test_librgw_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-entity_name.Tpo $(DEPDIR)/ceph_test_librgw_build-entity_name.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='ceph_test_librgw_build-entity_name.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-perf_counters.obj: common/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-perf_counters.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-perf_counters.Tpo -c -o common/test_build_libcommon-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-perf_counters.Tpo common/$(DEPDIR)/test_build_libcommon-perf_counters.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/perf_counters.cc' object='common/test_build_libcommon-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-perf_counters.obj `if test -f 'common/perf_counters.cc'; then $(CYGPATH_W) 'common/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/common/perf_counters.cc'; fi`
 
-ceph_test_librgw_build-ceph_crypto.o: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_crypto.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Tpo -c -o ceph_test_librgw_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_librgw_build-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Mutex.o: common/Mutex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Mutex.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Mutex.Tpo -c -o common/test_build_libcommon-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Mutex.Tpo common/$(DEPDIR)/test_build_libcommon-Mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='common/test_build_libcommon-Mutex.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Mutex.o `test -f 'common/Mutex.cc' || echo '$(srcdir)/'`common/Mutex.cc
 
-ceph_test_librgw_build-ceph_crypto.obj: common/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_crypto.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Tpo -c -o ceph_test_librgw_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='ceph_test_librgw_build-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Mutex.obj: common/Mutex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Mutex.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Mutex.Tpo -c -o common/test_build_libcommon-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Mutex.Tpo common/$(DEPDIR)/test_build_libcommon-Mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Mutex.cc' object='common/test_build_libcommon-Mutex.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Mutex.obj `if test -f 'common/Mutex.cc'; then $(CYGPATH_W) 'common/Mutex.cc'; else $(CYGPATH_W) '$(srcdir)/common/Mutex.cc'; fi`
 
-ceph_test_librgw_build-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_crypto_cms.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Tpo -c -o ceph_test_librgw_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_librgw_build-ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-OutputDataSocket.o: common/OutputDataSocket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-OutputDataSocket.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Tpo -c -o common/test_build_libcommon-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Tpo common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='common/test_build_libcommon-OutputDataSocket.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-OutputDataSocket.o `test -f 'common/OutputDataSocket.cc' || echo '$(srcdir)/'`common/OutputDataSocket.cc
 
-ceph_test_librgw_build-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_crypto_cms.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Tpo -c -o ceph_test_librgw_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_crypto_cms.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='ceph_test_librgw_build-ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-OutputDataSocket.obj: common/OutputDataSocket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-OutputDataSocket.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Tpo -c -o common/test_build_libcommon-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Tpo common/$(DEPDIR)/test_build_libcommon-OutputDataSocket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/OutputDataSocket.cc' object='common/test_build_libcommon-OutputDataSocket.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-OutputDataSocket.obj `if test -f 'common/OutputDataSocket.cc'; then $(CYGPATH_W) 'common/OutputDataSocket.cc'; else $(CYGPATH_W) '$(srcdir)/common/OutputDataSocket.cc'; fi`
 
-ceph_test_librgw_build-ceph_json.o: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_json.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_json.Tpo -c -o ceph_test_librgw_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_json.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_librgw_build-ceph_json.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-admin_socket.o: common/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-admin_socket.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-admin_socket.Tpo -c -o common/test_build_libcommon-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-admin_socket.Tpo common/$(DEPDIR)/test_build_libcommon-admin_socket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='common/test_build_libcommon-admin_socket.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-admin_socket.o `test -f 'common/admin_socket.cc' || echo '$(srcdir)/'`common/admin_socket.cc
 
-ceph_test_librgw_build-ceph_json.obj: common/ceph_json.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ceph_json.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ceph_json.Tpo -c -o ceph_test_librgw_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ceph_json.Tpo $(DEPDIR)/ceph_test_librgw_build-ceph_json.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='ceph_test_librgw_build-ceph_json.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-admin_socket.obj: common/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-admin_socket.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-admin_socket.Tpo -c -o common/test_build_libcommon-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-admin_socket.Tpo common/$(DEPDIR)/test_build_libcommon-admin_socket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket.cc' object='common/test_build_libcommon-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-admin_socket.obj `if test -f 'common/admin_socket.cc'; then $(CYGPATH_W) 'common/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket.cc'; fi`
 
-ceph_test_librgw_build-ipaddr.o: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ipaddr.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ipaddr.Tpo -c -o ceph_test_librgw_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ipaddr.Tpo $(DEPDIR)/ceph_test_librgw_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_librgw_build-ipaddr.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-admin_socket_client.o: common/admin_socket_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-admin_socket_client.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Tpo -c -o common/test_build_libcommon-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Tpo common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='common/test_build_libcommon-admin_socket_client.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-admin_socket_client.o `test -f 'common/admin_socket_client.cc' || echo '$(srcdir)/'`common/admin_socket_client.cc
 
-ceph_test_librgw_build-ipaddr.obj: common/ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-ipaddr.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-ipaddr.Tpo -c -o ceph_test_librgw_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-ipaddr.Tpo $(DEPDIR)/ceph_test_librgw_build-ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='ceph_test_librgw_build-ipaddr.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-admin_socket_client.obj: common/admin_socket_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-admin_socket_client.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Tpo -c -o common/test_build_libcommon-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Tpo common/$(DEPDIR)/test_build_libcommon-admin_socket_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/admin_socket_client.cc' object='common/test_build_libcommon-admin_socket_client.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-admin_socket_client.obj `if test -f 'common/admin_socket_client.cc'; then $(CYGPATH_W) 'common/admin_socket_client.cc'; else $(CYGPATH_W) '$(srcdir)/common/admin_socket_client.cc'; fi`
 
-ceph_test_librgw_build-pick_address.o: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-pick_address.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-pick_address.Tpo -c -o ceph_test_librgw_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-pick_address.Tpo $(DEPDIR)/ceph_test_librgw_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_librgw_build-pick_address.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-cmdparse.o: common/cmdparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-cmdparse.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-cmdparse.Tpo -c -o common/test_build_libcommon-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-cmdparse.Tpo common/$(DEPDIR)/test_build_libcommon-cmdparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='common/test_build_libcommon-cmdparse.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-cmdparse.o `test -f 'common/cmdparse.cc' || echo '$(srcdir)/'`common/cmdparse.cc
 
-ceph_test_librgw_build-pick_address.obj: common/pick_address.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-pick_address.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-pick_address.Tpo -c -o ceph_test_librgw_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-pick_address.Tpo $(DEPDIR)/ceph_test_librgw_build-pick_address.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='ceph_test_librgw_build-pick_address.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-cmdparse.obj: common/cmdparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-cmdparse.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-cmdparse.Tpo -c -o common/test_build_libcommon-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-cmdparse.Tpo common/$(DEPDIR)/test_build_libcommon-cmdparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/cmdparse.cc' object='common/test_build_libcommon-cmdparse.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-cmdparse.obj `if test -f 'common/cmdparse.cc'; then $(CYGPATH_W) 'common/cmdparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/cmdparse.cc'; fi`
 
-ceph_test_librgw_build-CrushWrapper.o: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushWrapper.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Tpo -c -o ceph_test_librgw_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_librgw_build-CrushWrapper.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Clock.o: common/Clock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Clock.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Clock.Tpo -c -o common/test_build_libcommon-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Clock.Tpo common/$(DEPDIR)/test_build_libcommon-Clock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='common/test_build_libcommon-Clock.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushWrapper.o `test -f 'crush/CrushWrapper.cc' || echo '$(srcdir)/'`crush/CrushWrapper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Clock.o `test -f 'common/Clock.cc' || echo '$(srcdir)/'`common/Clock.cc
 
-ceph_test_librgw_build-CrushWrapper.obj: crush/CrushWrapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushWrapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Tpo -c -o ceph_test_librgw_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushWrapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushWrapper.cc' object='ceph_test_librgw_build-CrushWrapper.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Clock.obj: common/Clock.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Clock.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Clock.Tpo -c -o common/test_build_libcommon-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Clock.Tpo common/$(DEPDIR)/test_build_libcommon-Clock.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Clock.cc' object='common/test_build_libcommon-Clock.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushWrapper.obj `if test -f 'crush/CrushWrapper.cc'; then $(CYGPATH_W) 'crush/CrushWrapper.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushWrapper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Clock.obj `if test -f 'common/Clock.cc'; then $(CYGPATH_W) 'common/Clock.cc'; else $(CYGPATH_W) '$(srcdir)/common/Clock.cc'; fi`
 
-ceph_test_librgw_build-CrushCompiler.o: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushCompiler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Tpo -c -o ceph_test_librgw_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_librgw_build-CrushCompiler.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Throttle.o: common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Throttle.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Throttle.Tpo -c -o common/test_build_libcommon-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Throttle.Tpo common/$(DEPDIR)/test_build_libcommon-Throttle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='common/test_build_libcommon-Throttle.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushCompiler.o `test -f 'crush/CrushCompiler.cc' || echo '$(srcdir)/'`crush/CrushCompiler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Throttle.o `test -f 'common/Throttle.cc' || echo '$(srcdir)/'`common/Throttle.cc
 
-ceph_test_librgw_build-CrushCompiler.obj: crush/CrushCompiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushCompiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Tpo -c -o ceph_test_librgw_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushCompiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushCompiler.cc' object='ceph_test_librgw_build-CrushCompiler.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Throttle.obj: common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Throttle.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Throttle.Tpo -c -o common/test_build_libcommon-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Throttle.Tpo common/$(DEPDIR)/test_build_libcommon-Throttle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Throttle.cc' object='common/test_build_libcommon-Throttle.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushCompiler.obj `if test -f 'crush/CrushCompiler.cc'; then $(CYGPATH_W) 'crush/CrushCompiler.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushCompiler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Throttle.obj `if test -f 'common/Throttle.cc'; then $(CYGPATH_W) 'common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/common/Throttle.cc'; fi`
 
-ceph_test_librgw_build-CrushTester.o: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushTester.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushTester.Tpo -c -o ceph_test_librgw_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushTester.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_librgw_build-CrushTester.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Timer.o: common/Timer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Timer.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Timer.Tpo -c -o common/test_build_libcommon-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Timer.Tpo common/$(DEPDIR)/test_build_libcommon-Timer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='common/test_build_libcommon-Timer.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushTester.o `test -f 'crush/CrushTester.cc' || echo '$(srcdir)/'`crush/CrushTester.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Timer.o `test -f 'common/Timer.cc' || echo '$(srcdir)/'`common/Timer.cc
 
-ceph_test_librgw_build-CrushTester.obj: crush/CrushTester.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-CrushTester.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-CrushTester.Tpo -c -o ceph_test_librgw_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-CrushTester.Tpo $(DEPDIR)/ceph_test_librgw_build-CrushTester.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='crush/CrushTester.cc' object='ceph_test_librgw_build-CrushTester.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Timer.obj: common/Timer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Timer.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Timer.Tpo -c -o common/test_build_libcommon-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Timer.Tpo common/$(DEPDIR)/test_build_libcommon-Timer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Timer.cc' object='common/test_build_libcommon-Timer.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-CrushTester.obj `if test -f 'crush/CrushTester.cc'; then $(CYGPATH_W) 'crush/CrushTester.cc'; else $(CYGPATH_W) '$(srcdir)/crush/CrushTester.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Timer.obj `if test -f 'common/Timer.cc'; then $(CYGPATH_W) 'common/Timer.cc'; else $(CYGPATH_W) '$(srcdir)/common/Timer.cc'; fi`
 
-ceph_test_librgw_build-cpu_profiler.o: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cpu_profiler.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Tpo -c -o ceph_test_librgw_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_librgw_build-cpu_profiler.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Finisher.o: common/Finisher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Finisher.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Finisher.Tpo -c -o common/test_build_libcommon-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Finisher.Tpo common/$(DEPDIR)/test_build_libcommon-Finisher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='common/test_build_libcommon-Finisher.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cpu_profiler.o `test -f 'perfglue/cpu_profiler.cc' || echo '$(srcdir)/'`perfglue/cpu_profiler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Finisher.o `test -f 'common/Finisher.cc' || echo '$(srcdir)/'`common/Finisher.cc
 
-ceph_test_librgw_build-cpu_profiler.obj: perfglue/cpu_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cpu_profiler.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Tpo -c -o ceph_test_librgw_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Tpo $(DEPDIR)/ceph_test_librgw_build-cpu_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/cpu_profiler.cc' object='ceph_test_librgw_build-cpu_profiler.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Finisher.obj: common/Finisher.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Finisher.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Finisher.Tpo -c -o common/test_build_libcommon-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Finisher.Tpo common/$(DEPDIR)/test_build_libcommon-Finisher.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Finisher.cc' object='common/test_build_libcommon-Finisher.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cpu_profiler.obj `if test -f 'perfglue/cpu_profiler.cc'; then $(CYGPATH_W) 'perfglue/cpu_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/cpu_profiler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Finisher.obj `if test -f 'common/Finisher.cc'; then $(CYGPATH_W) 'common/Finisher.cc'; else $(CYGPATH_W) '$(srcdir)/common/Finisher.cc'; fi`
 
-ceph_test_librgw_build-disabled_stubs.o: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-disabled_stubs.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Tpo -c -o ceph_test_librgw_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_librgw_build-disabled_stubs.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-environment.o: common/environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-environment.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-environment.Tpo -c -o common/test_build_libcommon-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-environment.Tpo common/$(DEPDIR)/test_build_libcommon-environment.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='common/test_build_libcommon-environment.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-disabled_stubs.o `test -f 'perfglue/disabled_stubs.cc' || echo '$(srcdir)/'`perfglue/disabled_stubs.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-environment.o `test -f 'common/environment.cc' || echo '$(srcdir)/'`common/environment.cc
 
-ceph_test_librgw_build-disabled_stubs.obj: perfglue/disabled_stubs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-disabled_stubs.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Tpo -c -o ceph_test_librgw_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Tpo $(DEPDIR)/ceph_test_librgw_build-disabled_stubs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_stubs.cc' object='ceph_test_librgw_build-disabled_stubs.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-environment.obj: common/environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-environment.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-environment.Tpo -c -o common/test_build_libcommon-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-environment.Tpo common/$(DEPDIR)/test_build_libcommon-environment.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/environment.cc' object='common/test_build_libcommon-environment.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-disabled_stubs.obj `if test -f 'perfglue/disabled_stubs.cc'; then $(CYGPATH_W) 'perfglue/disabled_stubs.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_stubs.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-environment.obj `if test -f 'common/environment.cc'; then $(CYGPATH_W) 'common/environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/environment.cc'; fi`
 
-ceph_test_librgw_build-librados.o: librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-librados.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-librados.Tpo -c -o ceph_test_librgw_build-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-librados.Tpo $(DEPDIR)/ceph_test_librgw_build-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='ceph_test_librgw_build-librados.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-assert.o: common/assert.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-assert.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-assert.Tpo -c -o common/test_build_libcommon-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-assert.Tpo common/$(DEPDIR)/test_build_libcommon-assert.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='common/test_build_libcommon-assert.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-assert.o `test -f 'common/assert.cc' || echo '$(srcdir)/'`common/assert.cc
 
-ceph_test_librgw_build-librados.obj: librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-librados.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-librados.Tpo -c -o ceph_test_librgw_build-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-librados.Tpo $(DEPDIR)/ceph_test_librgw_build-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='ceph_test_librgw_build-librados.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-assert.obj: common/assert.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-assert.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-assert.Tpo -c -o common/test_build_libcommon-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-assert.Tpo common/$(DEPDIR)/test_build_libcommon-assert.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/assert.cc' object='common/test_build_libcommon-assert.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-assert.obj `if test -f 'common/assert.cc'; then $(CYGPATH_W) 'common/assert.cc'; else $(CYGPATH_W) '$(srcdir)/common/assert.cc'; fi`
 
-ceph_test_librgw_build-RadosClient.o: librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RadosClient.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RadosClient.Tpo -c -o ceph_test_librgw_build-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RadosClient.Tpo $(DEPDIR)/ceph_test_librgw_build-RadosClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='ceph_test_librgw_build-RadosClient.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-run_cmd.o: common/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-run_cmd.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-run_cmd.Tpo -c -o common/test_build_libcommon-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-run_cmd.Tpo common/$(DEPDIR)/test_build_libcommon-run_cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='common/test_build_libcommon-run_cmd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-run_cmd.o `test -f 'common/run_cmd.cc' || echo '$(srcdir)/'`common/run_cmd.cc
 
-ceph_test_librgw_build-RadosClient.obj: librados/RadosClient.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-RadosClient.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-RadosClient.Tpo -c -o ceph_test_librgw_build-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-RadosClient.Tpo $(DEPDIR)/ceph_test_librgw_build-RadosClient.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='ceph_test_librgw_build-RadosClient.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-run_cmd.obj: common/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-run_cmd.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-run_cmd.Tpo -c -o common/test_build_libcommon-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-run_cmd.Tpo common/$(DEPDIR)/test_build_libcommon-run_cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/run_cmd.cc' object='common/test_build_libcommon-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-run_cmd.obj `if test -f 'common/run_cmd.cc'; then $(CYGPATH_W) 'common/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/common/run_cmd.cc'; fi`
 
-ceph_test_librgw_build-IoCtxImpl.o: librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-IoCtxImpl.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Tpo -c -o ceph_test_librgw_build-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Tpo $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='ceph_test_librgw_build-IoCtxImpl.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-WorkQueue.o: common/WorkQueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-WorkQueue.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-WorkQueue.Tpo -c -o common/test_build_libcommon-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-WorkQueue.Tpo common/$(DEPDIR)/test_build_libcommon-WorkQueue.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='common/test_build_libcommon-WorkQueue.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-WorkQueue.o `test -f 'common/WorkQueue.cc' || echo '$(srcdir)/'`common/WorkQueue.cc
 
-ceph_test_librgw_build-IoCtxImpl.obj: librados/IoCtxImpl.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-IoCtxImpl.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Tpo -c -o ceph_test_librgw_build-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Tpo $(DEPDIR)/ceph_test_librgw_build-IoCtxImpl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='ceph_test_librgw_build-IoCtxImpl.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-WorkQueue.obj: common/WorkQueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-WorkQueue.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-WorkQueue.Tpo -c -o common/test_build_libcommon-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-WorkQueue.Tpo common/$(DEPDIR)/test_build_libcommon-WorkQueue.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/WorkQueue.cc' object='common/test_build_libcommon-WorkQueue.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-WorkQueue.obj `if test -f 'common/WorkQueue.cc'; then $(CYGPATH_W) 'common/WorkQueue.cc'; else $(CYGPATH_W) '$(srcdir)/common/WorkQueue.cc'; fi`
 
-ceph_test_librgw_build-Objecter.o: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Objecter.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Objecter.Tpo -c -o ceph_test_librgw_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Objecter.Tpo $(DEPDIR)/ceph_test_librgw_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_librgw_build-Objecter.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ConfUtils.o: common/ConfUtils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ConfUtils.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ConfUtils.Tpo -c -o common/test_build_libcommon-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ConfUtils.Tpo common/$(DEPDIR)/test_build_libcommon-ConfUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='common/test_build_libcommon-ConfUtils.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ConfUtils.o `test -f 'common/ConfUtils.cc' || echo '$(srcdir)/'`common/ConfUtils.cc
 
-ceph_test_librgw_build-Objecter.obj: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Objecter.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Objecter.Tpo -c -o ceph_test_librgw_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Objecter.Tpo $(DEPDIR)/ceph_test_librgw_build-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_librgw_build-Objecter.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ConfUtils.obj: common/ConfUtils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ConfUtils.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ConfUtils.Tpo -c -o common/test_build_libcommon-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ConfUtils.Tpo common/$(DEPDIR)/test_build_libcommon-ConfUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ConfUtils.cc' object='common/test_build_libcommon-ConfUtils.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ConfUtils.obj `if test -f 'common/ConfUtils.cc'; then $(CYGPATH_W) 'common/ConfUtils.cc'; else $(CYGPATH_W) '$(srcdir)/common/ConfUtils.cc'; fi`
 
-ceph_test_librgw_build-Striper.o: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Striper.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Striper.Tpo -c -o ceph_test_librgw_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Striper.Tpo $(DEPDIR)/ceph_test_librgw_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_librgw_build-Striper.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-MemoryModel.o: common/MemoryModel.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-MemoryModel.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-MemoryModel.Tpo -c -o common/test_build_libcommon-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-MemoryModel.Tpo common/$(DEPDIR)/test_build_libcommon-MemoryModel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='common/test_build_libcommon-MemoryModel.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-MemoryModel.o `test -f 'common/MemoryModel.cc' || echo '$(srcdir)/'`common/MemoryModel.cc
 
-ceph_test_librgw_build-Striper.obj: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-Striper.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-Striper.Tpo -c -o ceph_test_librgw_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-Striper.Tpo $(DEPDIR)/ceph_test_librgw_build-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_librgw_build-Striper.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-MemoryModel.obj: common/MemoryModel.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-MemoryModel.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-MemoryModel.Tpo -c -o common/test_build_libcommon-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-MemoryModel.Tpo common/$(DEPDIR)/test_build_libcommon-MemoryModel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/MemoryModel.cc' object='common/test_build_libcommon-MemoryModel.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-MemoryModel.obj `if test -f 'common/MemoryModel.cc'; then $(CYGPATH_W) 'common/MemoryModel.cc'; else $(CYGPATH_W) '$(srcdir)/common/MemoryModel.cc'; fi`
 
-ceph_test_librgw_build-cls_lock_client.o: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_client.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Tpo -c -o ceph_test_librgw_build-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_librgw_build-cls_lock_client.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-fd.o: common/fd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-fd.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-fd.Tpo -c -o common/test_build_libcommon-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-fd.Tpo common/$(DEPDIR)/test_build_libcommon-fd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='common/test_build_libcommon-fd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_client.o `test -f 'cls/lock/cls_lock_client.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_client.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-fd.o `test -f 'common/fd.cc' || echo '$(srcdir)/'`common/fd.cc
 
-ceph_test_librgw_build-cls_lock_client.obj: cls/lock/cls_lock_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_client.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Tpo -c -o ceph_test_librgw_build-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_client.cc' object='ceph_test_librgw_build-cls_lock_client.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-fd.obj: common/fd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-fd.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-fd.Tpo -c -o common/test_build_libcommon-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-fd.Tpo common/$(DEPDIR)/test_build_libcommon-fd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/fd.cc' object='common/test_build_libcommon-fd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_client.obj `if test -f 'cls/lock/cls_lock_client.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_client.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_client.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-fd.obj `if test -f 'common/fd.cc'; then $(CYGPATH_W) 'common/fd.cc'; else $(CYGPATH_W) '$(srcdir)/common/fd.cc'; fi`
 
-ceph_test_librgw_build-cls_lock_types.o: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_types.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Tpo -c -o ceph_test_librgw_build-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_librgw_build-cls_lock_types.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-snap_types.o: common/snap_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-snap_types.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-snap_types.Tpo -c -o common/test_build_libcommon-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-snap_types.Tpo common/$(DEPDIR)/test_build_libcommon-snap_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='common/test_build_libcommon-snap_types.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_types.o `test -f 'cls/lock/cls_lock_types.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-snap_types.o `test -f 'common/snap_types.cc' || echo '$(srcdir)/'`common/snap_types.cc
 
-ceph_test_librgw_build-cls_lock_types.obj: cls/lock/cls_lock_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_types.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Tpo -c -o ceph_test_librgw_build-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_types.cc' object='ceph_test_librgw_build-cls_lock_types.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-snap_types.obj: common/snap_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-snap_types.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-snap_types.Tpo -c -o common/test_build_libcommon-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-snap_types.Tpo common/$(DEPDIR)/test_build_libcommon-snap_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/snap_types.cc' object='common/test_build_libcommon-snap_types.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_types.obj `if test -f 'cls/lock/cls_lock_types.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_types.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-snap_types.obj `if test -f 'common/snap_types.cc'; then $(CYGPATH_W) 'common/snap_types.cc'; else $(CYGPATH_W) '$(srcdir)/common/snap_types.cc'; fi`
 
-ceph_test_librgw_build-cls_lock_ops.o: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_ops.o -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Tpo -c -o ceph_test_librgw_build-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_librgw_build-cls_lock_ops.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-str_list.o: common/str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-str_list.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-str_list.Tpo -c -o common/test_build_libcommon-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-str_list.Tpo common/$(DEPDIR)/test_build_libcommon-str_list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='common/test_build_libcommon-str_list.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_ops.o `test -f 'cls/lock/cls_lock_ops.cc' || echo '$(srcdir)/'`cls/lock/cls_lock_ops.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-str_list.o `test -f 'common/str_list.cc' || echo '$(srcdir)/'`common/str_list.cc
 
-ceph_test_librgw_build-cls_lock_ops.obj: cls/lock/cls_lock_ops.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_librgw_build-cls_lock_ops.obj -MD -MP -MF $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Tpo -c -o ceph_test_librgw_build-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Tpo $(DEPDIR)/ceph_test_librgw_build-cls_lock_ops.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='cls/lock/cls_lock_ops.cc' object='ceph_test_librgw_build-cls_lock_ops.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-str_list.obj: common/str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-str_list.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-str_list.Tpo -c -o common/test_build_libcommon-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-str_list.Tpo common/$(DEPDIR)/test_build_libcommon-str_list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/str_list.cc' object='common/test_build_libcommon-str_list.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_librgw_build_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_librgw_build-cls_lock_ops.obj `if test -f 'cls/lock/cls_lock_ops.cc'; then $(CYGPATH_W) 'cls/lock/cls_lock_ops.cc'; else $(CYGPATH_W) '$(srcdir)/cls/lock/cls_lock_ops.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-str_list.obj `if test -f 'common/str_list.cc'; then $(CYGPATH_W) 'common/str_list.cc'; else $(CYGPATH_W) '$(srcdir)/common/str_list.cc'; fi`
 
-ceph_test_mon_workloadgen-test_mon_workloadgen.o: test/mon/test_mon_workloadgen.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-test_mon_workloadgen.o -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Tpo -c -o ceph_test_mon_workloadgen-test_mon_workloadgen.o `test -f 'test/mon/test_mon_workloadgen.cc' || echo '$(srcdir)/'`test/mon/test_mon_workloadgen.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/test_mon_workloadgen.cc' object='ceph_test_mon_workloadgen-test_mon_workloadgen.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-errno.o: common/errno.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-errno.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-errno.Tpo -c -o common/test_build_libcommon-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-errno.Tpo common/$(DEPDIR)/test_build_libcommon-errno.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='common/test_build_libcommon-errno.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-test_mon_workloadgen.o `test -f 'test/mon/test_mon_workloadgen.cc' || echo '$(srcdir)/'`test/mon/test_mon_workloadgen.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-errno.o `test -f 'common/errno.cc' || echo '$(srcdir)/'`common/errno.cc
 
-ceph_test_mon_workloadgen-test_mon_workloadgen.obj: test/mon/test_mon_workloadgen.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-test_mon_workloadgen.obj -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Tpo -c -o ceph_test_mon_workloadgen-test_mon_workloadgen.obj `if test -f 'test/mon/test_mon_workloadgen.cc'; then $(CYGPATH_W) 'test/mon/test_mon_workloadgen.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/test_mon_w [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-test_mon_workloadgen.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/test_mon_workloadgen.cc' object='ceph_test_mon_workloadgen-test_mon_workloadgen.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-errno.obj: common/errno.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-errno.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-errno.Tpo -c -o common/test_build_libcommon-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-errno.Tpo common/$(DEPDIR)/test_build_libcommon-errno.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/errno.cc' object='common/test_build_libcommon-errno.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-test_mon_workloadgen.obj `if test -f 'test/mon/test_mon_workloadgen.cc'; then $(CYGPATH_W) 'test/mon/test_mon_workloadgen.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/test_mon_workloadgen.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-errno.obj `if test -f 'common/errno.cc'; then $(CYGPATH_W) 'common/errno.cc'; else $(CYGPATH_W) '$(srcdir)/common/errno.cc'; fi`
 
-ceph_test_mon_workloadgen-Objecter.o: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-Objecter.o -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Tpo -c -o ceph_test_mon_workloadgen-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_mon_workloadgen-Objecter.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-RefCountedObj.o: common/RefCountedObj.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-RefCountedObj.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Tpo -c -o common/test_build_libcommon-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Tpo common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='common/test_build_libcommon-RefCountedObj.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-Objecter.o `test -f 'osdc/Objecter.cc' || echo '$(srcdir)/'`osdc/Objecter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-RefCountedObj.o `test -f 'common/RefCountedObj.cc' || echo '$(srcdir)/'`common/RefCountedObj.cc
 
-ceph_test_mon_workloadgen-Objecter.obj: osdc/Objecter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-Objecter.obj -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Tpo -c -o ceph_test_mon_workloadgen-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-Objecter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Objecter.cc' object='ceph_test_mon_workloadgen-Objecter.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-RefCountedObj.obj: common/RefCountedObj.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-RefCountedObj.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Tpo -c -o common/test_build_libcommon-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Tpo common/$(DEPDIR)/test_build_libcommon-RefCountedObj.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/RefCountedObj.cc' object='common/test_build_libcommon-RefCountedObj.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-Objecter.obj `if test -f 'osdc/Objecter.cc'; then $(CYGPATH_W) 'osdc/Objecter.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Objecter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-RefCountedObj.obj `if test -f 'common/RefCountedObj.cc'; then $(CYGPATH_W) 'common/RefCountedObj.cc'; else $(CYGPATH_W) '$(srcdir)/common/RefCountedObj.cc'; fi`
 
-ceph_test_mon_workloadgen-Striper.o: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-Striper.o -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Tpo -c -o ceph_test_mon_workloadgen-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_mon_workloadgen-Striper.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-blkdev.o: common/blkdev.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-blkdev.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-blkdev.Tpo -c -o common/test_build_libcommon-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-blkdev.Tpo common/$(DEPDIR)/test_build_libcommon-blkdev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='common/test_build_libcommon-blkdev.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-Striper.o `test -f 'osdc/Striper.cc' || echo '$(srcdir)/'`osdc/Striper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-blkdev.o `test -f 'common/blkdev.cc' || echo '$(srcdir)/'`common/blkdev.cc
 
-ceph_test_mon_workloadgen-Striper.obj: osdc/Striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_mon_workloadgen-Striper.obj -MD -MP -MF $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Tpo -c -o ceph_test_mon_workloadgen-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Tpo $(DEPDIR)/ceph_test_mon_workloadgen-Striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/Striper.cc' object='ceph_test_mon_workloadgen-Striper.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-blkdev.obj: common/blkdev.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-blkdev.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-blkdev.Tpo -c -o common/test_build_libcommon-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-blkdev.Tpo common/$(DEPDIR)/test_build_libcommon-blkdev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/blkdev.cc' object='common/test_build_libcommon-blkdev.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_mon_workloadgen_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_mon_workloadgen-Striper.obj `if test -f 'osdc/Striper.cc'; then $(CYGPATH_W) 'osdc/Striper.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/Striper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-blkdev.obj `if test -f 'common/blkdev.cc'; then $(CYGPATH_W) 'common/blkdev.cc'; else $(CYGPATH_W) '$(srcdir)/common/blkdev.cc'; fi`
 
-test_mutate.o: test/test_mutate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_mutate.o -MD -MP -MF $(DEPDIR)/test_mutate.Tpo -c -o test_mutate.o `test -f 'test/test_mutate.cc' || echo '$(srcdir)/'`test/test_mutate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_mutate.Tpo $(DEPDIR)/test_mutate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_mutate.cc' object='test_mutate.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-common_init.o: common/common_init.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-common_init.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-common_init.Tpo -c -o common/test_build_libcommon-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-common_init.Tpo common/$(DEPDIR)/test_build_libcommon-common_init.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='common/test_build_libcommon-common_init.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_mutate.o `test -f 'test/test_mutate.cc' || echo '$(srcdir)/'`test/test_mutate.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-common_init.o `test -f 'common/common_init.cc' || echo '$(srcdir)/'`common/common_init.cc
 
-test_mutate.obj: test/test_mutate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_mutate.obj -MD -MP -MF $(DEPDIR)/test_mutate.Tpo -c -o test_mutate.obj `if test -f 'test/test_mutate.cc'; then $(CYGPATH_W) 'test/test_mutate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_mutate.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_mutate.Tpo $(DEPDIR)/test_mutate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_mutate.cc' object='test_mutate.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-common_init.obj: common/common_init.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-common_init.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-common_init.Tpo -c -o common/test_build_libcommon-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-common_init.Tpo common/$(DEPDIR)/test_build_libcommon-common_init.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/common_init.cc' object='common/test_build_libcommon-common_init.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_mutate.obj `if test -f 'test/test_mutate.cc'; then $(CYGPATH_W) 'test/test_mutate.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_mutate.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-common_init.obj `if test -f 'common/common_init.cc'; then $(CYGPATH_W) 'common/common_init.cc'; else $(CYGPATH_W) '$(srcdir)/common/common_init.cc'; fi`
 
-ceph_test_object_map-test_object_map.o: test/ObjectMap/test_object_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-test_object_map.o -MD -MP -MF $(DEPDIR)/ceph_test_object_map-test_object_map.Tpo -c -o ceph_test_object_map-test_object_map.o `test -f 'test/ObjectMap/test_object_map.cc' || echo '$(srcdir)/'`test/ObjectMap/test_object_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-test_object_map.Tpo $(DEPDIR)/ceph_test_object_map-test_object_map.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_object_map.cc' object='ceph_test_object_map-test_object_map.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_argparse.o: common/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_argparse.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Tpo -c -o common/test_build_libcommon-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='common/test_build_libcommon-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-test_object_map.o `test -f 'test/ObjectMap/test_object_map.cc' || echo '$(srcdir)/'`test/ObjectMap/test_object_map.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_argparse.o `test -f 'common/ceph_argparse.cc' || echo '$(srcdir)/'`common/ceph_argparse.cc
 
-ceph_test_object_map-test_object_map.obj: test/ObjectMap/test_object_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-test_object_map.obj -MD -MP -MF $(DEPDIR)/ceph_test_object_map-test_object_map.Tpo -c -o ceph_test_object_map-test_object_map.obj `if test -f 'test/ObjectMap/test_object_map.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_object_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_object_map.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-test_object_map.Tpo $(DEPDIR)/ceph_test_object_map-test_object_map.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_object_map.cc' object='ceph_test_object_map-test_object_map.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_argparse.obj: common/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_argparse.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Tpo -c -o common/test_build_libcommon-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_argparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_argparse.cc' object='common/test_build_libcommon-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-test_object_map.obj `if test -f 'test/ObjectMap/test_object_map.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_object_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_object_map.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_argparse.obj `if test -f 'common/ceph_argparse.cc'; then $(CYGPATH_W) 'common/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_argparse.cc'; fi`
 
-ceph_test_object_map-KeyValueDBMemory.o: test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-KeyValueDBMemory.o -MD -MP -MF $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo -c -o ceph_test_object_map-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='ceph_test_object_map-KeyValueDBMemory.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_context.o: common/ceph_context.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_context.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_context.Tpo -c -o common/test_build_libcommon-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_context.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_context.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='common/test_build_libcommon-ceph_context.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-KeyValueDBMemory.o `test -f 'test/ObjectMap/KeyValueDBMemory.cc' || echo '$(srcdir)/'`test/ObjectMap/KeyValueDBMemory.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_context.o `test -f 'common/ceph_context.cc' || echo '$(srcdir)/'`common/ceph_context.cc
 
-ceph_test_object_map-KeyValueDBMemory.obj: test/ObjectMap/KeyValueDBMemory.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-KeyValueDBMemory.obj -MD -MP -MF $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo -c -o ceph_test_object_map-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/KeyValueDBMemory.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Tpo $(DEPDIR)/ceph_test_object_map-KeyValueDBMemory.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/KeyValueDBMemory.cc' object='ceph_test_object_map-KeyValueDBMemory.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_context.obj: common/ceph_context.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_context.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_context.Tpo -c -o common/test_build_libcommon-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_context.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_context.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_context.cc' object='common/test_build_libcommon-ceph_context.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-KeyValueDBMemory.obj `if test -f 'test/ObjectMap/KeyValueDBMemory.cc'; then $(CYGPATH_W) 'test/ObjectMap/KeyValueDBMemory.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/KeyValueDBMemory.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_context.obj `if test -f 'common/ceph_context.cc'; then $(CYGPATH_W) 'common/ceph_context.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_context.cc'; fi`
 
-ceph_test_object_map-DBObjectMap.o: os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-DBObjectMap.o -MD -MP -MF $(DEPDIR)/ceph_test_object_map-DBObjectMap.Tpo -c -o ceph_test_object_map-DBObjectMap.o `test -f 'os/DBObjectMap.cc' || echo '$(srcdir)/'`os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-DBObjectMap.Tpo $(DEPDIR)/ceph_test_object_map-DBObjectMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/DBObjectMap.cc' object='ceph_test_object_map-DBObjectMap.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-buffer.o: common/buffer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-buffer.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-buffer.Tpo -c -o common/test_build_libcommon-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-buffer.Tpo common/$(DEPDIR)/test_build_libcommon-buffer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='common/test_build_libcommon-buffer.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-DBObjectMap.o `test -f 'os/DBObjectMap.cc' || echo '$(srcdir)/'`os/DBObjectMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-buffer.o `test -f 'common/buffer.cc' || echo '$(srcdir)/'`common/buffer.cc
 
-ceph_test_object_map-DBObjectMap.obj: os/DBObjectMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-DBObjectMap.obj -MD -MP -MF $(DEPDIR)/ceph_test_object_map-DBObjectMap.Tpo -c -o ceph_test_object_map-DBObjectMap.obj `if test -f 'os/DBObjectMap.cc'; then $(CYGPATH_W) 'os/DBObjectMap.cc'; else $(CYGPATH_W) '$(srcdir)/os/DBObjectMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-DBObjectMap.Tpo $(DEPDIR)/ceph_test_object_map-DBObjectMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/DBObjectMap.cc' object='ceph_test_object_map-DBObjectMap.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-buffer.obj: common/buffer.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-buffer.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-buffer.Tpo -c -o common/test_build_libcommon-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-buffer.Tpo common/$(DEPDIR)/test_build_libcommon-buffer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/buffer.cc' object='common/test_build_libcommon-buffer.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-DBObjectMap.obj `if test -f 'os/DBObjectMap.cc'; then $(CYGPATH_W) 'os/DBObjectMap.cc'; else $(CYGPATH_W) '$(srcdir)/os/DBObjectMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-buffer.obj `if test -f 'common/buffer.cc'; then $(CYGPATH_W) 'common/buffer.cc'; else $(CYGPATH_W) '$(srcdir)/common/buffer.cc'; fi`
 
-ceph_test_object_map-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_test_object_map-LevelDBStore.Tpo -c -o ceph_test_object_map-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-LevelDBStore.Tpo $(DEPDIR)/ceph_test_object_map-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_object_map-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-code_environment.o: common/code_environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-code_environment.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-code_environment.Tpo -c -o common/test_build_libcommon-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-code_environment.Tpo common/$(DEPDIR)/test_build_libcommon-code_environment.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='common/test_build_libcommon-code_environment.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-code_environment.o `test -f 'common/code_environment.cc' || echo '$(srcdir)/'`common/code_environment.cc
 
-ceph_test_object_map-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_object_map-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_test_object_map-LevelDBStore.Tpo -c -o ceph_test_object_map-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_object_map-LevelDBStore.Tpo $(DEPDIR)/ceph_test_object_map-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_object_map-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-code_environment.obj: common/code_environment.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-code_environment.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-code_environment.Tpo -c -o common/test_build_libcommon-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-code_environment.Tpo common/$(DEPDIR)/test_build_libcommon-code_environment.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/code_environment.cc' object='common/test_build_libcommon-code_environment.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_object_map_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_object_map-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-code_environment.obj `if test -f 'common/code_environment.cc'; then $(CYGPATH_W) 'common/code_environment.cc'; else $(CYGPATH_W) '$(srcdir)/common/code_environment.cc'; fi`
 
-ceph_test_objectcacher_stress-object_cacher_stress.o: test/osdc/object_cacher_stress.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-object_cacher_stress.o -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Tpo -c -o ceph_test_objectcacher_stress-object_cacher_stress.o `test -f 'test/osdc/object_cacher_stress.cc' || echo '$(srcdir)/'`test/osdc/object_cacher_stress.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osdc/object_cacher_stress.cc' object='ceph_test_objectcacher_stress-object_cacher_stress.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-dout.o: common/dout.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-dout.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-dout.Tpo -c -o common/test_build_libcommon-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-dout.Tpo common/$(DEPDIR)/test_build_libcommon-dout.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='common/test_build_libcommon-dout.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-object_cacher_stress.o `test -f 'test/osdc/object_cacher_stress.cc' || echo '$(srcdir)/'`test/osdc/object_cacher_stress.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-dout.o `test -f 'common/dout.cc' || echo '$(srcdir)/'`common/dout.cc
 
-ceph_test_objectcacher_stress-object_cacher_stress.obj: test/osdc/object_cacher_stress.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-object_cacher_stress.obj -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Tpo -c -o ceph_test_objectcacher_stress-object_cacher_stress.obj `if test -f 'test/osdc/object_cacher_stress.cc'; then $(CYGPATH_W) 'test/osdc/object_cacher_stress.cc'; else $(CYGPATH_W) '$(srcdir)/t [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-object_cacher_stress.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osdc/object_cacher_stress.cc' object='ceph_test_objectcacher_stress-object_cacher_stress.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-dout.obj: common/dout.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-dout.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-dout.Tpo -c -o common/test_build_libcommon-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-dout.Tpo common/$(DEPDIR)/test_build_libcommon-dout.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/dout.cc' object='common/test_build_libcommon-dout.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-object_cacher_stress.obj `if test -f 'test/osdc/object_cacher_stress.cc'; then $(CYGPATH_W) 'test/osdc/object_cacher_stress.cc'; else $(CYGPATH_W) '$(srcdir)/test/osdc/object_cacher_stress.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-dout.obj `if test -f 'common/dout.cc'; then $(CYGPATH_W) 'common/dout.cc'; else $(CYGPATH_W) '$(srcdir)/common/dout.cc'; fi`
 
-ceph_test_objectcacher_stress-FakeWriteback.o: test/osdc/FakeWriteback.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-FakeWriteback.o -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Tpo -c -o ceph_test_objectcacher_stress-FakeWriteback.o `test -f 'test/osdc/FakeWriteback.cc' || echo '$(srcdir)/'`test/osdc/FakeWriteback.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osdc/FakeWriteback.cc' object='ceph_test_objectcacher_stress-FakeWriteback.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-signal.o: common/signal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-signal.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-signal.Tpo -c -o common/test_build_libcommon-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-signal.Tpo common/$(DEPDIR)/test_build_libcommon-signal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='common/test_build_libcommon-signal.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-FakeWriteback.o `test -f 'test/osdc/FakeWriteback.cc' || echo '$(srcdir)/'`test/osdc/FakeWriteback.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-signal.o `test -f 'common/signal.cc' || echo '$(srcdir)/'`common/signal.cc
 
-ceph_test_objectcacher_stress-FakeWriteback.obj: test/osdc/FakeWriteback.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-FakeWriteback.obj -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Tpo -c -o ceph_test_objectcacher_stress-FakeWriteback.obj `if test -f 'test/osdc/FakeWriteback.cc'; then $(CYGPATH_W) 'test/osdc/FakeWriteback.cc'; else $(CYGPATH_W) '$(srcdir)/test/osdc/FakeWriteback.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-FakeWriteback.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osdc/FakeWriteback.cc' object='ceph_test_objectcacher_stress-FakeWriteback.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-signal.obj: common/signal.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-signal.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-signal.Tpo -c -o common/test_build_libcommon-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-signal.Tpo common/$(DEPDIR)/test_build_libcommon-signal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/signal.cc' object='common/test_build_libcommon-signal.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-FakeWriteback.obj `if test -f 'test/osdc/FakeWriteback.cc'; then $(CYGPATH_W) 'test/osdc/FakeWriteback.cc'; else $(CYGPATH_W) '$(srcdir)/test/osdc/FakeWriteback.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-signal.obj `if test -f 'common/signal.cc'; then $(CYGPATH_W) 'common/signal.cc'; else $(CYGPATH_W) '$(srcdir)/common/signal.cc'; fi`
 
-ceph_test_objectcacher_stress-ObjectCacher.o: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-ObjectCacher.o -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Tpo -c -o ceph_test_objectcacher_stress-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_objectcacher_stress-ObjectCacher.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-simple_spin.o: common/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-simple_spin.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-simple_spin.Tpo -c -o common/test_build_libcommon-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-simple_spin.Tpo common/$(DEPDIR)/test_build_libcommon-simple_spin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='common/test_build_libcommon-simple_spin.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-ObjectCacher.o `test -f 'osdc/ObjectCacher.cc' || echo '$(srcdir)/'`osdc/ObjectCacher.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-simple_spin.o `test -f 'common/simple_spin.cc' || echo '$(srcdir)/'`common/simple_spin.cc
 
-ceph_test_objectcacher_stress-ObjectCacher.obj: osdc/ObjectCacher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_objectcacher_stress-ObjectCacher.obj -MD -MP -MF $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Tpo -c -o ceph_test_objectcacher_stress-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Tpo $(DEPDIR)/ceph_test_objectcacher_stress-ObjectCacher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osdc/ObjectCacher.cc' object='ceph_test_objectcacher_stress-ObjectCacher.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-simple_spin.obj: common/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-simple_spin.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-simple_spin.Tpo -c -o common/test_build_libcommon-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-simple_spin.Tpo common/$(DEPDIR)/test_build_libcommon-simple_spin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/simple_spin.cc' object='common/test_build_libcommon-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_objectcacher_stress_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_objectcacher_stress-ObjectCacher.obj `if test -f 'osdc/ObjectCacher.cc'; then $(CYGPATH_W) 'osdc/ObjectCacher.cc'; else $(CYGPATH_W) '$(srcdir)/osdc/ObjectCacher.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-simple_spin.obj `if test -f 'common/simple_spin.cc'; then $(CYGPATH_W) 'common/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/common/simple_spin.cc'; fi`
 
-TestRados.o: test/osd/TestRados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestRados.o -MD -MP -MF $(DEPDIR)/TestRados.Tpo -c -o TestRados.o `test -f 'test/osd/TestRados.cc' || echo '$(srcdir)/'`test/osd/TestRados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestRados.Tpo $(DEPDIR)/TestRados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestRados.cc' object='TestRados.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Thread.o: common/Thread.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Thread.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Thread.Tpo -c -o common/test_build_libcommon-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Thread.Tpo common/$(DEPDIR)/test_build_libcommon-Thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='common/test_build_libcommon-Thread.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestRados.o `test -f 'test/osd/TestRados.cc' || echo '$(srcdir)/'`test/osd/TestRados.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Thread.o `test -f 'common/Thread.cc' || echo '$(srcdir)/'`common/Thread.cc
 
-TestRados.obj: test/osd/TestRados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestRados.obj -MD -MP -MF $(DEPDIR)/TestRados.Tpo -c -o TestRados.obj `if test -f 'test/osd/TestRados.cc'; then $(CYGPATH_W) 'test/osd/TestRados.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestRados.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestRados.Tpo $(DEPDIR)/TestRados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestRados.cc' object='TestRados.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Thread.obj: common/Thread.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Thread.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Thread.Tpo -c -o common/test_build_libcommon-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Thread.Tpo common/$(DEPDIR)/test_build_libcommon-Thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Thread.cc' object='common/test_build_libcommon-Thread.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestRados.obj `if test -f 'test/osd/TestRados.cc'; then $(CYGPATH_W) 'test/osd/TestRados.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestRados.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Thread.obj `if test -f 'common/Thread.cc'; then $(CYGPATH_W) 'common/Thread.cc'; else $(CYGPATH_W) '$(srcdir)/common/Thread.cc'; fi`
 
-TestOpStat.o: test/osd/TestOpStat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestOpStat.o -MD -MP -MF $(DEPDIR)/TestOpStat.Tpo -c -o TestOpStat.o `test -f 'test/osd/TestOpStat.cc' || echo '$(srcdir)/'`test/osd/TestOpStat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestOpStat.Tpo $(DEPDIR)/TestOpStat.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestOpStat.cc' object='TestOpStat.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Formatter.o: common/Formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Formatter.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Formatter.Tpo -c -o common/test_build_libcommon-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Formatter.Tpo common/$(DEPDIR)/test_build_libcommon-Formatter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='common/test_build_libcommon-Formatter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestOpStat.o `test -f 'test/osd/TestOpStat.cc' || echo '$(srcdir)/'`test/osd/TestOpStat.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Formatter.o `test -f 'common/Formatter.cc' || echo '$(srcdir)/'`common/Formatter.cc
 
-TestOpStat.obj: test/osd/TestOpStat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestOpStat.obj -MD -MP -MF $(DEPDIR)/TestOpStat.Tpo -c -o TestOpStat.obj `if test -f 'test/osd/TestOpStat.cc'; then $(CYGPATH_W) 'test/osd/TestOpStat.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestOpStat.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestOpStat.Tpo $(DEPDIR)/TestOpStat.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestOpStat.cc' object='TestOpStat.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-Formatter.obj: common/Formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-Formatter.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-Formatter.Tpo -c -o common/test_build_libcommon-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-Formatter.Tpo common/$(DEPDIR)/test_build_libcommon-Formatter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/Formatter.cc' object='common/test_build_libcommon-Formatter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestOpStat.obj `if test -f 'test/osd/TestOpStat.cc'; then $(CYGPATH_W) 'test/osd/TestOpStat.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestOpStat.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-Formatter.obj `if test -f 'common/Formatter.cc'; then $(CYGPATH_W) 'common/Formatter.cc'; else $(CYGPATH_W) '$(srcdir)/common/Formatter.cc'; fi`
 
-Object.o: test/osd/Object.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Object.o -MD -MP -MF $(DEPDIR)/Object.Tpo -c -o Object.o `test -f 'test/osd/Object.cc' || echo '$(srcdir)/'`test/osd/Object.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Object.Tpo $(DEPDIR)/Object.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/Object.cc' object='Object.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-HeartbeatMap.o: common/HeartbeatMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-HeartbeatMap.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Tpo -c -o common/test_build_libcommon-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Tpo common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='common/test_build_libcommon-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Object.o `test -f 'test/osd/Object.cc' || echo '$(srcdir)/'`test/osd/Object.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
 
-Object.obj: test/osd/Object.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Object.obj -MD -MP -MF $(DEPDIR)/Object.Tpo -c -o Object.obj `if test -f 'test/osd/Object.cc'; then $(CYGPATH_W) 'test/osd/Object.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/Object.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/Object.Tpo $(DEPDIR)/Object.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/Object.cc' object='Object.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-HeartbeatMap.obj: common/HeartbeatMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-HeartbeatMap.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Tpo -c -o common/test_build_libcommon-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Tpo common/$(DEPDIR)/test_build_libcommon-HeartbeatMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='common/test_build_libcommon-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Object.obj `if test -f 'test/osd/Object.cc'; then $(CYGPATH_W) 'test/osd/Object.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/Object.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
 
-RadosModel.o: test/osd/RadosModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RadosModel.o -MD -MP -MF $(DEPDIR)/RadosModel.Tpo -c -o RadosModel.o `test -f 'test/osd/RadosModel.cc' || echo '$(srcdir)/'`test/osd/RadosModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RadosModel.Tpo $(DEPDIR)/RadosModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/RadosModel.cc' object='RadosModel.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-config.o: common/config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-config.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-config.Tpo -c -o common/test_build_libcommon-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-config.Tpo common/$(DEPDIR)/test_build_libcommon-config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='common/test_build_libcommon-config.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RadosModel.o `test -f 'test/osd/RadosModel.cc' || echo '$(srcdir)/'`test/osd/RadosModel.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-config.o `test -f 'common/config.cc' || echo '$(srcdir)/'`common/config.cc
 
-RadosModel.obj: test/osd/RadosModel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RadosModel.obj -MD -MP -MF $(DEPDIR)/RadosModel.Tpo -c -o RadosModel.obj `if test -f 'test/osd/RadosModel.cc'; then $(CYGPATH_W) 'test/osd/RadosModel.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/RadosModel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/RadosModel.Tpo $(DEPDIR)/RadosModel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/RadosModel.cc' object='RadosModel.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-config.obj: common/config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-config.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-config.Tpo -c -o common/test_build_libcommon-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-config.Tpo common/$(DEPDIR)/test_build_libcommon-config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/config.cc' object='common/test_build_libcommon-config.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RadosModel.obj `if test -f 'test/osd/RadosModel.cc'; then $(CYGPATH_W) 'test/osd/RadosModel.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/RadosModel.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-config.obj `if test -f 'common/config.cc'; then $(CYGPATH_W) 'common/config.cc'; else $(CYGPATH_W) '$(srcdir)/common/config.cc'; fi`
 
-ceph_test_rados_api_aio-aio.o: test/librados/aio.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_aio-aio.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo -c -o ceph_test_rados_api_aio-aio.o `test -f 'test/librados/aio.cc' || echo '$(srcdir)/'`test/librados/aio.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo $(DEPDIR)/ceph_test_rados_api_aio-aio.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/aio.cc' object='ceph_test_rados_api_aio-aio.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-strtol.o: common/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-strtol.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-strtol.Tpo -c -o common/test_build_libcommon-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-strtol.Tpo common/$(DEPDIR)/test_build_libcommon-strtol.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='common/test_build_libcommon-strtol.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_aio-aio.o `test -f 'test/librados/aio.cc' || echo '$(srcdir)/'`test/librados/aio.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-strtol.o `test -f 'common/strtol.cc' || echo '$(srcdir)/'`common/strtol.cc
 
-ceph_test_rados_api_aio-aio.obj: test/librados/aio.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_aio-aio.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo -c -o ceph_test_rados_api_aio-aio.obj `if test -f 'test/librados/aio.cc'; then $(CYGPATH_W) 'test/librados/aio.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/aio.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_aio-aio.Tpo $(DEPDIR)/ceph_test_rados_api_aio-aio.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/aio.cc' object='ceph_test_rados_api_aio-aio.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-strtol.obj: common/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-strtol.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-strtol.Tpo -c -o common/test_build_libcommon-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-strtol.Tpo common/$(DEPDIR)/test_build_libcommon-strtol.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/strtol.cc' object='common/test_build_libcommon-strtol.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_aio-aio.obj `if test -f 'test/librados/aio.cc'; then $(CYGPATH_W) 'test/librados/aio.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/aio.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-strtol.obj `if test -f 'common/strtol.cc'; then $(CYGPATH_W) 'common/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/common/strtol.cc'; fi`
 
-ceph_test_rados_api_aio-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_aio-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_aio-test.Tpo -c -o ceph_test_rados_api_aio-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_aio-test.Tpo $(DEPDIR)/ceph_test_rados_api_aio-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_aio-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-page.o: common/page.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-page.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-page.Tpo -c -o common/test_build_libcommon-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-page.Tpo common/$(DEPDIR)/test_build_libcommon-page.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='common/test_build_libcommon-page.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_aio-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-page.o `test -f 'common/page.cc' || echo '$(srcdir)/'`common/page.cc
 
-ceph_test_rados_api_aio-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_aio-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_aio-test.Tpo -c -o ceph_test_rados_api_aio-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_aio-test.Tpo $(DEPDIR)/ceph_test_rados_api_aio-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_aio-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-page.obj: common/page.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-page.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-page.Tpo -c -o common/test_build_libcommon-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-page.Tpo common/$(DEPDIR)/test_build_libcommon-page.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/page.cc' object='common/test_build_libcommon-page.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_aio_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_aio-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-page.obj `if test -f 'common/page.cc'; then $(CYGPATH_W) 'common/page.cc'; else $(CYGPATH_W) '$(srcdir)/common/page.cc'; fi`
 
-ceph_test_rados_api_cls-cls.o: test/librados/cls.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cls-cls.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo -c -o ceph_test_rados_api_cls-cls.o `test -f 'test/librados/cls.cc' || echo '$(srcdir)/'`test/librados/cls.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo $(DEPDIR)/ceph_test_rados_api_cls-cls.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cls.cc' object='ceph_test_rados_api_cls-cls.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-lockdep.o: common/lockdep.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-lockdep.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-lockdep.Tpo -c -o common/test_build_libcommon-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-lockdep.Tpo common/$(DEPDIR)/test_build_libcommon-lockdep.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='common/test_build_libcommon-lockdep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cls-cls.o `test -f 'test/librados/cls.cc' || echo '$(srcdir)/'`test/librados/cls.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-lockdep.o `test -f 'common/lockdep.cc' || echo '$(srcdir)/'`common/lockdep.cc
 
-ceph_test_rados_api_cls-cls.obj: test/librados/cls.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cls-cls.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo -c -o ceph_test_rados_api_cls-cls.obj `if test -f 'test/librados/cls.cc'; then $(CYGPATH_W) 'test/librados/cls.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cls.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cls-cls.Tpo $(DEPDIR)/ceph_test_rados_api_cls-cls.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cls.cc' object='ceph_test_rados_api_cls-cls.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-lockdep.obj: common/lockdep.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-lockdep.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-lockdep.Tpo -c -o common/test_build_libcommon-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-lockdep.Tpo common/$(DEPDIR)/test_build_libcommon-lockdep.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/lockdep.cc' object='common/test_build_libcommon-lockdep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cls-cls.obj `if test -f 'test/librados/cls.cc'; then $(CYGPATH_W) 'test/librados/cls.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cls.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-lockdep.obj `if test -f 'common/lockdep.cc'; then $(CYGPATH_W) 'common/lockdep.cc'; else $(CYGPATH_W) '$(srcdir)/common/lockdep.cc'; fi`
 
-ceph_test_rados_api_cls-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cls-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cls-test.Tpo -c -o ceph_test_rados_api_cls-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cls-test.Tpo $(DEPDIR)/ceph_test_rados_api_cls-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_cls-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-version.o: common/version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-version.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-version.Tpo -c -o common/test_build_libcommon-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-version.Tpo common/$(DEPDIR)/test_build_libcommon-version.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='common/test_build_libcommon-version.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cls-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-version.o `test -f 'common/version.cc' || echo '$(srcdir)/'`common/version.cc
 
-ceph_test_rados_api_cls-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cls-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cls-test.Tpo -c -o ceph_test_rados_api_cls-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cls-test.Tpo $(DEPDIR)/ceph_test_rados_api_cls-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_cls-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-version.obj: common/version.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-version.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-version.Tpo -c -o common/test_build_libcommon-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-version.Tpo common/$(DEPDIR)/test_build_libcommon-version.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/version.cc' object='common/test_build_libcommon-version.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cls_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cls-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-version.obj `if test -f 'common/version.cc'; then $(CYGPATH_W) 'common/version.cc'; else $(CYGPATH_W) '$(srcdir)/common/version.cc'; fi`
 
-ceph_test_rados_api_cmd-cmd.o: test/librados/cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cmd-cmd.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo -c -o ceph_test_rados_api_cmd-cmd.o `test -f 'test/librados/cmd.cc' || echo '$(srcdir)/'`test/librados/cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cmd.cc' object='ceph_test_rados_api_cmd-cmd.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-hex.o: common/hex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-hex.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-hex.Tpo -c -o common/test_build_libcommon-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-hex.Tpo common/$(DEPDIR)/test_build_libcommon-hex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='common/test_build_libcommon-hex.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cmd-cmd.o `test -f 'test/librados/cmd.cc' || echo '$(srcdir)/'`test/librados/cmd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-hex.o `test -f 'common/hex.cc' || echo '$(srcdir)/'`common/hex.cc
 
-ceph_test_rados_api_cmd-cmd.obj: test/librados/cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cmd-cmd.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo -c -o ceph_test_rados_api_cmd-cmd.obj `if test -f 'test/librados/cmd.cc'; then $(CYGPATH_W) 'test/librados/cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Tpo $(DEPDIR)/ceph_test_rados_api_cmd-cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/cmd.cc' object='ceph_test_rados_api_cmd-cmd.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-hex.obj: common/hex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-hex.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-hex.Tpo -c -o common/test_build_libcommon-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-hex.Tpo common/$(DEPDIR)/test_build_libcommon-hex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hex.cc' object='common/test_build_libcommon-hex.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cmd-cmd.obj `if test -f 'test/librados/cmd.cc'; then $(CYGPATH_W) 'test/librados/cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/cmd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-hex.obj `if test -f 'common/hex.cc'; then $(CYGPATH_W) 'common/hex.cc'; else $(CYGPATH_W) '$(srcdir)/common/hex.cc'; fi`
 
-ceph_test_rados_api_cmd-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cmd-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo -c -o ceph_test_rados_api_cmd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo $(DEPDIR)/ceph_test_rados_api_cmd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_cmd-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-entity_name.o: common/entity_name.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-entity_name.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-entity_name.Tpo -c -o common/test_build_libcommon-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-entity_name.Tpo common/$(DEPDIR)/test_build_libcommon-entity_name.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='common/test_build_libcommon-entity_name.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cmd-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-entity_name.o `test -f 'common/entity_name.cc' || echo '$(srcdir)/'`common/entity_name.cc
 
-ceph_test_rados_api_cmd-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_cmd-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo -c -o ceph_test_rados_api_cmd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_cmd-test.Tpo $(DEPDIR)/ceph_test_rados_api_cmd-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_cmd-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-entity_name.obj: common/entity_name.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-entity_name.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-entity_name.Tpo -c -o common/test_build_libcommon-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-entity_name.Tpo common/$(DEPDIR)/test_build_libcommon-entity_name.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/entity_name.cc' object='common/test_build_libcommon-entity_name.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_cmd_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_cmd-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-entity_name.obj `if test -f 'common/entity_name.cc'; then $(CYGPATH_W) 'common/entity_name.cc'; else $(CYGPATH_W) '$(srcdir)/common/entity_name.cc'; fi`
 
-ceph_test_rados_api_io-io.o: test/librados/io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_io-io.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_io-io.Tpo -c -o ceph_test_rados_api_io-io.o `test -f 'test/librados/io.cc' || echo '$(srcdir)/'`test/librados/io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_io-io.Tpo $(DEPDIR)/ceph_test_rados_api_io-io.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/io.cc' object='ceph_test_rados_api_io-io.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_crypto.o: common/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_crypto.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Tpo -c -o common/test_build_libcommon-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='common/test_build_libcommon-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_io-io.o `test -f 'test/librados/io.cc' || echo '$(srcdir)/'`test/librados/io.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_crypto.o `test -f 'common/ceph_crypto.cc' || echo '$(srcdir)/'`common/ceph_crypto.cc
 
-ceph_test_rados_api_io-io.obj: test/librados/io.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_io-io.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_io-io.Tpo -c -o ceph_test_rados_api_io-io.obj `if test -f 'test/librados/io.cc'; then $(CYGPATH_W) 'test/librados/io.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/io.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_io-io.Tpo $(DEPDIR)/ceph_test_rados_api_io-io.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/io.cc' object='ceph_test_rados_api_io-io.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_crypto.obj: common/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_crypto.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Tpo -c -o common/test_build_libcommon-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto.cc' object='common/test_build_libcommon-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_io-io.obj `if test -f 'test/librados/io.cc'; then $(CYGPATH_W) 'test/librados/io.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/io.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_crypto.obj `if test -f 'common/ceph_crypto.cc'; then $(CYGPATH_W) 'common/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto.cc'; fi`
 
-ceph_test_rados_api_io-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_io-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_io-test.Tpo -c -o ceph_test_rados_api_io-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_io-test.Tpo $(DEPDIR)/ceph_test_rados_api_io-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_io-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_crypto_cms.o: common/ceph_crypto_cms.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_crypto_cms.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Tpo -c -o common/test_build_libcommon-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='common/test_build_libcommon-ceph_crypto_cms.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_io-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_crypto_cms.o `test -f 'common/ceph_crypto_cms.cc' || echo '$(srcdir)/'`common/ceph_crypto_cms.cc
 
-ceph_test_rados_api_io-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_io-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_io-test.Tpo -c -o ceph_test_rados_api_io-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_io-test.Tpo $(DEPDIR)/ceph_test_rados_api_io-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_io-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_crypto_cms.obj: common/ceph_crypto_cms.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_crypto_cms.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Tpo -c -o common/test_build_libcommon-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_crypto_cms.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_crypto_cms.cc' object='common/test_build_libcommon-ceph_crypto_cms.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_io_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_io-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_crypto_cms.obj `if test -f 'common/ceph_crypto_cms.cc'; then $(CYGPATH_W) 'common/ceph_crypto_cms.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_crypto_cms.cc'; fi`
 
-ceph_test_rados_api_list-list.o: test/librados/list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_list-list.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_list-list.Tpo -c -o ceph_test_rados_api_list-list.o `test -f 'test/librados/list.cc' || echo '$(srcdir)/'`test/librados/list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_list-list.Tpo $(DEPDIR)/ceph_test_rados_api_list-list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/list.cc' object='ceph_test_rados_api_list-list.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_json.o: common/ceph_json.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_json.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_json.Tpo -c -o common/test_build_libcommon-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_json.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_json.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='common/test_build_libcommon-ceph_json.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_list-list.o `test -f 'test/librados/list.cc' || echo '$(srcdir)/'`test/librados/list.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_json.o `test -f 'common/ceph_json.cc' || echo '$(srcdir)/'`common/ceph_json.cc
 
-ceph_test_rados_api_list-list.obj: test/librados/list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_list-list.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_list-list.Tpo -c -o ceph_test_rados_api_list-list.obj `if test -f 'test/librados/list.cc'; then $(CYGPATH_W) 'test/librados/list.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_list-list.Tpo $(DEPDIR)/ceph_test_rados_api_list-list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/list.cc' object='ceph_test_rados_api_list-list.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_json.obj: common/ceph_json.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_json.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_json.Tpo -c -o common/test_build_libcommon-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_json.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_json.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_json.cc' object='common/test_build_libcommon-ceph_json.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_list-list.obj `if test -f 'test/librados/list.cc'; then $(CYGPATH_W) 'test/librados/list.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/list.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_json.obj `if test -f 'common/ceph_json.cc'; then $(CYGPATH_W) 'common/ceph_json.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_json.cc'; fi`
 
-ceph_test_rados_api_list-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_list-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_list-test.Tpo -c -o ceph_test_rados_api_list-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_list-test.Tpo $(DEPDIR)/ceph_test_rados_api_list-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_list-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ipaddr.o: common/ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ipaddr.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ipaddr.Tpo -c -o common/test_build_libcommon-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ipaddr.Tpo common/$(DEPDIR)/test_build_libcommon-ipaddr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='common/test_build_libcommon-ipaddr.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_list-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ipaddr.o `test -f 'common/ipaddr.cc' || echo '$(srcdir)/'`common/ipaddr.cc
 
-ceph_test_rados_api_list-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_list-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_list-test.Tpo -c -o ceph_test_rados_api_list-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_list-test.Tpo $(DEPDIR)/ceph_test_rados_api_list-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_list-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ipaddr.obj: common/ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ipaddr.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ipaddr.Tpo -c -o common/test_build_libcommon-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ipaddr.Tpo common/$(DEPDIR)/test_build_libcommon-ipaddr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ipaddr.cc' object='common/test_build_libcommon-ipaddr.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_list_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_list-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ipaddr.obj `if test -f 'common/ipaddr.cc'; then $(CYGPATH_W) 'common/ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/common/ipaddr.cc'; fi`
 
-ceph_test_rados_api_lock-lock.o: test/librados/lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_lock-lock.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo -c -o ceph_test_rados_api_lock-lock.o `test -f 'test/librados/lock.cc' || echo '$(srcdir)/'`test/librados/lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo $(DEPDIR)/ceph_test_rados_api_lock-lock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/lock.cc' object='ceph_test_rados_api_lock-lock.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-pick_address.o: common/pick_address.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-pick_address.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-pick_address.Tpo -c -o common/test_build_libcommon-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-pick_address.Tpo common/$(DEPDIR)/test_build_libcommon-pick_address.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='common/test_build_libcommon-pick_address.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_lock-lock.o `test -f 'test/librados/lock.cc' || echo '$(srcdir)/'`test/librados/lock.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-pick_address.o `test -f 'common/pick_address.cc' || echo '$(srcdir)/'`common/pick_address.cc
 
-ceph_test_rados_api_lock-lock.obj: test/librados/lock.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_lock-lock.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo -c -o ceph_test_rados_api_lock-lock.obj `if test -f 'test/librados/lock.cc'; then $(CYGPATH_W) 'test/librados/lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/lock.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_lock-lock.Tpo $(DEPDIR)/ceph_test_rados_api_lock-lock.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/lock.cc' object='ceph_test_rados_api_lock-lock.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-pick_address.obj: common/pick_address.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-pick_address.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-pick_address.Tpo -c -o common/test_build_libcommon-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-pick_address.Tpo common/$(DEPDIR)/test_build_libcommon-pick_address.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/pick_address.cc' object='common/test_build_libcommon-pick_address.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_lock-lock.obj `if test -f 'test/librados/lock.cc'; then $(CYGPATH_W) 'test/librados/lock.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/lock.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-pick_address.obj `if test -f 'common/pick_address.cc'; then $(CYGPATH_W) 'common/pick_address.cc'; else $(CYGPATH_W) '$(srcdir)/common/pick_address.cc'; fi`
 
-ceph_test_rados_api_lock-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_lock-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_lock-test.Tpo -c -o ceph_test_rados_api_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_lock-test.Tpo $(DEPDIR)/ceph_test_rados_api_lock-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_lock-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-util.o: common/util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-util.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-util.Tpo -c -o common/test_build_libcommon-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-util.Tpo common/$(DEPDIR)/test_build_libcommon-util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='common/test_build_libcommon-util.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_lock-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
 
-ceph_test_rados_api_lock-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_lock-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_lock-test.Tpo -c -o ceph_test_rados_api_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_lock-test.Tpo $(DEPDIR)/ceph_test_rados_api_lock-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_lock-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-util.obj: common/util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-util.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-util.Tpo -c -o common/test_build_libcommon-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-util.Tpo common/$(DEPDIR)/test_build_libcommon-util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='common/test_build_libcommon-util.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_lock_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_lock-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
 
-ceph_test_rados_api_misc-misc.o: test/librados/misc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_misc-misc.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo -c -o ceph_test_rados_api_misc-misc.o `test -f 'test/librados/misc.cc' || echo '$(srcdir)/'`test/librados/misc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo $(DEPDIR)/ceph_test_rados_api_misc-misc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/misc.cc' object='ceph_test_rados_api_misc-misc.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-TextTable.o: common/TextTable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-TextTable.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-TextTable.Tpo -c -o common/test_build_libcommon-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-TextTable.Tpo common/$(DEPDIR)/test_build_libcommon-TextTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='common/test_build_libcommon-TextTable.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_misc-misc.o `test -f 'test/librados/misc.cc' || echo '$(srcdir)/'`test/librados/misc.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
 
-ceph_test_rados_api_misc-misc.obj: test/librados/misc.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_misc-misc.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo -c -o ceph_test_rados_api_misc-misc.obj `if test -f 'test/librados/misc.cc'; then $(CYGPATH_W) 'test/librados/misc.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/misc.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_misc-misc.Tpo $(DEPDIR)/ceph_test_rados_api_misc-misc.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/misc.cc' object='ceph_test_rados_api_misc-misc.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-TextTable.obj: common/TextTable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-TextTable.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-TextTable.Tpo -c -o common/test_build_libcommon-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-TextTable.Tpo common/$(DEPDIR)/test_build_libcommon-TextTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='common/test_build_libcommon-TextTable.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_misc-misc.obj `if test -f 'test/librados/misc.cc'; then $(CYGPATH_W) 'test/librados/misc.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/misc.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
 
-ceph_test_rados_api_misc-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_misc-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_misc-test.Tpo -c -o ceph_test_rados_api_misc-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_misc-test.Tpo $(DEPDIR)/ceph_test_rados_api_misc-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_misc-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_fs.o: common/ceph_fs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_fs.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_fs.Tpo -c -o common/test_build_libcommon-ceph_fs.o `test -f 'common/ceph_fs.cc' || echo '$(srcdir)/'`common/ceph_fs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_fs.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_fs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_fs.cc' object='common/test_build_libcommon-ceph_fs.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_misc-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_fs.o `test -f 'common/ceph_fs.cc' || echo '$(srcdir)/'`common/ceph_fs.cc
 
-ceph_test_rados_api_misc-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_misc-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_misc-test.Tpo -c -o ceph_test_rados_api_misc-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_misc-test.Tpo $(DEPDIR)/ceph_test_rados_api_misc-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_misc-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_fs.obj: common/ceph_fs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_fs.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_fs.Tpo -c -o common/test_build_libcommon-ceph_fs.obj `if test -f 'common/ceph_fs.cc'; then $(CYGPATH_W) 'common/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_fs.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_fs.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_fs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_fs.cc' object='common/test_build_libcommon-ceph_fs.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_misc_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_misc-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_fs.obj `if test -f 'common/ceph_fs.cc'; then $(CYGPATH_W) 'common/ceph_fs.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_fs.cc'; fi`
 
-ceph_test_rados_api_pool-pool.o: test/librados/pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_pool-pool.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo -c -o ceph_test_rados_api_pool-pool.o `test -f 'test/librados/pool.cc' || echo '$(srcdir)/'`test/librados/pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo $(DEPDIR)/ceph_test_rados_api_pool-pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/pool.cc' object='ceph_test_rados_api_pool-pool.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_hash.o: common/ceph_hash.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_hash.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_hash.Tpo -c -o common/test_build_libcommon-ceph_hash.o `test -f 'common/ceph_hash.cc' || echo '$(srcdir)/'`common/ceph_hash.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_hash.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_hash.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_hash.cc' object='common/test_build_libcommon-ceph_hash.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_pool-pool.o `test -f 'test/librados/pool.cc' || echo '$(srcdir)/'`test/librados/pool.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_hash.o `test -f 'common/ceph_hash.cc' || echo '$(srcdir)/'`common/ceph_hash.cc
 
-ceph_test_rados_api_pool-pool.obj: test/librados/pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_pool-pool.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo -c -o ceph_test_rados_api_pool-pool.obj `if test -f 'test/librados/pool.cc'; then $(CYGPATH_W) 'test/librados/pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/pool.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_pool-pool.Tpo $(DEPDIR)/ceph_test_rados_api_pool-pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/pool.cc' object='ceph_test_rados_api_pool-pool.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_hash.obj: common/ceph_hash.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_hash.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_hash.Tpo -c -o common/test_build_libcommon-ceph_hash.obj `if test -f 'common/ceph_hash.cc'; then $(CYGPATH_W) 'common/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_hash.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_hash.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_hash.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_hash.cc' object='common/test_build_libcommon-ceph_hash.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_pool-pool.obj `if test -f 'test/librados/pool.cc'; then $(CYGPATH_W) 'test/librados/pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/pool.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_hash.obj `if test -f 'common/ceph_hash.cc'; then $(CYGPATH_W) 'common/ceph_hash.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_hash.cc'; fi`
 
-ceph_test_rados_api_pool-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_pool-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_pool-test.Tpo -c -o ceph_test_rados_api_pool-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_pool-test.Tpo $(DEPDIR)/ceph_test_rados_api_pool-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_pool-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_strings.o: common/ceph_strings.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_strings.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_strings.Tpo -c -o common/test_build_libcommon-ceph_strings.o `test -f 'common/ceph_strings.cc' || echo '$(srcdir)/'`common/ceph_strings.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_strings.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_strings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_strings.cc' object='common/test_build_libcommon-ceph_strings.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_pool-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_strings.o `test -f 'common/ceph_strings.cc' || echo '$(srcdir)/'`common/ceph_strings.cc
 
-ceph_test_rados_api_pool-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_pool-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_pool-test.Tpo -c -o ceph_test_rados_api_pool-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_pool-test.Tpo $(DEPDIR)/ceph_test_rados_api_pool-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_pool-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_strings.obj: common/ceph_strings.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_strings.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_strings.Tpo -c -o common/test_build_libcommon-ceph_strings.obj `if test -f 'common/ceph_strings.cc'; then $(CYGPATH_W) 'common/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_strings.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_strings.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_strings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_strings.cc' object='common/test_build_libcommon-ceph_strings.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_pool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_pool-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_strings.obj `if test -f 'common/ceph_strings.cc'; then $(CYGPATH_W) 'common/ceph_strings.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_strings.cc'; fi`
 
-ceph_test_rados_api_snapshots-snapshots.o: test/librados/snapshots.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_snapshots-snapshots.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo -c -o ceph_test_rados_api_snapshots-snapshots.o `test -f 'test/librados/snapshots.cc' || echo '$(srcdir)/'`test/librados/snapshots.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/snapshots.cc' object='ceph_test_rados_api_snapshots-snapshots.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_frag.o: common/ceph_frag.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_frag.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_frag.Tpo -c -o common/test_build_libcommon-ceph_frag.o `test -f 'common/ceph_frag.cc' || echo '$(srcdir)/'`common/ceph_frag.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_frag.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_frag.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_frag.cc' object='common/test_build_libcommon-ceph_frag.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_snapshots-snapshots.o `test -f 'test/librados/snapshots.cc' || echo '$(srcdir)/'`test/librados/snapshots.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_frag.o `test -f 'common/ceph_frag.cc' || echo '$(srcdir)/'`common/ceph_frag.cc
 
-ceph_test_rados_api_snapshots-snapshots.obj: test/librados/snapshots.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_snapshots-snapshots.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo -c -o ceph_test_rados_api_snapshots-snapshots.obj `if test -f 'test/librados/snapshots.cc'; then $(CYGPATH_W) 'test/librados/snapshots.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/snapshots.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Tpo $(DEPDIR)/ceph_test_rados_api_snapshots-snapshots.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/snapshots.cc' object='ceph_test_rados_api_snapshots-snapshots.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-ceph_frag.obj: common/ceph_frag.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-ceph_frag.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-ceph_frag.Tpo -c -o common/test_build_libcommon-ceph_frag.obj `if test -f 'common/ceph_frag.cc'; then $(CYGPATH_W) 'common/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_frag.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-ceph_frag.Tpo common/$(DEPDIR)/test_build_libcommon-ceph_frag.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/ceph_frag.cc' object='common/test_build_libcommon-ceph_frag.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_snapshots-snapshots.obj `if test -f 'test/librados/snapshots.cc'; then $(CYGPATH_W) 'test/librados/snapshots.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/snapshots.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-ceph_frag.obj `if test -f 'common/ceph_frag.cc'; then $(CYGPATH_W) 'common/ceph_frag.cc'; else $(CYGPATH_W) '$(srcdir)/common/ceph_frag.cc'; fi`
 
-ceph_test_rados_api_snapshots-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_snapshots-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo -c -o ceph_test_rados_api_snapshots-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo $(DEPDIR)/ceph_test_rados_api_snapshots-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_snapshots-test.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-hobject.o: common/hobject.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-hobject.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-hobject.Tpo -c -o common/test_build_libcommon-hobject.o `test -f 'common/hobject.cc' || echo '$(srcdir)/'`common/hobject.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-hobject.Tpo common/$(DEPDIR)/test_build_libcommon-hobject.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hobject.cc' object='common/test_build_libcommon-hobject.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_snapshots-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-hobject.o `test -f 'common/hobject.cc' || echo '$(srcdir)/'`common/hobject.cc
 
-ceph_test_rados_api_snapshots-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_snapshots-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo -c -o ceph_test_rados_api_snapshots-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_snapshots-test.Tpo $(DEPDIR)/ceph_test_rados_api_snapshots-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_snapshots-test.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-hobject.obj: common/hobject.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-hobject.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-hobject.Tpo -c -o common/test_build_libcommon-hobject.obj `if test -f 'common/hobject.cc'; then $(CYGPATH_W) 'common/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/common/hobject.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-hobject.Tpo common/$(DEPDIR)/test_build_libcommon-hobject.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/hobject.cc' object='common/test_build_libcommon-hobject.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_snapshots_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_snapshots-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-hobject.obj `if test -f 'common/hobject.cc'; then $(CYGPATH_W) 'common/hobject.cc'; else $(CYGPATH_W) '$(srcdir)/common/hobject.cc'; fi`
 
-ceph_test_rados_api_stat-stat.o: test/librados/stat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_stat-stat.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo -c -o ceph_test_rados_api_stat-stat.o `test -f 'test/librados/stat.cc' || echo '$(srcdir)/'`test/librados/stat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo $(DEPDIR)/ceph_test_rados_api_stat-stat.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/stat.cc' object='ceph_test_rados_api_stat-stat.o' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-bloom_filter.o: common/bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-bloom_filter.o -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-bloom_filter.Tpo -c -o common/test_build_libcommon-bloom_filter.o `test -f 'common/bloom_filter.cc' || echo '$(srcdir)/'`common/bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-bloom_filter.Tpo common/$(DEPDIR)/test_build_libcommon-bloom_filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/bloom_filter.cc' object='common/test_build_libcommon-bloom_filter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_stat-stat.o `test -f 'test/librados/stat.cc' || echo '$(srcdir)/'`test/librados/stat.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-bloom_filter.o `test -f 'common/bloom_filter.cc' || echo '$(srcdir)/'`common/bloom_filter.cc
 
-ceph_test_rados_api_stat-stat.obj: test/librados/stat.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_stat-stat.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo -c -o ceph_test_rados_api_stat-stat.obj `if test -f 'test/librados/stat.cc'; then $(CYGPATH_W) 'test/librados/stat.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/stat.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_stat-stat.Tpo $(DEPDIR)/ceph_test_rados_api_stat-stat.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/stat.cc' object='ceph_test_rados_api_stat-stat.obj' libtool=no @AMDEPBACKSLASH@
+common/test_build_libcommon-bloom_filter.obj: common/bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT common/test_build_libcommon-bloom_filter.obj -MD -MP -MF common/$(DEPDIR)/test_build_libcommon-bloom_filter.Tpo -c -o common/test_build_libcommon-bloom_filter.obj `if test -f 'common/bloom_filter.cc'; then $(CYGPATH_W) 'common/bloom_filter.cc'; else $(CYGPATH_W) '$(srcdir)/common/bloom_filter.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) common/$(DEPDIR)/test_build_libcommon-bloom_filter.Tpo common/$(DEPDIR)/test_build_libcommon-bloom_filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/bloom_filter.cc' object='common/test_build_libcommon-bloom_filter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_stat-stat.obj `if test -f 'test/librados/stat.cc'; then $(CYGPATH_W) 'test/librados/stat.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/stat.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o common/test_build_libcommon-bloom_filter.obj `if test -f 'common/bloom_filter.cc'; then $(CYGPATH_W) 'common/bloom_filter.cc'; else $(CYGPATH_W) '$(srcdir)/common/bloom_filter.cc'; fi`
 
-ceph_test_rados_api_stat-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_stat-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_stat-test.Tpo -c -o ceph_test_rados_api_stat-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_stat-test.Tpo $(DEPDIR)/ceph_test_rados_api_stat-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_stat-test.o' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonCap.o: mon/MonCap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonCap.o -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonCap.Tpo -c -o mon/test_build_libcommon-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonCap.Tpo mon/$(DEPDIR)/test_build_libcommon-MonCap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='mon/test_build_libcommon-MonCap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_stat-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
 
-ceph_test_rados_api_stat-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_stat-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_stat-test.Tpo -c -o ceph_test_rados_api_stat-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_stat-test.Tpo $(DEPDIR)/ceph_test_rados_api_stat-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_stat-test.obj' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonCap.obj: mon/MonCap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonCap.obj -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonCap.Tpo -c -o mon/test_build_libcommon-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonCap.Tpo mon/$(DEPDIR)/test_build_libcommon-MonCap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='mon/test_build_libcommon-MonCap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_stat_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_stat-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
 
-ceph_test_rados_api_watch_notify-watch_notify.o: test/librados/watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_watch_notify-watch_notify.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo -c -o ceph_test_rados_api_watch_notify-watch_notify.o `test -f 'test/librados/watch_notify.cc' || echo '$(srcdir)/'`test/librados/watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/watch_notify.cc' object='ceph_test_rados_api_watch_notify-watch_notify.o' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonClient.o: mon/MonClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonClient.o -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonClient.Tpo -c -o mon/test_build_libcommon-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonClient.Tpo mon/$(DEPDIR)/test_build_libcommon-MonClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='mon/test_build_libcommon-MonClient.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_watch_notify-watch_notify.o `test -f 'test/librados/watch_notify.cc' || echo '$(srcdir)/'`test/librados/watch_notify.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonClient.o `test -f 'mon/MonClient.cc' || echo '$(srcdir)/'`mon/MonClient.cc
 
-ceph_test_rados_api_watch_notify-watch_notify.obj: test/librados/watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_watch_notify-watch_notify.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo -c -o ceph_test_rados_api_watch_notify-watch_notify.obj `if test -f 'test/librados/watch_notify.cc'; then $(CYGPATH_W) 'test/librados/watch_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/watch_n [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Tpo $(DEPDIR)/ceph_test_rados_api_watch_notify-watch_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/watch_notify.cc' object='ceph_test_rados_api_watch_notify-watch_notify.obj' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonClient.obj: mon/MonClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonClient.obj -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonClient.Tpo -c -o mon/test_build_libcommon-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonClient.Tpo mon/$(DEPDIR)/test_build_libcommon-MonClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonClient.cc' object='mon/test_build_libcommon-MonClient.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_watch_notify-watch_notify.obj `if test -f 'test/librados/watch_notify.cc'; then $(CYGPATH_W) 'test/librados/watch_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/watch_notify.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonClient.obj `if test -f 'mon/MonClient.cc'; then $(CYGPATH_W) 'mon/MonClient.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonClient.cc'; fi`
 
-ceph_test_rados_api_watch_notify-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_watch_notify-test.o -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo -c -o ceph_test_rados_api_watch_notify-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_watch_notify-test.o' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonMap.o: mon/MonMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonMap.o -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonMap.Tpo -c -o mon/test_build_libcommon-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonMap.Tpo mon/$(DEPDIR)/test_build_libcommon-MonMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='mon/test_build_libcommon-MonMap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_watch_notify-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonMap.o `test -f 'mon/MonMap.cc' || echo '$(srcdir)/'`mon/MonMap.cc
 
-ceph_test_rados_api_watch_notify-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_rados_api_watch_notify-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo -c -o ceph_test_rados_api_watch_notify-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Tpo $(DEPDIR)/ceph_test_rados_api_watch_notify-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_rados_api_watch_notify-test.obj' libtool=no @AMDEPBACKSLASH@
+mon/test_build_libcommon-MonMap.obj: mon/MonMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mon/test_build_libcommon-MonMap.obj -MD -MP -MF mon/$(DEPDIR)/test_build_libcommon-MonMap.Tpo -c -o mon/test_build_libcommon-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mon/$(DEPDIR)/test_build_libcommon-MonMap.Tpo mon/$(DEPDIR)/test_build_libcommon-MonMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonMap.cc' object='mon/test_build_libcommon-MonMap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_rados_api_watch_notify_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_rados_api_watch_notify-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mon/test_build_libcommon-MonMap.obj `if test -f 'mon/MonMap.cc'; then $(CYGPATH_W) 'mon/MonMap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonMap.cc'; fi`
 
-rados_delete_pools_parallel.o: test/system/rados_delete_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_delete_pools_parallel.o -MD -MP -MF $(DEPDIR)/rados_delete_pools_parallel.Tpo -c -o rados_delete_pools_parallel.o `test -f 'test/system/rados_delete_pools_parallel.cc' || echo '$(srcdir)/'`test/system/rados_delete_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_delete_pools_parallel.Tpo $(DEPDIR)/rados_delete_pools_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_delete_pools_parallel.cc' object='rados_delete_pools_parallel.o' libtool=no @AMDEPBACKSLASH@
+osd/test_build_libcommon-OSDMap.o: osd/OSDMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT osd/test_build_libcommon-OSDMap.o -MD -MP -MF osd/$(DEPDIR)/test_build_libcommon-OSDMap.Tpo -c -o osd/test_build_libcommon-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/$(DEPDIR)/test_build_libcommon-OSDMap.Tpo osd/$(DEPDIR)/test_build_libcommon-OSDMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='osd/test_build_libcommon-OSDMap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_delete_pools_parallel.o `test -f 'test/system/rados_delete_pools_parallel.cc' || echo '$(srcdir)/'`test/system/rados_delete_pools_parallel.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o osd/test_build_libcommon-OSDMap.o `test -f 'osd/OSDMap.cc' || echo '$(srcdir)/'`osd/OSDMap.cc
 
-rados_delete_pools_parallel.obj: test/system/rados_delete_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_delete_pools_parallel.obj -MD -MP -MF $(DEPDIR)/rados_delete_pools_parallel.Tpo -c -o rados_delete_pools_parallel.obj `if test -f 'test/system/rados_delete_pools_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_delete_pools_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_delete_pools_parallel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_delete_pools_parallel.Tpo $(DEPDIR)/rados_delete_pools_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_delete_pools_parallel.cc' object='rados_delete_pools_parallel.obj' libtool=no @AMDEPBACKSLASH@
+osd/test_build_libcommon-OSDMap.obj: osd/OSDMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT osd/test_build_libcommon-OSDMap.obj -MD -MP -MF osd/$(DEPDIR)/test_build_libcommon-OSDMap.Tpo -c -o osd/test_build_libcommon-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/$(DEPDIR)/test_build_libcommon-OSDMap.Tpo osd/$(DEPDIR)/test_build_libcommon-OSDMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDMap.cc' object='osd/test_build_libcommon-OSDMap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_delete_pools_parallel.obj `if test -f 'test/system/rados_delete_pools_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_delete_pools_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_delete_pools_parallel.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o osd/test_build_libcommon-OSDMap.obj `if test -f 'osd/OSDMap.cc'; then $(CYGPATH_W) 'osd/OSDMap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDMap.cc'; fi`
 
-st_rados_create_pool.o: test/system/st_rados_create_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_create_pool.o -MD -MP -MF $(DEPDIR)/st_rados_create_pool.Tpo -c -o st_rados_create_pool.o `test -f 'test/system/st_rados_create_pool.cc' || echo '$(srcdir)/'`test/system/st_rados_create_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_create_pool.Tpo $(DEPDIR)/st_rados_create_pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_create_pool.cc' object='st_rados_create_pool.o' libtool=no @AMDEPBACKSLASH@
+osd/test_build_libcommon-osd_types.o: osd/osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT osd/test_build_libcommon-osd_types.o -MD -MP -MF osd/$(DEPDIR)/test_build_libcommon-osd_types.Tpo -c -o osd/test_build_libcommon-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/$(DEPDIR)/test_build_libcommon-osd_types.Tpo osd/$(DEPDIR)/test_build_libcommon-osd_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='osd/test_build_libcommon-osd_types.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_create_pool.o `test -f 'test/system/st_rados_create_pool.cc' || echo '$(srcdir)/'`test/system/st_rados_create_pool.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o osd/test_build_libcommon-osd_types.o `test -f 'osd/osd_types.cc' || echo '$(srcdir)/'`osd/osd_types.cc
 
-st_rados_create_pool.obj: test/system/st_rados_create_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_create_pool.obj -MD -MP -MF $(DEPDIR)/st_rados_create_pool.Tpo -c -o st_rados_create_pool.obj `if test -f 'test/system/st_rados_create_pool.cc'; then $(CYGPATH_W) 'test/system/st_rados_create_pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_create_pool.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_create_pool.Tpo $(DEPDIR)/st_rados_create_pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_create_pool.cc' object='st_rados_create_pool.obj' libtool=no @AMDEPBACKSLASH@
+osd/test_build_libcommon-osd_types.obj: osd/osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT osd/test_build_libcommon-osd_types.obj -MD -MP -MF osd/$(DEPDIR)/test_build_libcommon-osd_types.Tpo -c -o osd/test_build_libcommon-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/$(DEPDIR)/test_build_libcommon-osd_types.Tpo osd/$(DEPDIR)/test_build_libcommon-osd_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/osd_types.cc' object='osd/test_build_libcommon-osd_types.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_create_pool.obj `if test -f 'test/system/st_rados_create_pool.cc'; then $(CYGPATH_W) 'test/system/st_rados_create_pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_create_pool.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o osd/test_build_libcommon-osd_types.obj `if test -f 'osd/osd_types.cc'; then $(CYGPATH_W) 'osd/osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/osd/osd_types.cc'; fi`
 
-st_rados_delete_pool.o: test/system/st_rados_delete_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_delete_pool.o -MD -MP -MF $(DEPDIR)/st_rados_delete_pool.Tpo -c -o st_rados_delete_pool.o `test -f 'test/system/st_rados_delete_pool.cc' || echo '$(srcdir)/'`test/system/st_rados_delete_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_delete_pool.Tpo $(DEPDIR)/st_rados_delete_pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_delete_pool.cc' object='st_rados_delete_pool.o' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-MDSMap.o: mds/MDSMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-MDSMap.o -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-MDSMap.Tpo -c -o mds/test_build_libcommon-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-MDSMap.Tpo mds/$(DEPDIR)/test_build_libcommon-MDSMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='mds/test_build_libcommon-MDSMap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_delete_pool.o `test -f 'test/system/st_rados_delete_pool.cc' || echo '$(srcdir)/'`test/system/st_rados_delete_pool.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-MDSMap.o `test -f 'mds/MDSMap.cc' || echo '$(srcdir)/'`mds/MDSMap.cc
 
-st_rados_delete_pool.obj: test/system/st_rados_delete_pool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_delete_pool.obj -MD -MP -MF $(DEPDIR)/st_rados_delete_pool.Tpo -c -o st_rados_delete_pool.obj `if test -f 'test/system/st_rados_delete_pool.cc'; then $(CYGPATH_W) 'test/system/st_rados_delete_pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_delete_pool.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_delete_pool.Tpo $(DEPDIR)/st_rados_delete_pool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_delete_pool.cc' object='st_rados_delete_pool.obj' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-MDSMap.obj: mds/MDSMap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-MDSMap.obj -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-MDSMap.Tpo -c -o mds/test_build_libcommon-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-MDSMap.Tpo mds/$(DEPDIR)/test_build_libcommon-MDSMap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/MDSMap.cc' object='mds/test_build_libcommon-MDSMap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_delete_pool.obj `if test -f 'test/system/st_rados_delete_pool.cc'; then $(CYGPATH_W) 'test/system/st_rados_delete_pool.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_delete_pool.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-MDSMap.obj `if test -f 'mds/MDSMap.cc'; then $(CYGPATH_W) 'mds/MDSMap.cc'; else $(CYGPATH_W) '$(srcdir)/mds/MDSMap.cc'; fi`
 
-st_rados_list_objects.o: test/system/st_rados_list_objects.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_list_objects.o -MD -MP -MF $(DEPDIR)/st_rados_list_objects.Tpo -c -o st_rados_list_objects.o `test -f 'test/system/st_rados_list_objects.cc' || echo '$(srcdir)/'`test/system/st_rados_list_objects.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_list_objects.Tpo $(DEPDIR)/st_rados_list_objects.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_list_objects.cc' object='st_rados_list_objects.o' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-inode_backtrace.o: mds/inode_backtrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-inode_backtrace.o -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Tpo -c -o mds/test_build_libcommon-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Tpo mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='mds/test_build_libcommon-inode_backtrace.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_list_objects.o `test -f 'test/system/st_rados_list_objects.cc' || echo '$(srcdir)/'`test/system/st_rados_list_objects.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-inode_backtrace.o `test -f 'mds/inode_backtrace.cc' || echo '$(srcdir)/'`mds/inode_backtrace.cc
 
-st_rados_list_objects.obj: test/system/st_rados_list_objects.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_list_objects.obj -MD -MP -MF $(DEPDIR)/st_rados_list_objects.Tpo -c -o st_rados_list_objects.obj `if test -f 'test/system/st_rados_list_objects.cc'; then $(CYGPATH_W) 'test/system/st_rados_list_objects.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_list_objects.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_list_objects.Tpo $(DEPDIR)/st_rados_list_objects.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_list_objects.cc' object='st_rados_list_objects.obj' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-inode_backtrace.obj: mds/inode_backtrace.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-inode_backtrace.obj -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Tpo -c -o mds/test_build_libcommon-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Tpo mds/$(DEPDIR)/test_build_libcommon-inode_backtrace.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/inode_backtrace.cc' object='mds/test_build_libcommon-inode_backtrace.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_list_objects.obj `if test -f 'test/system/st_rados_list_objects.cc'; then $(CYGPATH_W) 'test/system/st_rados_list_objects.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_list_objects.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-inode_backtrace.obj `if test -f 'mds/inode_backtrace.cc'; then $(CYGPATH_W) 'mds/inode_backtrace.cc'; else $(CYGPATH_W) '$(srcdir)/mds/inode_backtrace.cc'; fi`
 
-rados_list_parallel.o: test/system/rados_list_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_list_parallel.o -MD -MP -MF $(DEPDIR)/rados_list_parallel.Tpo -c -o rados_list_parallel.o `test -f 'test/system/rados_list_parallel.cc' || echo '$(srcdir)/'`test/system/rados_list_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_list_parallel.Tpo $(DEPDIR)/rados_list_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_list_parallel.cc' object='rados_list_parallel.o' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-mdstypes.o: mds/mdstypes.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-mdstypes.o -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-mdstypes.Tpo -c -o mds/test_build_libcommon-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-mdstypes.Tpo mds/$(DEPDIR)/test_build_libcommon-mdstypes.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='mds/test_build_libcommon-mdstypes.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_list_parallel.o `test -f 'test/system/rados_list_parallel.cc' || echo '$(srcdir)/'`test/system/rados_list_parallel.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-mdstypes.o `test -f 'mds/mdstypes.cc' || echo '$(srcdir)/'`mds/mdstypes.cc
 
-rados_list_parallel.obj: test/system/rados_list_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_list_parallel.obj -MD -MP -MF $(DEPDIR)/rados_list_parallel.Tpo -c -o rados_list_parallel.obj `if test -f 'test/system/rados_list_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_list_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_list_parallel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_list_parallel.Tpo $(DEPDIR)/rados_list_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_list_parallel.cc' object='rados_list_parallel.obj' libtool=no @AMDEPBACKSLASH@
+mds/test_build_libcommon-mdstypes.obj: mds/mdstypes.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -MT mds/test_build_libcommon-mdstypes.obj -MD -MP -MF mds/$(DEPDIR)/test_build_libcommon-mdstypes.Tpo -c -o mds/test_build_libcommon-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) mds/$(DEPDIR)/test_build_libcommon-mdstypes.Tpo mds/$(DEPDIR)/test_build_libcommon-mdstypes.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mds/mdstypes.cc' object='mds/test_build_libcommon-mdstypes.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_list_parallel.obj `if test -f 'test/system/rados_list_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_list_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_list_parallel.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_libcommon_CXXFLAGS) $(CXXFLAGS) -c -o mds/test_build_libcommon-mdstypes.obj `if test -f 'mds/mdstypes.cc'; then $(CYGPATH_W) 'mds/mdstypes.cc'; else $(CYGPATH_W) '$(srcdir)/mds/mdstypes.cc'; fi`
 
-rados_open_pools_parallel.o: test/system/rados_open_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_open_pools_parallel.o -MD -MP -MF $(DEPDIR)/rados_open_pools_parallel.Tpo -c -o rados_open_pools_parallel.o `test -f 'test/system/rados_open_pools_parallel.cc' || echo '$(srcdir)/'`test/system/rados_open_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_open_pools_parallel.Tpo $(DEPDIR)/rados_open_pools_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_open_pools_parallel.cc' object='rados_open_pools_parallel.o' libtool=no @AMDEPBACKSLASH@
+test/test_build_librados-buildtest_skeleton.o: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_librados-buildtest_skeleton.o -MD -MP -MF test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Tpo -c -o test/test_build_librados-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_librados-buildtest_skeleton.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_open_pools_parallel.o `test -f 'test/system/rados_open_pools_parallel.cc' || echo '$(srcdir)/'`test/system/rados_open_pools_parallel.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_librados-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
 
-rados_open_pools_parallel.obj: test/system/rados_open_pools_parallel.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_open_pools_parallel.obj -MD -MP -MF $(DEPDIR)/rados_open_pools_parallel.Tpo -c -o rados_open_pools_parallel.obj `if test -f 'test/system/rados_open_pools_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_open_pools_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_open_pools_parallel.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_open_pools_parallel.Tpo $(DEPDIR)/rados_open_pools_parallel.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_open_pools_parallel.cc' object='rados_open_pools_parallel.obj' libtool=no @AMDEPBACKSLASH@
+test/test_build_librados-buildtest_skeleton.obj: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_librados-buildtest_skeleton.obj -MD -MP -MF test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Tpo -c -o test/test_build_librados-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_librados-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_librados-buildtest_skeleton.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_open_pools_parallel.obj `if test -f 'test/system/rados_open_pools_parallel.cc'; then $(CYGPATH_W) 'test/system/rados_open_pools_parallel.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_open_pools_parallel.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_librados-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
 
-rados_watch_notify.o: test/system/rados_watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_watch_notify.o -MD -MP -MF $(DEPDIR)/rados_watch_notify.Tpo -c -o rados_watch_notify.o `test -f 'test/system/rados_watch_notify.cc' || echo '$(srcdir)/'`test/system/rados_watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_watch_notify.Tpo $(DEPDIR)/rados_watch_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_watch_notify.cc' object='rados_watch_notify.o' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-librados.o: librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-librados.o -MD -MP -MF librados/$(DEPDIR)/test_build_librados-librados.Tpo -c -o librados/test_build_librados-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-librados.Tpo librados/$(DEPDIR)/test_build_librados-librados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='librados/test_build_librados-librados.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_watch_notify.o `test -f 'test/system/rados_watch_notify.cc' || echo '$(srcdir)/'`test/system/rados_watch_notify.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-librados.o `test -f 'librados/librados.cc' || echo '$(srcdir)/'`librados/librados.cc
 
-rados_watch_notify.obj: test/system/rados_watch_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rados_watch_notify.obj -MD -MP -MF $(DEPDIR)/rados_watch_notify.Tpo -c -o rados_watch_notify.obj `if test -f 'test/system/rados_watch_notify.cc'; then $(CYGPATH_W) 'test/system/rados_watch_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_watch_notify.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rados_watch_notify.Tpo $(DEPDIR)/rados_watch_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/rados_watch_notify.cc' object='rados_watch_notify.obj' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-librados.obj: librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-librados.obj -MD -MP -MF librados/$(DEPDIR)/test_build_librados-librados.Tpo -c -o librados/test_build_librados-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-librados.Tpo librados/$(DEPDIR)/test_build_librados-librados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/librados.cc' object='librados/test_build_librados-librados.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rados_watch_notify.obj `if test -f 'test/system/rados_watch_notify.cc'; then $(CYGPATH_W) 'test/system/rados_watch_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/rados_watch_notify.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-librados.obj `if test -f 'librados/librados.cc'; then $(CYGPATH_W) 'librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/librados/librados.cc'; fi`
 
-st_rados_delete_objs.o: test/system/st_rados_delete_objs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_delete_objs.o -MD -MP -MF $(DEPDIR)/st_rados_delete_objs.Tpo -c -o st_rados_delete_objs.o `test -f 'test/system/st_rados_delete_objs.cc' || echo '$(srcdir)/'`test/system/st_rados_delete_objs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_delete_objs.Tpo $(DEPDIR)/st_rados_delete_objs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_delete_objs.cc' object='st_rados_delete_objs.o' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-RadosClient.o: librados/RadosClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-RadosClient.o -MD -MP -MF librados/$(DEPDIR)/test_build_librados-RadosClient.Tpo -c -o librados/test_build_librados-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-RadosClient.Tpo librados/$(DEPDIR)/test_build_librados-RadosClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='librados/test_build_librados-RadosClient.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_delete_objs.o `test -f 'test/system/st_rados_delete_objs.cc' || echo '$(srcdir)/'`test/system/st_rados_delete_objs.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-RadosClient.o `test -f 'librados/RadosClient.cc' || echo '$(srcdir)/'`librados/RadosClient.cc
 
-st_rados_delete_objs.obj: test/system/st_rados_delete_objs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_delete_objs.obj -MD -MP -MF $(DEPDIR)/st_rados_delete_objs.Tpo -c -o st_rados_delete_objs.obj `if test -f 'test/system/st_rados_delete_objs.cc'; then $(CYGPATH_W) 'test/system/st_rados_delete_objs.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_delete_objs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_delete_objs.Tpo $(DEPDIR)/st_rados_delete_objs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_delete_objs.cc' object='st_rados_delete_objs.obj' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-RadosClient.obj: librados/RadosClient.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-RadosClient.obj -MD -MP -MF librados/$(DEPDIR)/test_build_librados-RadosClient.Tpo -c -o librados/test_build_librados-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-RadosClient.Tpo librados/$(DEPDIR)/test_build_librados-RadosClient.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/RadosClient.cc' object='librados/test_build_librados-RadosClient.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_delete_objs.obj `if test -f 'test/system/st_rados_delete_objs.cc'; then $(CYGPATH_W) 'test/system/st_rados_delete_objs.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_delete_objs.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-RadosClient.obj `if test -f 'librados/RadosClient.cc'; then $(CYGPATH_W) 'librados/RadosClient.cc'; else $(CYGPATH_W) '$(srcdir)/librados/RadosClient.cc'; fi`
 
-st_rados_watch.o: test/system/st_rados_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_watch.o -MD -MP -MF $(DEPDIR)/st_rados_watch.Tpo -c -o st_rados_watch.o `test -f 'test/system/st_rados_watch.cc' || echo '$(srcdir)/'`test/system/st_rados_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_watch.Tpo $(DEPDIR)/st_rados_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_watch.cc' object='st_rados_watch.o' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-IoCtxImpl.o: librados/IoCtxImpl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-IoCtxImpl.o -MD -MP -MF librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Tpo -c -o librados/test_build_librados-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Tpo librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='librados/test_build_librados-IoCtxImpl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_watch.o `test -f 'test/system/st_rados_watch.cc' || echo '$(srcdir)/'`test/system/st_rados_watch.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-IoCtxImpl.o `test -f 'librados/IoCtxImpl.cc' || echo '$(srcdir)/'`librados/IoCtxImpl.cc
 
-st_rados_watch.obj: test/system/st_rados_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_watch.obj -MD -MP -MF $(DEPDIR)/st_rados_watch.Tpo -c -o st_rados_watch.obj `if test -f 'test/system/st_rados_watch.cc'; then $(CYGPATH_W) 'test/system/st_rados_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_watch.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_watch.Tpo $(DEPDIR)/st_rados_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_watch.cc' object='st_rados_watch.obj' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-IoCtxImpl.obj: librados/IoCtxImpl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-IoCtxImpl.obj -MD -MP -MF librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Tpo -c -o librados/test_build_librados-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Tpo librados/$(DEPDIR)/test_build_librados-IoCtxImpl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/IoCtxImpl.cc' object='librados/test_build_librados-IoCtxImpl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_watch.obj `if test -f 'test/system/st_rados_watch.cc'; then $(CYGPATH_W) 'test/system/st_rados_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_watch.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-IoCtxImpl.obj `if test -f 'librados/IoCtxImpl.cc'; then $(CYGPATH_W) 'librados/IoCtxImpl.cc'; else $(CYGPATH_W) '$(srcdir)/librados/IoCtxImpl.cc'; fi`
 
-st_rados_notify.o: test/system/st_rados_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_notify.o -MD -MP -MF $(DEPDIR)/st_rados_notify.Tpo -c -o st_rados_notify.o `test -f 'test/system/st_rados_notify.cc' || echo '$(srcdir)/'`test/system/st_rados_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_notify.Tpo $(DEPDIR)/st_rados_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_notify.cc' object='st_rados_notify.o' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-snap_set_diff.o: librados/snap_set_diff.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-snap_set_diff.o -MD -MP -MF librados/$(DEPDIR)/test_build_librados-snap_set_diff.Tpo -c -o librados/test_build_librados-snap_set_diff.o `test -f 'librados/snap_set_diff.cc' || echo '$(srcdir)/'`librados/snap_set_diff.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-snap_set_diff.Tpo librados/$(DEPDIR)/test_build_librados-snap_set_diff.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/snap_set_diff.cc' object='librados/test_build_librados-snap_set_diff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_notify.o `test -f 'test/system/st_rados_notify.cc' || echo '$(srcdir)/'`test/system/st_rados_notify.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-snap_set_diff.o `test -f 'librados/snap_set_diff.cc' || echo '$(srcdir)/'`librados/snap_set_diff.cc
 
-st_rados_notify.obj: test/system/st_rados_notify.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT st_rados_notify.obj -MD -MP -MF $(DEPDIR)/st_rados_notify.Tpo -c -o st_rados_notify.obj `if test -f 'test/system/st_rados_notify.cc'; then $(CYGPATH_W) 'test/system/st_rados_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_notify.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/st_rados_notify.Tpo $(DEPDIR)/st_rados_notify.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/system/st_rados_notify.cc' object='st_rados_notify.obj' libtool=no @AMDEPBACKSLASH@
+librados/test_build_librados-snap_set_diff.obj: librados/snap_set_diff.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -MT librados/test_build_librados-snap_set_diff.obj -MD -MP -MF librados/$(DEPDIR)/test_build_librados-snap_set_diff.Tpo -c -o librados/test_build_librados-snap_set_diff.obj `if test -f 'librados/snap_set_diff.cc'; then $(CYGPATH_W) 'librados/snap_set_diff.cc'; else $(CYGPATH_W) '$(srcdir)/librados/snap_set_diff.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) librados/$(DEPDIR)/test_build_librados-snap_set_diff.Tpo librados/$(DEPDIR)/test_build_librados-snap_set_diff.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='librados/snap_set_diff.cc' object='librados/test_build_librados-snap_set_diff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o st_rados_notify.obj `if test -f 'test/system/st_rados_notify.cc'; then $(CYGPATH_W) 'test/system/st_rados_notify.cc'; else $(CYGPATH_W) '$(srcdir)/test/system/st_rados_notify.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librados_CXXFLAGS) $(CXXFLAGS) -c -o librados/test_build_librados-snap_set_diff.obj `if test -f 'librados/snap_set_diff.cc'; then $(CYGPATH_W) 'librados/snap_set_diff.cc'; else $(CYGPATH_W) '$(srcdir)/librados/snap_set_diff.cc'; fi`
 
-test_rewrite_latency.o: test/test_rewrite_latency.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_rewrite_latency.o -MD -MP -MF $(DEPDIR)/test_rewrite_latency.Tpo -c -o test_rewrite_latency.o `test -f 'test/test_rewrite_latency.cc' || echo '$(srcdir)/'`test/test_rewrite_latency.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_rewrite_latency.Tpo $(DEPDIR)/test_rewrite_latency.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rewrite_latency.cc' object='test_rewrite_latency.o' libtool=no @AMDEPBACKSLASH@
+test/test_build_librgw-buildtest_skeleton.o: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_librgw-buildtest_skeleton.o -MD -MP -MF test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Tpo -c -o test/test_build_librgw-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_librgw-buildtest_skeleton.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_rewrite_latency.o `test -f 'test/test_rewrite_latency.cc' || echo '$(srcdir)/'`test/test_rewrite_latency.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_librgw-buildtest_skeleton.o `test -f 'test/buildtest_skeleton.cc' || echo '$(srcdir)/'`test/buildtest_skeleton.cc
 
-test_rewrite_latency.obj: test/test_rewrite_latency.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_rewrite_latency.obj -MD -MP -MF $(DEPDIR)/test_rewrite_latency.Tpo -c -o test_rewrite_latency.obj `if test -f 'test/test_rewrite_latency.cc'; then $(CYGPATH_W) 'test/test_rewrite_latency.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rewrite_latency.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_rewrite_latency.Tpo $(DEPDIR)/test_rewrite_latency.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_rewrite_latency.cc' object='test_rewrite_latency.obj' libtool=no @AMDEPBACKSLASH@
+test/test_build_librgw-buildtest_skeleton.obj: test/buildtest_skeleton.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT test/test_build_librgw-buildtest_skeleton.obj -MD -MP -MF test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Tpo -c -o test/test_build_librgw-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Tpo test/$(DEPDIR)/test_build_librgw-buildtest_skeleton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/buildtest_skeleton.cc' object='test/test_build_librgw-buildtest_skeleton.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_rewrite_latency.obj `if test -f 'test/test_rewrite_latency.cc'; then $(CYGPATH_W) 'test/test_rewrite_latency.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_rewrite_latency.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o test/test_build_librgw-buildtest_skeleton.obj `if test -f 'test/buildtest_skeleton.cc'; then $(CYGPATH_W) 'test/buildtest_skeleton.cc'; else $(CYGPATH_W) '$(srcdir)/test/buildtest_skeleton.cc'; fi`
 
-TestSignalHandlers.o: test/TestSignalHandlers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestSignalHandlers.o -MD -MP -MF $(DEPDIR)/TestSignalHandlers.Tpo -c -o TestSignalHandlers.o `test -f 'test/TestSignalHandlers.cc' || echo '$(srcdir)/'`test/TestSignalHandlers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestSignalHandlers.Tpo $(DEPDIR)/TestSignalHandlers.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/TestSignalHandlers.cc' object='TestSignalHandlers.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-librgw.o: rgw/librgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-librgw.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-librgw.Tpo -c -o rgw/test_build_librgw-librgw.o `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-librgw.Tpo rgw/$(DEPDIR)/test_build_librgw-librgw.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/librgw.cc' object='rgw/test_build_librgw-librgw.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestSignalHandlers.o `test -f 'test/TestSignalHandlers.cc' || echo '$(srcdir)/'`test/TestSignalHandlers.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-librgw.o `test -f 'rgw/librgw.cc' || echo '$(srcdir)/'`rgw/librgw.cc
 
-TestSignalHandlers.obj: test/TestSignalHandlers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestSignalHandlers.obj -MD -MP -MF $(DEPDIR)/TestSignalHandlers.Tpo -c -o TestSignalHandlers.obj `if test -f 'test/TestSignalHandlers.cc'; then $(CYGPATH_W) 'test/TestSignalHandlers.cc'; else $(CYGPATH_W) '$(srcdir)/test/TestSignalHandlers.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestSignalHandlers.Tpo $(DEPDIR)/TestSignalHandlers.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/TestSignalHandlers.cc' object='TestSignalHandlers.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-librgw.obj: rgw/librgw.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-librgw.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-librgw.Tpo -c -o rgw/test_build_librgw-librgw.obj `if test -f 'rgw/librgw.cc'; then $(CYGPATH_W) 'rgw/librgw.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/librgw.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-librgw.Tpo rgw/$(DEPDIR)/test_build_librgw-librgw.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/librgw.cc' object='rgw/test_build_librgw-librgw.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestSignalHandlers.obj `if test -f 'test/TestSignalHandlers.cc'; then $(CYGPATH_W) 'test/TestSignalHandlers.cc'; else $(CYGPATH_W) '$(srcdir)/test/TestSignalHandlers.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-librgw.obj `if test -f 'rgw/librgw.cc'; then $(CYGPATH_W) 'rgw/librgw.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/librgw.cc'; fi`
 
-ceph_test_snap_mapper-test_snap_mapper.o: test/test_snap_mapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_snap_mapper-test_snap_mapper.o -MD -MP -MF $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo -c -o ceph_test_snap_mapper-test_snap_mapper.o `test -f 'test/test_snap_mapper.cc' || echo '$(srcdir)/'`test/test_snap_mapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_snap_mapper.cc' object='ceph_test_snap_mapper-test_snap_mapper.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl.o: rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Tpo -c -o rgw/test_build_librgw-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='rgw/test_build_librgw-rgw_acl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_snap_mapper-test_snap_mapper.o `test -f 'test/test_snap_mapper.cc' || echo '$(srcdir)/'`test/test_snap_mapper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl.o `test -f 'rgw/rgw_acl.cc' || echo '$(srcdir)/'`rgw/rgw_acl.cc
 
-ceph_test_snap_mapper-test_snap_mapper.obj: test/test_snap_mapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_snap_mapper-test_snap_mapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo -c -o ceph_test_snap_mapper-test_snap_mapper.obj `if test -f 'test/test_snap_mapper.cc'; then $(CYGPATH_W) 'test/test_snap_mapper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_snap_mapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Tpo $(DEPDIR)/ceph_test_snap_mapper-test_snap_mapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_snap_mapper.cc' object='ceph_test_snap_mapper-test_snap_mapper.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl.obj: rgw/rgw_acl.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Tpo -c -o rgw/test_build_librgw-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl.cc' object='rgw/test_build_librgw-rgw_acl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_snap_mapper-test_snap_mapper.obj `if test -f 'test/test_snap_mapper.cc'; then $(CYGPATH_W) 'test/test_snap_mapper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_snap_mapper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl.obj `if test -f 'rgw/rgw_acl.cc'; then $(CYGPATH_W) 'rgw/rgw_acl.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl.cc'; fi`
 
-ceph_test_snap_mapper-SnapMapper.o: osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_snap_mapper-SnapMapper.o -MD -MP -MF $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Tpo -c -o ceph_test_snap_mapper-SnapMapper.o `test -f 'osd/SnapMapper.cc' || echo '$(srcdir)/'`osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Tpo $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/SnapMapper.cc' object='ceph_test_snap_mapper-SnapMapper.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl_s3.o: rgw/rgw_acl_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl_s3.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Tpo -c -o rgw/test_build_librgw-rgw_acl_s3.o `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_s3.cc' object='rgw/test_build_librgw-rgw_acl_s3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_snap_mapper-SnapMapper.o `test -f 'osd/SnapMapper.cc' || echo '$(srcdir)/'`osd/SnapMapper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl_s3.o `test -f 'rgw/rgw_acl_s3.cc' || echo '$(srcdir)/'`rgw/rgw_acl_s3.cc
 
-ceph_test_snap_mapper-SnapMapper.obj: osd/SnapMapper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_snap_mapper-SnapMapper.obj -MD -MP -MF $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Tpo -c -o ceph_test_snap_mapper-SnapMapper.obj `if test -f 'osd/SnapMapper.cc'; then $(CYGPATH_W) 'osd/SnapMapper.cc'; else $(CYGPATH_W) '$(srcdir)/osd/SnapMapper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Tpo $(DEPDIR)/ceph_test_snap_mapper-SnapMapper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/SnapMapper.cc' object='ceph_test_snap_mapper-SnapMapper.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl_s3.obj: rgw/rgw_acl_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl_s3.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Tpo -c -o rgw/test_build_librgw-rgw_acl_s3.obj `if test -f 'rgw/rgw_acl_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_s3.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_s3.cc' object='rgw/test_build_librgw-rgw_acl_s3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_snap_mapper_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_snap_mapper-SnapMapper.obj `if test -f 'osd/SnapMapper.cc'; then $(CYGPATH_W) 'osd/SnapMapper.cc'; else $(CYGPATH_W) '$(srcdir)/osd/SnapMapper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl_s3.obj `if test -f 'rgw/rgw_acl_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_s3.cc'; fi`
 
-ceph_test_store_tool-test_store_tool.o: test/ObjectMap/test_store_tool/test_store_tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_store_tool-test_store_tool.o -MD -MP -MF $(DEPDIR)/ceph_test_store_tool-test_store_tool.Tpo -c -o ceph_test_store_tool-test_store_tool.o `test -f 'test/ObjectMap/test_store_tool/test_store_tool.cc' || echo '$(srcdir)/'`test/ObjectMap/test_store_tool/test_store_tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_store_tool-test_store_tool.Tpo $(DEPDIR)/ceph_test_store_tool-test_store_tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_store_tool/test_store_tool.cc' object='ceph_test_store_tool-test_store_tool.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl_swift.o: rgw/rgw_acl_swift.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl_swift.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Tpo -c -o rgw/test_build_librgw-rgw_acl_swift.o `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_swift.cc' object='rgw/test_build_librgw-rgw_acl_swift.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_store_tool-test_store_tool.o `test -f 'test/ObjectMap/test_store_tool/test_store_tool.cc' || echo '$(srcdir)/'`test/ObjectMap/test_store_tool/test_store_tool.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl_swift.o `test -f 'rgw/rgw_acl_swift.cc' || echo '$(srcdir)/'`rgw/rgw_acl_swift.cc
 
-ceph_test_store_tool-test_store_tool.obj: test/ObjectMap/test_store_tool/test_store_tool.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_store_tool-test_store_tool.obj -MD -MP -MF $(DEPDIR)/ceph_test_store_tool-test_store_tool.Tpo -c -o ceph_test_store_tool-test_store_tool.obj `if test -f 'test/ObjectMap/test_store_tool/test_store_tool.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_store_tool/test_store_tool.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_store_tool-test_store_tool.Tpo $(DEPDIR)/ceph_test_store_tool-test_store_tool.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ObjectMap/test_store_tool/test_store_tool.cc' object='ceph_test_store_tool-test_store_tool.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_acl_swift.obj: rgw/rgw_acl_swift.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_acl_swift.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Tpo -c -o rgw/test_build_librgw-rgw_acl_swift.obj `if test -f 'rgw/rgw_acl_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_swift.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_acl_swift.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_acl_swift.cc' object='rgw/test_build_librgw-rgw_acl_swift.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_store_tool-test_store_tool.obj `if test -f 'test/ObjectMap/test_store_tool/test_store_tool.cc'; then $(CYGPATH_W) 'test/ObjectMap/test_store_tool/test_store_tool.cc'; else $(CYGPATH_W) '$(srcdir)/test/ObjectMap/test_store_tool/test_store_tool.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_acl_swift.obj `if test -f 'rgw/rgw_acl_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_acl_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_acl_swift.cc'; fi`
 
-ceph_test_store_tool-LevelDBStore.o: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_store_tool-LevelDBStore.o -MD -MP -MF $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Tpo -c -o ceph_test_store_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_store_tool-LevelDBStore.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_client_io.o: rgw/rgw_client_io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_client_io.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Tpo -c -o rgw/test_build_librgw-rgw_client_io.o `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_client_io.cc' object='rgw/test_build_librgw-rgw_client_io.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_store_tool-LevelDBStore.o `test -f 'os/LevelDBStore.cc' || echo '$(srcdir)/'`os/LevelDBStore.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_client_io.o `test -f 'rgw/rgw_client_io.cc' || echo '$(srcdir)/'`rgw/rgw_client_io.cc
 
-ceph_test_store_tool-LevelDBStore.obj: os/LevelDBStore.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_store_tool-LevelDBStore.obj -MD -MP -MF $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Tpo -c -o ceph_test_store_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Tpo $(DEPDIR)/ceph_test_store_tool-LevelDBStore.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='os/LevelDBStore.cc' object='ceph_test_store_tool-LevelDBStore.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_client_io.obj: rgw/rgw_client_io.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_client_io.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Tpo -c -o rgw/test_build_librgw-rgw_client_io.obj `if test -f 'rgw/rgw_client_io.cc'; then $(CYGPATH_W) 'rgw/rgw_client_io.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_client_io.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_client_io.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_client_io.cc' object='rgw/test_build_librgw-rgw_client_io.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_store_tool_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_store_tool-LevelDBStore.obj `if test -f 'os/LevelDBStore.cc'; then $(CYGPATH_W) 'os/LevelDBStore.cc'; else $(CYGPATH_W) '$(srcdir)/os/LevelDBStore.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_client_io.obj `if test -f 'rgw/rgw_client_io.cc'; then $(CYGPATH_W) 'rgw/rgw_client_io.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_client_io.cc'; fi`
 
-ceph_test_stress_watch-test_stress_watch.o: test/test_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_stress_watch-test_stress_watch.o -MD -MP -MF $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo -c -o ceph_test_stress_watch-test_stress_watch.o `test -f 'test/test_stress_watch.cc' || echo '$(srcdir)/'`test/test_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_stress_watch.cc' object='ceph_test_stress_watch-test_stress_watch.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_fcgi.o: rgw/rgw_fcgi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_fcgi.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Tpo -c -o rgw/test_build_librgw-rgw_fcgi.o `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_fcgi.cc' object='rgw/test_build_librgw-rgw_fcgi.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_stress_watch-test_stress_watch.o `test -f 'test/test_stress_watch.cc' || echo '$(srcdir)/'`test/test_stress_watch.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_fcgi.o `test -f 'rgw/rgw_fcgi.cc' || echo '$(srcdir)/'`rgw/rgw_fcgi.cc
 
-ceph_test_stress_watch-test_stress_watch.obj: test/test_stress_watch.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_stress_watch-test_stress_watch.obj -MD -MP -MF $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo -c -o ceph_test_stress_watch-test_stress_watch.obj `if test -f 'test/test_stress_watch.cc'; then $(CYGPATH_W) 'test/test_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_stress_watch.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Tpo $(DEPDIR)/ceph_test_stress_watch-test_stress_watch.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_stress_watch.cc' object='ceph_test_stress_watch-test_stress_watch.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_fcgi.obj: rgw/rgw_fcgi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_fcgi.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Tpo -c -o rgw/test_build_librgw-rgw_fcgi.obj `if test -f 'rgw/rgw_fcgi.cc'; then $(CYGPATH_W) 'rgw/rgw_fcgi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_fcgi.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_fcgi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_fcgi.cc' object='rgw/test_build_librgw-rgw_fcgi.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_stress_watch-test_stress_watch.obj `if test -f 'test/test_stress_watch.cc'; then $(CYGPATH_W) 'test/test_stress_watch.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_stress_watch.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_fcgi.obj `if test -f 'rgw/rgw_fcgi.cc'; then $(CYGPATH_W) 'rgw/rgw_fcgi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_fcgi.cc'; fi`
 
-ceph_test_stress_watch-test.o: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_stress_watch-test.o -MD -MP -MF $(DEPDIR)/ceph_test_stress_watch-test.Tpo -c -o ceph_test_stress_watch-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_stress_watch-test.Tpo $(DEPDIR)/ceph_test_stress_watch-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_stress_watch-test.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_xml.o: rgw/rgw_xml.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_xml.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Tpo -c -o rgw/test_build_librgw-rgw_xml.o `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_xml.cc' object='rgw/test_build_librgw-rgw_xml.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_stress_watch-test.o `test -f 'test/librados/test.cc' || echo '$(srcdir)/'`test/librados/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_xml.o `test -f 'rgw/rgw_xml.cc' || echo '$(srcdir)/'`rgw/rgw_xml.cc
 
-ceph_test_stress_watch-test.obj: test/librados/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_stress_watch-test.obj -MD -MP -MF $(DEPDIR)/ceph_test_stress_watch-test.Tpo -c -o ceph_test_stress_watch-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_stress_watch-test.Tpo $(DEPDIR)/ceph_test_stress_watch-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/test.cc' object='ceph_test_stress_watch-test.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_xml.obj: rgw/rgw_xml.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_xml.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Tpo -c -o rgw/test_build_librgw-rgw_xml.obj `if test -f 'rgw/rgw_xml.cc'; then $(CYGPATH_W) 'rgw/rgw_xml.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_xml.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_xml.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_xml.cc' object='rgw/test_build_librgw-rgw_xml.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_stress_watch_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_stress_watch-test.obj `if test -f 'test/librados/test.cc'; then $(CYGPATH_W) 'test/librados/test.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_xml.obj `if test -f 'rgw/rgw_xml.cc'; then $(CYGPATH_W) 'rgw/rgw_xml.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_xml.cc'; fi`
 
-TestTimers.o: test/TestTimers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestTimers.o -MD -MP -MF $(DEPDIR)/TestTimers.Tpo -c -o TestTimers.o `test -f 'test/TestTimers.cc' || echo '$(srcdir)/'`test/TestTimers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestTimers.Tpo $(DEPDIR)/TestTimers.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/TestTimers.cc' object='TestTimers.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_usage.o: rgw/rgw_usage.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_usage.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Tpo -c -o rgw/test_build_librgw-rgw_usage.o `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_usage.cc' object='rgw/test_build_librgw-rgw_usage.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestTimers.o `test -f 'test/TestTimers.cc' || echo '$(srcdir)/'`test/TestTimers.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_usage.o `test -f 'rgw/rgw_usage.cc' || echo '$(srcdir)/'`rgw/rgw_usage.cc
 
-TestTimers.obj: test/TestTimers.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TestTimers.obj -MD -MP -MF $(DEPDIR)/TestTimers.Tpo -c -o TestTimers.obj `if test -f 'test/TestTimers.cc'; then $(CYGPATH_W) 'test/TestTimers.cc'; else $(CYGPATH_W) '$(srcdir)/test/TestTimers.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/TestTimers.Tpo $(DEPDIR)/TestTimers.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/TestTimers.cc' object='TestTimers.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_usage.obj: rgw/rgw_usage.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_usage.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Tpo -c -o rgw/test_build_librgw-rgw_usage.obj `if test -f 'rgw/rgw_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_usage.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_usage.cc' object='rgw/test_build_librgw-rgw_usage.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TestTimers.obj `if test -f 'test/TestTimers.cc'; then $(CYGPATH_W) 'test/TestTimers.cc'; else $(CYGPATH_W) '$(srcdir)/test/TestTimers.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_usage.obj `if test -f 'rgw/rgw_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_usage.cc'; fi`
 
-ceph_test_trans-test_trans.o: test_trans.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_trans_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_trans-test_trans.o -MD -MP -MF $(DEPDIR)/ceph_test_trans-test_trans.Tpo -c -o ceph_test_trans-test_trans.o `test -f 'test_trans.cc' || echo '$(srcdir)/'`test_trans.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_trans-test_trans.Tpo $(DEPDIR)/ceph_test_trans-test_trans.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test_trans.cc' object='ceph_test_trans-test_trans.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_json_enc.o: rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_json_enc.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Tpo -c -o rgw/test_build_librgw-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='rgw/test_build_librgw-rgw_json_enc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_trans_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_trans-test_trans.o `test -f 'test_trans.cc' || echo '$(srcdir)/'`test_trans.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_json_enc.o `test -f 'rgw/rgw_json_enc.cc' || echo '$(srcdir)/'`rgw/rgw_json_enc.cc
 
-ceph_test_trans-test_trans.obj: test_trans.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_trans_CXXFLAGS) $(CXXFLAGS) -MT ceph_test_trans-test_trans.obj -MD -MP -MF $(DEPDIR)/ceph_test_trans-test_trans.Tpo -c -o ceph_test_trans-test_trans.obj `if test -f 'test_trans.cc'; then $(CYGPATH_W) 'test_trans.cc'; else $(CYGPATH_W) '$(srcdir)/test_trans.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_test_trans-test_trans.Tpo $(DEPDIR)/ceph_test_trans-test_trans.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test_trans.cc' object='ceph_test_trans-test_trans.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_json_enc.obj: rgw/rgw_json_enc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_json_enc.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Tpo -c -o rgw/test_build_librgw-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_json_enc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_json_enc.cc' object='rgw/test_build_librgw-rgw_json_enc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_test_trans_CXXFLAGS) $(CXXFLAGS) -c -o ceph_test_trans-test_trans.obj `if test -f 'test_trans.cc'; then $(CYGPATH_W) 'test_trans.cc'; else $(CYGPATH_W) '$(srcdir)/test_trans.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_json_enc.obj `if test -f 'rgw/rgw_json_enc.cc'; then $(CYGPATH_W) 'rgw/rgw_json_enc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_json_enc.cc'; fi`
 
-tp_bench.o: test/bench/tp_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tp_bench.o -MD -MP -MF $(DEPDIR)/tp_bench.Tpo -c -o tp_bench.o `test -f 'test/bench/tp_bench.cc' || echo '$(srcdir)/'`test/bench/tp_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/tp_bench.Tpo $(DEPDIR)/tp_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/tp_bench.cc' object='tp_bench.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_user.o: rgw/rgw_user.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_user.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_user.Tpo -c -o rgw/test_build_librgw-rgw_user.o `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_user.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_user.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_user.cc' object='rgw/test_build_librgw-rgw_user.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tp_bench.o `test -f 'test/bench/tp_bench.cc' || echo '$(srcdir)/'`test/bench/tp_bench.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_user.o `test -f 'rgw/rgw_user.cc' || echo '$(srcdir)/'`rgw/rgw_user.cc
 
-tp_bench.obj: test/bench/tp_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tp_bench.obj -MD -MP -MF $(DEPDIR)/tp_bench.Tpo -c -o tp_bench.obj `if test -f 'test/bench/tp_bench.cc'; then $(CYGPATH_W) 'test/bench/tp_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/tp_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/tp_bench.Tpo $(DEPDIR)/tp_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bench/tp_bench.cc' object='tp_bench.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_user.obj: rgw/rgw_user.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_user.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_user.Tpo -c -o rgw/test_build_librgw-rgw_user.obj `if test -f 'rgw/rgw_user.cc'; then $(CYGPATH_W) 'rgw/rgw_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_user.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_user.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_user.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_user.cc' object='rgw/test_build_librgw-rgw_user.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tp_bench.obj `if test -f 'test/bench/tp_bench.cc'; then $(CYGPATH_W) 'test/bench/tp_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/bench/tp_bench.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_user.obj `if test -f 'rgw/rgw_user.cc'; then $(CYGPATH_W) 'rgw/rgw_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_user.cc'; fi`
 
-ceph_xattr_bench-xattr_bench.o: test/xattr_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -MT ceph_xattr_bench-xattr_bench.o -MD -MP -MF $(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo -c -o ceph_xattr_bench-xattr_bench.o `test -f 'test/xattr_bench.cc' || echo '$(srcdir)/'`test/xattr_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo $(DEPDIR)/ceph_xattr_bench-xattr_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/xattr_bench.cc' object='ceph_xattr_bench-xattr_bench.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_bucket.o: rgw/rgw_bucket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_bucket.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Tpo -c -o rgw/test_build_librgw-rgw_bucket.o `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_bucket.cc' object='rgw/test_build_librgw-rgw_bucket.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -c -o ceph_xattr_bench-xattr_bench.o `test -f 'test/xattr_bench.cc' || echo '$(srcdir)/'`test/xattr_bench.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_bucket.o `test -f 'rgw/rgw_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_bucket.cc
 
-ceph_xattr_bench-xattr_bench.obj: test/xattr_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -MT ceph_xattr_bench-xattr_bench.obj -MD -MP -MF $(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo -c -o ceph_xattr_bench-xattr_bench.obj `if test -f 'test/xattr_bench.cc'; then $(CYGPATH_W) 'test/xattr_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/xattr_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ceph_xattr_bench-xattr_bench.Tpo $(DEPDIR)/ceph_xattr_bench-xattr_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/xattr_bench.cc' object='ceph_xattr_bench-xattr_bench.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_bucket.obj: rgw/rgw_bucket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_bucket.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Tpo -c -o rgw/test_build_librgw-rgw_bucket.obj `if test -f 'rgw/rgw_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_bucket.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_bucket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_bucket.cc' object='rgw/test_build_librgw-rgw_bucket.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ceph_xattr_bench_CXXFLAGS) $(CXXFLAGS) -c -o ceph_xattr_bench-xattr_bench.obj `if test -f 'test/xattr_bench.cc'; then $(CYGPATH_W) 'test/xattr_bench.cc'; else $(CYGPATH_W) '$(srcdir)/test/xattr_bench.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_bucket.obj `if test -f 'rgw/rgw_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_bucket.cc'; fi`
 
-obj_bencher.o: common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obj_bencher.o -MD -MP -MF $(DEPDIR)/obj_bencher.Tpo -c -o obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/obj_bencher.Tpo $(DEPDIR)/obj_bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='obj_bencher.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_tools.o: rgw/rgw_tools.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_tools.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Tpo -c -o rgw/test_build_librgw-rgw_tools.o `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_tools.cc' object='rgw/test_build_librgw-rgw_tools.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_tools.o `test -f 'rgw/rgw_tools.cc' || echo '$(srcdir)/'`rgw/rgw_tools.cc
 
-obj_bencher.obj: common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obj_bencher.obj -MD -MP -MF $(DEPDIR)/obj_bencher.Tpo -c -o obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/obj_bencher.Tpo $(DEPDIR)/obj_bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='obj_bencher.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_tools.obj: rgw/rgw_tools.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_tools.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Tpo -c -o rgw/test_build_librgw-rgw_tools.obj `if test -f 'rgw/rgw_tools.cc'; then $(CYGPATH_W) 'rgw/rgw_tools.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_tools.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_tools.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_tools.cc' object='rgw/test_build_librgw-rgw_tools.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_tools.obj `if test -f 'rgw/rgw_tools.cc'; then $(CYGPATH_W) 'rgw/rgw_tools.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_tools.cc'; fi`
 
-radosgw-rgw_resolve.o: rgw/rgw_resolve.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_resolve.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_resolve.Tpo -c -o radosgw-rgw_resolve.o `test -f 'rgw/rgw_resolve.cc' || echo '$(srcdir)/'`rgw/rgw_resolve.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_resolve.Tpo $(DEPDIR)/radosgw-rgw_resolve.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_resolve.cc' object='radosgw-rgw_resolve.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rados.o: rgw/rgw_rados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rados.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Tpo -c -o rgw/test_build_librgw-rgw_rados.o `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rados.cc' object='rgw/test_build_librgw-rgw_rados.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_resolve.o `test -f 'rgw/rgw_resolve.cc' || echo '$(srcdir)/'`rgw/rgw_resolve.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rados.o `test -f 'rgw/rgw_rados.cc' || echo '$(srcdir)/'`rgw/rgw_rados.cc
 
-radosgw-rgw_resolve.obj: rgw/rgw_resolve.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_resolve.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_resolve.Tpo -c -o radosgw-rgw_resolve.obj `if test -f 'rgw/rgw_resolve.cc'; then $(CYGPATH_W) 'rgw/rgw_resolve.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_resolve.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_resolve.Tpo $(DEPDIR)/radosgw-rgw_resolve.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_resolve.cc' object='radosgw-rgw_resolve.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rados.obj: rgw/rgw_rados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rados.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Tpo -c -o rgw/test_build_librgw-rgw_rados.obj `if test -f 'rgw/rgw_rados.cc'; then $(CYGPATH_W) 'rgw/rgw_rados.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rados.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rados.cc' object='rgw/test_build_librgw-rgw_rados.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_resolve.obj `if test -f 'rgw/rgw_resolve.cc'; then $(CYGPATH_W) 'rgw/rgw_resolve.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_resolve.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rados.obj `if test -f 'rgw/rgw_rados.cc'; then $(CYGPATH_W) 'rgw/rgw_rados.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rados.cc'; fi`
 
-radosgw-rgw_rest.o: rgw/rgw_rest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest.Tpo -c -o radosgw-rgw_rest.o `test -f 'rgw/rgw_rest.cc' || echo '$(srcdir)/'`rgw/rgw_rest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest.Tpo $(DEPDIR)/radosgw-rgw_rest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest.cc' object='radosgw-rgw_rest.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_http_client.o: rgw/rgw_http_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_http_client.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Tpo -c -o rgw/test_build_librgw-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='rgw/test_build_librgw-rgw_http_client.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest.o `test -f 'rgw/rgw_rest.cc' || echo '$(srcdir)/'`rgw/rgw_rest.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
 
-radosgw-rgw_rest.obj: rgw/rgw_rest.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest.Tpo -c -o radosgw-rgw_rest.obj `if test -f 'rgw/rgw_rest.cc'; then $(CYGPATH_W) 'rgw/rgw_rest.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest.Tpo $(DEPDIR)/radosgw-rgw_rest.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest.cc' object='radosgw-rgw_rest.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_http_client.obj: rgw/rgw_http_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_http_client.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Tpo -c -o rgw/test_build_librgw-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_http_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='rgw/test_build_librgw-rgw_http_client.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest.obj `if test -f 'rgw/rgw_rest.cc'; then $(CYGPATH_W) 'rgw/rgw_rest.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
 
-radosgw-rgw_rest_swift.o: rgw/rgw_rest_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_swift.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_swift.Tpo -c -o radosgw-rgw_rest_swift.o `test -f 'rgw/rgw_rest_swift.cc' || echo '$(srcdir)/'`rgw/rgw_rest_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_swift.Tpo $(DEPDIR)/radosgw-rgw_rest_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_swift.cc' object='radosgw-rgw_rest_swift.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rest_client.o: rgw/rgw_rest_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rest_client.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Tpo -c -o rgw/test_build_librgw-rgw_rest_client.o `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_client.cc' object='rgw/test_build_librgw-rgw_rest_client.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_swift.o `test -f 'rgw/rgw_rest_swift.cc' || echo '$(srcdir)/'`rgw/rgw_rest_swift.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rest_client.o `test -f 'rgw/rgw_rest_client.cc' || echo '$(srcdir)/'`rgw/rgw_rest_client.cc
 
-radosgw-rgw_rest_swift.obj: rgw/rgw_rest_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_swift.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_swift.Tpo -c -o radosgw-rgw_rest_swift.obj `if test -f 'rgw/rgw_rest_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_swift.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_swift.Tpo $(DEPDIR)/radosgw-rgw_rest_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_swift.cc' object='radosgw-rgw_rest_swift.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rest_client.obj: rgw/rgw_rest_client.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rest_client.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Tpo -c -o rgw/test_build_librgw-rgw_rest_client.obj `if test -f 'rgw/rgw_rest_client.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_client.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rest_client.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_client.cc' object='rgw/test_build_librgw-rgw_rest_client.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_swift.obj `if test -f 'rgw/rgw_rest_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_swift.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rest_client.obj `if test -f 'rgw/rgw_rest_client.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_client.cc'; fi`
 
-radosgw-rgw_rest_s3.o: rgw/rgw_rest_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_s3.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_s3.Tpo -c -o radosgw-rgw_rest_s3.o `test -f 'rgw/rgw_rest_s3.cc' || echo '$(srcdir)/'`rgw/rgw_rest_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_s3.Tpo $(DEPDIR)/radosgw-rgw_rest_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_s3.cc' object='radosgw-rgw_rest_s3.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rest_conn.o: rgw/rgw_rest_conn.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rest_conn.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Tpo -c -o rgw/test_build_librgw-rgw_rest_conn.o `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_conn.cc' object='rgw/test_build_librgw-rgw_rest_conn.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_s3.o `test -f 'rgw/rgw_rest_s3.cc' || echo '$(srcdir)/'`rgw/rgw_rest_s3.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rest_conn.o `test -f 'rgw/rgw_rest_conn.cc' || echo '$(srcdir)/'`rgw/rgw_rest_conn.cc
 
-radosgw-rgw_rest_s3.obj: rgw/rgw_rest_s3.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_s3.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_s3.Tpo -c -o radosgw-rgw_rest_s3.obj `if test -f 'rgw/rgw_rest_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_s3.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_s3.Tpo $(DEPDIR)/radosgw-rgw_rest_s3.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_s3.cc' object='radosgw-rgw_rest_s3.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_rest_conn.obj: rgw/rgw_rest_conn.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_rest_conn.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Tpo -c -o rgw/test_build_librgw-rgw_rest_conn.obj `if test -f 'rgw/rgw_rest_conn.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_conn.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_conn.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_rest_conn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_conn.cc' object='rgw/test_build_librgw-rgw_rest_conn.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_s3.obj `if test -f 'rgw/rgw_rest_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_s3.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_rest_conn.obj `if test -f 'rgw/rgw_rest_conn.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_conn.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_conn.cc'; fi`
 
-radosgw-rgw_rest_usage.o: rgw/rgw_rest_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_usage.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_usage.Tpo -c -o radosgw-rgw_rest_usage.o `test -f 'rgw/rgw_rest_usage.cc' || echo '$(srcdir)/'`rgw/rgw_rest_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_usage.Tpo $(DEPDIR)/radosgw-rgw_rest_usage.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_usage.cc' object='radosgw-rgw_rest_usage.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_op.o: rgw/rgw_op.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_op.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_op.Tpo -c -o rgw/test_build_librgw-rgw_op.o `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_op.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_op.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_op.cc' object='rgw/test_build_librgw-rgw_op.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_usage.o `test -f 'rgw/rgw_rest_usage.cc' || echo '$(srcdir)/'`rgw/rgw_rest_usage.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_op.o `test -f 'rgw/rgw_op.cc' || echo '$(srcdir)/'`rgw/rgw_op.cc
 
-radosgw-rgw_rest_usage.obj: rgw/rgw_rest_usage.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_usage.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_usage.Tpo -c -o radosgw-rgw_rest_usage.obj `if test -f 'rgw/rgw_rest_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_usage.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_usage.Tpo $(DEPDIR)/radosgw-rgw_rest_usage.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_usage.cc' object='radosgw-rgw_rest_usage.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_op.obj: rgw/rgw_op.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_op.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_op.Tpo -c -o rgw/test_build_librgw-rgw_op.obj `if test -f 'rgw/rgw_op.cc'; then $(CYGPATH_W) 'rgw/rgw_op.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_op.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_op.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_op.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_op.cc' object='rgw/test_build_librgw-rgw_op.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_usage.obj `if test -f 'rgw/rgw_rest_usage.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_usage.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_usage.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_op.obj `if test -f 'rgw/rgw_op.cc'; then $(CYGPATH_W) 'rgw/rgw_op.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_op.cc'; fi`
 
-radosgw-rgw_rest_user.o: rgw/rgw_rest_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_user.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_user.Tpo -c -o radosgw-rgw_rest_user.o `test -f 'rgw/rgw_rest_user.cc' || echo '$(srcdir)/'`rgw/rgw_rest_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_user.Tpo $(DEPDIR)/radosgw-rgw_rest_user.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_user.cc' object='radosgw-rgw_rest_user.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_common.o: rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_common.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_common.Tpo -c -o rgw/test_build_librgw-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_common.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_common.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='rgw/test_build_librgw-rgw_common.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_user.o `test -f 'rgw/rgw_rest_user.cc' || echo '$(srcdir)/'`rgw/rgw_rest_user.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_common.o `test -f 'rgw/rgw_common.cc' || echo '$(srcdir)/'`rgw/rgw_common.cc
 
-radosgw-rgw_rest_user.obj: rgw/rgw_rest_user.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_user.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_user.Tpo -c -o radosgw-rgw_rest_user.obj `if test -f 'rgw/rgw_rest_user.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_user.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_user.Tpo $(DEPDIR)/radosgw-rgw_rest_user.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_user.cc' object='radosgw-rgw_rest_user.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_common.obj: rgw/rgw_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_common.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_common.Tpo -c -o rgw/test_build_librgw-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_common.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_common.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_common.cc' object='rgw/test_build_librgw-rgw_common.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_user.obj `if test -f 'rgw/rgw_rest_user.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_user.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_user.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_common.obj `if test -f 'rgw/rgw_common.cc'; then $(CYGPATH_W) 'rgw/rgw_common.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_common.cc'; fi`
 
-radosgw-rgw_rest_bucket.o: rgw/rgw_rest_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_bucket.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_bucket.Tpo -c -o radosgw-rgw_rest_bucket.o `test -f 'rgw/rgw_rest_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_rest_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_bucket.Tpo $(DEPDIR)/radosgw-rgw_rest_bucket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_bucket.cc' object='radosgw-rgw_rest_bucket.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cache.o: rgw/rgw_cache.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cache.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Tpo -c -o rgw/test_build_librgw-rgw_cache.o `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cache.cc' object='rgw/test_build_librgw-rgw_cache.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_bucket.o `test -f 'rgw/rgw_rest_bucket.cc' || echo '$(srcdir)/'`rgw/rgw_rest_bucket.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cache.o `test -f 'rgw/rgw_cache.cc' || echo '$(srcdir)/'`rgw/rgw_cache.cc
 
-radosgw-rgw_rest_bucket.obj: rgw/rgw_rest_bucket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_bucket.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_bucket.Tpo -c -o radosgw-rgw_rest_bucket.obj `if test -f 'rgw/rgw_rest_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_bucket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_bucket.Tpo $(DEPDIR)/radosgw-rgw_rest_bucket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_bucket.cc' object='radosgw-rgw_rest_bucket.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cache.obj: rgw/rgw_cache.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cache.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Tpo -c -o rgw/test_build_librgw-rgw_cache.obj `if test -f 'rgw/rgw_cache.cc'; then $(CYGPATH_W) 'rgw/rgw_cache.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cache.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cache.cc' object='rgw/test_build_librgw-rgw_cache.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_bucket.obj `if test -f 'rgw/rgw_rest_bucket.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_bucket.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_bucket.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cache.obj `if test -f 'rgw/rgw_cache.cc'; then $(CYGPATH_W) 'rgw/rgw_cache.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cache.cc'; fi`
 
-radosgw-rgw_rest_metadata.o: rgw/rgw_rest_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_metadata.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_metadata.Tpo -c -o radosgw-rgw_rest_metadata.o `test -f 'rgw/rgw_rest_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_rest_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_metadata.Tpo $(DEPDIR)/radosgw-rgw_rest_metadata.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_metadata.cc' object='radosgw-rgw_rest_metadata.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_formats.o: rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_formats.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Tpo -c -o rgw/test_build_librgw-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='rgw/test_build_librgw-rgw_formats.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_metadata.o `test -f 'rgw/rgw_rest_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_rest_metadata.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
 
-radosgw-rgw_rest_metadata.obj: rgw/rgw_rest_metadata.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_metadata.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_metadata.Tpo -c -o radosgw-rgw_rest_metadata.obj `if test -f 'rgw/rgw_rest_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_metadata.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_metadata.Tpo $(DEPDIR)/radosgw-rgw_rest_metadata.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_metadata.cc' object='radosgw-rgw_rest_metadata.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_formats.obj: rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_formats.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Tpo -c -o rgw/test_build_librgw-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_formats.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='rgw/test_build_librgw-rgw_formats.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_metadata.obj `if test -f 'rgw/rgw_rest_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_metadata.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
 
-radosgw-rgw_replica_log.o: rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_replica_log.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_replica_log.Tpo -c -o radosgw-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_replica_log.Tpo $(DEPDIR)/radosgw-rgw_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='radosgw-rgw_replica_log.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_log.o: rgw/rgw_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_log.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_log.Tpo -c -o rgw/test_build_librgw-rgw_log.o `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_log.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_log.cc' object='rgw/test_build_librgw-rgw_log.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_log.o `test -f 'rgw/rgw_log.cc' || echo '$(srcdir)/'`rgw/rgw_log.cc
 
-radosgw-rgw_replica_log.obj: rgw/rgw_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_replica_log.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_replica_log.Tpo -c -o radosgw-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_replica_log.Tpo $(DEPDIR)/radosgw-rgw_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='radosgw-rgw_replica_log.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_log.obj: rgw/rgw_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_log.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_log.Tpo -c -o rgw/test_build_librgw-rgw_log.obj `if test -f 'rgw/rgw_log.cc'; then $(CYGPATH_W) 'rgw/rgw_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_log.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_log.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_log.cc' object='rgw/test_build_librgw-rgw_log.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_log.obj `if test -f 'rgw/rgw_log.cc'; then $(CYGPATH_W) 'rgw/rgw_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_log.cc'; fi`
 
-radosgw-rgw_rest_log.o: rgw/rgw_rest_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_log.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_log.Tpo -c -o radosgw-rgw_rest_log.o `test -f 'rgw/rgw_rest_log.cc' || echo '$(srcdir)/'`rgw/rgw_rest_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_log.Tpo $(DEPDIR)/radosgw-rgw_rest_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_log.cc' object='radosgw-rgw_rest_log.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_multi.o: rgw/rgw_multi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_multi.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Tpo -c -o rgw/test_build_librgw-rgw_multi.o `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi.cc' object='rgw/test_build_librgw-rgw_multi.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_log.o `test -f 'rgw/rgw_rest_log.cc' || echo '$(srcdir)/'`rgw/rgw_rest_log.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_multi.o `test -f 'rgw/rgw_multi.cc' || echo '$(srcdir)/'`rgw/rgw_multi.cc
 
-radosgw-rgw_rest_log.obj: rgw/rgw_rest_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_log.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_log.Tpo -c -o radosgw-rgw_rest_log.obj `if test -f 'rgw/rgw_rest_log.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_log.Tpo $(DEPDIR)/radosgw-rgw_rest_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_log.cc' object='radosgw-rgw_rest_log.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_multi.obj: rgw/rgw_multi.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_multi.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Tpo -c -o rgw/test_build_librgw-rgw_multi.obj `if test -f 'rgw/rgw_multi.cc'; then $(CYGPATH_W) 'rgw/rgw_multi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_multi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi.cc' object='rgw/test_build_librgw-rgw_multi.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_log.obj `if test -f 'rgw/rgw_rest_log.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_log.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_multi.obj `if test -f 'rgw/rgw_multi.cc'; then $(CYGPATH_W) 'rgw/rgw_multi.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi.cc'; fi`
 
-radosgw-rgw_rest_opstate.o: rgw/rgw_rest_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_opstate.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_opstate.Tpo -c -o radosgw-rgw_rest_opstate.o `test -f 'rgw/rgw_rest_opstate.cc' || echo '$(srcdir)/'`rgw/rgw_rest_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_opstate.Tpo $(DEPDIR)/radosgw-rgw_rest_opstate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_opstate.cc' object='radosgw-rgw_rest_opstate.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_policy_s3.o: rgw/rgw_policy_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_policy_s3.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Tpo -c -o rgw/test_build_librgw-rgw_policy_s3.o `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_policy_s3.cc' object='rgw/test_build_librgw-rgw_policy_s3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_opstate.o `test -f 'rgw/rgw_rest_opstate.cc' || echo '$(srcdir)/'`rgw/rgw_rest_opstate.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_policy_s3.o `test -f 'rgw/rgw_policy_s3.cc' || echo '$(srcdir)/'`rgw/rgw_policy_s3.cc
 
-radosgw-rgw_rest_opstate.obj: rgw/rgw_rest_opstate.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_opstate.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_opstate.Tpo -c -o radosgw-rgw_rest_opstate.obj `if test -f 'rgw/rgw_rest_opstate.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_opstate.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_opstate.Tpo $(DEPDIR)/radosgw-rgw_rest_opstate.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_opstate.cc' object='radosgw-rgw_rest_opstate.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_policy_s3.obj: rgw/rgw_policy_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_policy_s3.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Tpo -c -o rgw/test_build_librgw-rgw_policy_s3.obj `if test -f 'rgw/rgw_policy_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_policy_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_policy_s3.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_policy_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_policy_s3.cc' object='rgw/test_build_librgw-rgw_policy_s3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_opstate.obj `if test -f 'rgw/rgw_rest_opstate.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_opstate.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_opstate.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_policy_s3.obj `if test -f 'rgw/rgw_policy_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_policy_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_policy_s3.cc'; fi`
 
-radosgw-rgw_rest_replica_log.o: rgw/rgw_rest_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_replica_log.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_replica_log.Tpo -c -o radosgw-rgw_rest_replica_log.o `test -f 'rgw/rgw_rest_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_rest_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_replica_log.Tpo $(DEPDIR)/radosgw-rgw_rest_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_replica_log.cc' object='radosgw-rgw_rest_replica_log.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_gc.o: rgw/rgw_gc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_gc.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Tpo -c -o rgw/test_build_librgw-rgw_gc.o `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_gc.cc' object='rgw/test_build_librgw-rgw_gc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_replica_log.o `test -f 'rgw/rgw_rest_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_rest_replica_log.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_gc.o `test -f 'rgw/rgw_gc.cc' || echo '$(srcdir)/'`rgw/rgw_gc.cc
 
-radosgw-rgw_rest_replica_log.obj: rgw/rgw_rest_replica_log.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_replica_log.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_replica_log.Tpo -c -o radosgw-rgw_rest_replica_log.obj `if test -f 'rgw/rgw_rest_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_replica_log.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_replica_log.Tpo $(DEPDIR)/radosgw-rgw_rest_replica_log.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_replica_log.cc' object='radosgw-rgw_rest_replica_log.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_gc.obj: rgw/rgw_gc.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_gc.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Tpo -c -o rgw/test_build_librgw-rgw_gc.obj `if test -f 'rgw/rgw_gc.cc'; then $(CYGPATH_W) 'rgw/rgw_gc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_gc.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_gc.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_gc.cc' object='rgw/test_build_librgw-rgw_gc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_replica_log.obj `if test -f 'rgw/rgw_rest_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_replica_log.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_gc.obj `if test -f 'rgw/rgw_gc.cc'; then $(CYGPATH_W) 'rgw/rgw_gc.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_gc.cc'; fi`
 
-radosgw-rgw_rest_config.o: rgw/rgw_rest_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_config.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_config.Tpo -c -o radosgw-rgw_rest_config.o `test -f 'rgw/rgw_rest_config.cc' || echo '$(srcdir)/'`rgw/rgw_rest_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_config.Tpo $(DEPDIR)/radosgw-rgw_rest_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_config.cc' object='radosgw-rgw_rest_config.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_multi_del.o: rgw/rgw_multi_del.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_multi_del.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Tpo -c -o rgw/test_build_librgw-rgw_multi_del.o `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi_del.cc' object='rgw/test_build_librgw-rgw_multi_del.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_config.o `test -f 'rgw/rgw_rest_config.cc' || echo '$(srcdir)/'`rgw/rgw_rest_config.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_multi_del.o `test -f 'rgw/rgw_multi_del.cc' || echo '$(srcdir)/'`rgw/rgw_multi_del.cc
 
-radosgw-rgw_rest_config.obj: rgw/rgw_rest_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_rest_config.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_rest_config.Tpo -c -o radosgw-rgw_rest_config.obj `if test -f 'rgw/rgw_rest_config.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_config.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_rest_config.Tpo $(DEPDIR)/radosgw-rgw_rest_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_rest_config.cc' object='radosgw-rgw_rest_config.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_multi_del.obj: rgw/rgw_multi_del.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_multi_del.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Tpo -c -o rgw/test_build_librgw-rgw_multi_del.obj `if test -f 'rgw/rgw_multi_del.cc'; then $(CYGPATH_W) 'rgw/rgw_multi_del.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi_del.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_multi_del.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_multi_del.cc' object='rgw/test_build_librgw-rgw_multi_del.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_rest_config.obj `if test -f 'rgw/rgw_rest_config.cc'; then $(CYGPATH_W) 'rgw/rgw_rest_config.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_rest_config.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_multi_del.obj `if test -f 'rgw/rgw_multi_del.cc'; then $(CYGPATH_W) 'rgw/rgw_multi_del.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_multi_del.cc'; fi`
 
-radosgw-rgw_http_client.o: rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_http_client.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_http_client.Tpo -c -o radosgw-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_http_client.Tpo $(DEPDIR)/radosgw-rgw_http_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='radosgw-rgw_http_client.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_env.o: rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_env.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_env.Tpo -c -o rgw/test_build_librgw-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_env.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_env.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='rgw/test_build_librgw-rgw_env.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_http_client.o `test -f 'rgw/rgw_http_client.cc' || echo '$(srcdir)/'`rgw/rgw_http_client.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_env.o `test -f 'rgw/rgw_env.cc' || echo '$(srcdir)/'`rgw/rgw_env.cc
 
-radosgw-rgw_http_client.obj: rgw/rgw_http_client.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_http_client.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_http_client.Tpo -c -o radosgw-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_http_client.Tpo $(DEPDIR)/radosgw-rgw_http_client.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_http_client.cc' object='radosgw-rgw_http_client.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_env.obj: rgw/rgw_env.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_env.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_env.Tpo -c -o rgw/test_build_librgw-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_env.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_env.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_env.cc' object='rgw/test_build_librgw-rgw_env.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_http_client.obj `if test -f 'rgw/rgw_http_client.cc'; then $(CYGPATH_W) 'rgw/rgw_http_client.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_http_client.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_env.obj `if test -f 'rgw/rgw_env.cc'; then $(CYGPATH_W) 'rgw/rgw_env.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_env.cc'; fi`
 
-radosgw-rgw_swift.o: rgw/rgw_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_swift.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_swift.Tpo -c -o radosgw-rgw_swift.o `test -f 'rgw/rgw_swift.cc' || echo '$(srcdir)/'`rgw/rgw_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_swift.Tpo $(DEPDIR)/radosgw-rgw_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_swift.cc' object='radosgw-rgw_swift.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cors.o: rgw/rgw_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cors.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Tpo -c -o rgw/test_build_librgw-rgw_cors.o `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors.cc' object='rgw/test_build_librgw-rgw_cors.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_swift.o `test -f 'rgw/rgw_swift.cc' || echo '$(srcdir)/'`rgw/rgw_swift.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cors.o `test -f 'rgw/rgw_cors.cc' || echo '$(srcdir)/'`rgw/rgw_cors.cc
 
-radosgw-rgw_swift.obj: rgw/rgw_swift.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_swift.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_swift.Tpo -c -o radosgw-rgw_swift.obj `if test -f 'rgw/rgw_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_swift.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_swift.Tpo $(DEPDIR)/radosgw-rgw_swift.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_swift.cc' object='radosgw-rgw_swift.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cors.obj: rgw/rgw_cors.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cors.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Tpo -c -o rgw/test_build_librgw-rgw_cors.obj `if test -f 'rgw/rgw_cors.cc'; then $(CYGPATH_W) 'rgw/rgw_cors.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cors.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors.cc' object='rgw/test_build_librgw-rgw_cors.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_swift.obj `if test -f 'rgw/rgw_swift.cc'; then $(CYGPATH_W) 'rgw/rgw_swift.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_swift.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cors.obj `if test -f 'rgw/rgw_cors.cc'; then $(CYGPATH_W) 'rgw/rgw_cors.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors.cc'; fi`
 
-radosgw-rgw_swift_auth.o: rgw/rgw_swift_auth.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_swift_auth.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_swift_auth.Tpo -c -o radosgw-rgw_swift_auth.o `test -f 'rgw/rgw_swift_auth.cc' || echo '$(srcdir)/'`rgw/rgw_swift_auth.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_swift_auth.Tpo $(DEPDIR)/radosgw-rgw_swift_auth.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_swift_auth.cc' object='radosgw-rgw_swift_auth.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cors_s3.o: rgw/rgw_cors_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cors_s3.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Tpo -c -o rgw/test_build_librgw-rgw_cors_s3.o `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors_s3.cc' object='rgw/test_build_librgw-rgw_cors_s3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_swift_auth.o `test -f 'rgw/rgw_swift_auth.cc' || echo '$(srcdir)/'`rgw/rgw_swift_auth.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cors_s3.o `test -f 'rgw/rgw_cors_s3.cc' || echo '$(srcdir)/'`rgw/rgw_cors_s3.cc
 
-radosgw-rgw_swift_auth.obj: rgw/rgw_swift_auth.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_swift_auth.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_swift_auth.Tpo -c -o radosgw-rgw_swift_auth.obj `if test -f 'rgw/rgw_swift_auth.cc'; then $(CYGPATH_W) 'rgw/rgw_swift_auth.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_swift_auth.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_swift_auth.Tpo $(DEPDIR)/radosgw-rgw_swift_auth.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_swift_auth.cc' object='radosgw-rgw_swift_auth.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_cors_s3.obj: rgw/rgw_cors_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_cors_s3.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Tpo -c -o rgw/test_build_librgw-rgw_cors_s3.obj `if test -f 'rgw/rgw_cors_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_cors_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors_s3.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_cors_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_cors_s3.cc' object='rgw/test_build_librgw-rgw_cors_s3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_swift_auth.obj `if test -f 'rgw/rgw_swift_auth.cc'; then $(CYGPATH_W) 'rgw/rgw_swift_auth.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_swift_auth.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_cors_s3.obj `if test -f 'rgw/rgw_cors_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_cors_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_cors_s3.cc'; fi`
 
-radosgw-rgw_main.o: rgw/rgw_main.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_main.o -MD -MP -MF $(DEPDIR)/radosgw-rgw_main.Tpo -c -o radosgw-rgw_main.o `test -f 'rgw/rgw_main.cc' || echo '$(srcdir)/'`rgw/rgw_main.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_main.Tpo $(DEPDIR)/radosgw-rgw_main.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_main.cc' object='radosgw-rgw_main.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_auth_s3.o: rgw/rgw_auth_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_auth_s3.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Tpo -c -o rgw/test_build_librgw-rgw_auth_s3.o `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_auth_s3.cc' object='rgw/test_build_librgw-rgw_auth_s3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_main.o `test -f 'rgw/rgw_main.cc' || echo '$(srcdir)/'`rgw/rgw_main.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_auth_s3.o `test -f 'rgw/rgw_auth_s3.cc' || echo '$(srcdir)/'`rgw/rgw_auth_s3.cc
 
-radosgw-rgw_main.obj: rgw/rgw_main.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -MT radosgw-rgw_main.obj -MD -MP -MF $(DEPDIR)/radosgw-rgw_main.Tpo -c -o radosgw-rgw_main.obj `if test -f 'rgw/rgw_main.cc'; then $(CYGPATH_W) 'rgw/rgw_main.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_main.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw-rgw_main.Tpo $(DEPDIR)/radosgw-rgw_main.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_main.cc' object='radosgw-rgw_main.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_auth_s3.obj: rgw/rgw_auth_s3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_auth_s3.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Tpo -c -o rgw/test_build_librgw-rgw_auth_s3.obj `if test -f 'rgw/rgw_auth_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_auth_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_auth_s3.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_auth_s3.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_auth_s3.cc' object='rgw/test_build_librgw-rgw_auth_s3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_CXXFLAGS) $(CXXFLAGS) -c -o radosgw-rgw_main.obj `if test -f 'rgw/rgw_main.cc'; then $(CYGPATH_W) 'rgw/rgw_main.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_main.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_auth_s3.obj `if test -f 'rgw/rgw_auth_s3.cc'; then $(CYGPATH_W) 'rgw/rgw_auth_s3.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_auth_s3.cc'; fi`
 
-radosgw_admin-rgw_admin.o: rgw/rgw_admin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_admin_CXXFLAGS) $(CXXFLAGS) -MT radosgw_admin-rgw_admin.o -MD -MP -MF $(DEPDIR)/radosgw_admin-rgw_admin.Tpo -c -o radosgw_admin-rgw_admin.o `test -f 'rgw/rgw_admin.cc' || echo '$(srcdir)/'`rgw/rgw_admin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw_admin-rgw_admin.Tpo $(DEPDIR)/radosgw_admin-rgw_admin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_admin.cc' object='radosgw_admin-rgw_admin.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_metadata.o: rgw/rgw_metadata.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_metadata.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Tpo -c -o rgw/test_build_librgw-rgw_metadata.o `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_metadata.cc' object='rgw/test_build_librgw-rgw_metadata.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_admin_CXXFLAGS) $(CXXFLAGS) -c -o radosgw_admin-rgw_admin.o `test -f 'rgw/rgw_admin.cc' || echo '$(srcdir)/'`rgw/rgw_admin.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_metadata.o `test -f 'rgw/rgw_metadata.cc' || echo '$(srcdir)/'`rgw/rgw_metadata.cc
 
-radosgw_admin-rgw_admin.obj: rgw/rgw_admin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_admin_CXXFLAGS) $(CXXFLAGS) -MT radosgw_admin-rgw_admin.obj -MD -MP -MF $(DEPDIR)/radosgw_admin-rgw_admin.Tpo -c -o radosgw_admin-rgw_admin.obj `if test -f 'rgw/rgw_admin.cc'; then $(CYGPATH_W) 'rgw/rgw_admin.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_admin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/radosgw_admin-rgw_admin.Tpo $(DEPDIR)/radosgw_admin-rgw_admin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_admin.cc' object='radosgw_admin-rgw_admin.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_metadata.obj: rgw/rgw_metadata.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_metadata.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Tpo -c -o rgw/test_build_librgw-rgw_metadata.obj `if test -f 'rgw/rgw_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_metadata.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_metadata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_metadata.cc' object='rgw/test_build_librgw-rgw_metadata.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radosgw_admin_CXXFLAGS) $(CXXFLAGS) -c -o radosgw_admin-rgw_admin.obj `if test -f 'rgw/rgw_admin.cc'; then $(CYGPATH_W) 'rgw/rgw_admin.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_admin.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_metadata.obj `if test -f 'rgw/rgw_metadata.cc'; then $(CYGPATH_W) 'rgw/rgw_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_metadata.cc'; fi`
 
-rbd-rbd.o: rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-rbd.o -MD -MP -MF $(DEPDIR)/rbd-rbd.Tpo -c -o rbd-rbd.o `test -f 'rbd.cc' || echo '$(srcdir)/'`rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-rbd.Tpo $(DEPDIR)/rbd-rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rbd.cc' object='rbd-rbd.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_replica_log.o: rgw/rgw_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_replica_log.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Tpo -c -o rgw/test_build_librgw-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='rgw/test_build_librgw-rgw_replica_log.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-rbd.o `test -f 'rbd.cc' || echo '$(srcdir)/'`rbd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_replica_log.o `test -f 'rgw/rgw_replica_log.cc' || echo '$(srcdir)/'`rgw/rgw_replica_log.cc
 
-rbd-rbd.obj: rbd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-rbd.obj -MD -MP -MF $(DEPDIR)/rbd-rbd.Tpo -c -o rbd-rbd.obj `if test -f 'rbd.cc'; then $(CYGPATH_W) 'rbd.cc'; else $(CYGPATH_W) '$(srcdir)/rbd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-rbd.Tpo $(DEPDIR)/rbd-rbd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rbd.cc' object='rbd-rbd.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_replica_log.obj: rgw/rgw_replica_log.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_replica_log.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Tpo -c -o rgw/test_build_librgw-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_replica_log.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_replica_log.cc' object='rgw/test_build_librgw-rgw_replica_log.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-rbd.obj `if test -f 'rbd.cc'; then $(CYGPATH_W) 'rbd.cc'; else $(CYGPATH_W) '$(srcdir)/rbd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_replica_log.obj `if test -f 'rgw/rgw_replica_log.cc'; then $(CYGPATH_W) 'rgw/rgw_replica_log.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_replica_log.cc'; fi`
 
-rbd-TextTable.o: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-TextTable.o -MD -MP -MF $(DEPDIR)/rbd-TextTable.Tpo -c -o rbd-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-TextTable.Tpo $(DEPDIR)/rbd-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='rbd-TextTable.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_keystone.o: rgw/rgw_keystone.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_keystone.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Tpo -c -o rgw/test_build_librgw-rgw_keystone.o `test -f 'rgw/rgw_keystone.cc' || echo '$(srcdir)/'`rgw/rgw_keystone.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_keystone.cc' object='rgw/test_build_librgw-rgw_keystone.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_keystone.o `test -f 'rgw/rgw_keystone.cc' || echo '$(srcdir)/'`rgw/rgw_keystone.cc
 
-rbd-TextTable.obj: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-TextTable.obj -MD -MP -MF $(DEPDIR)/rbd-TextTable.Tpo -c -o rbd-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-TextTable.Tpo $(DEPDIR)/rbd-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='rbd-TextTable.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_keystone.obj: rgw/rgw_keystone.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_keystone.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Tpo -c -o rgw/test_build_librgw-rgw_keystone.obj `if test -f 'rgw/rgw_keystone.cc'; then $(CYGPATH_W) 'rgw/rgw_keystone.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_keystone.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_keystone.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_keystone.cc' object='rgw/test_build_librgw-rgw_keystone.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_keystone.obj `if test -f 'rgw/rgw_keystone.cc'; then $(CYGPATH_W) 'rgw/rgw_keystone.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_keystone.cc'; fi`
 
-rbd-util.o: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-util.o -MD -MP -MF $(DEPDIR)/rbd-util.Tpo -c -o rbd-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-util.Tpo $(DEPDIR)/rbd-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='rbd-util.o' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_quota.o: rgw/rgw_quota.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_quota.o -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Tpo -c -o rgw/test_build_librgw-rgw_quota.o `test -f 'rgw/rgw_quota.cc' || echo '$(srcdir)/'`rgw/rgw_quota.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_quota.cc' object='rgw/test_build_librgw-rgw_quota.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_quota.o `test -f 'rgw/rgw_quota.cc' || echo '$(srcdir)/'`rgw/rgw_quota.cc
 
-rbd-util.obj: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -MT rbd-util.obj -MD -MP -MF $(DEPDIR)/rbd-util.Tpo -c -o rbd-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rbd-util.Tpo $(DEPDIR)/rbd-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='rbd-util.obj' libtool=no @AMDEPBACKSLASH@
+rgw/test_build_librgw-rgw_quota.obj: rgw/rgw_quota.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -MT rgw/test_build_librgw-rgw_quota.obj -MD -MP -MF rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Tpo -c -o rgw/test_build_librgw-rgw_quota.obj `if test -f 'rgw/rgw_quota.cc'; then $(CYGPATH_W) 'rgw/rgw_quota.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_quota.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Tpo rgw/$(DEPDIR)/test_build_librgw-rgw_quota.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_quota.cc' object='rgw/test_build_librgw-rgw_quota.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rbd_CXXFLAGS) $(CXXFLAGS) -c -o rbd-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_build_librgw_CXXFLAGS) $(CXXFLAGS) -c -o rgw/test_build_librgw-rgw_quota.obj `if test -f 'rgw/rgw_quota.cc'; then $(CYGPATH_W) 'rgw/rgw_quota.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_quota.cc'; fi`
 
-rest_bench-rest_bench.o: tools/rest_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT rest_bench-rest_bench.o -MD -MP -MF $(DEPDIR)/rest_bench-rest_bench.Tpo -c -o rest_bench-rest_bench.o `test -f 'tools/rest_bench.cc' || echo '$(srcdir)/'`tools/rest_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rest_bench-rest_bench.Tpo $(DEPDIR)/rest_bench-rest_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/rest_bench.cc' object='rest_bench-rest_bench.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_addrs-test_addrs.o: test/test_addrs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_addrs-test_addrs.o -MD -MP -MF test/$(DEPDIR)/unittest_addrs-test_addrs.Tpo -c -o test/unittest_addrs-test_addrs.o `test -f 'test/test_addrs.cc' || echo '$(srcdir)/'`test/test_addrs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_addrs-test_addrs.Tpo test/$(DEPDIR)/unittest_addrs-test_addrs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_addrs.cc' object='test/unittest_addrs-test_addrs.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o rest_bench-rest_bench.o `test -f 'tools/rest_bench.cc' || echo '$(srcdir)/'`tools/rest_bench.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_addrs-test_addrs.o `test -f 'test/test_addrs.cc' || echo '$(srcdir)/'`test/test_addrs.cc
 
-rest_bench-rest_bench.obj: tools/rest_bench.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT rest_bench-rest_bench.obj -MD -MP -MF $(DEPDIR)/rest_bench-rest_bench.Tpo -c -o rest_bench-rest_bench.obj `if test -f 'tools/rest_bench.cc'; then $(CYGPATH_W) 'tools/rest_bench.cc'; else $(CYGPATH_W) '$(srcdir)/tools/rest_bench.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rest_bench-rest_bench.Tpo $(DEPDIR)/rest_bench-rest_bench.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='tools/rest_bench.cc' object='rest_bench-rest_bench.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_addrs-test_addrs.obj: test/test_addrs.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_addrs-test_addrs.obj -MD -MP -MF test/$(DEPDIR)/unittest_addrs-test_addrs.Tpo -c -o test/unittest_addrs-test_addrs.obj `if test -f 'test/test_addrs.cc'; then $(CYGPATH_W) 'test/test_addrs.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_addrs.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_addrs-test_addrs.Tpo test/$(DEPDIR)/unittest_addrs-test_addrs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_addrs.cc' object='test/unittest_addrs-test_addrs.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o rest_bench-rest_bench.obj `if test -f 'tools/rest_bench.cc'; then $(CYGPATH_W) 'tools/rest_bench.cc'; else $(CYGPATH_W) '$(srcdir)/tools/rest_bench.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_addrs-test_addrs.obj `if test -f 'test/test_addrs.cc'; then $(CYGPATH_W) 'test/test_addrs.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_addrs.cc'; fi`
 
-rest_bench-obj_bencher.o: common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT rest_bench-obj_bencher.o -MD -MP -MF $(DEPDIR)/rest_bench-obj_bencher.Tpo -c -o rest_bench-obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rest_bench-obj_bencher.Tpo $(DEPDIR)/rest_bench-obj_bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='rest_bench-obj_bencher.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_admin_socket-admin_socket.o: test/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_admin_socket-admin_socket.o -MD -MP -MF test/$(DEPDIR)/unittest_admin_socket-admin_socket.Tpo -c -o test/unittest_admin_socket-admin_socket.o `test -f 'test/admin_socket.cc' || echo '$(srcdir)/'`test/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_admin_socket-admin_socket.Tpo test/$(DEPDIR)/unittest_admin_socket-admin_socket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/admin_socket.cc' object='test/unittest_admin_socket-admin_socket.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o rest_bench-obj_bencher.o `test -f 'common/obj_bencher.cc' || echo '$(srcdir)/'`common/obj_bencher.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_admin_socket-admin_socket.o `test -f 'test/admin_socket.cc' || echo '$(srcdir)/'`test/admin_socket.cc
 
-rest_bench-obj_bencher.obj: common/obj_bencher.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -MT rest_bench-obj_bencher.obj -MD -MP -MF $(DEPDIR)/rest_bench-obj_bencher.Tpo -c -o rest_bench-obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/rest_bench-obj_bencher.Tpo $(DEPDIR)/rest_bench-obj_bencher.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/obj_bencher.cc' object='rest_bench-obj_bencher.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_admin_socket-admin_socket.obj: test/admin_socket.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_admin_socket-admin_socket.obj -MD -MP -MF test/$(DEPDIR)/unittest_admin_socket-admin_socket.Tpo -c -o test/unittest_admin_socket-admin_socket.obj `if test -f 'test/admin_socket.cc'; then $(CYGPATH_W) 'test/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/test/admin_socket.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_admin_socket-admin_socket.Tpo test/$(DEPDIR)/unittest_admin_socket-admin_socket.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/admin_socket.cc' object='test/unittest_admin_socket-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rest_bench_CXXFLAGS) $(CXXFLAGS) -c -o rest_bench-obj_bencher.obj `if test -f 'common/obj_bencher.cc'; then $(CYGPATH_W) 'common/obj_bencher.cc'; else $(CYGPATH_W) '$(srcdir)/common/obj_bencher.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_admin_socket-admin_socket.obj `if test -f 'test/admin_socket.cc'; then $(CYGPATH_W) 'test/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/test/admin_socket.cc'; fi`
 
-unittest_addrs-test_addrs.o: test/test_addrs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -MT unittest_addrs-test_addrs.o -MD -MP -MF $(DEPDIR)/unittest_addrs-test_addrs.Tpo -c -o unittest_addrs-test_addrs.o `test -f 'test/test_addrs.cc' || echo '$(srcdir)/'`test/test_addrs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_addrs-test_addrs.Tpo $(DEPDIR)/unittest_addrs-test_addrs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_addrs.cc' object='unittest_addrs-test_addrs.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_base64-base64.o: test/base64.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_base64-base64.o -MD -MP -MF test/$(DEPDIR)/unittest_base64-base64.Tpo -c -o test/unittest_base64-base64.o `test -f 'test/base64.cc' || echo '$(srcdir)/'`test/base64.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_base64-base64.Tpo test/$(DEPDIR)/unittest_base64-base64.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/base64.cc' object='test/unittest_base64-base64.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -c -o unittest_addrs-test_addrs.o `test -f 'test/test_addrs.cc' || echo '$(srcdir)/'`test/test_addrs.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_base64-base64.o `test -f 'test/base64.cc' || echo '$(srcdir)/'`test/base64.cc
 
-unittest_addrs-test_addrs.obj: test/test_addrs.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -MT unittest_addrs-test_addrs.obj -MD -MP -MF $(DEPDIR)/unittest_addrs-test_addrs.Tpo -c -o unittest_addrs-test_addrs.obj `if test -f 'test/test_addrs.cc'; then $(CYGPATH_W) 'test/test_addrs.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_addrs.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_addrs-test_addrs.Tpo $(DEPDIR)/unittest_addrs-test_addrs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_addrs.cc' object='unittest_addrs-test_addrs.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_base64-base64.obj: test/base64.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_base64-base64.obj -MD -MP -MF test/$(DEPDIR)/unittest_base64-base64.Tpo -c -o test/unittest_base64-base64.obj `if test -f 'test/base64.cc'; then $(CYGPATH_W) 'test/base64.cc'; else $(CYGPATH_W) '$(srcdir)/test/base64.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_base64-base64.Tpo test/$(DEPDIR)/unittest_base64-base64.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/base64.cc' object='test/unittest_base64-base64.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_addrs_CXXFLAGS) $(CXXFLAGS) -c -o unittest_addrs-test_addrs.obj `if test -f 'test/test_addrs.cc'; then $(CYGPATH_W) 'test/test_addrs.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_addrs.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_base64-base64.obj `if test -f 'test/base64.cc'; then $(CYGPATH_W) 'test/base64.cc'; else $(CYGPATH_W) '$(srcdir)/test/base64.cc'; fi`
 
-unittest_admin_socket-admin_socket.o: test/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -MT unittest_admin_socket-admin_socket.o -MD -MP -MF $(DEPDIR)/unittest_admin_socket-admin_socket.Tpo -c -o unittest_admin_socket-admin_socket.o `test -f 'test/admin_socket.cc' || echo '$(srcdir)/'`test/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_admin_socket-admin_socket.Tpo $(DEPDIR)/unittest_admin_socket-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/admin_socket.cc' object='unittest_admin_socket-admin_socket.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_bloom_filter-test_bloom_filter.o: test/common/test_bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bloom_filter_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_bloom_filter-test_bloom_filter.o -MD -MP -MF test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Tpo -c -o test/common/unittest_bloom_filter-test_bloom_filter.o `test -f 'test/common/test_bloom_filter.cc' || echo '$(srcdir)/'`test/common/test_bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Tpo test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_bloom_filter.cc' object='test/common/unittest_bloom_filter-test_bloom_filter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -c -o unittest_admin_socket-admin_socket.o `test -f 'test/admin_socket.cc' || echo '$(srcdir)/'`test/admin_socket.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bloom_filter_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_bloom_filter-test_bloom_filter.o `test -f 'test/common/test_bloom_filter.cc' || echo '$(srcdir)/'`test/common/test_bloom_filter.cc
 
-unittest_admin_socket-admin_socket.obj: test/admin_socket.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -MT unittest_admin_socket-admin_socket.obj -MD -MP -MF $(DEPDIR)/unittest_admin_socket-admin_socket.Tpo -c -o unittest_admin_socket-admin_socket.obj `if test -f 'test/admin_socket.cc'; then $(CYGPATH_W) 'test/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/test/admin_socket.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_admin_socket-admin_socket.Tpo $(DEPDIR)/unittest_admin_socket-admin_socket.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/admin_socket.cc' object='unittest_admin_socket-admin_socket.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_bloom_filter-test_bloom_filter.obj: test/common/test_bloom_filter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bloom_filter_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_bloom_filter-test_bloom_filter.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Tpo -c -o test/common/unittest_bloom_filter-test_bloom_filter.obj `if test -f 'test/common/test_bloom_filter.cc'; then $(CYGPATH_W) 'test/common/test_bloom_filter.cc'; else $(CYGPATH_W) '$(srcdir)/test/com [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Tpo test/common/$(DEPDIR)/unittest_bloom_filter-test_bloom_filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_bloom_filter.cc' object='test/common/unittest_bloom_filter-test_bloom_filter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_admin_socket_CXXFLAGS) $(CXXFLAGS) -c -o unittest_admin_socket-admin_socket.obj `if test -f 'test/admin_socket.cc'; then $(CYGPATH_W) 'test/admin_socket.cc'; else $(CYGPATH_W) '$(srcdir)/test/admin_socket.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bloom_filter_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_bloom_filter-test_bloom_filter.obj `if test -f 'test/common/test_bloom_filter.cc'; then $(CYGPATH_W) 'test/common/test_bloom_filter.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_bloom_filter.cc'; fi`
 
-unittest_base64-base64.o: test/base64.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -MT unittest_base64-base64.o -MD -MP -MF $(DEPDIR)/unittest_base64-base64.Tpo -c -o unittest_base64-base64.o `test -f 'test/base64.cc' || echo '$(srcdir)/'`test/base64.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_base64-base64.Tpo $(DEPDIR)/unittest_base64-base64.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/base64.cc' object='unittest_base64-base64.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_bufferlist-bufferlist.o: test/bufferlist.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_bufferlist-bufferlist.o -MD -MP -MF test/$(DEPDIR)/unittest_bufferlist-bufferlist.Tpo -c -o test/unittest_bufferlist-bufferlist.o `test -f 'test/bufferlist.cc' || echo '$(srcdir)/'`test/bufferlist.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_bufferlist-bufferlist.Tpo test/$(DEPDIR)/unittest_bufferlist-bufferlist.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bufferlist.cc' object='test/unittest_bufferlist-bufferlist.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -c -o unittest_base64-base64.o `test -f 'test/base64.cc' || echo '$(srcdir)/'`test/base64.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_bufferlist-bufferlist.o `test -f 'test/bufferlist.cc' || echo '$(srcdir)/'`test/bufferlist.cc
 
-unittest_base64-base64.obj: test/base64.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -MT unittest_base64-base64.obj -MD -MP -MF $(DEPDIR)/unittest_base64-base64.Tpo -c -o unittest_base64-base64.obj `if test -f 'test/base64.cc'; then $(CYGPATH_W) 'test/base64.cc'; else $(CYGPATH_W) '$(srcdir)/test/base64.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_base64-base64.Tpo $(DEPDIR)/unittest_base64-base64.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/base64.cc' object='unittest_base64-base64.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_bufferlist-bufferlist.obj: test/bufferlist.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_bufferlist-bufferlist.obj -MD -MP -MF test/$(DEPDIR)/unittest_bufferlist-bufferlist.Tpo -c -o test/unittest_bufferlist-bufferlist.obj `if test -f 'test/bufferlist.cc'; then $(CYGPATH_W) 'test/bufferlist.cc'; else $(CYGPATH_W) '$(srcdir)/test/bufferlist.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_bufferlist-bufferlist.Tpo test/$(DEPDIR)/unittest_bufferlist-bufferlist.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bufferlist.cc' object='test/unittest_bufferlist-bufferlist.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_base64_CXXFLAGS) $(CXXFLAGS) -c -o unittest_base64-base64.obj `if test -f 'test/base64.cc'; then $(CYGPATH_W) 'test/base64.cc'; else $(CYGPATH_W) '$(srcdir)/test/base64.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_bufferlist-bufferlist.obj `if test -f 'test/bufferlist.cc'; then $(CYGPATH_W) 'test/bufferlist.cc'; else $(CYGPATH_W) '$(srcdir)/test/bufferlist.cc'; fi`
 
-unittest_bufferlist-bufferlist.o: test/bufferlist.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -MT unittest_bufferlist-bufferlist.o -MD -MP -MF $(DEPDIR)/unittest_bufferlist-bufferlist.Tpo -c -o unittest_bufferlist-bufferlist.o `test -f 'test/bufferlist.cc' || echo '$(srcdir)/'`test/bufferlist.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_bufferlist-bufferlist.Tpo $(DEPDIR)/unittest_bufferlist-bufferlist.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bufferlist.cc' object='unittest_bufferlist-bufferlist.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_argparse-ceph_argparse.o: test/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_argparse-ceph_argparse.o -MD -MP -MF test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo -c -o test/unittest_ceph_argparse-ceph_argparse.o `test -f 'test/ceph_argparse.cc' || echo '$(srcdir)/'`test/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_argparse.cc' object='test/unittest_ceph_argparse-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -c -o unittest_bufferlist-bufferlist.o `test -f 'test/bufferlist.cc' || echo '$(srcdir)/'`test/bufferlist.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_argparse-ceph_argparse.o `test -f 'test/ceph_argparse.cc' || echo '$(srcdir)/'`test/ceph_argparse.cc
 
-unittest_bufferlist-bufferlist.obj: test/bufferlist.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -MT unittest_bufferlist-bufferlist.obj -MD -MP -MF $(DEPDIR)/unittest_bufferlist-bufferlist.Tpo -c -o unittest_bufferlist-bufferlist.obj `if test -f 'test/bufferlist.cc'; then $(CYGPATH_W) 'test/bufferlist.cc'; else $(CYGPATH_W) '$(srcdir)/test/bufferlist.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_bufferlist-bufferlist.Tpo $(DEPDIR)/unittest_bufferlist-bufferlist.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/bufferlist.cc' object='unittest_bufferlist-bufferlist.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_argparse-ceph_argparse.obj: test/ceph_argparse.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_argparse-ceph_argparse.obj -MD -MP -MF test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo -c -o test/unittest_ceph_argparse-ceph_argparse.obj `if test -f 'test/ceph_argparse.cc'; then $(CYGPATH_W) 'test/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_argparse.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo test/$(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_argparse.cc' object='test/unittest_ceph_argparse-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_bufferlist_CXXFLAGS) $(CXXFLAGS) -c -o unittest_bufferlist-bufferlist.obj `if test -f 'test/bufferlist.cc'; then $(CYGPATH_W) 'test/bufferlist.cc'; else $(CYGPATH_W) '$(srcdir)/test/bufferlist.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_argparse-ceph_argparse.obj `if test -f 'test/ceph_argparse.cc'; then $(CYGPATH_W) 'test/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_argparse.cc'; fi`
 
-unittest_ceph_argparse-ceph_argparse.o: test/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -MT unittest_ceph_argparse-ceph_argparse.o -MD -MP -MF $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo -c -o unittest_ceph_argparse-ceph_argparse.o `test -f 'test/ceph_argparse.cc' || echo '$(srcdir)/'`test/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_argparse.cc' object='unittest_ceph_argparse-ceph_argparse.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_compatset-ceph_compatset.o: test/ceph_compatset.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_compatset_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_compatset-ceph_compatset.o -MD -MP -MF test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Tpo -c -o test/unittest_ceph_compatset-ceph_compatset.o `test -f 'test/ceph_compatset.cc' || echo '$(srcdir)/'`test/ceph_compatset.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Tpo test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_compatset.cc' object='test/unittest_ceph_compatset-ceph_compatset.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ceph_argparse-ceph_argparse.o `test -f 'test/ceph_argparse.cc' || echo '$(srcdir)/'`test/ceph_argparse.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_compatset_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_compatset-ceph_compatset.o `test -f 'test/ceph_compatset.cc' || echo '$(srcdir)/'`test/ceph_compatset.cc
 
-unittest_ceph_argparse-ceph_argparse.obj: test/ceph_argparse.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -MT unittest_ceph_argparse-ceph_argparse.obj -MD -MP -MF $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo -c -o unittest_ceph_argparse-ceph_argparse.obj `if test -f 'test/ceph_argparse.cc'; then $(CYGPATH_W) 'test/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_argparse.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Tpo $(DEPDIR)/unittest_ceph_argparse-ceph_argparse.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_argparse.cc' object='unittest_ceph_argparse-ceph_argparse.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_compatset-ceph_compatset.obj: test/ceph_compatset.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_compatset_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_compatset-ceph_compatset.obj -MD -MP -MF test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Tpo -c -o test/unittest_ceph_compatset-ceph_compatset.obj `if test -f 'test/ceph_compatset.cc'; then $(CYGPATH_W) 'test/ceph_compatset.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_compatset.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Tpo test/$(DEPDIR)/unittest_ceph_compatset-ceph_compatset.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_compatset.cc' object='test/unittest_ceph_compatset-ceph_compatset.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_argparse_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ceph_argparse-ceph_argparse.obj `if test -f 'test/ceph_argparse.cc'; then $(CYGPATH_W) 'test/ceph_argparse.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_argparse.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_compatset_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_compatset-ceph_compatset.obj `if test -f 'test/ceph_compatset.cc'; then $(CYGPATH_W) 'test/ceph_compatset.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_compatset.cc'; fi`
 
-unittest_ceph_crypto-ceph_crypto.o: test/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -MT unittest_ceph_crypto-ceph_crypto.o -MD -MP -MF $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo -c -o unittest_ceph_crypto-ceph_crypto.o `test -f 'test/ceph_crypto.cc' || echo '$(srcdir)/'`test/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_crypto.cc' object='unittest_ceph_crypto-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_crypto-ceph_crypto.o: test/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_crypto-ceph_crypto.o -MD -MP -MF test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo -c -o test/unittest_ceph_crypto-ceph_crypto.o `test -f 'test/ceph_crypto.cc' || echo '$(srcdir)/'`test/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_crypto.cc' object='test/unittest_ceph_crypto-ceph_crypto.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ceph_crypto-ceph_crypto.o `test -f 'test/ceph_crypto.cc' || echo '$(srcdir)/'`test/ceph_crypto.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_crypto-ceph_crypto.o `test -f 'test/ceph_crypto.cc' || echo '$(srcdir)/'`test/ceph_crypto.cc
 
-unittest_ceph_crypto-ceph_crypto.obj: test/ceph_crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -MT unittest_ceph_crypto-ceph_crypto.obj -MD -MP -MF $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo -c -o unittest_ceph_crypto-ceph_crypto.obj `if test -f 'test/ceph_crypto.cc'; then $(CYGPATH_W) 'test/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo $(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_crypto.cc' object='unittest_ceph_crypto-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_ceph_crypto-ceph_crypto.obj: test/ceph_crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ceph_crypto-ceph_crypto.obj -MD -MP -MF test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo -c -o test/unittest_ceph_crypto-ceph_crypto.obj `if test -f 'test/ceph_crypto.cc'; then $(CYGPATH_W) 'test/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_crypto.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Tpo test/$(DEPDIR)/unittest_ceph_crypto-ceph_crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/ceph_crypto.cc' object='test/unittest_ceph_crypto-ceph_crypto.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ceph_crypto-ceph_crypto.obj `if test -f 'test/ceph_crypto.cc'; then $(CYGPATH_W) 'test/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_crypto.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ceph_crypto_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ceph_crypto-ceph_crypto.obj `if test -f 'test/ceph_crypto.cc'; then $(CYGPATH_W) 'test/ceph_crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/ceph_crypto.cc'; fi`
 
-unittest_chain_xattr-chain_xattr.o: test/filestore/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -MT unittest_chain_xattr-chain_xattr.o -MD -MP -MF $(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo -c -o unittest_chain_xattr-chain_xattr.o `test -f 'test/filestore/chain_xattr.cc' || echo '$(srcdir)/'`test/filestore/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo $(DEPDIR)/unittest_chain_xattr-chain_xattr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/chain_xattr.cc' object='unittest_chain_xattr-chain_xattr.o' libtool=no @AMDEPBACKSLASH@
+test/filestore/unittest_chain_xattr-chain_xattr.o: test/filestore/chain_xattr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -MT test/filestore/unittest_chain_xattr-chain_xattr.o -MD -MP -MF test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo -c -o test/filestore/unittest_chain_xattr-chain_xattr.o `test -f 'test/filestore/chain_xattr.cc' || echo '$(srcdir)/'`test/filestore/chain_xattr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/chain_xattr.cc' object='test/filestore/unittest_chain_xattr-chain_xattr.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -c -o unittest_chain_xattr-chain_xattr.o `test -f 'test/filestore/chain_xattr.cc' || echo '$(srcdir)/'`test/filestore/chain_xattr.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -c -o test/filestore/unittest_chain_xattr-chain_xattr.o `test -f 'test/filestore/chain_xattr.cc' || echo '$(srcdir)/'`test/filestore/chain_xattr.cc
 
-unittest_chain_xattr-chain_xattr.obj: test/filestore/chain_xattr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -MT unittest_chain_xattr-chain_xattr.obj -MD -MP -MF $(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo -c -o unittest_chain_xattr-chain_xattr.obj `if test -f 'test/filestore/chain_xattr.cc'; then $(CYGPATH_W) 'test/filestore/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/chain_xattr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo $(DEPDIR)/unittest_chain_xattr-chain_xattr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/chain_xattr.cc' object='unittest_chain_xattr-chain_xattr.obj' libtool=no @AMDEPBACKSLASH@
+test/filestore/unittest_chain_xattr-chain_xattr.obj: test/filestore/chain_xattr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -MT test/filestore/unittest_chain_xattr-chain_xattr.obj -MD -MP -MF test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo -c -o test/filestore/unittest_chain_xattr-chain_xattr.obj `if test -f 'test/filestore/chain_xattr.cc'; then $(CYGPATH_W) 'test/filestore/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/chain_xattr. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Tpo test/filestore/$(DEPDIR)/unittest_chain_xattr-chain_xattr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/filestore/chain_xattr.cc' object='test/filestore/unittest_chain_xattr-chain_xattr.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -c -o unittest_chain_xattr-chain_xattr.obj `if test -f 'test/filestore/chain_xattr.cc'; then $(CYGPATH_W) 'test/filestore/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/chain_xattr.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_chain_xattr_CXXFLAGS) $(CXXFLAGS) -c -o test/filestore/unittest_chain_xattr-chain_xattr.obj `if test -f 'test/filestore/chain_xattr.cc'; then $(CYGPATH_W) 'test/filestore/chain_xattr.cc'; else $(CYGPATH_W) '$(srcdir)/test/filestore/chain_xattr.cc'; fi`
 
-unittest_confutils-confutils.o: test/confutils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -MT unittest_confutils-confutils.o -MD -MP -MF $(DEPDIR)/unittest_confutils-confutils.Tpo -c -o unittest_confutils-confutils.o `test -f 'test/confutils.cc' || echo '$(srcdir)/'`test/confutils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_confutils-confutils.Tpo $(DEPDIR)/unittest_confutils-confutils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/confutils.cc' object='unittest_confutils-confutils.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_confutils-confutils.o: test/confutils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_confutils-confutils.o -MD -MP -MF test/$(DEPDIR)/unittest_confutils-confutils.Tpo -c -o test/unittest_confutils-confutils.o `test -f 'test/confutils.cc' || echo '$(srcdir)/'`test/confutils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_confutils-confutils.Tpo test/$(DEPDIR)/unittest_confutils-confutils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/confutils.cc' object='test/unittest_confutils-confutils.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -c -o unittest_confutils-confutils.o `test -f 'test/confutils.cc' || echo '$(srcdir)/'`test/confutils.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_confutils-confutils.o `test -f 'test/confutils.cc' || echo '$(srcdir)/'`test/confutils.cc
 
-unittest_confutils-confutils.obj: test/confutils.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -MT unittest_confutils-confutils.obj -MD -MP -MF $(DEPDIR)/unittest_confutils-confutils.Tpo -c -o unittest_confutils-confutils.obj `if test -f 'test/confutils.cc'; then $(CYGPATH_W) 'test/confutils.cc'; else $(CYGPATH_W) '$(srcdir)/test/confutils.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_confutils-confutils.Tpo $(DEPDIR)/unittest_confutils-confutils.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/confutils.cc' object='unittest_confutils-confutils.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_confutils-confutils.obj: test/confutils.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_confutils-confutils.obj -MD -MP -MF test/$(DEPDIR)/unittest_confutils-confutils.Tpo -c -o test/unittest_confutils-confutils.obj `if test -f 'test/confutils.cc'; then $(CYGPATH_W) 'test/confutils.cc'; else $(CYGPATH_W) '$(srcdir)/test/confutils.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_confutils-confutils.Tpo test/$(DEPDIR)/unittest_confutils-confutils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/confutils.cc' object='test/unittest_confutils-confutils.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -c -o unittest_confutils-confutils.obj `if test -f 'test/confutils.cc'; then $(CYGPATH_W) 'test/confutils.cc'; else $(CYGPATH_W) '$(srcdir)/test/confutils.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_confutils_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_confutils-confutils.obj `if test -f 'test/confutils.cc'; then $(CYGPATH_W) 'test/confutils.cc'; else $(CYGPATH_W) '$(srcdir)/test/confutils.cc'; fi`
 
-unittest_crypto-crypto.o: test/crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -MT unittest_crypto-crypto.o -MD -MP -MF $(DEPDIR)/unittest_crypto-crypto.Tpo -c -o unittest_crypto-crypto.o `test -f 'test/crypto.cc' || echo '$(srcdir)/'`test/crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_crypto-crypto.Tpo $(DEPDIR)/unittest_crypto-crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/crypto.cc' object='unittest_crypto-crypto.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_crc32c-test_crc32c.o: test/common/test_crc32c.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crc32c_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_crc32c-test_crc32c.o -MD -MP -MF test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Tpo -c -o test/common/unittest_crc32c-test_crc32c.o `test -f 'test/common/test_crc32c.cc' || echo '$(srcdir)/'`test/common/test_crc32c.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Tpo test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_crc32c.cc' object='test/common/unittest_crc32c-test_crc32c.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -c -o unittest_crypto-crypto.o `test -f 'test/crypto.cc' || echo '$(srcdir)/'`test/crypto.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crc32c_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_crc32c-test_crc32c.o `test -f 'test/common/test_crc32c.cc' || echo '$(srcdir)/'`test/common/test_crc32c.cc
 
-unittest_crypto-crypto.obj: test/crypto.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -MT unittest_crypto-crypto.obj -MD -MP -MF $(DEPDIR)/unittest_crypto-crypto.Tpo -c -o unittest_crypto-crypto.obj `if test -f 'test/crypto.cc'; then $(CYGPATH_W) 'test/crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/crypto.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_crypto-crypto.Tpo $(DEPDIR)/unittest_crypto-crypto.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/crypto.cc' object='unittest_crypto-crypto.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_crc32c-test_crc32c.obj: test/common/test_crc32c.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crc32c_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_crc32c-test_crc32c.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Tpo -c -o test/common/unittest_crc32c-test_crc32c.obj `if test -f 'test/common/test_crc32c.cc'; then $(CYGPATH_W) 'test/common/test_crc32c.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_crc32c.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Tpo test/common/$(DEPDIR)/unittest_crc32c-test_crc32c.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_crc32c.cc' object='test/common/unittest_crc32c-test_crc32c.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -c -o unittest_crypto-crypto.obj `if test -f 'test/crypto.cc'; then $(CYGPATH_W) 'test/crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/crypto.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crc32c_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_crc32c-test_crc32c.obj `if test -f 'test/common/test_crc32c.cc'; then $(CYGPATH_W) 'test/common/test_crc32c.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_crc32c.cc'; fi`
 
-unittest_daemon_config-daemon_config.o: test/daemon_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_daemon_config-daemon_config.o -MD -MP -MF $(DEPDIR)/unittest_daemon_config-daemon_config.Tpo -c -o unittest_daemon_config-daemon_config.o `test -f 'test/daemon_config.cc' || echo '$(srcdir)/'`test/daemon_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_daemon_config-daemon_config.Tpo $(DEPDIR)/unittest_daemon_config-daemon_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/daemon_config.cc' object='unittest_daemon_config-daemon_config.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_crypto-crypto.o: test/crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_crypto-crypto.o -MD -MP -MF test/$(DEPDIR)/unittest_crypto-crypto.Tpo -c -o test/unittest_crypto-crypto.o `test -f 'test/crypto.cc' || echo '$(srcdir)/'`test/crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_crypto-crypto.Tpo test/$(DEPDIR)/unittest_crypto-crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/crypto.cc' object='test/unittest_crypto-crypto.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_daemon_config-daemon_config.o `test -f 'test/daemon_config.cc' || echo '$(srcdir)/'`test/daemon_config.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_crypto-crypto.o `test -f 'test/crypto.cc' || echo '$(srcdir)/'`test/crypto.cc
 
-unittest_daemon_config-daemon_config.obj: test/daemon_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_daemon_config-daemon_config.obj -MD -MP -MF $(DEPDIR)/unittest_daemon_config-daemon_config.Tpo -c -o unittest_daemon_config-daemon_config.obj `if test -f 'test/daemon_config.cc'; then $(CYGPATH_W) 'test/daemon_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/daemon_config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_daemon_config-daemon_config.Tpo $(DEPDIR)/unittest_daemon_config-daemon_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/daemon_config.cc' object='unittest_daemon_config-daemon_config.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_crypto-crypto.obj: test/crypto.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_crypto-crypto.obj -MD -MP -MF test/$(DEPDIR)/unittest_crypto-crypto.Tpo -c -o test/unittest_crypto-crypto.obj `if test -f 'test/crypto.cc'; then $(CYGPATH_W) 'test/crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/crypto.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_crypto-crypto.Tpo test/$(DEPDIR)/unittest_crypto-crypto.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/crypto.cc' object='test/unittest_crypto-crypto.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_daemon_config-daemon_config.obj `if test -f 'test/daemon_config.cc'; then $(CYGPATH_W) 'test/daemon_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/daemon_config.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_crypto_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_crypto-crypto.obj `if test -f 'test/crypto.cc'; then $(CYGPATH_W) 'test/crypto.cc'; else $(CYGPATH_W) '$(srcdir)/test/crypto.cc'; fi`
 
-unittest_encoding-encoding.o: test/encoding.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -MT unittest_encoding-encoding.o -MD -MP -MF $(DEPDIR)/unittest_encoding-encoding.Tpo -c -o unittest_encoding-encoding.o `test -f 'test/encoding.cc' || echo '$(srcdir)/'`test/encoding.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_encoding-encoding.Tpo $(DEPDIR)/unittest_encoding-encoding.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding.cc' object='unittest_encoding-encoding.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_daemon_config-daemon_config.o: test/daemon_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_daemon_config-daemon_config.o -MD -MP -MF test/$(DEPDIR)/unittest_daemon_config-daemon_config.Tpo -c -o test/unittest_daemon_config-daemon_config.o `test -f 'test/daemon_config.cc' || echo '$(srcdir)/'`test/daemon_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_daemon_config-daemon_config.Tpo test/$(DEPDIR)/unittest_daemon_config-daemon_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/daemon_config.cc' object='test/unittest_daemon_config-daemon_config.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -c -o unittest_encoding-encoding.o `test -f 'test/encoding.cc' || echo '$(srcdir)/'`test/encoding.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_daemon_config-daemon_config.o `test -f 'test/daemon_config.cc' || echo '$(srcdir)/'`test/daemon_config.cc
 
-unittest_encoding-encoding.obj: test/encoding.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -MT unittest_encoding-encoding.obj -MD -MP -MF $(DEPDIR)/unittest_encoding-encoding.Tpo -c -o unittest_encoding-encoding.obj `if test -f 'test/encoding.cc'; then $(CYGPATH_W) 'test/encoding.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_encoding-encoding.Tpo $(DEPDIR)/unittest_encoding-encoding.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding.cc' object='unittest_encoding-encoding.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_daemon_config-daemon_config.obj: test/daemon_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_daemon_config-daemon_config.obj -MD -MP -MF test/$(DEPDIR)/unittest_daemon_config-daemon_config.Tpo -c -o test/unittest_daemon_config-daemon_config.obj `if test -f 'test/daemon_config.cc'; then $(CYGPATH_W) 'test/daemon_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/daemon_config.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_daemon_config-daemon_config.Tpo test/$(DEPDIR)/unittest_daemon_config-daemon_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/daemon_config.cc' object='test/unittest_daemon_config-daemon_config.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -c -o unittest_encoding-encoding.obj `if test -f 'test/encoding.cc'; then $(CYGPATH_W) 'test/encoding.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_daemon_config_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_daemon_config-daemon_config.obj `if test -f 'test/daemon_config.cc'; then $(CYGPATH_W) 'test/daemon_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/daemon_config.cc'; fi`
 
-unittest_escape-escape.o: test/escape.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -MT unittest_escape-escape.o -MD -MP -MF $(DEPDIR)/unittest_escape-escape.Tpo -c -o unittest_escape-escape.o `test -f 'test/escape.cc' || echo '$(srcdir)/'`test/escape.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_escape-escape.Tpo $(DEPDIR)/unittest_escape-escape.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/escape.cc' object='unittest_escape-escape.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_encoding-encoding.o: test/encoding.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_encoding-encoding.o -MD -MP -MF test/$(DEPDIR)/unittest_encoding-encoding.Tpo -c -o test/unittest_encoding-encoding.o `test -f 'test/encoding.cc' || echo '$(srcdir)/'`test/encoding.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_encoding-encoding.Tpo test/$(DEPDIR)/unittest_encoding-encoding.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding.cc' object='test/unittest_encoding-encoding.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -c -o unittest_escape-escape.o `test -f 'test/escape.cc' || echo '$(srcdir)/'`test/escape.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_encoding-encoding.o `test -f 'test/encoding.cc' || echo '$(srcdir)/'`test/encoding.cc
 
-unittest_escape-escape.obj: test/escape.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -MT unittest_escape-escape.obj -MD -MP -MF $(DEPDIR)/unittest_escape-escape.Tpo -c -o unittest_escape-escape.obj `if test -f 'test/escape.cc'; then $(CYGPATH_W) 'test/escape.cc'; else $(CYGPATH_W) '$(srcdir)/test/escape.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_escape-escape.Tpo $(DEPDIR)/unittest_escape-escape.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/escape.cc' object='unittest_escape-escape.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_encoding-encoding.obj: test/encoding.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_encoding-encoding.obj -MD -MP -MF test/$(DEPDIR)/unittest_encoding-encoding.Tpo -c -o test/unittest_encoding-encoding.obj `if test -f 'test/encoding.cc'; then $(CYGPATH_W) 'test/encoding.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_encoding-encoding.Tpo test/$(DEPDIR)/unittest_encoding-encoding.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/encoding.cc' object='test/unittest_encoding-encoding.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -c -o unittest_escape-escape.obj `if test -f 'test/escape.cc'; then $(CYGPATH_W) 'test/escape.cc'; else $(CYGPATH_W) '$(srcdir)/test/escape.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_encoding_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_encoding-encoding.obj `if test -f 'test/encoding.cc'; then $(CYGPATH_W) 'test/encoding.cc'; else $(CYGPATH_W) '$(srcdir)/test/encoding.cc'; fi`
 
-unittest_flatindex-TestFlatIndex.o: test/os/TestFlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -MT unittest_flatindex-TestFlatIndex.o -MD -MP -MF $(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo -c -o unittest_flatindex-TestFlatIndex.o `test -f 'test/os/TestFlatIndex.cc' || echo '$(srcdir)/'`test/os/TestFlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo $(DEPDIR)/unittest_flatindex-TestFlatIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestFlatIndex.cc' object='unittest_flatindex-TestFlatIndex.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_example-TestErasureCodeExample.o: test/osd/TestErasureCodeExample.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_example_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_example-TestErasureCodeExample.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Tpo -c -o test/osd/unittest_erasure_code_example-TestErasureCodeExample.o `test -f 'test/osd/TestErasureCodeExample.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodeExample.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodeExample.cc' object='test/osd/unittest_erasure_code_example-TestErasureCodeExample.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -c -o unittest_flatindex-TestFlatIndex.o `test -f 'test/os/TestFlatIndex.cc' || echo '$(srcdir)/'`test/os/TestFlatIndex.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_example_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_example-TestErasureCodeExample.o `test -f 'test/osd/TestErasureCodeExample.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodeExample.cc
 
-unittest_flatindex-TestFlatIndex.obj: test/os/TestFlatIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -MT unittest_flatindex-TestFlatIndex.obj -MD -MP -MF $(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo -c -o unittest_flatindex-TestFlatIndex.obj `if test -f 'test/os/TestFlatIndex.cc'; then $(CYGPATH_W) 'test/os/TestFlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestFlatIndex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo $(DEPDIR)/unittest_flatindex-TestFlatIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestFlatIndex.cc' object='unittest_flatindex-TestFlatIndex.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_example-TestErasureCodeExample.obj: test/osd/TestErasureCodeExample.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_example_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_example-TestErasureCodeExample.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Tpo -c -o test/osd/unittest_erasure_code_example-TestErasureCodeExample.obj `if test -f 'test/osd/TestErasureCodeExample.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodeExample. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_example-TestErasureCodeExample.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodeExample.cc' object='test/osd/unittest_erasure_code_example-TestErasureCodeExample.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -c -o unittest_flatindex-TestFlatIndex.obj `if test -f 'test/os/TestFlatIndex.cc'; then $(CYGPATH_W) 'test/os/TestFlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestFlatIndex.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_example_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_example-TestErasureCodeExample.obj `if test -f 'test/osd/TestErasureCodeExample.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodeExample.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestErasureCodeExample.cc'; fi`
 
-unittest_formatter-formatter.o: test/formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT unittest_formatter-formatter.o -MD -MP -MF $(DEPDIR)/unittest_formatter-formatter.Tpo -c -o unittest_formatter-formatter.o `test -f 'test/formatter.cc' || echo '$(srcdir)/'`test/formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_formatter-formatter.Tpo $(DEPDIR)/unittest_formatter-formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/formatter.cc' object='unittest_formatter-formatter.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.o: test/osd/TestErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Tpo -c -o test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.o `test -f 'test/osd/TestErasureCodeJerasure.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodeJerasure.cc' object='test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o unittest_formatter-formatter.o `test -f 'test/formatter.cc' || echo '$(srcdir)/'`test/formatter.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.o `test -f 'test/osd/TestErasureCodeJerasure.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodeJerasure.cc
 
-unittest_formatter-formatter.obj: test/formatter.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT unittest_formatter-formatter.obj -MD -MP -MF $(DEPDIR)/unittest_formatter-formatter.Tpo -c -o unittest_formatter-formatter.obj `if test -f 'test/formatter.cc'; then $(CYGPATH_W) 'test/formatter.cc'; else $(CYGPATH_W) '$(srcdir)/test/formatter.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_formatter-formatter.Tpo $(DEPDIR)/unittest_formatter-formatter.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/formatter.cc' object='unittest_formatter-formatter.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.obj: test/osd/TestErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Tpo -c -o test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.obj `if test -f 'test/osd/TestErasureCodeJerasure.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCode [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_jerasure-TestErasureCodeJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodeJerasure.cc' object='test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o unittest_formatter-formatter.obj `if test -f 'test/formatter.cc'; then $(CYGPATH_W) 'test/formatter.cc'; else $(CYGPATH_W) '$(srcdir)/test/formatter.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_jerasure-TestErasureCodeJerasure.obj `if test -f 'test/osd/TestErasureCodeJerasure.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodeJerasure.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestErasureCodeJerasure.cc'; fi`
 
-unittest_formatter-rgw_formats.o: rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT unittest_formatter-rgw_formats.o -MD -MP -MF $(DEPDIR)/unittest_formatter-rgw_formats.Tpo -c -o unittest_formatter-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_formatter-rgw_formats.Tpo $(DEPDIR)/unittest_formatter-rgw_formats.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='unittest_formatter-rgw_formats.o' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.o: osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.o -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.o `test -f 'osd/ErasureCodePlug [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc' object='osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o unittest_formatter-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.o `test -f 'osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
 
-unittest_formatter-rgw_formats.obj: rgw/rgw_formats.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT unittest_formatter-rgw_formats.obj -MD -MP -MF $(DEPDIR)/unittest_formatter-rgw_formats.Tpo -c -o unittest_formatter-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_formatter-rgw_formats.Tpo $(DEPDIR)/unittest_formatter-rgw_formats.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='unittest_formatter-rgw_formats.obj' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.obj: osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.obj -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.obj `if test -f 'osd/ErasureC [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc' object='osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o unittest_formatter-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodePluginJerasure.obj `if test -f 'osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc'; then $(CYGPATH_W) 'osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ErasureCodePluginJerasure/ErasureC [...]
 
-unittest_gather-gather.o: test/gather.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -MT unittest_gather-gather.o -MD -MP -MF $(DEPDIR)/unittest_gather-gather.Tpo -c -o unittest_gather-gather.o `test -f 'test/gather.cc' || echo '$(srcdir)/'`test/gather.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_gather-gather.Tpo $(DEPDIR)/unittest_gather-gather.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/gather.cc' object='unittest_gather-gather.o' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.o: osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.o -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.o `test -f 'osd/ErasureCodePluginJerasure/Erasure [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc' object='osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -c -o unittest_gather-gather.o `test -f 'test/gather.cc' || echo '$(srcdir)/'`test/gather.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.o `test -f 'osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc' || echo '$(srcdir)/'`osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
 
-unittest_gather-gather.obj: test/gather.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -MT unittest_gather-gather.obj -MD -MP -MF $(DEPDIR)/unittest_gather-gather.Tpo -c -o unittest_gather-gather.obj `if test -f 'test/gather.cc'; then $(CYGPATH_W) 'test/gather.cc'; else $(CYGPATH_W) '$(srcdir)/test/gather.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_gather-gather.Tpo $(DEPDIR)/unittest_gather-gather.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/gather.cc' object='unittest_gather-gather.obj' libtool=no @AMDEPBACKSLASH@
+osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.obj: osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -MT osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.obj -MD -MP -MF osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Tpo -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.obj `if test -f 'osd/ErasureCodePluginJerasure/ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Tpo osd/ErasureCodePluginJerasure/$(DEPDIR)/unittest_erasure_code_jerasure-ErasureCodeJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc' object='osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -c -o unittest_gather-gather.obj `if test -f 'test/gather.cc'; then $(CYGPATH_W) 'test/gather.cc'; else $(CYGPATH_W) '$(srcdir)/test/gather.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o osd/ErasureCodePluginJerasure/unittest_erasure_code_jerasure-ErasureCodeJerasure.obj `if test -f 'osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc'; then $(CYGPATH_W) 'osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc'; else $(CYGPATH_W) '$(srcdir)/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc'; fi`
 
-unittest_heartbeatmap-heartbeat_map.o: test/heartbeat_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT unittest_heartbeatmap-heartbeat_map.o -MD -MP -MF $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo -c -o unittest_heartbeatmap-heartbeat_map.o `test -f 'test/heartbeat_map.cc' || echo '$(srcdir)/'`test/heartbeat_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/heartbeat_map.cc' object='unittest_heartbeatmap-heartbeat_map.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.o: test/osd/TestErasureCodePlugin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Tpo -c -o test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.o `test -f 'test/osd/TestErasureCodePlugin.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodePlugin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodePlugin.cc' object='test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_heartbeatmap-heartbeat_map.o `test -f 'test/heartbeat_map.cc' || echo '$(srcdir)/'`test/heartbeat_map.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.o `test -f 'test/osd/TestErasureCodePlugin.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodePlugin.cc
 
-unittest_heartbeatmap-heartbeat_map.obj: test/heartbeat_map.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT unittest_heartbeatmap-heartbeat_map.obj -MD -MP -MF $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo -c -o unittest_heartbeatmap-heartbeat_map.obj `if test -f 'test/heartbeat_map.cc'; then $(CYGPATH_W) 'test/heartbeat_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/heartbeat_map.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo $(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/heartbeat_map.cc' object='unittest_heartbeatmap-heartbeat_map.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.obj: test/osd/TestErasureCodePlugin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Tpo -c -o test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.obj `if test -f 'test/osd/TestErasureCodePlugin.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodePlugin.cc'; else [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_plugin-TestErasureCodePlugin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodePlugin.cc' object='test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_heartbeatmap-heartbeat_map.obj `if test -f 'test/heartbeat_map.cc'; then $(CYGPATH_W) 'test/heartbeat_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/heartbeat_map.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_plugin-TestErasureCodePlugin.obj `if test -f 'test/osd/TestErasureCodePlugin.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodePlugin.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestErasureCodePlugin.cc'; fi`
 
-unittest_heartbeatmap-HeartbeatMap.o: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT unittest_heartbeatmap-HeartbeatMap.o -MD -MP -MF $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Tpo -c -o unittest_heartbeatmap-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Tpo $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='unittest_heartbeatmap-HeartbeatMap.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.o: test/osd/TestErasureCodePluginJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_jerasure_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Tpo -c -o test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.o `test -f 'test/osd/TestErasureCodePluginJerasure.cc' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodePluginJerasure.cc' object='test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_heartbeatmap-HeartbeatMap.o `test -f 'common/HeartbeatMap.cc' || echo '$(srcdir)/'`common/HeartbeatMap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.o `test -f 'test/osd/TestErasureCodePluginJerasure.cc' || echo '$(srcdir)/'`test/osd/TestErasureCodePluginJerasure.cc
 
-unittest_heartbeatmap-HeartbeatMap.obj: common/HeartbeatMap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT unittest_heartbeatmap-HeartbeatMap.obj -MD -MP -MF $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Tpo -c -o unittest_heartbeatmap-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Tpo $(DEPDIR)/unittest_heartbeatmap-HeartbeatMap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/HeartbeatMap.cc' object='unittest_heartbeatmap-HeartbeatMap.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.obj: test/osd/TestErasureCodePluginJerasure.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_jerasure_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Tpo -c -o test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.obj `if test -f 'test/osd/TestErasureCodePluginJeras [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Tpo test/osd/$(DEPDIR)/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestErasureCodePluginJerasure.cc' object='test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_heartbeatmap-HeartbeatMap.obj `if test -f 'common/HeartbeatMap.cc'; then $(CYGPATH_W) 'common/HeartbeatMap.cc'; else $(CYGPATH_W) '$(srcdir)/common/HeartbeatMap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_erasure_code_plugin_jerasure_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_erasure_code_plugin_jerasure-TestErasureCodePluginJerasure.obj `if test -f 'test/osd/TestErasureCodePluginJerasure.cc'; then $(CYGPATH_W) 'test/osd/TestErasureCodePluginJerasure.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestErasureCodePluginJerasure.cc'; fi`
 
-unittest_ipaddr-test_ipaddr.o: test/test_ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -MT unittest_ipaddr-test_ipaddr.o -MD -MP -MF $(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo -c -o unittest_ipaddr-test_ipaddr.o `test -f 'test/test_ipaddr.cc' || echo '$(srcdir)/'`test/test_ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo $(DEPDIR)/unittest_ipaddr-test_ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_ipaddr.cc' object='unittest_ipaddr-test_ipaddr.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_escape-escape.o: test/escape.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_escape-escape.o -MD -MP -MF test/$(DEPDIR)/unittest_escape-escape.Tpo -c -o test/unittest_escape-escape.o `test -f 'test/escape.cc' || echo '$(srcdir)/'`test/escape.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_escape-escape.Tpo test/$(DEPDIR)/unittest_escape-escape.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/escape.cc' object='test/unittest_escape-escape.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ipaddr-test_ipaddr.o `test -f 'test/test_ipaddr.cc' || echo '$(srcdir)/'`test/test_ipaddr.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_escape-escape.o `test -f 'test/escape.cc' || echo '$(srcdir)/'`test/escape.cc
 
-unittest_ipaddr-test_ipaddr.obj: test/test_ipaddr.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -MT unittest_ipaddr-test_ipaddr.obj -MD -MP -MF $(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo -c -o unittest_ipaddr-test_ipaddr.obj `if test -f 'test/test_ipaddr.cc'; then $(CYGPATH_W) 'test/test_ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_ipaddr.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo $(DEPDIR)/unittest_ipaddr-test_ipaddr.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_ipaddr.cc' object='unittest_ipaddr-test_ipaddr.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_escape-escape.obj: test/escape.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_escape-escape.obj -MD -MP -MF test/$(DEPDIR)/unittest_escape-escape.Tpo -c -o test/unittest_escape-escape.obj `if test -f 'test/escape.cc'; then $(CYGPATH_W) 'test/escape.cc'; else $(CYGPATH_W) '$(srcdir)/test/escape.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_escape-escape.Tpo test/$(DEPDIR)/unittest_escape-escape.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/escape.cc' object='test/unittest_escape-escape.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -c -o unittest_ipaddr-test_ipaddr.obj `if test -f 'test/test_ipaddr.cc'; then $(CYGPATH_W) 'test/test_ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_ipaddr.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_escape_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_escape-escape.obj `if test -f 'test/escape.cc'; then $(CYGPATH_W) 'test/escape.cc'; else $(CYGPATH_W) '$(srcdir)/test/escape.cc'; fi`
 
-unittest_lfnindex-TestLFNIndex.o: test/os/TestLFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -MT unittest_lfnindex-TestLFNIndex.o -MD -MP -MF $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo -c -o unittest_lfnindex-TestLFNIndex.o `test -f 'test/os/TestLFNIndex.cc' || echo '$(srcdir)/'`test/os/TestLFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestLFNIndex.cc' object='unittest_lfnindex-TestLFNIndex.o' libtool=no @AMDEPBACKSLASH@
+test/os/unittest_flatindex-TestFlatIndex.o: test/os/TestFlatIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -MT test/os/unittest_flatindex-TestFlatIndex.o -MD -MP -MF test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo -c -o test/os/unittest_flatindex-TestFlatIndex.o `test -f 'test/os/TestFlatIndex.cc' || echo '$(srcdir)/'`test/os/TestFlatIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestFlatIndex.cc' object='test/os/unittest_flatindex-TestFlatIndex.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -c -o unittest_lfnindex-TestLFNIndex.o `test -f 'test/os/TestLFNIndex.cc' || echo '$(srcdir)/'`test/os/TestLFNIndex.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -c -o test/os/unittest_flatindex-TestFlatIndex.o `test -f 'test/os/TestFlatIndex.cc' || echo '$(srcdir)/'`test/os/TestFlatIndex.cc
 
-unittest_lfnindex-TestLFNIndex.obj: test/os/TestLFNIndex.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -MT unittest_lfnindex-TestLFNIndex.obj -MD -MP -MF $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo -c -o unittest_lfnindex-TestLFNIndex.obj `if test -f 'test/os/TestLFNIndex.cc'; then $(CYGPATH_W) 'test/os/TestLFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestLFNIndex.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo $(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestLFNIndex.cc' object='unittest_lfnindex-TestLFNIndex.obj' libtool=no @AMDEPBACKSLASH@
+test/os/unittest_flatindex-TestFlatIndex.obj: test/os/TestFlatIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -MT test/os/unittest_flatindex-TestFlatIndex.obj -MD -MP -MF test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo -c -o test/os/unittest_flatindex-TestFlatIndex.obj `if test -f 'test/os/TestFlatIndex.cc'; then $(CYGPATH_W) 'test/os/TestFlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestFlatIndex.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Tpo test/os/$(DEPDIR)/unittest_flatindex-TestFlatIndex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestFlatIndex.cc' object='test/os/unittest_flatindex-TestFlatIndex.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -c -o unittest_lfnindex-TestLFNIndex.obj `if test -f 'test/os/TestLFNIndex.cc'; then $(CYGPATH_W) 'test/os/TestLFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestLFNIndex.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_flatindex_CXXFLAGS) $(CXXFLAGS) -c -o test/os/unittest_flatindex-TestFlatIndex.obj `if test -f 'test/os/TestFlatIndex.cc'; then $(CYGPATH_W) 'test/os/TestFlatIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestFlatIndex.cc'; fi`
 
-unittest_libcephfs_config-libcephfs_config.o: test/libcephfs_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_libcephfs_config-libcephfs_config.o -MD -MP -MF $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo -c -o unittest_libcephfs_config-libcephfs_config.o `test -f 'test/libcephfs_config.cc' || echo '$(srcdir)/'`test/libcephfs_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs_config.cc' object='unittest_libcephfs_config-libcephfs_config.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_formatter-formatter.o: test/formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_formatter-formatter.o -MD -MP -MF test/$(DEPDIR)/unittest_formatter-formatter.Tpo -c -o test/unittest_formatter-formatter.o `test -f 'test/formatter.cc' || echo '$(srcdir)/'`test/formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_formatter-formatter.Tpo test/$(DEPDIR)/unittest_formatter-formatter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/formatter.cc' object='test/unittest_formatter-formatter.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_libcephfs_config-libcephfs_config.o `test -f 'test/libcephfs_config.cc' || echo '$(srcdir)/'`test/libcephfs_config.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_formatter-formatter.o `test -f 'test/formatter.cc' || echo '$(srcdir)/'`test/formatter.cc
 
-unittest_libcephfs_config-libcephfs_config.obj: test/libcephfs_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_libcephfs_config-libcephfs_config.obj -MD -MP -MF $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo -c -o unittest_libcephfs_config-libcephfs_config.obj `if test -f 'test/libcephfs_config.cc'; then $(CYGPATH_W) 'test/libcephfs_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs_config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo $(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs_config.cc' object='unittest_libcephfs_config-libcephfs_config.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_formatter-formatter.obj: test/formatter.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_formatter-formatter.obj -MD -MP -MF test/$(DEPDIR)/unittest_formatter-formatter.Tpo -c -o test/unittest_formatter-formatter.obj `if test -f 'test/formatter.cc'; then $(CYGPATH_W) 'test/formatter.cc'; else $(CYGPATH_W) '$(srcdir)/test/formatter.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_formatter-formatter.Tpo test/$(DEPDIR)/unittest_formatter-formatter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/formatter.cc' object='test/unittest_formatter-formatter.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_libcephfs_config-libcephfs_config.obj `if test -f 'test/libcephfs_config.cc'; then $(CYGPATH_W) 'test/libcephfs_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs_config.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_formatter-formatter.obj `if test -f 'test/formatter.cc'; then $(CYGPATH_W) 'test/formatter.cc'; else $(CYGPATH_W) '$(srcdir)/test/formatter.cc'; fi`
 
-unittest_librados-librados.o: test/librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -MT unittest_librados-librados.o -MD -MP -MF $(DEPDIR)/unittest_librados-librados.Tpo -c -o unittest_librados-librados.o `test -f 'test/librados/librados.cc' || echo '$(srcdir)/'`test/librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_librados-librados.Tpo $(DEPDIR)/unittest_librados-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados.cc' object='unittest_librados-librados.o' libtool=no @AMDEPBACKSLASH@
+rgw/unittest_formatter-rgw_formats.o: rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT rgw/unittest_formatter-rgw_formats.o -MD -MP -MF rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Tpo -c -o rgw/unittest_formatter-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Tpo rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='rgw/unittest_formatter-rgw_formats.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -c -o unittest_librados-librados.o `test -f 'test/librados/librados.cc' || echo '$(srcdir)/'`test/librados/librados.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o rgw/unittest_formatter-rgw_formats.o `test -f 'rgw/rgw_formats.cc' || echo '$(srcdir)/'`rgw/rgw_formats.cc
 
-unittest_librados-librados.obj: test/librados/librados.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -MT unittest_librados-librados.obj -MD -MP -MF $(DEPDIR)/unittest_librados-librados.Tpo -c -o unittest_librados-librados.obj `if test -f 'test/librados/librados.cc'; then $(CYGPATH_W) 'test/librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_librados-librados.Tpo $(DEPDIR)/unittest_librados-librados.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados.cc' object='unittest_librados-librados.obj' libtool=no @AMDEPBACKSLASH@
+rgw/unittest_formatter-rgw_formats.obj: rgw/rgw_formats.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -MT rgw/unittest_formatter-rgw_formats.obj -MD -MP -MF rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Tpo -c -o rgw/unittest_formatter-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Tpo rgw/$(DEPDIR)/unittest_formatter-rgw_formats.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='rgw/rgw_formats.cc' object='rgw/unittest_formatter-rgw_formats.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -c -o unittest_librados-librados.obj `if test -f 'test/librados/librados.cc'; then $(CYGPATH_W) 'test/librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_formatter_CXXFLAGS) $(CXXFLAGS) -c -o rgw/unittest_formatter-rgw_formats.obj `if test -f 'rgw/rgw_formats.cc'; then $(CYGPATH_W) 'rgw/rgw_formats.cc'; else $(CYGPATH_W) '$(srcdir)/rgw/rgw_formats.cc'; fi`
 
-unittest_librados_config-librados_config.o: test/librados/librados_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_librados_config-librados_config.o -MD -MP -MF $(DEPDIR)/unittest_librados_config-librados_config.Tpo -c -o unittest_librados_config-librados_config.o `test -f 'test/librados/librados_config.cc' || echo '$(srcdir)/'`test/librados/librados_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_librados_config-librados_config.Tpo $(DEPDIR)/unittest_librados_config-librados_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados_config.cc' object='unittest_librados_config-librados_config.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_gather-gather.o: test/gather.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_gather-gather.o -MD -MP -MF test/$(DEPDIR)/unittest_gather-gather.Tpo -c -o test/unittest_gather-gather.o `test -f 'test/gather.cc' || echo '$(srcdir)/'`test/gather.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_gather-gather.Tpo test/$(DEPDIR)/unittest_gather-gather.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/gather.cc' object='test/unittest_gather-gather.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_librados_config-librados_config.o `test -f 'test/librados/librados_config.cc' || echo '$(srcdir)/'`test/librados/librados_config.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_gather-gather.o `test -f 'test/gather.cc' || echo '$(srcdir)/'`test/gather.cc
 
-unittest_librados_config-librados_config.obj: test/librados/librados_config.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -MT unittest_librados_config-librados_config.obj -MD -MP -MF $(DEPDIR)/unittest_librados_config-librados_config.Tpo -c -o unittest_librados_config-librados_config.obj `if test -f 'test/librados/librados_config.cc'; then $(CYGPATH_W) 'test/librados/librados_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados_config.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_librados_config-librados_config.Tpo $(DEPDIR)/unittest_librados_config-librados_config.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados_config.cc' object='unittest_librados_config-librados_config.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_gather-gather.obj: test/gather.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_gather-gather.obj -MD -MP -MF test/$(DEPDIR)/unittest_gather-gather.Tpo -c -o test/unittest_gather-gather.obj `if test -f 'test/gather.cc'; then $(CYGPATH_W) 'test/gather.cc'; else $(CYGPATH_W) '$(srcdir)/test/gather.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_gather-gather.Tpo test/$(DEPDIR)/unittest_gather-gather.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/gather.cc' object='test/unittest_gather-gather.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -c -o unittest_librados_config-librados_config.obj `if test -f 'test/librados/librados_config.cc'; then $(CYGPATH_W) 'test/librados/librados_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados_config.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_gather_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_gather-gather.obj `if test -f 'test/gather.cc'; then $(CYGPATH_W) 'test/gather.cc'; else $(CYGPATH_W) '$(srcdir)/test/gather.cc'; fi`
 
-unittest_log-test.o: log/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT unittest_log-test.o -MD -MP -MF $(DEPDIR)/unittest_log-test.Tpo -c -o unittest_log-test.o `test -f 'log/test.cc' || echo '$(srcdir)/'`log/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_log-test.Tpo $(DEPDIR)/unittest_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/test.cc' object='unittest_log-test.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_heartbeatmap-heartbeat_map.o: test/heartbeat_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_heartbeatmap-heartbeat_map.o -MD -MP -MF test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo -c -o test/unittest_heartbeatmap-heartbeat_map.o `test -f 'test/heartbeat_map.cc' || echo '$(srcdir)/'`test/heartbeat_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/heartbeat_map.cc' object='test/unittest_heartbeatmap-heartbeat_map.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o unittest_log-test.o `test -f 'log/test.cc' || echo '$(srcdir)/'`log/test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_heartbeatmap-heartbeat_map.o `test -f 'test/heartbeat_map.cc' || echo '$(srcdir)/'`test/heartbeat_map.cc
 
-unittest_log-test.obj: log/test.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT unittest_log-test.obj -MD -MP -MF $(DEPDIR)/unittest_log-test.Tpo -c -o unittest_log-test.obj `if test -f 'log/test.cc'; then $(CYGPATH_W) 'log/test.cc'; else $(CYGPATH_W) '$(srcdir)/log/test.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_log-test.Tpo $(DEPDIR)/unittest_log-test.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/test.cc' object='unittest_log-test.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_heartbeatmap-heartbeat_map.obj: test/heartbeat_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_heartbeatmap-heartbeat_map.obj -MD -MP -MF test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo -c -o test/unittest_heartbeatmap-heartbeat_map.obj `if test -f 'test/heartbeat_map.cc'; then $(CYGPATH_W) 'test/heartbeat_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/heartbeat_map.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Tpo test/$(DEPDIR)/unittest_heartbeatmap-heartbeat_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/heartbeat_map.cc' object='test/unittest_heartbeatmap-heartbeat_map.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o unittest_log-test.obj `if test -f 'log/test.cc'; then $(CYGPATH_W) 'log/test.cc'; else $(CYGPATH_W) '$(srcdir)/log/test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_heartbeatmap_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_heartbeatmap-heartbeat_map.obj `if test -f 'test/heartbeat_map.cc'; then $(CYGPATH_W) 'test/heartbeat_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/heartbeat_map.cc'; fi`
 
-unittest_log-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT unittest_log-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/unittest_log-PrebufferedStreambuf.Tpo -c -o unittest_log-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_log-PrebufferedStreambuf.Tpo $(DEPDIR)/unittest_log-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='unittest_log-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_ipaddr-test_ipaddr.o: test/test_ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ipaddr-test_ipaddr.o -MD -MP -MF test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo -c -o test/unittest_ipaddr-test_ipaddr.o `test -f 'test/test_ipaddr.cc' || echo '$(srcdir)/'`test/test_ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_ipaddr.cc' object='test/unittest_ipaddr-test_ipaddr.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o unittest_log-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ipaddr-test_ipaddr.o `test -f 'test/test_ipaddr.cc' || echo '$(srcdir)/'`test/test_ipaddr.cc
 
-unittest_log-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT unittest_log-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/unittest_log-PrebufferedStreambuf.Tpo -c -o unittest_log-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_log-PrebufferedStreambuf.Tpo $(DEPDIR)/unittest_log-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='unittest_log-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_ipaddr-test_ipaddr.obj: test/test_ipaddr.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_ipaddr-test_ipaddr.obj -MD -MP -MF test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo -c -o test/unittest_ipaddr-test_ipaddr.obj `if test -f 'test/test_ipaddr.cc'; then $(CYGPATH_W) 'test/test_ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_ipaddr.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Tpo test/$(DEPDIR)/unittest_ipaddr-test_ipaddr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_ipaddr.cc' object='test/unittest_ipaddr-test_ipaddr.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o unittest_log-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_ipaddr_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_ipaddr-test_ipaddr.obj `if test -f 'test/test_ipaddr.cc'; then $(CYGPATH_W) 'test/test_ipaddr.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_ipaddr.cc'; fi`
 
-unittest_mime-mime.o: test/mime.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -MT unittest_mime-mime.o -MD -MP -MF $(DEPDIR)/unittest_mime-mime.Tpo -c -o unittest_mime-mime.o `test -f 'test/mime.cc' || echo '$(srcdir)/'`test/mime.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mime-mime.Tpo $(DEPDIR)/unittest_mime-mime.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mime.cc' object='unittest_mime-mime.o' libtool=no @AMDEPBACKSLASH@
+test/os/unittest_lfnindex-TestLFNIndex.o: test/os/TestLFNIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -MT test/os/unittest_lfnindex-TestLFNIndex.o -MD -MP -MF test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo -c -o test/os/unittest_lfnindex-TestLFNIndex.o `test -f 'test/os/TestLFNIndex.cc' || echo '$(srcdir)/'`test/os/TestLFNIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestLFNIndex.cc' object='test/os/unittest_lfnindex-TestLFNIndex.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mime-mime.o `test -f 'test/mime.cc' || echo '$(srcdir)/'`test/mime.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -c -o test/os/unittest_lfnindex-TestLFNIndex.o `test -f 'test/os/TestLFNIndex.cc' || echo '$(srcdir)/'`test/os/TestLFNIndex.cc
 
-unittest_mime-mime.obj: test/mime.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -MT unittest_mime-mime.obj -MD -MP -MF $(DEPDIR)/unittest_mime-mime.Tpo -c -o unittest_mime-mime.obj `if test -f 'test/mime.cc'; then $(CYGPATH_W) 'test/mime.cc'; else $(CYGPATH_W) '$(srcdir)/test/mime.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mime-mime.Tpo $(DEPDIR)/unittest_mime-mime.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mime.cc' object='unittest_mime-mime.obj' libtool=no @AMDEPBACKSLASH@
+test/os/unittest_lfnindex-TestLFNIndex.obj: test/os/TestLFNIndex.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -MT test/os/unittest_lfnindex-TestLFNIndex.obj -MD -MP -MF test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo -c -o test/os/unittest_lfnindex-TestLFNIndex.obj `if test -f 'test/os/TestLFNIndex.cc'; then $(CYGPATH_W) 'test/os/TestLFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestLFNIndex.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Tpo test/os/$(DEPDIR)/unittest_lfnindex-TestLFNIndex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/os/TestLFNIndex.cc' object='test/os/unittest_lfnindex-TestLFNIndex.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mime-mime.obj `if test -f 'test/mime.cc'; then $(CYGPATH_W) 'test/mime.cc'; else $(CYGPATH_W) '$(srcdir)/test/mime.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_lfnindex_CXXFLAGS) $(CXXFLAGS) -c -o test/os/unittest_lfnindex-TestLFNIndex.obj `if test -f 'test/os/TestLFNIndex.cc'; then $(CYGPATH_W) 'test/os/TestLFNIndex.cc'; else $(CYGPATH_W) '$(srcdir)/test/os/TestLFNIndex.cc'; fi`
 
-unittest_mon_moncap-moncap.o: test/mon/moncap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT unittest_mon_moncap-moncap.o -MD -MP -MF $(DEPDIR)/unittest_mon_moncap-moncap.Tpo -c -o unittest_mon_moncap-moncap.o `test -f 'test/mon/moncap.cc' || echo '$(srcdir)/'`test/mon/moncap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mon_moncap-moncap.Tpo $(DEPDIR)/unittest_mon_moncap-moncap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/moncap.cc' object='unittest_mon_moncap-moncap.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_libcephfs_config-libcephfs_config.o: test/libcephfs_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_libcephfs_config-libcephfs_config.o -MD -MP -MF test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo -c -o test/unittest_libcephfs_config-libcephfs_config.o `test -f 'test/libcephfs_config.cc' || echo '$(srcdir)/'`test/libcephfs_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs_config.cc' object='test/unittest_libcephfs_config-libcephfs_config.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mon_moncap-moncap.o `test -f 'test/mon/moncap.cc' || echo '$(srcdir)/'`test/mon/moncap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_libcephfs_config-libcephfs_config.o `test -f 'test/libcephfs_config.cc' || echo '$(srcdir)/'`test/libcephfs_config.cc
 
-unittest_mon_moncap-moncap.obj: test/mon/moncap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT unittest_mon_moncap-moncap.obj -MD -MP -MF $(DEPDIR)/unittest_mon_moncap-moncap.Tpo -c -o unittest_mon_moncap-moncap.obj `if test -f 'test/mon/moncap.cc'; then $(CYGPATH_W) 'test/mon/moncap.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/moncap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mon_moncap-moncap.Tpo $(DEPDIR)/unittest_mon_moncap-moncap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/moncap.cc' object='unittest_mon_moncap-moncap.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_libcephfs_config-libcephfs_config.obj: test/libcephfs_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_libcephfs_config-libcephfs_config.obj -MD -MP -MF test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo -c -o test/unittest_libcephfs_config-libcephfs_config.obj `if test -f 'test/libcephfs_config.cc'; then $(CYGPATH_W) 'test/libcephfs_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs_config.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Tpo test/$(DEPDIR)/unittest_libcephfs_config-libcephfs_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/libcephfs_config.cc' object='test/unittest_libcephfs_config-libcephfs_config.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mon_moncap-moncap.obj `if test -f 'test/mon/moncap.cc'; then $(CYGPATH_W) 'test/mon/moncap.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/moncap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_libcephfs_config_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_libcephfs_config-libcephfs_config.obj `if test -f 'test/libcephfs_config.cc'; then $(CYGPATH_W) 'test/libcephfs_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/libcephfs_config.cc'; fi`
 
-unittest_mon_moncap-MonCap.o: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT unittest_mon_moncap-MonCap.o -MD -MP -MF $(DEPDIR)/unittest_mon_moncap-MonCap.Tpo -c -o unittest_mon_moncap-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mon_moncap-MonCap.Tpo $(DEPDIR)/unittest_mon_moncap-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='unittest_mon_moncap-MonCap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/unittest_librados-librados.o: test/librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -MT test/librados/unittest_librados-librados.o -MD -MP -MF test/librados/$(DEPDIR)/unittest_librados-librados.Tpo -c -o test/librados/unittest_librados-librados.o `test -f 'test/librados/librados.cc' || echo '$(srcdir)/'`test/librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/unittest_librados-librados.Tpo test/librados/$(DEPDIR)/unittest_librados-librados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados.cc' object='test/librados/unittest_librados-librados.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mon_moncap-MonCap.o `test -f 'mon/MonCap.cc' || echo '$(srcdir)/'`mon/MonCap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/unittest_librados-librados.o `test -f 'test/librados/librados.cc' || echo '$(srcdir)/'`test/librados/librados.cc
 
-unittest_mon_moncap-MonCap.obj: mon/MonCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT unittest_mon_moncap-MonCap.obj -MD -MP -MF $(DEPDIR)/unittest_mon_moncap-MonCap.Tpo -c -o unittest_mon_moncap-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_mon_moncap-MonCap.Tpo $(DEPDIR)/unittest_mon_moncap-MonCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mon/MonCap.cc' object='unittest_mon_moncap-MonCap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/unittest_librados-librados.obj: test/librados/librados.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -MT test/librados/unittest_librados-librados.obj -MD -MP -MF test/librados/$(DEPDIR)/unittest_librados-librados.Tpo -c -o test/librados/unittest_librados-librados.obj `if test -f 'test/librados/librados.cc'; then $(CYGPATH_W) 'test/librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/unittest_librados-librados.Tpo test/librados/$(DEPDIR)/unittest_librados-librados.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados.cc' object='test/librados/unittest_librados-librados.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_mon_moncap-MonCap.obj `if test -f 'mon/MonCap.cc'; then $(CYGPATH_W) 'mon/MonCap.cc'; else $(CYGPATH_W) '$(srcdir)/mon/MonCap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/unittest_librados-librados.obj `if test -f 'test/librados/librados.cc'; then $(CYGPATH_W) 'test/librados/librados.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados.cc'; fi`
 
-unittest_osd_osdcap-osdcap.o: test/osd/osdcap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_osdcap-osdcap.o -MD -MP -MF $(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo -c -o unittest_osd_osdcap-osdcap.o `test -f 'test/osd/osdcap.cc' || echo '$(srcdir)/'`test/osd/osdcap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo $(DEPDIR)/unittest_osd_osdcap-osdcap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/osdcap.cc' object='unittest_osd_osdcap-osdcap.o' libtool=no @AMDEPBACKSLASH@
+test/librados/unittest_librados_config-librados_config.o: test/librados/librados_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -MT test/librados/unittest_librados_config-librados_config.o -MD -MP -MF test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Tpo -c -o test/librados/unittest_librados_config-librados_config.o `test -f 'test/librados/librados_config.cc' || echo '$(srcdir)/'`test/librados/librados_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Tpo test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados_config.cc' object='test/librados/unittest_librados_config-librados_config.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_osdcap-osdcap.o `test -f 'test/osd/osdcap.cc' || echo '$(srcdir)/'`test/osd/osdcap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/unittest_librados_config-librados_config.o `test -f 'test/librados/librados_config.cc' || echo '$(srcdir)/'`test/librados/librados_config.cc
 
-unittest_osd_osdcap-osdcap.obj: test/osd/osdcap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_osdcap-osdcap.obj -MD -MP -MF $(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo -c -o unittest_osd_osdcap-osdcap.obj `if test -f 'test/osd/osdcap.cc'; then $(CYGPATH_W) 'test/osd/osdcap.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/osdcap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo $(DEPDIR)/unittest_osd_osdcap-osdcap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/osdcap.cc' object='unittest_osd_osdcap-osdcap.obj' libtool=no @AMDEPBACKSLASH@
+test/librados/unittest_librados_config-librados_config.obj: test/librados/librados_config.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -MT test/librados/unittest_librados_config-librados_config.obj -MD -MP -MF test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Tpo -c -o test/librados/unittest_librados_config-librados_config.obj `if test -f 'test/librados/librados_config.cc'; then $(CYGPATH_W) 'test/librados/librados_config.cc'; else $(CYGPATH_W) '$(srcd [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Tpo test/librados/$(DEPDIR)/unittest_librados_config-librados_config.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/librados/librados_config.cc' object='test/librados/unittest_librados_config-librados_config.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_osdcap-osdcap.obj `if test -f 'test/osd/osdcap.cc'; then $(CYGPATH_W) 'test/osd/osdcap.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/osdcap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_librados_config_CXXFLAGS) $(CXXFLAGS) -c -o test/librados/unittest_librados_config-librados_config.obj `if test -f 'test/librados/librados_config.cc'; then $(CYGPATH_W) 'test/librados/librados_config.cc'; else $(CYGPATH_W) '$(srcdir)/test/librados/librados_config.cc'; fi`
 
-unittest_osd_osdcap-OSDCap.o: osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_osdcap-OSDCap.o -MD -MP -MF $(DEPDIR)/unittest_osd_osdcap-OSDCap.Tpo -c -o unittest_osd_osdcap-OSDCap.o `test -f 'osd/OSDCap.cc' || echo '$(srcdir)/'`osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_osdcap-OSDCap.Tpo $(DEPDIR)/unittest_osd_osdcap-OSDCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDCap.cc' object='unittest_osd_osdcap-OSDCap.o' libtool=no @AMDEPBACKSLASH@
+log/unittest_log-test.o: log/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT log/unittest_log-test.o -MD -MP -MF log/$(DEPDIR)/unittest_log-test.Tpo -c -o log/unittest_log-test.o `test -f 'log/test.cc' || echo '$(srcdir)/'`log/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) log/$(DEPDIR)/unittest_log-test.Tpo log/$(DEPDIR)/unittest_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/test.cc' object='log/unittest_log-test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_osdcap-OSDCap.o `test -f 'osd/OSDCap.cc' || echo '$(srcdir)/'`osd/OSDCap.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o log/unittest_log-test.o `test -f 'log/test.cc' || echo '$(srcdir)/'`log/test.cc
 
-unittest_osd_osdcap-OSDCap.obj: osd/OSDCap.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_osdcap-OSDCap.obj -MD -MP -MF $(DEPDIR)/unittest_osd_osdcap-OSDCap.Tpo -c -o unittest_osd_osdcap-OSDCap.obj `if test -f 'osd/OSDCap.cc'; then $(CYGPATH_W) 'osd/OSDCap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDCap.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_osdcap-OSDCap.Tpo $(DEPDIR)/unittest_osd_osdcap-OSDCap.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='osd/OSDCap.cc' object='unittest_osd_osdcap-OSDCap.obj' libtool=no @AMDEPBACKSLASH@
+log/unittest_log-test.obj: log/test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -MT log/unittest_log-test.obj -MD -MP -MF log/$(DEPDIR)/unittest_log-test.Tpo -c -o log/unittest_log-test.obj `if test -f 'log/test.cc'; then $(CYGPATH_W) 'log/test.cc'; else $(CYGPATH_W) '$(srcdir)/log/test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) log/$(DEPDIR)/unittest_log-test.Tpo log/$(DEPDIR)/unittest_log-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='log/test.cc' object='log/unittest_log-test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_osdcap-OSDCap.obj `if test -f 'osd/OSDCap.cc'; then $(CYGPATH_W) 'osd/OSDCap.cc'; else $(CYGPATH_W) '$(srcdir)/osd/OSDCap.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_log_CXXFLAGS) $(CXXFLAGS) -c -o log/unittest_log-test.obj `if test -f 'log/test.cc'; then $(CYGPATH_W) 'log/test.cc'; else $(CYGPATH_W) '$(srcdir)/log/test.cc'; fi`
 
-unittest_osd_types-test_osd_types.o: test/test_osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_types-test_osd_types.o -MD -MP -MF $(DEPDIR)/unittest_osd_types-test_osd_types.Tpo -c -o unittest_osd_types-test_osd_types.o `test -f 'test/test_osd_types.cc' || echo '$(srcdir)/'`test/test_osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_types-test_osd_types.Tpo $(DEPDIR)/unittest_osd_types-test_osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_osd_types.cc' object='unittest_osd_types-test_osd_types.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_mime-mime.o: test/mime.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_mime-mime.o -MD -MP -MF test/$(DEPDIR)/unittest_mime-mime.Tpo -c -o test/unittest_mime-mime.o `test -f 'test/mime.cc' || echo '$(srcdir)/'`test/mime.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_mime-mime.Tpo test/$(DEPDIR)/unittest_mime-mime.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mime.cc' object='test/unittest_mime-mime.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_types-test_osd_types.o `test -f 'test/test_osd_types.cc' || echo '$(srcdir)/'`test/test_osd_types.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_mime-mime.o `test -f 'test/mime.cc' || echo '$(srcdir)/'`test/mime.cc
 
-unittest_osd_types-test_osd_types.obj: test/test_osd_types.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -MT unittest_osd_types-test_osd_types.obj -MD -MP -MF $(DEPDIR)/unittest_osd_types-test_osd_types.Tpo -c -o unittest_osd_types-test_osd_types.obj `if test -f 'test/test_osd_types.cc'; then $(CYGPATH_W) 'test/test_osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_osd_types.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_osd_types-test_osd_types.Tpo $(DEPDIR)/unittest_osd_types-test_osd_types.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_osd_types.cc' object='unittest_osd_types-test_osd_types.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_mime-mime.obj: test/mime.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_mime-mime.obj -MD -MP -MF test/$(DEPDIR)/unittest_mime-mime.Tpo -c -o test/unittest_mime-mime.obj `if test -f 'test/mime.cc'; then $(CYGPATH_W) 'test/mime.cc'; else $(CYGPATH_W) '$(srcdir)/test/mime.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_mime-mime.Tpo test/$(DEPDIR)/unittest_mime-mime.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mime.cc' object='test/unittest_mime-mime.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -c -o unittest_osd_types-test_osd_types.obj `if test -f 'test/test_osd_types.cc'; then $(CYGPATH_W) 'test/test_osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_osd_types.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mime_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_mime-mime.obj `if test -f 'test/mime.cc'; then $(CYGPATH_W) 'test/mime.cc'; else $(CYGPATH_W) '$(srcdir)/test/mime.cc'; fi`
 
-unittest_perf_counters-perf_counters.o: test/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -MT unittest_perf_counters-perf_counters.o -MD -MP -MF $(DEPDIR)/unittest_perf_counters-perf_counters.Tpo -c -o unittest_perf_counters-perf_counters.o `test -f 'test/perf_counters.cc' || echo '$(srcdir)/'`test/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_perf_counters-perf_counters.Tpo $(DEPDIR)/unittest_perf_counters-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/perf_counters.cc' object='unittest_perf_counters-perf_counters.o' libtool=no @AMDEPBACKSLASH@
+test/mon/unittest_mon_moncap-moncap.o: test/mon/moncap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT test/mon/unittest_mon_moncap-moncap.o -MD -MP -MF test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Tpo -c -o test/mon/unittest_mon_moncap-moncap.o `test -f 'test/mon/moncap.cc' || echo '$(srcdir)/'`test/mon/moncap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Tpo test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/moncap.cc' object='test/mon/unittest_mon_moncap-moncap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -c -o unittest_perf_counters-perf_counters.o `test -f 'test/perf_counters.cc' || echo '$(srcdir)/'`test/perf_counters.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o test/mon/unittest_mon_moncap-moncap.o `test -f 'test/mon/moncap.cc' || echo '$(srcdir)/'`test/mon/moncap.cc
 
-unittest_perf_counters-perf_counters.obj: test/perf_counters.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -MT unittest_perf_counters-perf_counters.obj -MD -MP -MF $(DEPDIR)/unittest_perf_counters-perf_counters.Tpo -c -o unittest_perf_counters-perf_counters.obj `if test -f 'test/perf_counters.cc'; then $(CYGPATH_W) 'test/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/test/perf_counters.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_perf_counters-perf_counters.Tpo $(DEPDIR)/unittest_perf_counters-perf_counters.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/perf_counters.cc' object='unittest_perf_counters-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
+test/mon/unittest_mon_moncap-moncap.obj: test/mon/moncap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -MT test/mon/unittest_mon_moncap-moncap.obj -MD -MP -MF test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Tpo -c -o test/mon/unittest_mon_moncap-moncap.obj `if test -f 'test/mon/moncap.cc'; then $(CYGPATH_W) 'test/mon/moncap.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/moncap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Tpo test/mon/$(DEPDIR)/unittest_mon_moncap-moncap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/mon/moncap.cc' object='test/mon/unittest_mon_moncap-moncap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -c -o unittest_perf_counters-perf_counters.obj `if test -f 'test/perf_counters.cc'; then $(CYGPATH_W) 'test/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/test/perf_counters.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_mon_moncap_CXXFLAGS) $(CXXFLAGS) -c -o test/mon/unittest_mon_moncap-moncap.obj `if test -f 'test/mon/moncap.cc'; then $(CYGPATH_W) 'test/mon/moncap.cc'; else $(CYGPATH_W) '$(srcdir)/test/mon/moncap.cc'; fi`
 
-unittest_pglog-TestPGLog.o: test/osd/TestPGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-TestPGLog.o -MD -MP -MF $(DEPDIR)/unittest_pglog-TestPGLog.Tpo -c -o unittest_pglog-TestPGLog.o `test -f 'test/osd/TestPGLog.cc' || echo '$(srcdir)/'`test/osd/TestPGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-TestPGLog.Tpo $(DEPDIR)/unittest_pglog-TestPGLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestPGLog.cc' object='unittest_pglog-TestPGLog.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_osd_osdcap-osdcap.o: test/osd/osdcap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_osd_osdcap-osdcap.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo -c -o test/osd/unittest_osd_osdcap-osdcap.o `test -f 'test/osd/osdcap.cc' || echo '$(srcdir)/'`test/osd/osdcap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/osdcap.cc' object='test/osd/unittest_osd_osdcap-osdcap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-TestPGLog.o `test -f 'test/osd/TestPGLog.cc' || echo '$(srcdir)/'`test/osd/TestPGLog.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_osd_osdcap-osdcap.o `test -f 'test/osd/osdcap.cc' || echo '$(srcdir)/'`test/osd/osdcap.cc
 
-unittest_pglog-TestPGLog.obj: test/osd/TestPGLog.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-TestPGLog.obj -MD -MP -MF $(DEPDIR)/unittest_pglog-TestPGLog.Tpo -c -o unittest_pglog-TestPGLog.obj `if test -f 'test/osd/TestPGLog.cc'; then $(CYGPATH_W) 'test/osd/TestPGLog.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestPGLog.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-TestPGLog.Tpo $(DEPDIR)/unittest_pglog-TestPGLog.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestPGLog.cc' object='unittest_pglog-TestPGLog.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_osd_osdcap-osdcap.obj: test/osd/osdcap.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_osd_osdcap-osdcap.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo -c -o test/osd/unittest_osd_osdcap-osdcap.obj `if test -f 'test/osd/osdcap.cc'; then $(CYGPATH_W) 'test/osd/osdcap.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/osdcap.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Tpo test/osd/$(DEPDIR)/unittest_osd_osdcap-osdcap.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/osdcap.cc' object='test/osd/unittest_osd_osdcap-osdcap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-TestPGLog.obj `if test -f 'test/osd/TestPGLog.cc'; then $(CYGPATH_W) 'test/osd/TestPGLog.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestPGLog.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_osdcap_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_osd_osdcap-osdcap.obj `if test -f 'test/osd/osdcap.cc'; then $(CYGPATH_W) 'test/osd/osdcap.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/osdcap.cc'; fi`
 
-unittest_pglog-class_api.o: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-class_api.o -MD -MP -MF $(DEPDIR)/unittest_pglog-class_api.Tpo -c -o unittest_pglog-class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-class_api.Tpo $(DEPDIR)/unittest_pglog-class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='unittest_pglog-class_api.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_osd_types-test_osd_types.o: test/test_osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_osd_types-test_osd_types.o -MD -MP -MF test/$(DEPDIR)/unittest_osd_types-test_osd_types.Tpo -c -o test/unittest_osd_types-test_osd_types.o `test -f 'test/test_osd_types.cc' || echo '$(srcdir)/'`test/test_osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_osd_types-test_osd_types.Tpo test/$(DEPDIR)/unittest_osd_types-test_osd_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_osd_types.cc' object='test/unittest_osd_types-test_osd_types.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-class_api.o `test -f 'objclass/class_api.cc' || echo '$(srcdir)/'`objclass/class_api.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_osd_types-test_osd_types.o `test -f 'test/test_osd_types.cc' || echo '$(srcdir)/'`test/test_osd_types.cc
 
-unittest_pglog-class_api.obj: objclass/class_api.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-class_api.obj -MD -MP -MF $(DEPDIR)/unittest_pglog-class_api.Tpo -c -o unittest_pglog-class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-class_api.Tpo $(DEPDIR)/unittest_pglog-class_api.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='objclass/class_api.cc' object='unittest_pglog-class_api.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_osd_types-test_osd_types.obj: test/test_osd_types.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_osd_types-test_osd_types.obj -MD -MP -MF test/$(DEPDIR)/unittest_osd_types-test_osd_types.Tpo -c -o test/unittest_osd_types-test_osd_types.obj `if test -f 'test/test_osd_types.cc'; then $(CYGPATH_W) 'test/test_osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_osd_types.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_osd_types-test_osd_types.Tpo test/$(DEPDIR)/unittest_osd_types-test_osd_types.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_osd_types.cc' object='test/unittest_osd_types-test_osd_types.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-class_api.obj `if test -f 'objclass/class_api.cc'; then $(CYGPATH_W) 'objclass/class_api.cc'; else $(CYGPATH_W) '$(srcdir)/objclass/class_api.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_osd_types_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_osd_types-test_osd_types.obj `if test -f 'test/test_osd_types.cc'; then $(CYGPATH_W) 'test/test_osd_types.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_osd_types.cc'; fi`
 
-unittest_pglog-disabled_heap_profiler.o: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-disabled_heap_profiler.o -MD -MP -MF $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Tpo -c -o unittest_pglog-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Tpo $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='unittest_pglog-disabled_heap_profiler.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_perf_counters-perf_counters.o: test/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_perf_counters-perf_counters.o -MD -MP -MF test/$(DEPDIR)/unittest_perf_counters-perf_counters.Tpo -c -o test/unittest_perf_counters-perf_counters.o `test -f 'test/perf_counters.cc' || echo '$(srcdir)/'`test/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_perf_counters-perf_counters.Tpo test/$(DEPDIR)/unittest_perf_counters-perf_counters.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/perf_counters.cc' object='test/unittest_perf_counters-perf_counters.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-disabled_heap_profiler.o `test -f 'perfglue/disabled_heap_profiler.cc' || echo '$(srcdir)/'`perfglue/disabled_heap_profiler.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_perf_counters-perf_counters.o `test -f 'test/perf_counters.cc' || echo '$(srcdir)/'`test/perf_counters.cc
 
-unittest_pglog-disabled_heap_profiler.obj: perfglue/disabled_heap_profiler.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT unittest_pglog-disabled_heap_profiler.obj -MD -MP -MF $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Tpo -c -o unittest_pglog-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Tpo $(DEPDIR)/unittest_pglog-disabled_heap_profiler.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='perfglue/disabled_heap_profiler.cc' object='unittest_pglog-disabled_heap_profiler.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_perf_counters-perf_counters.obj: test/perf_counters.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_perf_counters-perf_counters.obj -MD -MP -MF test/$(DEPDIR)/unittest_perf_counters-perf_counters.Tpo -c -o test/unittest_perf_counters-perf_counters.obj `if test -f 'test/perf_counters.cc'; then $(CYGPATH_W) 'test/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/test/perf_counters.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_perf_counters-perf_counters.Tpo test/$(DEPDIR)/unittest_perf_counters-perf_counters.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/perf_counters.cc' object='test/unittest_perf_counters-perf_counters.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o unittest_pglog-disabled_heap_profiler.obj `if test -f 'perfglue/disabled_heap_profiler.cc'; then $(CYGPATH_W) 'perfglue/disabled_heap_profiler.cc'; else $(CYGPATH_W) '$(srcdir)/perfglue/disabled_heap_profiler.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_perf_counters_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_perf_counters-perf_counters.obj `if test -f 'test/perf_counters.cc'; then $(CYGPATH_W) 'test/perf_counters.cc'; else $(CYGPATH_W) '$(srcdir)/test/perf_counters.cc'; fi`
 
-unittest_prebufferedstreambuf-test_prebufferedstreambuf.o: test/test_prebufferedstreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT unittest_prebufferedstreambuf-test_prebufferedstreambuf.o -MD -MP -MF $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo -c -o unittest_prebufferedstreambuf-test_prebufferedstreambuf.o `test -f 'test/test_prebufferedstreambuf.cc' || echo '$(srcdir)/'`test/test_prebufferedstreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_prebufferedstreambuf.cc' object='unittest_prebufferedstreambuf-test_prebufferedstreambuf.o' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_pglog-TestPGLog.o: test/osd/TestPGLog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_pglog-TestPGLog.o -MD -MP -MF test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Tpo -c -o test/osd/unittest_pglog-TestPGLog.o `test -f 'test/osd/TestPGLog.cc' || echo '$(srcdir)/'`test/osd/TestPGLog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Tpo test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestPGLog.cc' object='test/osd/unittest_pglog-TestPGLog.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o unittest_prebufferedstreambuf-test_prebufferedstreambuf.o `test -f 'test/test_prebufferedstreambuf.cc' || echo '$(srcdir)/'`test/test_prebufferedstreambuf.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_pglog-TestPGLog.o `test -f 'test/osd/TestPGLog.cc' || echo '$(srcdir)/'`test/osd/TestPGLog.cc
 
-unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj: test/test_prebufferedstreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj -MD -MP -MF $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo -c -o unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj `if test -f 'test/test_prebufferedstreambuf.cc'; then $(CYGPATH_W) 'test/test_prebufferedstreambuf.cc'; else $(CYGPATH_ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo $(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_prebufferedstreambuf.cc' object='unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj' libtool=no @AMDEPBACKSLASH@
+test/osd/unittest_pglog-TestPGLog.obj: test/osd/TestPGLog.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -MT test/osd/unittest_pglog-TestPGLog.obj -MD -MP -MF test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Tpo -c -o test/osd/unittest_pglog-TestPGLog.obj `if test -f 'test/osd/TestPGLog.cc'; then $(CYGPATH_W) 'test/osd/TestPGLog.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestPGLog.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Tpo test/osd/$(DEPDIR)/unittest_pglog-TestPGLog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/osd/TestPGLog.cc' object='test/osd/unittest_pglog-TestPGLog.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj `if test -f 'test/test_prebufferedstreambuf.cc'; then $(CYGPATH_W) 'test/test_prebufferedstreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_prebufferedstreambuf.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_pglog_CXXFLAGS) $(CXXFLAGS) -c -o test/osd/unittest_pglog-TestPGLog.obj `if test -f 'test/osd/TestPGLog.cc'; then $(CYGPATH_W) 'test/osd/TestPGLog.cc'; else $(CYGPATH_W) '$(srcdir)/test/osd/TestPGLog.cc'; fi`
 
-unittest_prebufferedstreambuf-PrebufferedStreambuf.o: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT unittest_prebufferedstreambuf-PrebufferedStreambuf.o -MD -MP -MF $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Tpo -c -o unittest_prebufferedstreambuf-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Tpo $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='unittest_prebufferedstreambuf-PrebufferedStreambuf.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.o: test/test_prebufferedstreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.o -MD -MP -MF test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo -c -o test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.o `test -f 'test/test_prebufferedstreambuf.cc' || echo '$(srcdir)/'`test/test_prebufferedstreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_prebufferedstreambuf.cc' object='test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o unittest_prebufferedstreambuf-PrebufferedStreambuf.o `test -f 'common/PrebufferedStreambuf.cc' || echo '$(srcdir)/'`common/PrebufferedStreambuf.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.o `test -f 'test/test_prebufferedstreambuf.cc' || echo '$(srcdir)/'`test/test_prebufferedstreambuf.cc
 
-unittest_prebufferedstreambuf-PrebufferedStreambuf.obj: common/PrebufferedStreambuf.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT unittest_prebufferedstreambuf-PrebufferedStreambuf.obj -MD -MP -MF $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Tpo -c -o unittest_prebufferedstreambuf-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/ [...]
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Tpo $(DEPDIR)/unittest_prebufferedstreambuf-PrebufferedStreambuf.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/PrebufferedStreambuf.cc' object='unittest_prebufferedstreambuf-PrebufferedStreambuf.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj: test/test_prebufferedstreambuf.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj -MD -MP -MF test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo -c -o test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj `if test -f 'test/test_prebufferedstreambuf.cc'; then $(CYGPATH_W) 'test/test_prebufferedstreambuf.cc';  [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Tpo test/$(DEPDIR)/unittest_prebufferedstreambuf-test_prebufferedstreambuf.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_prebufferedstreambuf.cc' object='test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o unittest_prebufferedstreambuf-PrebufferedStreambuf.obj `if test -f 'common/PrebufferedStreambuf.cc'; then $(CYGPATH_W) 'common/PrebufferedStreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/common/PrebufferedStreambuf.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_prebufferedstreambuf_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_prebufferedstreambuf-test_prebufferedstreambuf.obj `if test -f 'test/test_prebufferedstreambuf.cc'; then $(CYGPATH_W) 'test/test_prebufferedstreambuf.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_prebufferedstreambuf.cc'; fi`
 
-unittest_run_cmd-run_cmd.o: test/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -MT unittest_run_cmd-run_cmd.o -MD -MP -MF $(DEPDIR)/unittest_run_cmd-run_cmd.Tpo -c -o unittest_run_cmd-run_cmd.o `test -f 'test/run_cmd.cc' || echo '$(srcdir)/'`test/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_run_cmd-run_cmd.Tpo $(DEPDIR)/unittest_run_cmd-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/run_cmd.cc' object='unittest_run_cmd-run_cmd.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_run_cmd-run_cmd.o: test/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_run_cmd-run_cmd.o -MD -MP -MF test/$(DEPDIR)/unittest_run_cmd-run_cmd.Tpo -c -o test/unittest_run_cmd-run_cmd.o `test -f 'test/run_cmd.cc' || echo '$(srcdir)/'`test/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_run_cmd-run_cmd.Tpo test/$(DEPDIR)/unittest_run_cmd-run_cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/run_cmd.cc' object='test/unittest_run_cmd-run_cmd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -c -o unittest_run_cmd-run_cmd.o `test -f 'test/run_cmd.cc' || echo '$(srcdir)/'`test/run_cmd.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_run_cmd-run_cmd.o `test -f 'test/run_cmd.cc' || echo '$(srcdir)/'`test/run_cmd.cc
 
-unittest_run_cmd-run_cmd.obj: test/run_cmd.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -MT unittest_run_cmd-run_cmd.obj -MD -MP -MF $(DEPDIR)/unittest_run_cmd-run_cmd.Tpo -c -o unittest_run_cmd-run_cmd.obj `if test -f 'test/run_cmd.cc'; then $(CYGPATH_W) 'test/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/run_cmd.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_run_cmd-run_cmd.Tpo $(DEPDIR)/unittest_run_cmd-run_cmd.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/run_cmd.cc' object='unittest_run_cmd-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_run_cmd-run_cmd.obj: test/run_cmd.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_run_cmd-run_cmd.obj -MD -MP -MF test/$(DEPDIR)/unittest_run_cmd-run_cmd.Tpo -c -o test/unittest_run_cmd-run_cmd.obj `if test -f 'test/run_cmd.cc'; then $(CYGPATH_W) 'test/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/run_cmd.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_run_cmd-run_cmd.Tpo test/$(DEPDIR)/unittest_run_cmd-run_cmd.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/run_cmd.cc' object='test/unittest_run_cmd-run_cmd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -c -o unittest_run_cmd-run_cmd.obj `if test -f 'test/run_cmd.cc'; then $(CYGPATH_W) 'test/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/run_cmd.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_run_cmd_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_run_cmd-run_cmd.obj `if test -f 'test/run_cmd.cc'; then $(CYGPATH_W) 'test/run_cmd.cc'; else $(CYGPATH_W) '$(srcdir)/test/run_cmd.cc'; fi`
 
-unittest_signals-signals.o: test/signals.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -MT unittest_signals-signals.o -MD -MP -MF $(DEPDIR)/unittest_signals-signals.Tpo -c -o unittest_signals-signals.o `test -f 'test/signals.cc' || echo '$(srcdir)/'`test/signals.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_signals-signals.Tpo $(DEPDIR)/unittest_signals-signals.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/signals.cc' object='unittest_signals-signals.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_sharedptr_registry-test_sharedptr_registry.o: test/common/test_sharedptr_registry.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sharedptr_registry_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_sharedptr_registry-test_sharedptr_registry.o -MD -MP -MF test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Tpo -c -o test/common/unittest_sharedptr_registry-test_sharedptr_registry.o `test -f 'test/common/test_sharedptr_registry.cc' || echo '$(srcdir)/'`test/common/test_sharedptr_reg [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Tpo test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_sharedptr_registry.cc' object='test/common/unittest_sharedptr_registry-test_sharedptr_registry.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -c -o unittest_signals-signals.o `test -f 'test/signals.cc' || echo '$(srcdir)/'`test/signals.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sharedptr_registry_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_sharedptr_registry-test_sharedptr_registry.o `test -f 'test/common/test_sharedptr_registry.cc' || echo '$(srcdir)/'`test/common/test_sharedptr_registry.cc
 
-unittest_signals-signals.obj: test/signals.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -MT unittest_signals-signals.obj -MD -MP -MF $(DEPDIR)/unittest_signals-signals.Tpo -c -o unittest_signals-signals.obj `if test -f 'test/signals.cc'; then $(CYGPATH_W) 'test/signals.cc'; else $(CYGPATH_W) '$(srcdir)/test/signals.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_signals-signals.Tpo $(DEPDIR)/unittest_signals-signals.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/signals.cc' object='unittest_signals-signals.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_sharedptr_registry-test_sharedptr_registry.obj: test/common/test_sharedptr_registry.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sharedptr_registry_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_sharedptr_registry-test_sharedptr_registry.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Tpo -c -o test/common/unittest_sharedptr_registry-test_sharedptr_registry.obj `if test -f 'test/common/test_sharedptr_registry.cc'; then $(CYGPATH_W) 'test/common/test_sharedp [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Tpo test/common/$(DEPDIR)/unittest_sharedptr_registry-test_sharedptr_registry.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_sharedptr_registry.cc' object='test/common/unittest_sharedptr_registry-test_sharedptr_registry.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -c -o unittest_signals-signals.obj `if test -f 'test/signals.cc'; then $(CYGPATH_W) 'test/signals.cc'; else $(CYGPATH_W) '$(srcdir)/test/signals.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sharedptr_registry_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_sharedptr_registry-test_sharedptr_registry.obj `if test -f 'test/common/test_sharedptr_registry.cc'; then $(CYGPATH_W) 'test/common/test_sharedptr_registry.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_sharedptr_registry.cc'; fi`
 
-unittest_simple_spin-simple_spin.o: test/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -MT unittest_simple_spin-simple_spin.o -MD -MP -MF $(DEPDIR)/unittest_simple_spin-simple_spin.Tpo -c -o unittest_simple_spin-simple_spin.o `test -f 'test/simple_spin.cc' || echo '$(srcdir)/'`test/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_simple_spin-simple_spin.Tpo $(DEPDIR)/unittest_simple_spin-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/simple_spin.cc' object='unittest_simple_spin-simple_spin.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_signals-signals.o: test/signals.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_signals-signals.o -MD -MP -MF test/$(DEPDIR)/unittest_signals-signals.Tpo -c -o test/unittest_signals-signals.o `test -f 'test/signals.cc' || echo '$(srcdir)/'`test/signals.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_signals-signals.Tpo test/$(DEPDIR)/unittest_signals-signals.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/signals.cc' object='test/unittest_signals-signals.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -c -o unittest_simple_spin-simple_spin.o `test -f 'test/simple_spin.cc' || echo '$(srcdir)/'`test/simple_spin.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_signals-signals.o `test -f 'test/signals.cc' || echo '$(srcdir)/'`test/signals.cc
 
-unittest_simple_spin-simple_spin.obj: test/simple_spin.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -MT unittest_simple_spin-simple_spin.obj -MD -MP -MF $(DEPDIR)/unittest_simple_spin-simple_spin.Tpo -c -o unittest_simple_spin-simple_spin.obj `if test -f 'test/simple_spin.cc'; then $(CYGPATH_W) 'test/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/test/simple_spin.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_simple_spin-simple_spin.Tpo $(DEPDIR)/unittest_simple_spin-simple_spin.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/simple_spin.cc' object='unittest_simple_spin-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_signals-signals.obj: test/signals.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_signals-signals.obj -MD -MP -MF test/$(DEPDIR)/unittest_signals-signals.Tpo -c -o test/unittest_signals-signals.obj `if test -f 'test/signals.cc'; then $(CYGPATH_W) 'test/signals.cc'; else $(CYGPATH_W) '$(srcdir)/test/signals.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_signals-signals.Tpo test/$(DEPDIR)/unittest_signals-signals.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/signals.cc' object='test/unittest_signals-signals.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -c -o unittest_simple_spin-simple_spin.obj `if test -f 'test/simple_spin.cc'; then $(CYGPATH_W) 'test/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/test/simple_spin.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_signals_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_signals-signals.obj `if test -f 'test/signals.cc'; then $(CYGPATH_W) 'test/signals.cc'; else $(CYGPATH_W) '$(srcdir)/test/signals.cc'; fi`
 
-unittest_str_list-test_str_list.o: test/test_str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -MT unittest_str_list-test_str_list.o -MD -MP -MF $(DEPDIR)/unittest_str_list-test_str_list.Tpo -c -o unittest_str_list-test_str_list.o `test -f 'test/test_str_list.cc' || echo '$(srcdir)/'`test/test_str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_str_list-test_str_list.Tpo $(DEPDIR)/unittest_str_list-test_str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_str_list.cc' object='unittest_str_list-test_str_list.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_simple_spin-simple_spin.o: test/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_simple_spin-simple_spin.o -MD -MP -MF test/$(DEPDIR)/unittest_simple_spin-simple_spin.Tpo -c -o test/unittest_simple_spin-simple_spin.o `test -f 'test/simple_spin.cc' || echo '$(srcdir)/'`test/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_simple_spin-simple_spin.Tpo test/$(DEPDIR)/unittest_simple_spin-simple_spin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/simple_spin.cc' object='test/unittest_simple_spin-simple_spin.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -c -o unittest_str_list-test_str_list.o `test -f 'test/test_str_list.cc' || echo '$(srcdir)/'`test/test_str_list.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_simple_spin-simple_spin.o `test -f 'test/simple_spin.cc' || echo '$(srcdir)/'`test/simple_spin.cc
 
-unittest_str_list-test_str_list.obj: test/test_str_list.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -MT unittest_str_list-test_str_list.obj -MD -MP -MF $(DEPDIR)/unittest_str_list-test_str_list.Tpo -c -o unittest_str_list-test_str_list.obj `if test -f 'test/test_str_list.cc'; then $(CYGPATH_W) 'test/test_str_list.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_str_list.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_str_list-test_str_list.Tpo $(DEPDIR)/unittest_str_list-test_str_list.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_str_list.cc' object='unittest_str_list-test_str_list.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_simple_spin-simple_spin.obj: test/simple_spin.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_simple_spin-simple_spin.obj -MD -MP -MF test/$(DEPDIR)/unittest_simple_spin-simple_spin.Tpo -c -o test/unittest_simple_spin-simple_spin.obj `if test -f 'test/simple_spin.cc'; then $(CYGPATH_W) 'test/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/test/simple_spin.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_simple_spin-simple_spin.Tpo test/$(DEPDIR)/unittest_simple_spin-simple_spin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/simple_spin.cc' object='test/unittest_simple_spin-simple_spin.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -c -o unittest_str_list-test_str_list.obj `if test -f 'test/test_str_list.cc'; then $(CYGPATH_W) 'test/test_str_list.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_str_list.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_simple_spin_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_simple_spin-simple_spin.obj `if test -f 'test/simple_spin.cc'; then $(CYGPATH_W) 'test/simple_spin.cc'; else $(CYGPATH_W) '$(srcdir)/test/simple_spin.cc'; fi`
 
-unittest_striper-test_striper.o: test/test_striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -MT unittest_striper-test_striper.o -MD -MP -MF $(DEPDIR)/unittest_striper-test_striper.Tpo -c -o unittest_striper-test_striper.o `test -f 'test/test_striper.cc' || echo '$(srcdir)/'`test/test_striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_striper-test_striper.Tpo $(DEPDIR)/unittest_striper-test_striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_striper.cc' object='unittest_striper-test_striper.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.o: test/common/test_sloppy_crc_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sloppy_crc_map_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.o -MD -MP -MF test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Tpo -c -o test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.o `test -f 'test/common/test_sloppy_crc_map.cc' || echo '$(srcdir)/'`test/common/test_sloppy_crc_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Tpo test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_sloppy_crc_map.cc' object='test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -c -o unittest_striper-test_striper.o `test -f 'test/test_striper.cc' || echo '$(srcdir)/'`test/test_striper.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sloppy_crc_map_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.o `test -f 'test/common/test_sloppy_crc_map.cc' || echo '$(srcdir)/'`test/common/test_sloppy_crc_map.cc
 
-unittest_striper-test_striper.obj: test/test_striper.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -MT unittest_striper-test_striper.obj -MD -MP -MF $(DEPDIR)/unittest_striper-test_striper.Tpo -c -o unittest_striper-test_striper.obj `if test -f 'test/test_striper.cc'; then $(CYGPATH_W) 'test/test_striper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_striper.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_striper-test_striper.Tpo $(DEPDIR)/unittest_striper-test_striper.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_striper.cc' object='unittest_striper-test_striper.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.obj: test/common/test_sloppy_crc_map.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sloppy_crc_map_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Tpo -c -o test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.obj `if test -f 'test/common/test_sloppy_crc_map.cc'; then $(CYGPATH_W) 'test/common/test_sloppy_crc_map.cc'; else $(CYGPATH_W) ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Tpo test/common/$(DEPDIR)/unittest_sloppy_crc_map-test_sloppy_crc_map.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_sloppy_crc_map.cc' object='test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -c -o unittest_striper-test_striper.obj `if test -f 'test/test_striper.cc'; then $(CYGPATH_W) 'test/test_striper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_striper.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_sloppy_crc_map_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_sloppy_crc_map-test_sloppy_crc_map.obj `if test -f 'test/common/test_sloppy_crc_map.cc'; then $(CYGPATH_W) 'test/common/test_sloppy_crc_map.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_sloppy_crc_map.cc'; fi`
 
-unittest_strtol-strtol.o: test/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -MT unittest_strtol-strtol.o -MD -MP -MF $(DEPDIR)/unittest_strtol-strtol.Tpo -c -o unittest_strtol-strtol.o `test -f 'test/strtol.cc' || echo '$(srcdir)/'`test/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_strtol-strtol.Tpo $(DEPDIR)/unittest_strtol-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/strtol.cc' object='unittest_strtol-strtol.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_str_list-test_str_list.o: test/test_str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_str_list-test_str_list.o -MD -MP -MF test/$(DEPDIR)/unittest_str_list-test_str_list.Tpo -c -o test/unittest_str_list-test_str_list.o `test -f 'test/test_str_list.cc' || echo '$(srcdir)/'`test/test_str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_str_list-test_str_list.Tpo test/$(DEPDIR)/unittest_str_list-test_str_list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_str_list.cc' object='test/unittest_str_list-test_str_list.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -c -o unittest_strtol-strtol.o `test -f 'test/strtol.cc' || echo '$(srcdir)/'`test/strtol.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_str_list-test_str_list.o `test -f 'test/test_str_list.cc' || echo '$(srcdir)/'`test/test_str_list.cc
 
-unittest_strtol-strtol.obj: test/strtol.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -MT unittest_strtol-strtol.obj -MD -MP -MF $(DEPDIR)/unittest_strtol-strtol.Tpo -c -o unittest_strtol-strtol.obj `if test -f 'test/strtol.cc'; then $(CYGPATH_W) 'test/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/test/strtol.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_strtol-strtol.Tpo $(DEPDIR)/unittest_strtol-strtol.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/strtol.cc' object='unittest_strtol-strtol.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_str_list-test_str_list.obj: test/test_str_list.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_str_list-test_str_list.obj -MD -MP -MF test/$(DEPDIR)/unittest_str_list-test_str_list.Tpo -c -o test/unittest_str_list-test_str_list.obj `if test -f 'test/test_str_list.cc'; then $(CYGPATH_W) 'test/test_str_list.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_str_list.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_str_list-test_str_list.Tpo test/$(DEPDIR)/unittest_str_list-test_str_list.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_str_list.cc' object='test/unittest_str_list-test_str_list.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -c -o unittest_strtol-strtol.obj `if test -f 'test/strtol.cc'; then $(CYGPATH_W) 'test/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/test/strtol.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_str_list_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_str_list-test_str_list.obj `if test -f 'test/test_str_list.cc'; then $(CYGPATH_W) 'test/test_str_list.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_str_list.cc'; fi`
 
-unittest_texttable-test_texttable.o: test/test_texttable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT unittest_texttable-test_texttable.o -MD -MP -MF $(DEPDIR)/unittest_texttable-test_texttable.Tpo -c -o unittest_texttable-test_texttable.o `test -f 'test/test_texttable.cc' || echo '$(srcdir)/'`test/test_texttable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_texttable-test_texttable.Tpo $(DEPDIR)/unittest_texttable-test_texttable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_texttable.cc' object='unittest_texttable-test_texttable.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_striper-test_striper.o: test/test_striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_striper-test_striper.o -MD -MP -MF test/$(DEPDIR)/unittest_striper-test_striper.Tpo -c -o test/unittest_striper-test_striper.o `test -f 'test/test_striper.cc' || echo '$(srcdir)/'`test/test_striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_striper-test_striper.Tpo test/$(DEPDIR)/unittest_striper-test_striper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_striper.cc' object='test/unittest_striper-test_striper.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o unittest_texttable-test_texttable.o `test -f 'test/test_texttable.cc' || echo '$(srcdir)/'`test/test_texttable.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_striper-test_striper.o `test -f 'test/test_striper.cc' || echo '$(srcdir)/'`test/test_striper.cc
 
-unittest_texttable-test_texttable.obj: test/test_texttable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT unittest_texttable-test_texttable.obj -MD -MP -MF $(DEPDIR)/unittest_texttable-test_texttable.Tpo -c -o unittest_texttable-test_texttable.obj `if test -f 'test/test_texttable.cc'; then $(CYGPATH_W) 'test/test_texttable.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_texttable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_texttable-test_texttable.Tpo $(DEPDIR)/unittest_texttable-test_texttable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_texttable.cc' object='unittest_texttable-test_texttable.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_striper-test_striper.obj: test/test_striper.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_striper-test_striper.obj -MD -MP -MF test/$(DEPDIR)/unittest_striper-test_striper.Tpo -c -o test/unittest_striper-test_striper.obj `if test -f 'test/test_striper.cc'; then $(CYGPATH_W) 'test/test_striper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_striper.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_striper-test_striper.Tpo test/$(DEPDIR)/unittest_striper-test_striper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_striper.cc' object='test/unittest_striper-test_striper.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o unittest_texttable-test_texttable.obj `if test -f 'test/test_texttable.cc'; then $(CYGPATH_W) 'test/test_texttable.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_texttable.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_striper_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_striper-test_striper.obj `if test -f 'test/test_striper.cc'; then $(CYGPATH_W) 'test/test_striper.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_striper.cc'; fi`
 
-unittest_texttable-TextTable.o: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT unittest_texttable-TextTable.o -MD -MP -MF $(DEPDIR)/unittest_texttable-TextTable.Tpo -c -o unittest_texttable-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_texttable-TextTable.Tpo $(DEPDIR)/unittest_texttable-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='unittest_texttable-TextTable.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_strtol-strtol.o: test/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_strtol-strtol.o -MD -MP -MF test/$(DEPDIR)/unittest_strtol-strtol.Tpo -c -o test/unittest_strtol-strtol.o `test -f 'test/strtol.cc' || echo '$(srcdir)/'`test/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_strtol-strtol.Tpo test/$(DEPDIR)/unittest_strtol-strtol.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/strtol.cc' object='test/unittest_strtol-strtol.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o unittest_texttable-TextTable.o `test -f 'common/TextTable.cc' || echo '$(srcdir)/'`common/TextTable.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_strtol-strtol.o `test -f 'test/strtol.cc' || echo '$(srcdir)/'`test/strtol.cc
 
-unittest_texttable-TextTable.obj: common/TextTable.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT unittest_texttable-TextTable.obj -MD -MP -MF $(DEPDIR)/unittest_texttable-TextTable.Tpo -c -o unittest_texttable-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_texttable-TextTable.Tpo $(DEPDIR)/unittest_texttable-TextTable.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/TextTable.cc' object='unittest_texttable-TextTable.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_strtol-strtol.obj: test/strtol.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_strtol-strtol.obj -MD -MP -MF test/$(DEPDIR)/unittest_strtol-strtol.Tpo -c -o test/unittest_strtol-strtol.obj `if test -f 'test/strtol.cc'; then $(CYGPATH_W) 'test/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/test/strtol.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_strtol-strtol.Tpo test/$(DEPDIR)/unittest_strtol-strtol.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/strtol.cc' object='test/unittest_strtol-strtol.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o unittest_texttable-TextTable.obj `if test -f 'common/TextTable.cc'; then $(CYGPATH_W) 'common/TextTable.cc'; else $(CYGPATH_W) '$(srcdir)/common/TextTable.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_strtol_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_strtol-strtol.obj `if test -f 'test/strtol.cc'; then $(CYGPATH_W) 'test/strtol.cc'; else $(CYGPATH_W) '$(srcdir)/test/strtol.cc'; fi`
 
-unittest_throttle-Throttle.o: test/common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -MT unittest_throttle-Throttle.o -MD -MP -MF $(DEPDIR)/unittest_throttle-Throttle.Tpo -c -o unittest_throttle-Throttle.o `test -f 'test/common/Throttle.cc' || echo '$(srcdir)/'`test/common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_throttle-Throttle.Tpo $(DEPDIR)/unittest_throttle-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/Throttle.cc' object='unittest_throttle-Throttle.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_texttable-test_texttable.o: test/test_texttable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_texttable-test_texttable.o -MD -MP -MF test/$(DEPDIR)/unittest_texttable-test_texttable.Tpo -c -o test/unittest_texttable-test_texttable.o `test -f 'test/test_texttable.cc' || echo '$(srcdir)/'`test/test_texttable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_texttable-test_texttable.Tpo test/$(DEPDIR)/unittest_texttable-test_texttable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_texttable.cc' object='test/unittest_texttable-test_texttable.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -c -o unittest_throttle-Throttle.o `test -f 'test/common/Throttle.cc' || echo '$(srcdir)/'`test/common/Throttle.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_texttable-test_texttable.o `test -f 'test/test_texttable.cc' || echo '$(srcdir)/'`test/test_texttable.cc
 
-unittest_throttle-Throttle.obj: test/common/Throttle.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -MT unittest_throttle-Throttle.obj -MD -MP -MF $(DEPDIR)/unittest_throttle-Throttle.Tpo -c -o unittest_throttle-Throttle.obj `if test -f 'test/common/Throttle.cc'; then $(CYGPATH_W) 'test/common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/Throttle.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_throttle-Throttle.Tpo $(DEPDIR)/unittest_throttle-Throttle.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/Throttle.cc' object='unittest_throttle-Throttle.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_texttable-test_texttable.obj: test/test_texttable.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_texttable-test_texttable.obj -MD -MP -MF test/$(DEPDIR)/unittest_texttable-test_texttable.Tpo -c -o test/unittest_texttable-test_texttable.obj `if test -f 'test/test_texttable.cc'; then $(CYGPATH_W) 'test/test_texttable.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_texttable.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_texttable-test_texttable.Tpo test/$(DEPDIR)/unittest_texttable-test_texttable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_texttable.cc' object='test/unittest_texttable-test_texttable.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -c -o unittest_throttle-Throttle.obj `if test -f 'test/common/Throttle.cc'; then $(CYGPATH_W) 'test/common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/Throttle.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_texttable_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_texttable-test_texttable.obj `if test -f 'test/test_texttable.cc'; then $(CYGPATH_W) 'test/test_texttable.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_texttable.cc'; fi`
 
-unittest_utf8-utf8.o: test/utf8.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -MT unittest_utf8-utf8.o -MD -MP -MF $(DEPDIR)/unittest_utf8-utf8.Tpo -c -o unittest_utf8-utf8.o `test -f 'test/utf8.cc' || echo '$(srcdir)/'`test/utf8.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_utf8-utf8.Tpo $(DEPDIR)/unittest_utf8-utf8.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/utf8.cc' object='unittest_utf8-utf8.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_throttle-Throttle.o: test/common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_throttle-Throttle.o -MD -MP -MF test/common/$(DEPDIR)/unittest_throttle-Throttle.Tpo -c -o test/common/unittest_throttle-Throttle.o `test -f 'test/common/Throttle.cc' || echo '$(srcdir)/'`test/common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_throttle-Throttle.Tpo test/common/$(DEPDIR)/unittest_throttle-Throttle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/Throttle.cc' object='test/common/unittest_throttle-Throttle.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -c -o unittest_utf8-utf8.o `test -f 'test/utf8.cc' || echo '$(srcdir)/'`test/utf8.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_throttle-Throttle.o `test -f 'test/common/Throttle.cc' || echo '$(srcdir)/'`test/common/Throttle.cc
 
-unittest_utf8-utf8.obj: test/utf8.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -MT unittest_utf8-utf8.obj -MD -MP -MF $(DEPDIR)/unittest_utf8-utf8.Tpo -c -o unittest_utf8-utf8.obj `if test -f 'test/utf8.cc'; then $(CYGPATH_W) 'test/utf8.cc'; else $(CYGPATH_W) '$(srcdir)/test/utf8.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_utf8-utf8.Tpo $(DEPDIR)/unittest_utf8-utf8.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/utf8.cc' object='unittest_utf8-utf8.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_throttle-Throttle.obj: test/common/Throttle.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_throttle-Throttle.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_throttle-Throttle.Tpo -c -o test/common/unittest_throttle-Throttle.obj `if test -f 'test/common/Throttle.cc'; then $(CYGPATH_W) 'test/common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/Throttle.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_throttle-Throttle.Tpo test/common/$(DEPDIR)/unittest_throttle-Throttle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/Throttle.cc' object='test/common/unittest_throttle-Throttle.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -c -o unittest_utf8-utf8.obj `if test -f 'test/utf8.cc'; then $(CYGPATH_W) 'test/utf8.cc'; else $(CYGPATH_W) '$(srcdir)/test/utf8.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_throttle_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_throttle-Throttle.obj `if test -f 'test/common/Throttle.cc'; then $(CYGPATH_W) 'test/common/Throttle.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/Throttle.cc'; fi`
 
-unittest_util-test_util.o: test/common/test_util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT unittest_util-test_util.o -MD -MP -MF $(DEPDIR)/unittest_util-test_util.Tpo -c -o unittest_util-test_util.o `test -f 'test/common/test_util.cc' || echo '$(srcdir)/'`test/common/test_util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_util-test_util.Tpo $(DEPDIR)/unittest_util-test_util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_util.cc' object='unittest_util-test_util.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_utf8-utf8.o: test/utf8.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_utf8-utf8.o -MD -MP -MF test/$(DEPDIR)/unittest_utf8-utf8.Tpo -c -o test/unittest_utf8-utf8.o `test -f 'test/utf8.cc' || echo '$(srcdir)/'`test/utf8.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_utf8-utf8.Tpo test/$(DEPDIR)/unittest_utf8-utf8.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/utf8.cc' object='test/unittest_utf8-utf8.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o unittest_util-test_util.o `test -f 'test/common/test_util.cc' || echo '$(srcdir)/'`test/common/test_util.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_utf8-utf8.o `test -f 'test/utf8.cc' || echo '$(srcdir)/'`test/utf8.cc
 
-unittest_util-test_util.obj: test/common/test_util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT unittest_util-test_util.obj -MD -MP -MF $(DEPDIR)/unittest_util-test_util.Tpo -c -o unittest_util-test_util.obj `if test -f 'test/common/test_util.cc'; then $(CYGPATH_W) 'test/common/test_util.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_util.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_util-test_util.Tpo $(DEPDIR)/unittest_util-test_util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_util.cc' object='unittest_util-test_util.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_utf8-utf8.obj: test/utf8.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_utf8-utf8.obj -MD -MP -MF test/$(DEPDIR)/unittest_utf8-utf8.Tpo -c -o test/unittest_utf8-utf8.obj `if test -f 'test/utf8.cc'; then $(CYGPATH_W) 'test/utf8.cc'; else $(CYGPATH_W) '$(srcdir)/test/utf8.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_utf8-utf8.Tpo test/$(DEPDIR)/unittest_utf8-utf8.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/utf8.cc' object='test/unittest_utf8-utf8.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o unittest_util-test_util.obj `if test -f 'test/common/test_util.cc'; then $(CYGPATH_W) 'test/common/test_util.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_util.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_utf8_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_utf8-utf8.obj `if test -f 'test/utf8.cc'; then $(CYGPATH_W) 'test/utf8.cc'; else $(CYGPATH_W) '$(srcdir)/test/utf8.cc'; fi`
 
-unittest_util-util.o: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT unittest_util-util.o -MD -MP -MF $(DEPDIR)/unittest_util-util.Tpo -c -o unittest_util-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_util-util.Tpo $(DEPDIR)/unittest_util-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='unittest_util-util.o' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_util-test_util.o: test/common/test_util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_util-test_util.o -MD -MP -MF test/common/$(DEPDIR)/unittest_util-test_util.Tpo -c -o test/common/unittest_util-test_util.o `test -f 'test/common/test_util.cc' || echo '$(srcdir)/'`test/common/test_util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_util-test_util.Tpo test/common/$(DEPDIR)/unittest_util-test_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_util.cc' object='test/common/unittest_util-test_util.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o unittest_util-util.o `test -f 'common/util.cc' || echo '$(srcdir)/'`common/util.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_util-test_util.o `test -f 'test/common/test_util.cc' || echo '$(srcdir)/'`test/common/test_util.cc
 
-unittest_util-util.obj: common/util.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT unittest_util-util.obj -MD -MP -MF $(DEPDIR)/unittest_util-util.Tpo -c -o unittest_util-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_util-util.Tpo $(DEPDIR)/unittest_util-util.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='common/util.cc' object='unittest_util-util.obj' libtool=no @AMDEPBACKSLASH@
+test/common/unittest_util-test_util.obj: test/common/test_util.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -MT test/common/unittest_util-test_util.obj -MD -MP -MF test/common/$(DEPDIR)/unittest_util-test_util.Tpo -c -o test/common/unittest_util-test_util.obj `if test -f 'test/common/test_util.cc'; then $(CYGPATH_W) 'test/common/test_util.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_util.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/common/$(DEPDIR)/unittest_util-test_util.Tpo test/common/$(DEPDIR)/unittest_util-test_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/common/test_util.cc' object='test/common/unittest_util-test_util.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o unittest_util-util.obj `if test -f 'common/util.cc'; then $(CYGPATH_W) 'common/util.cc'; else $(CYGPATH_W) '$(srcdir)/common/util.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_util_CXXFLAGS) $(CXXFLAGS) -c -o test/common/unittest_util-test_util.obj `if test -f 'test/common/test_util.cc'; then $(CYGPATH_W) 'test/common/test_util.cc'; else $(CYGPATH_W) '$(srcdir)/test/common/test_util.cc'; fi`
 
-unittest_workqueue-test_workqueue.o: test/test_workqueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -MT unittest_workqueue-test_workqueue.o -MD -MP -MF $(DEPDIR)/unittest_workqueue-test_workqueue.Tpo -c -o unittest_workqueue-test_workqueue.o `test -f 'test/test_workqueue.cc' || echo '$(srcdir)/'`test/test_workqueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_workqueue-test_workqueue.Tpo $(DEPDIR)/unittest_workqueue-test_workqueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_workqueue.cc' object='unittest_workqueue-test_workqueue.o' libtool=no @AMDEPBACKSLASH@
+test/unittest_workqueue-test_workqueue.o: test/test_workqueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_workqueue-test_workqueue.o -MD -MP -MF test/$(DEPDIR)/unittest_workqueue-test_workqueue.Tpo -c -o test/unittest_workqueue-test_workqueue.o `test -f 'test/test_workqueue.cc' || echo '$(srcdir)/'`test/test_workqueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_workqueue-test_workqueue.Tpo test/$(DEPDIR)/unittest_workqueue-test_workqueue.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_workqueue.cc' object='test/unittest_workqueue-test_workqueue.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -c -o unittest_workqueue-test_workqueue.o `test -f 'test/test_workqueue.cc' || echo '$(srcdir)/'`test/test_workqueue.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_workqueue-test_workqueue.o `test -f 'test/test_workqueue.cc' || echo '$(srcdir)/'`test/test_workqueue.cc
 
-unittest_workqueue-test_workqueue.obj: test/test_workqueue.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -MT unittest_workqueue-test_workqueue.obj -MD -MP -MF $(DEPDIR)/unittest_workqueue-test_workqueue.Tpo -c -o unittest_workqueue-test_workqueue.obj `if test -f 'test/test_workqueue.cc'; then $(CYGPATH_W) 'test/test_workqueue.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_workqueue.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittest_workqueue-test_workqueue.Tpo $(DEPDIR)/unittest_workqueue-test_workqueue.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_workqueue.cc' object='unittest_workqueue-test_workqueue.obj' libtool=no @AMDEPBACKSLASH@
+test/unittest_workqueue-test_workqueue.obj: test/test_workqueue.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -MT test/unittest_workqueue-test_workqueue.obj -MD -MP -MF test/$(DEPDIR)/unittest_workqueue-test_workqueue.Tpo -c -o test/unittest_workqueue-test_workqueue.obj `if test -f 'test/test_workqueue.cc'; then $(CYGPATH_W) 'test/test_workqueue.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_workqueue.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) test/$(DEPDIR)/unittest_workqueue-test_workqueue.Tpo test/$(DEPDIR)/unittest_workqueue-test_workqueue.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='test/test_workqueue.cc' object='test/unittest_workqueue-test_workqueue.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -c -o unittest_workqueue-test_workqueue.obj `if test -f 'test/test_workqueue.cc'; then $(CYGPATH_W) 'test/test_workqueue.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_workqueue.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittest_workqueue_CXXFLAGS) $(CXXFLAGS) -c -o test/unittest_workqueue-test_workqueue.obj `if test -f 'test/test_workqueue.cc'; then $(CYGPATH_W) 'test/test_workqueue.cc'; else $(CYGPATH_W) '$(srcdir)/test/test_workqueue.cc'; fi`
 
 .cpp.o:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cpp.obj:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cpp.lo:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
@@ -20435,6 +12896,42 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
+	-rm -rf arch/.libs arch/_libs
+	-rm -rf auth/.libs auth/_libs
+	-rm -rf auth/cephx/.libs auth/cephx/_libs
+	-rm -rf auth/none/.libs auth/none/_libs
+	-rm -rf auth/unknown/.libs auth/unknown/_libs
+	-rm -rf client/.libs client/_libs
+	-rm -rf cls/hello/.libs cls/hello/_libs
+	-rm -rf cls/lock/.libs cls/lock/_libs
+	-rm -rf cls/log/.libs cls/log/_libs
+	-rm -rf cls/rbd/.libs cls/rbd/_libs
+	-rm -rf cls/refcount/.libs cls/refcount/_libs
+	-rm -rf cls/replica_log/.libs cls/replica_log/_libs
+	-rm -rf cls/rgw/.libs cls/rgw/_libs
+	-rm -rf cls/statelog/.libs cls/statelog/_libs
+	-rm -rf cls/version/.libs cls/version/_libs
+	-rm -rf common/.libs common/_libs
+	-rm -rf crush/.libs crush/_libs
+	-rm -rf global/.libs global/_libs
+	-rm -rf java/native/.libs java/native/_libs
+	-rm -rf json_spirit/.libs json_spirit/_libs
+	-rm -rf key_value_store/.libs key_value_store/_libs
+	-rm -rf librados/.libs librados/_libs
+	-rm -rf librbd/.libs librbd/_libs
+	-rm -rf log/.libs log/_libs
+	-rm -rf mds/.libs mds/_libs
+	-rm -rf mon/.libs mon/_libs
+	-rm -rf msg/.libs msg/_libs
+	-rm -rf objclass/.libs objclass/_libs
+	-rm -rf os/.libs os/_libs
+	-rm -rf osd/.libs osd/_libs
+	-rm -rf osd/ErasureCodePluginJerasure/.libs osd/ErasureCodePluginJerasure/_libs
+	-rm -rf osdc/.libs osdc/_libs
+	-rm -rf perfglue/.libs perfglue/_libs
+	-rm -rf rgw/.libs rgw/_libs
+	-rm -rf test/osd/.libs test/osd/_libs
+	-rm -rf test/system/.libs test/system/_libs
 install-pythonPYTHON: $(python_PYTHON)
 	@$(NORMAL_INSTALL)
 	test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
@@ -20851,7 +13348,7 @@ distdir: $(DISTFILES)
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  dist-hook
 check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
 check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-recursive
@@ -20861,7 +13358,7 @@ install-binPROGRAMS: install-libLTLIBRARIES
 
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(radoslibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(ceph_sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(shell_commondir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(bash_completiondir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(libcephfs_includedir)" "$(DESTDIR)$(librbd_includedir)" "$(DESTDIR)$(rados_includedir)"; do \
+	for dir in "$(DESTDIR)$(erasure_codelibdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(radoslibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(su_sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(ceph_sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(shell_commondir)" "$(DESTDIR)$(su_sbindir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(bash_completiondir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(libcephfs_includedir)" "$(DESTDIR)$(librbd_includedir)" "$(DESTDIR)$(rados_inclu [...]
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
@@ -20892,6 +13389,128 @@ clean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f arch/$(DEPDIR)/$(am__dirstamp)
+	-rm -f arch/$(am__dirstamp)
+	-rm -f auth/$(DEPDIR)/$(am__dirstamp)
+	-rm -f auth/$(am__dirstamp)
+	-rm -f auth/cephx/$(DEPDIR)/$(am__dirstamp)
+	-rm -f auth/cephx/$(am__dirstamp)
+	-rm -f auth/none/$(DEPDIR)/$(am__dirstamp)
+	-rm -f auth/none/$(am__dirstamp)
+	-rm -f auth/unknown/$(DEPDIR)/$(am__dirstamp)
+	-rm -f auth/unknown/$(am__dirstamp)
+	-rm -f client/$(DEPDIR)/$(am__dirstamp)
+	-rm -f client/$(am__dirstamp)
+	-rm -f cls/hello/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/hello/$(am__dirstamp)
+	-rm -f cls/lock/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/lock/$(am__dirstamp)
+	-rm -f cls/log/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/log/$(am__dirstamp)
+	-rm -f cls/rbd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/rbd/$(am__dirstamp)
+	-rm -f cls/refcount/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/refcount/$(am__dirstamp)
+	-rm -f cls/replica_log/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/replica_log/$(am__dirstamp)
+	-rm -f cls/rgw/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/rgw/$(am__dirstamp)
+	-rm -f cls/statelog/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/statelog/$(am__dirstamp)
+	-rm -f cls/version/$(DEPDIR)/$(am__dirstamp)
+	-rm -f cls/version/$(am__dirstamp)
+	-rm -f common/$(DEPDIR)/$(am__dirstamp)
+	-rm -f common/$(am__dirstamp)
+	-rm -f crush/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crush/$(am__dirstamp)
+	-rm -f global/$(DEPDIR)/$(am__dirstamp)
+	-rm -f global/$(am__dirstamp)
+	-rm -f java/native/$(DEPDIR)/$(am__dirstamp)
+	-rm -f java/native/$(am__dirstamp)
+	-rm -f json_spirit/$(DEPDIR)/$(am__dirstamp)
+	-rm -f json_spirit/$(am__dirstamp)
+	-rm -f key_value_store/$(DEPDIR)/$(am__dirstamp)
+	-rm -f key_value_store/$(am__dirstamp)
+	-rm -f librados/$(DEPDIR)/$(am__dirstamp)
+	-rm -f librados/$(am__dirstamp)
+	-rm -f librbd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f librbd/$(am__dirstamp)
+	-rm -f log/$(DEPDIR)/$(am__dirstamp)
+	-rm -f log/$(am__dirstamp)
+	-rm -f mds/$(DEPDIR)/$(am__dirstamp)
+	-rm -f mds/$(am__dirstamp)
+	-rm -f mon/$(DEPDIR)/$(am__dirstamp)
+	-rm -f mon/$(am__dirstamp)
+	-rm -f mount/$(DEPDIR)/$(am__dirstamp)
+	-rm -f mount/$(am__dirstamp)
+	-rm -f msg/$(DEPDIR)/$(am__dirstamp)
+	-rm -f msg/$(am__dirstamp)
+	-rm -f objclass/$(DEPDIR)/$(am__dirstamp)
+	-rm -f objclass/$(am__dirstamp)
+	-rm -f os/$(DEPDIR)/$(am__dirstamp)
+	-rm -f os/$(am__dirstamp)
+	-rm -f osd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f osd/$(am__dirstamp)
+	-rm -f osd/ErasureCodePluginJerasure/$(DEPDIR)/$(am__dirstamp)
+	-rm -f osd/ErasureCodePluginJerasure/$(am__dirstamp)
+	-rm -f osdc/$(DEPDIR)/$(am__dirstamp)
+	-rm -f osdc/$(am__dirstamp)
+	-rm -f perfglue/$(DEPDIR)/$(am__dirstamp)
+	-rm -f perfglue/$(am__dirstamp)
+	-rm -f rbd_fuse/$(DEPDIR)/$(am__dirstamp)
+	-rm -f rbd_fuse/$(am__dirstamp)
+	-rm -f rgw/$(DEPDIR)/$(am__dirstamp)
+	-rm -f rgw/$(am__dirstamp)
+	-rm -f test/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/$(am__dirstamp)
+	-rm -f test/ObjectMap/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/ObjectMap/$(am__dirstamp)
+	-rm -f test/bench/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/bench/$(am__dirstamp)
+	-rm -f test/cls_hello/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_hello/$(am__dirstamp)
+	-rm -f test/cls_lock/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_lock/$(am__dirstamp)
+	-rm -f test/cls_log/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_log/$(am__dirstamp)
+	-rm -f test/cls_rbd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_rbd/$(am__dirstamp)
+	-rm -f test/cls_refcount/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_refcount/$(am__dirstamp)
+	-rm -f test/cls_replica_log/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_replica_log/$(am__dirstamp)
+	-rm -f test/cls_rgw/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_rgw/$(am__dirstamp)
+	-rm -f test/cls_statelog/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_statelog/$(am__dirstamp)
+	-rm -f test/cls_version/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/cls_version/$(am__dirstamp)
+	-rm -f test/common/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/common/$(am__dirstamp)
+	-rm -f test/encoding/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/encoding/$(am__dirstamp)
+	-rm -f test/filestore/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/filestore/$(am__dirstamp)
+	-rm -f test/libcephfs/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/libcephfs/$(am__dirstamp)
+	-rm -f test/librados/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/librados/$(am__dirstamp)
+	-rm -f test/librbd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/librbd/$(am__dirstamp)
+	-rm -f test/mon/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/mon/$(am__dirstamp)
+	-rm -f test/os/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/os/$(am__dirstamp)
+	-rm -f test/osd/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/osd/$(am__dirstamp)
+	-rm -f test/osdc/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/osdc/$(am__dirstamp)
+	-rm -f test/system/$(DEPDIR)/$(am__dirstamp)
+	-rm -f test/system/$(am__dirstamp)
+	-rm -f tools/$(DEPDIR)/$(am__dirstamp)
+	-rm -f tools/$(am__dirstamp)
+	-rm -f tools/rados/$(DEPDIR)/$(am__dirstamp)
+	-rm -f tools/rados/$(am__dirstamp)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -20899,13 +13518,15 @@ maintainer-clean-generic:
 	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-recursive
 
-clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+clean-am: clean-binPROGRAMS clean-checkPROGRAMS \
+	clean-erasure_codelibLTLIBRARIES clean-generic \
 	clean-libLTLIBRARIES clean-libtool clean-local \
 	clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
-	clean-radoslibLTLIBRARIES clean-sbinPROGRAMS mostlyclean-am
+	clean-noinstPROGRAMS clean-radoslibLTLIBRARIES \
+	clean-sbinPROGRAMS clean-su_sbinPROGRAMS mostlyclean-am
 
 distclean: distclean-recursive
-	-rm -rf ./$(DEPDIR)
+	-rm -rf ./$(DEPDIR) arch/$(DEPDIR) auth/$(DEPDIR) auth/cephx/$(DEPDIR) auth/none/$(DEPDIR) auth/unknown/$(DEPDIR) client/$(DEPDIR) cls/hello/$(DEPDIR) cls/lock/$(DEPDIR) cls/log/$(DEPDIR) cls/rbd/$(DEPDIR) cls/refcount/$(DEPDIR) cls/replica_log/$(DEPDIR) cls/rgw/$(DEPDIR) cls/statelog/$(DEPDIR) cls/version/$(DEPDIR) common/$(DEPDIR) crush/$(DEPDIR) global/$(DEPDIR) java/native/$(DEPDIR) json_spirit/$(DEPDIR) key_value_store/$(DEPDIR) librados/$(DEPDIR) librbd/$(DEPDIR) log/$(DEPDIR) mds [...]
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-hdr distclean-tags
@@ -20924,9 +13545,11 @@ info-am:
 
 install-data-am: install-bash_completionDATA install-ceph_sbinSCRIPTS \
 	install-data-local install-docDATA \
+	install-erasure_codelibLTLIBRARIES \
 	install-libcephfs_includeDATA install-librbd_includeDATA \
 	install-pythonPYTHON install-rados_includeDATA \
-	install-radoslibLTLIBRARIES install-shell_commonSCRIPTS
+	install-radoslibLTLIBRARIES install-shell_commonSCRIPTS \
+	install-su_sbinPROGRAMS install-su_sbinSCRIPTS
 
 install-dvi: install-dvi-recursive
 
@@ -20957,7 +13580,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-	-rm -rf ./$(DEPDIR)
+	-rm -rf ./$(DEPDIR) arch/$(DEPDIR) auth/$(DEPDIR) auth/cephx/$(DEPDIR) auth/none/$(DEPDIR) auth/unknown/$(DEPDIR) client/$(DEPDIR) cls/hello/$(DEPDIR) cls/lock/$(DEPDIR) cls/log/$(DEPDIR) cls/rbd/$(DEPDIR) cls/refcount/$(DEPDIR) cls/replica_log/$(DEPDIR) cls/rgw/$(DEPDIR) cls/statelog/$(DEPDIR) cls/version/$(DEPDIR) common/$(DEPDIR) crush/$(DEPDIR) global/$(DEPDIR) java/native/$(DEPDIR) json_spirit/$(DEPDIR) key_value_store/$(DEPDIR) librados/$(DEPDIR) librbd/$(DEPDIR) log/$(DEPDIR) mds [...]
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -20977,11 +13600,13 @@ ps-am:
 uninstall-am: uninstall-bash_completionDATA uninstall-binPROGRAMS \
 	uninstall-binSCRIPTS uninstall-ceph_sbinSCRIPTS \
 	uninstall-dist_binSCRIPTS uninstall-docDATA \
-	uninstall-libLTLIBRARIES uninstall-libcephfs_includeDATA \
-	uninstall-librbd_includeDATA uninstall-local \
-	uninstall-pythonPYTHON uninstall-rados_includeDATA \
-	uninstall-radoslibLTLIBRARIES uninstall-sbinPROGRAMS \
-	uninstall-sbinSCRIPTS uninstall-shell_commonSCRIPTS
+	uninstall-erasure_codelibLTLIBRARIES uninstall-libLTLIBRARIES \
+	uninstall-libcephfs_includeDATA uninstall-librbd_includeDATA \
+	uninstall-local uninstall-pythonPYTHON \
+	uninstall-rados_includeDATA uninstall-radoslibLTLIBRARIES \
+	uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS \
+	uninstall-shell_commonSCRIPTS uninstall-su_sbinPROGRAMS \
+	uninstall-su_sbinSCRIPTS
 
 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
 	check-am ctags-recursive install install-am install-strip \
@@ -20989,25 +13614,28 @@ uninstall-am: uninstall-bash_completionDATA uninstall-binPROGRAMS \
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-TESTS check-am check-local clean \
-	clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+	clean-binPROGRAMS clean-checkPROGRAMS \
+	clean-erasure_codelibLTLIBRARIES clean-generic \
 	clean-libLTLIBRARIES clean-libtool clean-local \
 	clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
-	clean-radoslibLTLIBRARIES clean-sbinPROGRAMS ctags \
-	ctags-recursive dist-hook distclean distclean-compile \
-	distclean-generic distclean-hdr distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-bash_completionDATA \
-	install-binPROGRAMS install-binSCRIPTS \
-	install-ceph_sbinSCRIPTS install-data install-data-am \
-	install-data-local install-dist_binSCRIPTS install-docDATA \
-	install-dvi install-dvi-am install-exec install-exec-am \
-	install-html install-html-am install-info install-info-am \
-	install-libLTLIBRARIES install-libcephfs_includeDATA \
-	install-librbd_includeDATA install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-pythonPYTHON \
-	install-rados_includeDATA install-radoslibLTLIBRARIES \
-	install-sbinPROGRAMS install-sbinSCRIPTS \
-	install-shell_commonSCRIPTS install-strip installcheck \
+	clean-noinstPROGRAMS clean-radoslibLTLIBRARIES \
+	clean-sbinPROGRAMS clean-su_sbinPROGRAMS ctags ctags-recursive \
+	dist-hook distclean distclean-compile distclean-generic \
+	distclean-hdr distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-bash_completionDATA install-binPROGRAMS \
+	install-binSCRIPTS install-ceph_sbinSCRIPTS install-data \
+	install-data-am install-data-local install-dist_binSCRIPTS \
+	install-docDATA install-dvi install-dvi-am \
+	install-erasure_codelibLTLIBRARIES install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-libLTLIBRARIES \
+	install-libcephfs_includeDATA install-librbd_includeDATA \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-pythonPYTHON install-rados_includeDATA \
+	install-radoslibLTLIBRARIES install-sbinPROGRAMS \
+	install-sbinSCRIPTS install-shell_commonSCRIPTS install-strip \
+	install-su_sbinPROGRAMS install-su_sbinSCRIPTS installcheck \
 	installcheck-am installdirs installdirs-am maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
@@ -21015,29 +13643,28 @@ uninstall-am: uninstall-bash_completionDATA uninstall-binPROGRAMS \
 	uninstall-bash_completionDATA uninstall-binPROGRAMS \
 	uninstall-binSCRIPTS uninstall-ceph_sbinSCRIPTS \
 	uninstall-dist_binSCRIPTS uninstall-docDATA \
-	uninstall-libLTLIBRARIES uninstall-libcephfs_includeDATA \
-	uninstall-librbd_includeDATA uninstall-local \
-	uninstall-pythonPYTHON uninstall-rados_includeDATA \
-	uninstall-radoslibLTLIBRARIES uninstall-sbinPROGRAMS \
-	uninstall-sbinSCRIPTS uninstall-shell_commonSCRIPTS
+	uninstall-erasure_codelibLTLIBRARIES uninstall-libLTLIBRARIES \
+	uninstall-libcephfs_includeDATA uninstall-librbd_includeDATA \
+	uninstall-local uninstall-pythonPYTHON \
+	uninstall-rados_includeDATA uninstall-radoslibLTLIBRARIES \
+	uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS \
+	uninstall-shell_commonSCRIPTS uninstall-su_sbinPROGRAMS \
+	uninstall-su_sbinSCRIPTS
 
 
-check-local:
-	$(srcdir)/test/encoding/check-generated.sh
-	$(srcdir)/test/encoding/readable.sh ../ceph-object-corpus
+# python unit tests need to know where the scripts are located
+export PYTHONPATH=$(top_srcdir)/src/pybind
 
-base: ceph-mon ceph-osd ceph-mds \
-	cephfs \
-	ceph-syn \
-	rados radosgw librados-config \
-	ceph-conf monmaptool osdmaptool crushtool ceph-authtool \
-	init-ceph mkcephfs mon_store_converter
+#crush_includedir = $(includedir)/crush
+#crush_include_DATA = \
+#	$(srcdir)/crush/hash.h \
+#	$(srcdir)/crush/crush.h \
+#	$(srcdir)/crush/mapper.h \
+#	$(srcdir)/crush/types.h
 
 # target to build but not run the unit tests
 unittests:: $(check_PROGRAMS)
-
 $(shell_scripts): Makefile
-
 $(shell_scripts): %: %.in
 	rm -f $@ $@.tmp
 	$(editpaths) '$(srcdir)/$@.in' >$@.tmp
@@ -21049,15 +13676,19 @@ $(shell_scripts): %: %.in
 # NOTE: this won't work on suse, where docdir is /usr/share/doc/packages/$package.
 docdir ?= ${datadir}/doc/ceph
 
-sample.fetch_config: fetch_config
-	cp -f $(srcdir)/fetch_config ./sample.fetch_config
+check-local:
+	$(srcdir)/test/encoding/readable.sh ../ceph-object-corpus
 
-#crush_includedir = $(includedir)/crush
-#crush_include_DATA = \
-#	$(srcdir)/crush/hash.h \
-#	$(srcdir)/crush/crush.h \
-#	$(srcdir)/crush/mapper.h \
-#	$(srcdir)/crush/types.h
+# base targets
+
+core-daemons: ceph-mon ceph-osd ceph-mds radosgw
+admin-tools: monmaptool osdmaptool crushtool ceph-authtool
+base: core-daemons admin-tools \
+	cephfs ceph-syn ceph-conf \
+	rados librados-config \
+	init-ceph mkcephfs ceph_mon_store_converter ceph-post-file
+
+# version stuff
 
 FORCE:
 .git_version: FORCE
@@ -21069,28 +13700,32 @@ ceph_ver.c: ./ceph_ver.h
 common/version.cc: ./ceph_ver.h
 test/encoding/ceph_dencoder.cc: ./ceph_ver.h
 
+sample.fetch_config: fetch_config
+	cp -f $(srcdir)/fetch_config ./sample.fetch_config
+
+dist-hook:
+	$(srcdir)/check_version $(srcdir)/.git_version
+
 # assemble Python script with global version variables
 # NB: depends on format of ceph_ver.h
 
 ceph: ceph.in ./ceph_ver.h Makefile
 	rm -f $@ $@.tmp
-	echo "#!/usr/bin/python" >$@.tmp
+	echo "#!/usr/bin/env python" >$@.tmp
 	grep "#define CEPH_GIT_NICE_VER" ./ceph_ver.h | \
 		sed -e 's/#define \(.*VER\) /\1=/' >>$@.tmp
 	grep "#define CEPH_GIT_VER" ./ceph_ver.h | \
 	  sed -e 's/#define \(.*VER\) /\1=/' -e 's/=\(.*\)$$/="\1"/' >>$@.tmp
-	cat $@.in >>$@.tmp
+	cat $(srcdir)/$@.in >>$@.tmp
 	chmod a+x $@.tmp
 	chmod a-w $@.tmp
 	mv $@.tmp $@
 
 # cleaning
+
 clean-local:
 	-rm *.so *.gcno *.gcda
 
-dist-hook:
-	$(srcdir)/check_version $(srcdir)/.git_version
-
 install-coverage:
 @ENABLE_COVERAGE_TRUE@	-mkdir -p $(COV_DIR)/.libs
 @ENABLE_COVERAGE_TRUE@	-$(INSTALL_DATA) $(COV_FILES) $(COV_DIR)
diff --git a/src/acconfig.h.in b/src/acconfig.h.in
index c26dcc9..c2aad6b 100644
--- a/src/acconfig.h.in
+++ b/src/acconfig.h.in
@@ -37,6 +37,9 @@
 /* Define to 1 if you have the `fuse_getgroups' function. */
 #undef HAVE_FUSE_GETGROUPS
 
+/* we have a recent yasm and are x86_64 */
+#undef HAVE_GOOD_YASM_ELF64
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -75,6 +78,9 @@
 /* Define if you have tcmalloc */
 #undef HAVE_LIBTCMALLOC
 
+/* Defined if you have libzfs enabled */
+#undef HAVE_LIBZFS
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
@@ -87,6 +93,9 @@
 /* Define to 1 if you have the <netinet/in.h> header file. */
 #undef HAVE_NETINET_IN_H
 
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
 /* Define if you have perftools profiler enabled */
 #undef HAVE_PROFILER
 
@@ -134,6 +143,9 @@
 /* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H
 
+/* Define to 1 if you have the <sys/prctl.h> header file. */
+#undef HAVE_SYS_PRCTL_H
+
 /* Define to 1 if you have the <sys/socket.h> header file. */
 #undef HAVE_SYS_SOCKET_H
 
diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am
new file mode 100644
index 0000000..2734207
--- /dev/null
+++ b/src/arch/Makefile.am
@@ -0,0 +1,11 @@
+libarch_la_SOURCES = \
+	arch/intel.c \
+	arch/neon.c \
+	arch/probe.cc
+
+noinst_LTLIBRARIES += libarch.la
+
+noinst_HEADERS += \
+	arch/intel.h \
+	arch/neon.h \
+	arch/probe.h
diff --git a/src/arch/intel.c b/src/arch/intel.c
new file mode 100644
index 0000000..8b2d2cc
--- /dev/null
+++ b/src/arch/intel.c
@@ -0,0 +1,45 @@
+#include "arch/probe.h"
+
+/* flags we export */
+int ceph_arch_intel_sse42 = 0;
+
+
+#ifdef __x86_64__
+
+/* intel cpu? */
+static void do_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx,
+                     unsigned int *edx)
+{
+        int id = *eax;
+
+        asm("movl %4, %%eax;"
+            "cpuid;"
+            "movl %%eax, %0;"
+            "movl %%ebx, %1;"
+            "movl %%ecx, %2;"
+            "movl %%edx, %3;"
+                : "=r" (*eax), "=r" (*ebx), "=r" (*ecx), "=r" (*edx)
+                : "r" (id)
+                : "eax", "ebx", "ecx", "edx");
+}
+
+int ceph_arch_intel_probe(void)
+{
+	/* i know how to check this on x86_64... */
+	unsigned int eax = 1, ebx, ecx, edx;
+	do_cpuid(&eax, &ebx, &ecx, &edx);
+	if ((ecx & (1 << 20)) != 0) {
+		ceph_arch_intel_sse42 = 1;
+	}
+	return 0;
+}
+
+#else // __x86_64__
+
+int ceph_arch_intel_probe(void)
+{
+	/* no features */
+	return 0;
+}
+
+#endif // __x86_64__
diff --git a/src/arch/intel.h b/src/arch/intel.h
new file mode 100644
index 0000000..aefb64e
--- /dev/null
+++ b/src/arch/intel.h
@@ -0,0 +1,16 @@
+#ifndef CEPH_ARCH_INTEL_H
+#define CEPH_ARCH_INTEL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int ceph_arch_intel_sse42;  /* true if we have sse 4.2 features */
+
+extern int ceph_arch_intel_probe(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/arch/neon.c b/src/arch/neon.c
new file mode 100644
index 0000000..32c1f62
--- /dev/null
+++ b/src/arch/neon.c
@@ -0,0 +1,51 @@
+#include "arch/probe.h"
+
+/* flags we export */
+int ceph_arch_neon = 0;
+
+#include <stdio.h>
+
+#if __linux__
+
+#include <elf.h>
+#include <link.h> // ElfW macro
+
+#if __arm__
+#include <asm/hwcap.h>
+#endif // __arm__
+
+static unsigned long get_auxval(unsigned long type)
+{
+	unsigned long result = 0;
+	FILE *f = fopen("/proc/self/auxv", "r");
+	if (f) {
+		ElfW(auxv_t) entry;
+		while (fread(&entry, sizeof(entry), 1, f)) {
+			if (entry.a_type == type) {
+				result = entry.a_un.a_val;
+				break;
+			}
+		}
+		fclose(f);
+	}
+	return result;
+}
+
+static unsigned long get_hwcap(void)
+{
+	return get_auxval(AT_HWCAP);
+}
+
+#endif // __linux__
+
+int ceph_arch_neon_probe(void)
+{
+#if __arm__ && __linux__
+	ceph_arch_neon = (get_hwcap() & HWCAP_NEON) == HWCAP_NEON;
+#else
+	if (0)
+		get_hwcap();  // make compiler shut up
+#endif
+	return 0;
+}
+
diff --git a/src/arch/neon.h b/src/arch/neon.h
new file mode 100644
index 0000000..0c8aacf
--- /dev/null
+++ b/src/arch/neon.h
@@ -0,0 +1,16 @@
+#ifndef CEPH_ARCH_NEON_H
+#define CEPH_ARCH_NEON_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int ceph_arch_neon;  /* true if we have ARM NEON abilities */
+
+extern int ceph_arch_neon_probe(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/arch/probe.cc b/src/arch/probe.cc
new file mode 100644
index 0000000..8648e54
--- /dev/null
+++ b/src/arch/probe.cc
@@ -0,0 +1,22 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "arch/probe.h"
+
+#include "arch/intel.h"
+#include "arch/neon.h"
+
+int ceph_arch_probe(void)
+{
+  if (ceph_arch_probed)
+    return 1;
+
+  ceph_arch_intel_probe();
+  ceph_arch_neon_probe();
+
+  ceph_arch_probed = 1;
+  return 1;
+}
+
+// do this once using the magic of c++.
+int ceph_arch_probed = ceph_arch_probe();
diff --git a/src/arch/probe.h b/src/arch/probe.h
new file mode 100644
index 0000000..a789c4e
--- /dev/null
+++ b/src/arch/probe.h
@@ -0,0 +1,16 @@
+#ifndef CEPH_ARCH_PROBE_H
+#define CEPH_ARCH_PROBE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int ceph_arch_probed;  /* non-zero if we've probed features */
+
+extern int ceph_arch_probe(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/auth/AuthClientHandler.h b/src/auth/AuthClientHandler.h
index 24df969..5d129ad 100644
--- a/src/auth/AuthClientHandler.h
+++ b/src/auth/AuthClientHandler.h
@@ -24,7 +24,7 @@
 #include "common/Timer.h"
 
 class CephContext;
-class MAuthReply;
+struct MAuthReply;
 class AuthClientHandler;
 class RotatingKeyRing;
 
diff --git a/src/auth/AuthMethodList.h b/src/auth/AuthMethodList.h
index 7b21b32..b5aae0b 100644
--- a/src/auth/AuthMethodList.h
+++ b/src/auth/AuthMethodList.h
@@ -15,7 +15,8 @@
 #ifndef CEPH_AUTHMETHODLIST_H
 #define CEPH_AUTHMETHODLIST_H
 
-#include "include/inttypes.h"
+#include "include/int_types.h"
+
 #include <list>
 #include <set>
 #include <string>
diff --git a/src/auth/Makefile.am b/src/auth/Makefile.am
new file mode 100644
index 0000000..f7f3b38
--- /dev/null
+++ b/src/auth/Makefile.am
@@ -0,0 +1,46 @@
+libauth_la_SOURCES = \
+	auth/AuthAuthorizeHandler.cc \
+	auth/AuthClientHandler.cc \
+	auth/AuthSessionHandler.cc \
+	auth/AuthServiceHandler.cc \
+	auth/AuthMethodList.cc \
+	auth/cephx/CephxAuthorizeHandler.cc \
+	auth/cephx/CephxClientHandler.cc \
+	auth/cephx/CephxProtocol.cc \
+	auth/cephx/CephxServiceHandler.cc \
+	auth/cephx/CephxSessionHandler.cc \
+	auth/cephx/CephxKeyServer.cc \
+	auth/none/AuthNoneAuthorizeHandler.cc \
+	auth/unknown/AuthUnknownAuthorizeHandler.cc \
+	auth/Crypto.cc \
+	auth/KeyRing.cc \
+	auth/RotatingKeyRing.cc
+noinst_LTLIBRARIES += libauth.la
+
+noinst_HEADERS += \
+	auth/cephx/CephxAuthorizeHandler.h \
+	auth/cephx/CephxKeyServer.h \
+	auth/cephx/CephxProtocol.h \
+	auth/cephx/CephxClientHandler.h \
+	auth/cephx/CephxServiceHandler.h \
+	auth/cephx/CephxSessionHandler.h \
+	auth/none/AuthNoneAuthorizeHandler.h \
+	auth/none/AuthNoneClientHandler.h \
+	auth/none/AuthNoneServiceHandler.h \
+	auth/none/AuthNoneSessionHandler.h \
+	auth/none/AuthNoneProtocol.h \
+	auth/unknown/AuthUnknownAuthorizeHandler.h \
+	auth/unknown/AuthUnknownClientHandler.h \
+	auth/unknown/AuthUnknownServiceHandler.h \
+	auth/unknown/AuthUnknownSessionHandler.h \
+	auth/unknown/AuthUnknownProtocol.h \
+	auth/Auth.h \
+	auth/AuthMethodList.h \
+	auth/AuthClientHandler.h \
+	auth/AuthServiceHandler.h \
+	auth/AuthSessionHandler.h \
+	auth/AuthAuthorizeHandler.h \
+	auth/KeyRing.h \
+	auth/RotatingKeyRing.h \
+	auth/Crypto.h
+
diff --git a/src/auth/cephx/CephxKeyServer.cc b/src/auth/cephx/CephxKeyServer.cc
index e0c8174..e57b557 100644
--- a/src/auth/cephx/CephxKeyServer.cc
+++ b/src/auth/cephx/CephxKeyServer.cc
@@ -163,7 +163,7 @@ bool KeyServer::_check_rotating_secrets()
     ldout(cct, 10) << __func__ << " added " << added << dendl;
     data.rotating_ver++;
     //data.next_rotating_time = ceph_clock_now(cct);
-    //data.next_rotating_time += MIN(g_conf->auth_mon_ticket_ttl, g_conf->auth_service_ticket_ttl);
+    //data.next_rotating_time += MIN(cct->_conf->auth_mon_ticket_ttl, cct->_conf->auth_service_ticket_ttl);
     _dump_rotating_secrets();
     return true;
   }
@@ -191,7 +191,7 @@ int KeyServer::_rotate_secret(uint32_t service_id)
   RotatingSecrets& r = data.rotating_secrets[service_id];
   int added = 0;
   utime_t now = ceph_clock_now(cct);
-  double ttl = service_id == CEPH_ENTITY_TYPE_AUTH ? g_conf->auth_mon_ticket_ttl : g_conf->auth_service_ticket_ttl;
+  double ttl = service_id == CEPH_ENTITY_TYPE_AUTH ? cct->_conf->auth_mon_ticket_ttl : cct->_conf->auth_service_ticket_ttl;
 
   while (r.need_new_secrets(now)) {
     ExpiringCryptoKey ek;
@@ -424,7 +424,7 @@ int KeyServer::_build_session_auth_info(uint32_t service_id, CephXServiceTicketI
 {
   info.service_id = service_id;
   info.ticket = auth_ticket_info.ticket;
-  info.ticket.init_timestamps(ceph_clock_now(cct), g_conf->auth_service_ticket_ttl);
+  info.ticket.init_timestamps(ceph_clock_now(cct), cct->_conf->auth_service_ticket_ttl);
 
   generate_secret(info.session_key);
 
diff --git a/src/ceph-create-keys b/src/ceph-create-keys
index 176b06e..0359228 100755
--- a/src/ceph-create-keys
+++ b/src/ceph-create-keys
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 import argparse
 import errno
 import json
diff --git a/src/ceph-disk b/src/ceph-disk
index 0ecfdf0..64d944d 100755
--- a/src/ceph-disk
+++ b/src/ceph-disk
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 import argparse
 import errno
@@ -570,7 +570,7 @@ def get_fsid(cluster):
     fsid = get_conf(cluster=cluster, variable='fsid')
     if fsid is None:
         raise Error('getting cluster uuid from configuration failed')
-    return fsid
+    return fsid.lower()
 
 
 def get_or_create_dmcrypt_key(
@@ -671,6 +671,7 @@ def mount(
         subprocess.check_call(
             args=[
                 'mount',
+                '-t', fstype,
                 '-o', options,
                 '--',
                 dev,
@@ -850,9 +851,21 @@ def prepare_journal_dev(
                 journal,
                 ],
             )
+
+        # try to make sure the kernel refreshes the table.  note
+        # that if this gets ebusy, we are probably racing with
+        # udev because it already updated it.. ignore failure here.
+        LOG.debug('Calling partprobe on prepared device %s', journal)
+        subprocess.call(
+            args=[
+                'partprobe',
+                journal,
+                ],
+            )
+
+        # wait for udev event queue to clear
         subprocess.call(
             args=[
-                # wait for udev event queue to clear
                 'udevadm',
                 'settle',
                 ],
@@ -875,15 +888,12 @@ def prepare_journal_dev(
 
 
 def prepare_journal_file(
-    journal,
-    journal_size):
+    journal):
 
     if not os.path.exists(journal):
-        LOG.debug('Creating journal file %s with size %dM', journal, journal_size)
+        LOG.debug('Creating journal file %s with size 0 (ceph-osd will resize and allocate)', journal)
         with file(journal, 'wb') as journal_file:
-            journal_file.truncate(journal_size * 1048576)
-
-    # FIXME: should we resize an existing journal file?
+            pass
 
     LOG.debug('Journal is file %s', journal)
     LOG.warning('OSD will not be hot-swappable if journal is not the same device as the osd data')
@@ -908,13 +918,13 @@ def prepare_journal(
     if not os.path.exists(journal):
         if force_dev:
             raise Error('Journal does not exist; not a block device', journal)
-        return prepare_journal_file(journal, journal_size)
+        return prepare_journal_file(journal)
 
     jmode = os.stat(journal).st_mode
     if stat.S_ISREG(jmode):
         if force_dev:
             raise Error('Journal is not a block device', journal)
-        return prepare_journal_file(journal, journal_size)
+        return prepare_journal_file(journal)
 
     if stat.S_ISBLK(jmode):
         if force_file:
@@ -1591,6 +1601,7 @@ def find_cluster_by_uuid(_uuid):
     Find a cluster name by searching /etc/ceph/*.conf for a conf file
     with the right uuid.
     """
+    _uuid = _uuid.lower()
     no_fsid = []
     if not os.path.exists('/etc/ceph'):
         return None
@@ -1598,11 +1609,15 @@ def find_cluster_by_uuid(_uuid):
         if not conf_file.endswith('.conf'):
             continue
         cluster = conf_file[:-5]
-        fsid = get_conf(cluster, 'fsid')
-        if fsid is None:
+        try:
+            fsid = get_fsid(cluster)
+        except Error as e: 
+            if e.message != 'getting cluster uuid from configuration failed':
+                raise e
             no_fsid.append(cluster)
-        elif fsid == _uuid:
-            return cluster
+        else:
+            if fsid == _uuid:
+                return cluster
     # be tolerant of /etc/ceph/ceph.conf without an fsid defined.
     if len(no_fsid) == 1 and no_fsid[0] == 'ceph':
         LOG.warning('No fsid defined in /etc/ceph/ceph.conf; using anyway')
diff --git a/src/ceph-post-file.in b/src/ceph-post-file.in
new file mode 100755
index 0000000..ba366db
--- /dev/null
+++ b/src/ceph-post-file.in
@@ -0,0 +1,157 @@
+#!/bin/bash -e
+
+# if we start up as ./$0, assume we are running from a source
+# checkout.
+if [ `dirname $0` = "." ] && [ $PWD != "/usr/bin" ]; then
+    known_hosts=../share/known_hosts_drop.ceph.com
+    ssh_key=../share/id_dsa_drop.ceph.com
+else
+    known_hosts=@datadir@/known_hosts_drop.ceph.com
+    ssh_key=@datadir@/id_dsa_drop.ceph.com
+fi
+
+usage() {
+    echo "Usage: $0 [options] file1 [dir2 ...]
+
+Easily upload files or directories to ceph.com for analysis by Ceph
+developers.
+
+Each invocation uploads files or directories to a separate directory
+with a unique tag.  That tag can be passed to a developer or
+referenced in a bug report (http://tracker.ceph.com/).  Once the
+upload completes, the directory is marked non-readable and
+non-writeable to prevent access or modification by other users.
+
+WARNING:
+  Basic measures are taken to make posted data be visible only to
+  developers with access to ceph.com infrastructure. However, users
+  should think twice and/or take appropriate precautions before
+  posting potentially sensitive data (for example, logs or data
+  directories that contain Ceph secrets).
+
+Options:
+  -d <description>  Description for this post
+                      [Default: none]
+  -u <user>         User identifier
+                      [Default: \`whoami\`@\`hostname -f\`]
+  -r <user at host>    Remote to upload to
+                      [Default: postfile at drop.ceph.com]
+  -k <path>         known_hosts file
+                      [Default: /usr/share/ceph/known_hosts_drop.ceph.com]
+  -i <path>         Ssh identity file
+                      [Default: /usr/share/ceph/id_dsa_drop.ceph.com]
+  -h                Show this usage information
+"
+}
+
+if [ -z "$*" ]; then
+    usage
+    exit 1
+fi
+
+description=""
+user="`whoami`@`hostname -f`"
+remote="postfile at drop.ceph.com"
+case $1 in
+    -d | --description)
+	description="$2"
+	shift
+	shift
+	;;
+    -u | --user)
+	user="$2"
+	shift
+	shift
+	;;
+    -h | --help)
+	usage
+	exit 0
+	;;
+    -k | --known-hosts)
+	known_hosts="$1"
+	shift
+	shift
+	;;
+    -i)
+	ssh_key="$1"
+	shift
+	shift
+	;;
+    -r | --remote)
+	remote="$1"
+	shift
+	shift
+	;;
+esac
+
+# this id should be shared
+id=`uuidgen`
+echo "$0: upload tag $id"
+
+# this is secret goop we add to the directory so that $id is not
+# enough to find the data using the shared user; only ceph developers
+# who have access to the server and can read the post directory can
+# find the uploaded data.
+nonce=`uuidgen`
+
+# stick the user info in the dir too
+dir="${id}_${user}_${nonce}"
+
+t1=$(mktemp) || exit
+t2=$(mktemp) || exit
+t3=$(mktemp) || exit
+t4=$(mktemp) || exit
+trap "rm -f -- '$t1' '$t2' '$t3' '$t4'" EXIT
+cat > $t1 <<EOF
+mkdir post/$dir
+cd post/$dir
+EOF
+
+echo "$0: user: $user"
+cat > $t3 <<EOF
+$user
+EOF
+echo put $t3 user >> $t1
+
+if [ -n "$description" ]; then
+    echo "$0: description: $description"
+    cat > $t2 <<EOF
+$description
+EOF
+    echo put $t2 description >> $t1
+fi
+
+while [ -n "$*" ]; do
+    if [ -d "$1" ]; then
+	echo $0: will upload directory $1
+	bn=`basename "$1"`
+	cat >> $t1 <<EOF
+mkdir $bn
+put -r $1
+EOF
+    else
+	echo $0: will upload file $1
+	cat >> $t1 <<EOF
+put $1
+EOF
+    fi
+    shift
+done
+
+# no UserKnownHostsFile so that we don't try to record the IP hash key
+# GLobalKnownHostsFile so that we are verifying that this is the real drop.ceph.com
+
+cp "$ssh_key" "$t4"
+cp "${ssh_key}.pub" "$t4.pub"
+
+sftp -i $t4 \
+    -C \
+    -oCheckHostIP=no \
+    -oGlobalKnownHostsFile=$known_hosts \
+    -oBatchMode=no \
+    -b $t1 -- $remote
+
+echo "$0: copy the upload id below to share with a dev:
+
+ceph-post-file: $id
+"
diff --git a/src/ceph-rest-api b/src/ceph-rest-api
index ae5245b..772b3d2 100755
--- a/src/ceph-rest-api
+++ b/src/ceph-rest-api
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 # vim: ts=4 sw=4 smarttab expandtab
 
 import argparse
diff --git a/src/ceph.in b/src/ceph.in
index b14842a..57816d3 100755
--- a/src/ceph.in
+++ b/src/ceph.in
@@ -1,8 +1,10 @@
+# -*- mode:python -*-
+# vim: ts=4 sw=4 smarttab expandtab
 #
 # Processed in Makefile to add python #! line and version variable
 #
 #
-# vim: ts=4 sw=4 smarttab expandtab
+
 
 """
 ceph.in becomes ceph, the command-line management tool for Ceph clusters.
@@ -35,7 +37,6 @@ if MYDIR.endswith('src') and \
     if 'LD_LIBRARY_PATH' in os.environ:
         if MYLIBPATH not in os.environ['LD_LIBRARY_PATH']:
             os.environ['LD_LIBRARY_PATH'] += ':' + MYLIBPATH
-            os.environ['PATH'] += ':' + MYDIR
             print >> sys.stderr, DEVMODEMSG
             os.execvp('python', ['python'] + sys.argv)
     else:
@@ -43,6 +44,8 @@ if MYDIR.endswith('src') and \
         print >> sys.stderr, DEVMODEMSG
         os.execvp('python', ['python'] + sys.argv)
     sys.path.insert(0, os.path.join(MYDIR, 'pybind'))
+    if MYDIR not in os.environ['PATH']:
+        os.environ['PATH'] += ':' + MYDIR
 
 import argparse
 import errno
@@ -158,17 +161,28 @@ def parse_cmdargs(args=None, target=''):
     parser.add_argument('-f', '--format', choices=['json', 'json-pretty',
                         'xml', 'xml-pretty', 'plain'], dest='output_format')
 
+    parser.add_argument('--connect-timeout', dest='cluster_timeout',
+                        type=int,
+                        help='set a timeout for connecting to the cluster')
+
     # returns a Namespace with the parsed args, and a list of all extras
     parsed_args, extras = parser.parse_known_args(args)
 
     return parser, parsed_args, extras
 
-def do_help(parser, args):
+
+def hdr(s):
+    print '\n', s, '\n', '=' * len(s)
+
+def do_basic_help(parser, args):
     """
     Print basic parser help
     If the cluster is available, get and print monitor help
     """
+    hdr('General usage:')
+    parser.print_help()
 
+def do_extended_help(parser, args):
     def help_for_sigs(sigs, partial=None):
         sys.stdout.write(format_help(parse_json_funcsigs(sigs, 'cli'),
                          partial=partial))
@@ -184,18 +198,9 @@ def do_help(parser, args):
         else:
             help_for_sigs(outbuf, partial)
 
-
-    def hdr(s):
-        print '\n', s, '\n', '=' * len(s)
-
-    hdr('Monitor commands:')
     partial = ' '.join(args)
-    parser.print_help()
-    print '\n'
-
-    if (cluster_handle):
+    if (cluster_handle.state == "connected"):
         help_for_target(target=('mon', ''), partial=partial)
-
     return 0
 
 DONTSPLIT = string.letters + '{[<>]}'
@@ -471,10 +476,26 @@ def complete(sigdict, args, target):
     return 0
 
 ###
+# ping a monitor
+###
+def ping_monitor(cluster_handle, name):
+    if 'mon.' not in name:
+        print >> sys.stderr, '"ping" expects a monitor to ping; try "ping mon.<id>"'
+        return 1
+
+    mon_id = name[len('mon.'):]
+    s = cluster_handle.ping_monitor(mon_id)
+    print s
+    return 0
+
+###
 # main
 ###
 
 def main():
+    ceph_args = os.environ.get('CEPH_ARGS')
+    if ceph_args:
+        sys.argv.extend(ceph_args.split())
 
     parser, parsed_args, childargs = parse_cmdargs()
 
@@ -536,6 +557,14 @@ def main():
             return errno.EINVAL
         return 0
 
+    timeout = None
+    if parsed_args.cluster_timeout:
+        timeout = parsed_args.cluster_timeout
+
+    # basic help
+    if parsed_args.help:
+        do_basic_help(parser, childargs)
+
     # handle any 'generic' ceph arguments that we didn't parse here
     global cluster_handle
 
@@ -552,11 +581,16 @@ def main():
     if parsed_args.cluster:
         clustername = parsed_args.cluster
 
-    cluster_handle = rados.Rados(name=name, clustername=clustername,
-                                 conf_defaults=conf_defaults, conffile=conffile)
+    try:
+        cluster_handle = rados.Rados(name=name, clustername=clustername,
+                                     conf_defaults=conf_defaults,
+                                     conffile=conffile)
+        retargs = cluster_handle.conf_parse_argv(childargs)
+    except rados.Error as e:
+        print >> sys.stderr, 'Error initializing cluster client: {0}'.\
+            format(e.__class__.__name__)
+        return 1
 
-    cluster_handle.conf_parse_env()
-    retargs = cluster_handle.conf_parse_argv(childargs)
     #tmp = childargs
     childargs = retargs
     if not childargs:
@@ -574,8 +608,23 @@ def main():
         print >> sys.stderr, '"{0} tell" is deprecated; try "tell {0}.<id>" instead (id can be "*") '.format(childargs[0])
         return 1
 
+    if parsed_args.help:
+        # short default timeout for -h
+        if not timeout:
+            timeout = 5
+
+        hdr('Monitor commands:')
+        print '[Contacting monitor, timeout after %d seconds]' % timeout
+
+    if childargs and childargs[0] == 'ping':
+        if len(childargs) < 2:
+            print >> sys.stderr, '"ping" requires a monitor name as argument: "ping mon.<id>"'
+            return 1
+
     try:
-        cluster_handle.connect()
+        if childargs and childargs[0] == 'ping':
+            return ping_monitor(cluster_handle, childargs[1])
+        cluster_handle.connect(timeout=timeout)
     except KeyboardInterrupt:
         print >> sys.stderr, 'Cluster connection aborted'
         return 1
@@ -585,12 +634,12 @@ def main():
         return 1
 
     if parsed_args.help:
-        return do_help(parser, childargs)
+        return do_extended_help(parser, childargs)
 
     # implement -w/--watch_*
     # This is ugly, but Namespace() isn't quite rich enough.
     level = ''
-    for k,v in parsed_args._get_kwargs():
+    for k, v in parsed_args._get_kwargs():
         if k.startswith('watch') and v:
             if k == 'watch':
                 level = 'info'
@@ -641,7 +690,7 @@ def main():
     if parsed_args.output_file:
         try:
             outf = open(parsed_args.output_file, 'w')
-        except:
+        except Exception as e:
             print >> sys.stderr, \
                 'Can\'t open output file {0}: {1}'.\
                 format(parsed_args.output_file, e)
@@ -678,8 +727,8 @@ def main():
         prefix = ''
         suffix = ''
         if not parsed_args.output_file and len(targets) > 1:
-            prefix='{0}.{1}: '.format(*target)
-            suffix='\n'
+            prefix = '{0}.{1}: '.format(*target)
+            suffix = '\n'
 
         ret, outbuf, outs = json_command(cluster_handle, target=target,
                                          prefix='get_command_descriptions')
@@ -749,7 +798,7 @@ def main():
             if parsed_args.output_format and \
                parsed_args.output_format.startswith('json') and \
                not compat:
-                sys.stdout.write('\n');
+                sys.stdout.write('\n')
 
             # if we are prettifying things, normalize newlines.  sigh.
             if suffix != '':
diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc
index 35ed56a..2fc9e91 100644
--- a/src/ceph_mon.cc
+++ b/src/ceph_mon.cc
@@ -448,6 +448,8 @@ int main(int argc, const char **argv)
       ipaddr = g_conf->public_addr;
       if (ipaddr.get_port() == 0)
 	ipaddr.set_port(CEPH_MON_PORT);
+      dout(0) << "using public_addr " << g_conf->public_addr << " -> "
+	      << ipaddr << dendl;
     } else {
       MonMap tmpmap;
       int err = tmpmap.build_initial(g_ceph_context, cerr);
diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc
index d8590bf..2388762 100644
--- a/src/ceph_osd.cc
+++ b/src/ceph_osd.cc
@@ -170,7 +170,7 @@ int main(int argc, const char **argv)
     if (mc.get_monmap_privately() < 0)
       return -1;
 
-    int err = OSD::mkfs(g_conf->osd_data, g_conf->osd_journal, mc.monmap.fsid, whoami);
+    int err = OSD::mkfs(g_ceph_context, g_conf->osd_data, g_conf->osd_journal, mc.monmap.fsid, whoami);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error creating empty object store in "
 	   << g_conf->osd_data << ": " << cpp_strerror(-err) << TEXT_NORMAL << dendl;
@@ -213,7 +213,7 @@ int main(int argc, const char **argv)
     exit(0);
   if (mkjournal) {
     common_init_finish(g_ceph_context);
-    int err = OSD::mkjournal(g_conf->osd_data, g_conf->osd_journal);
+    int err = OSD::mkjournal(g_ceph_context, g_conf->osd_data, g_conf->osd_journal);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error creating fresh journal " << g_conf->osd_journal
 	   << " for object store " << g_conf->osd_data
@@ -226,7 +226,7 @@ int main(int argc, const char **argv)
   }
   if (flushjournal) {
     common_init_finish(g_ceph_context);
-    int err = OSD::flushjournal(g_conf->osd_data, g_conf->osd_journal);
+    int err = OSD::flushjournal(g_ceph_context, g_conf->osd_data, g_conf->osd_journal);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error flushing journal " << g_conf->osd_journal
 	   << " for object store " << g_conf->osd_data
@@ -240,7 +240,7 @@ int main(int argc, const char **argv)
   }
   if (dump_journal) {
     common_init_finish(g_ceph_context);
-    int err = OSD::dump_journal(g_conf->osd_data, g_conf->osd_journal, cout);
+    int err = OSD::dump_journal(g_ceph_context, g_conf->osd_data, g_conf->osd_journal, cout);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error dumping journal " << g_conf->osd_journal
 	   << " for object store " << g_conf->osd_data
@@ -316,31 +316,34 @@ int main(int argc, const char **argv)
 	 << TEXT_NORMAL << dendl;
   }
 
-  Messenger *client_messenger = Messenger::create(g_ceph_context,
-						  entity_name_t::OSD(whoami), "client",
-						  getpid());
-  Messenger *cluster_messenger = Messenger::create(g_ceph_context,
-						   entity_name_t::OSD(whoami), "cluster",
+  Messenger *ms_public = Messenger::create(g_ceph_context,
+					   entity_name_t::OSD(whoami), "client",
+					   getpid());
+  Messenger *ms_cluster = Messenger::create(g_ceph_context,
+					    entity_name_t::OSD(whoami), "cluster",
+					    getpid());
+  Messenger *ms_hbclient = Messenger::create(g_ceph_context,
+					     entity_name_t::OSD(whoami), "hbclient",
+					     getpid());
+  Messenger *ms_hb_back_server = Messenger::create(g_ceph_context,
+						   entity_name_t::OSD(whoami), "hb_back_server",
 						   getpid());
-  Messenger *messenger_hbclient = Messenger::create(g_ceph_context,
-						    entity_name_t::OSD(whoami), "hbclient",
-						    getpid());
-  Messenger *messenger_hb_back_server = Messenger::create(g_ceph_context,
-						    entity_name_t::OSD(whoami), "hb_back_server",
-						    getpid());
-  Messenger *messenger_hb_front_server = Messenger::create(g_ceph_context,
+  Messenger *ms_hb_front_server = Messenger::create(g_ceph_context,
 						    entity_name_t::OSD(whoami), "hb_front_server",
 						    getpid());
-  cluster_messenger->set_cluster_protocol(CEPH_OSD_PROTOCOL);
-  messenger_hbclient->set_cluster_protocol(CEPH_OSD_PROTOCOL);
-  messenger_hb_back_server->set_cluster_protocol(CEPH_OSD_PROTOCOL);
-  messenger_hb_front_server->set_cluster_protocol(CEPH_OSD_PROTOCOL);
+  Messenger *ms_objecter = Messenger::create(g_ceph_context,
+					     entity_name_t::OSD(whoami), "ms_objecter",
+					     getpid());
+  ms_cluster->set_cluster_protocol(CEPH_OSD_PROTOCOL);
+  ms_hbclient->set_cluster_protocol(CEPH_OSD_PROTOCOL);
+  ms_hb_back_server->set_cluster_protocol(CEPH_OSD_PROTOCOL);
+  ms_hb_front_server->set_cluster_protocol(CEPH_OSD_PROTOCOL);
 
   cout << "starting osd." << whoami
-       << " at " << client_messenger->get_myaddr()
+       << " at " << ms_public->get_myaddr()
        << " osd_data " << g_conf->osd_data
        << " " << ((g_conf->osd_journal.empty()) ?
-		    "(no journal)" : g_conf->osd_journal)
+		  "(no journal)" : g_conf->osd_journal)
        << std::endl;
 
   boost::scoped_ptr<Throttle> client_byte_throttler(
@@ -356,40 +359,42 @@ int main(int argc, const char **argv)
     CEPH_FEATURE_PGID64 |
     CEPH_FEATURE_MSG_AUTH;
 
-  client_messenger->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
-  client_messenger->set_policy_throttlers(entity_name_t::TYPE_CLIENT,
-					  client_byte_throttler.get(),
-					  client_msg_throttler.get());
-  client_messenger->set_policy(entity_name_t::TYPE_MON,
+  ms_public->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
+  ms_public->set_policy_throttlers(entity_name_t::TYPE_CLIENT,
+				   client_byte_throttler.get(),
+				   client_msg_throttler.get());
+  ms_public->set_policy(entity_name_t::TYPE_MON,
                                Messenger::Policy::lossy_client(supported,
 							       CEPH_FEATURE_UID |
 							       CEPH_FEATURE_PGID64 |
 							       CEPH_FEATURE_OSDENC));
   //try to poison pill any OSD connections on the wrong address
-  client_messenger->set_policy(entity_name_t::TYPE_OSD,
-			       Messenger::Policy::stateless_server(0,0));
+  ms_public->set_policy(entity_name_t::TYPE_OSD,
+			Messenger::Policy::stateless_server(0,0));
   
-  cluster_messenger->set_default_policy(Messenger::Policy::stateless_server(0, 0));
-  cluster_messenger->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::lossy_client(0,0));
-  cluster_messenger->set_policy(entity_name_t::TYPE_OSD,
-				Messenger::Policy::lossless_peer(supported,
-								 CEPH_FEATURE_UID |
-								 CEPH_FEATURE_PGID64 |
-								 CEPH_FEATURE_OSDENC));
-  cluster_messenger->set_policy(entity_name_t::TYPE_CLIENT,
+  ms_cluster->set_default_policy(Messenger::Policy::stateless_server(0, 0));
+  ms_cluster->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::lossy_client(0,0));
+  ms_cluster->set_policy(entity_name_t::TYPE_OSD,
+			 Messenger::Policy::lossless_peer(supported,
+							  CEPH_FEATURE_UID |
+							  CEPH_FEATURE_PGID64 |
+							  CEPH_FEATURE_OSDENC));
+  ms_cluster->set_policy(entity_name_t::TYPE_CLIENT,
+			 Messenger::Policy::stateless_server(0, 0));
+
+  ms_hbclient->set_policy(entity_name_t::TYPE_OSD,
+			  Messenger::Policy::lossy_client(0, 0));
+  ms_hb_back_server->set_policy(entity_name_t::TYPE_OSD,
 				Messenger::Policy::stateless_server(0, 0));
+  ms_hb_front_server->set_policy(entity_name_t::TYPE_OSD,
+				 Messenger::Policy::stateless_server(0, 0));
 
-  messenger_hbclient->set_policy(entity_name_t::TYPE_OSD,
-				 Messenger::Policy::lossy_client(0, 0));
-  messenger_hb_back_server->set_policy(entity_name_t::TYPE_OSD,
-				       Messenger::Policy::stateless_server(0, 0));
-  messenger_hb_front_server->set_policy(entity_name_t::TYPE_OSD,
-					Messenger::Policy::stateless_server(0, 0));
+  ms_objecter->set_default_policy(Messenger::Policy::lossy_client(0, CEPH_FEATURE_OSDREPLYMUX));
 
-  r = client_messenger->bind(g_conf->public_addr);
+  r = ms_public->bind(g_conf->public_addr);
   if (r < 0)
     exit(1);
-  r = cluster_messenger->bind(g_conf->cluster_addr);
+  r = ms_cluster->bind(g_conf->cluster_addr);
   if (r < 0)
     exit(1);
 
@@ -400,7 +405,7 @@ int main(int argc, const char **argv)
     if (hb_back_addr.is_ip())
       hb_back_addr.set_port(0);
   }
-  r = messenger_hb_back_server->bind(hb_back_addr);
+  r = ms_hb_back_server->bind(hb_back_addr);
   if (r < 0)
     exit(1);
 
@@ -408,15 +413,17 @@ int main(int argc, const char **argv)
   entity_addr_t hb_front_addr = g_conf->public_addr;
   if (hb_front_addr.is_ip())
     hb_front_addr.set_port(0);
-  r = messenger_hb_front_server->bind(hb_front_addr);
+  r = ms_hb_front_server->bind(hb_front_addr);
   if (r < 0)
     exit(1);
 
+  ms_objecter->bind(g_conf->public_addr);
+
   // Set up crypto, daemonize, etc.
   global_init_daemonize(g_ceph_context, 0);
   common_init_finish(g_ceph_context);
 
-  if (g_conf->filestore_update_to >= (int)FileStore::on_disk_version) {
+  if (g_conf->filestore_update_to >= (int)FileStore::target_version) {
     int err = OSD::convertfs(g_conf->osd_data, g_conf->osd_journal);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error converting store " << g_conf->osd_data
@@ -430,8 +437,13 @@ int main(int argc, const char **argv)
     return -1;
   global_init_chdir(g_ceph_context);
 
-  osd = new OSD(whoami, cluster_messenger, client_messenger,
-		messenger_hbclient, messenger_hb_front_server, messenger_hb_back_server,
+  osd = new OSD(g_ceph_context, whoami,
+		ms_cluster,
+		ms_public,
+		ms_hbclient,
+		ms_hb_front_server,
+		ms_hb_back_server,
+		ms_objecter,
 		&mc,
 		g_conf->osd_data, g_conf->osd_journal);
 
@@ -445,11 +457,12 @@ int main(int argc, const char **argv)
   // Now close the standard file descriptors
   global_init_shutdown_stderr(g_ceph_context);
 
-  client_messenger->start();
-  messenger_hbclient->start();
-  messenger_hb_front_server->start();
-  messenger_hb_back_server->start();
-  cluster_messenger->start();
+  ms_public->start();
+  ms_hbclient->start();
+  ms_hb_front_server->start();
+  ms_hb_back_server->start();
+  ms_cluster->start();
+  ms_objecter->start();
 
   // start osd
   err = osd->init();
@@ -465,14 +478,17 @@ int main(int argc, const char **argv)
   register_async_signal_handler_oneshot(SIGINT, handle_osd_signal);
   register_async_signal_handler_oneshot(SIGTERM, handle_osd_signal);
 
+  osd->final_init();
+
   if (g_conf->inject_early_sigterm)
     kill(getpid(), SIGTERM);
 
-  client_messenger->wait();
-  messenger_hbclient->wait();
-  messenger_hb_front_server->wait();
-  messenger_hb_back_server->wait();
-  cluster_messenger->wait();
+  ms_public->wait();
+  ms_hbclient->wait();
+  ms_hb_front_server->wait();
+  ms_hb_back_server->wait();
+  ms_cluster->wait();
+  ms_objecter->wait();
 
   unregister_async_signal_handler(SIGHUP, sighup_handler);
   unregister_async_signal_handler(SIGINT, handle_osd_signal);
@@ -481,11 +497,12 @@ int main(int argc, const char **argv)
 
   // done
   delete osd;
-  delete client_messenger;
-  delete messenger_hbclient;
-  delete messenger_hb_front_server;
-  delete messenger_hb_back_server;
-  delete cluster_messenger;
+  delete ms_public;
+  delete ms_hbclient;
+  delete ms_hb_front_server;
+  delete ms_hb_back_server;
+  delete ms_cluster;
+  delete ms_objecter;
   client_byte_throttler.reset();
   client_msg_throttler.reset();
   g_ceph_context->put();
diff --git a/src/client/Client.cc b/src/client/Client.cc
index 4b10cf5..2065189 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -23,6 +23,10 @@
 #include <sys/param.h>
 #include <fcntl.h>
 
+#if defined(__linux__)
+#include <linux/falloc.h>
+#endif
+
 #include <sys/statvfs.h>
 
 #include <iostream>
@@ -107,6 +111,7 @@ bool Client::CommandHook::call(std::string command, cmdmap_t& cmdmap,
 {
   stringstream ss;
   Formatter *f = new_formatter(format);
+  f->open_object_section("result");
   m_client->client_lock.Lock();
   if (command == "mds_requests")
     m_client->dump_mds_requests(f);
@@ -117,6 +122,7 @@ bool Client::CommandHook::call(std::string command, cmdmap_t& cmdmap,
   else
     assert(0 == "bad command registered");
   m_client->client_lock.Unlock();
+  f->close_section();
   f->flush(out);
   delete f;
   return true;
@@ -142,9 +148,12 @@ Client::Client(Messenger *m, MonClient *mc)
     timer(m->cct, client_lock),
     ino_invalidate_cb(NULL),
     ino_invalidate_cb_handle(NULL),
+    dentry_invalidate_cb(NULL),
+    dentry_invalidate_cb_handle(NULL),
     getgroups_cb(NULL),
     getgroups_cb_handle(NULL),
     async_ino_invalidator(m->cct),
+    async_dentry_invalidator(m->cct),
     tick_event(NULL),
     monclient(mc), messenger(m), whoami(m->get_myname().num()),
     initialized(false), mounted(false), unmounting(false),
@@ -404,11 +413,17 @@ void Client::shutdown()
   admin_socket->unregister_command("dump_cache");
 
   if (ino_invalidate_cb) {
-    ldout(cct, 10) << "shutdown stopping invalidator finisher" << dendl;
+    ldout(cct, 10) << "shutdown stopping cache invalidator finisher" << dendl;
     async_ino_invalidator.wait_for_empty();
     async_ino_invalidator.stop();
   }
 
+  if (dentry_invalidate_cb) {
+    ldout(cct, 10) << "shutdown stopping dentry invalidator finisher" << dendl;
+    async_dentry_invalidator.wait_for_empty();
+    async_dentry_invalidator.stop();
+  }
+
   objectcacher->stop();  // outside of client_lock! this does a join.
 
   client_lock.Lock();
@@ -803,16 +818,28 @@ void Client::insert_readdir_results(MetaRequest *request, MetaSession *session,
     ::decode(end, p);
     ::decode(complete, p);
 
+    frag_t fg = request->readdir_frag;
+    uint64_t readdir_offset = request->readdir_offset;
+    string readdir_start = request->readdir_start;
+    if (fg != dst.frag) {
+      ldout(cct, 10) << "insert_trace got new frag " << fg << " -> " << dst.frag << dendl;
+      fg = dst.frag;
+      if (fg.is_leftmost())
+	readdir_offset = 2;
+      else
+	readdir_offset = 0;
+      readdir_start.clear();
+    }
+
     ldout(cct, 10) << "insert_trace " << numdn << " readdir items, end=" << (int)end
-		   << ", offset " << request->readdir_offset
-		   << ", readdir_start " << request->readdir_start << dendl;
+		   << ", offset " << readdir_offset
+		   << ", readdir_start " << readdir_start << dendl;
 
+    request->readdir_reply_frag = fg;
     request->readdir_end = end;
     request->readdir_num = numdn;
 
-    map<string,Dentry*>::iterator pd = dir->dentry_map.upper_bound(request->readdir_start);
-
-    frag_t fg = request->readdir_frag;
+    map<string,Dentry*>::iterator pd = dir->dentry_map.upper_bound(readdir_start);
 
     string dname;
     LeaseStat dlease;
@@ -863,7 +890,7 @@ void Client::insert_readdir_results(MetaRequest *request, MetaSession *session,
 	dn = link(dir, dname, in, NULL);
       }
       update_dentry_lease(dn, &dlease, request->sent_stamp, session);
-      dn->offset = dir_result_t::make_fpos(request->readdir_frag, i + request->readdir_offset);
+      dn->offset = dir_result_t::make_fpos(fg, i + readdir_offset);
 
       // add to cached result list
       in->get();
@@ -1526,7 +1553,7 @@ void Client::_closed_mds_session(MetaSession *s)
   signal_context_list(s->waiting_for_open);
   mount_cond.Signal();
   remove_session_caps(s);
-  kick_requests(s, true);
+  kick_requests_closed(s);
   mds_sessions.erase(s->mds_num);
   delete s;
 }
@@ -1899,7 +1926,7 @@ void Client::handle_mds_map(MMDSMap* m)
 
     if (newstate >= MDSMap::STATE_ACTIVE) {
       if (oldstate < MDSMap::STATE_ACTIVE) {
-	kick_requests(p->second, false);
+	kick_requests(p->second);
 	kick_flushing_caps(p->second);
 	signal_context_list(p->second->waiting_for_open);
 	kick_maxsize_requests(p->second);
@@ -1983,25 +2010,16 @@ void Client::send_reconnect(MetaSession *session)
 }
 
 
-void Client::kick_requests(MetaSession *session, bool signal)
+void Client::kick_requests(MetaSession *session)
 {
   ldout(cct, 10) << "kick_requests for mds." << session->mds_num << dendl;
-
   for (map<tid_t, MetaRequest*>::iterator p = mds_requests.begin();
        p != mds_requests.end();
-       ++p) 
+       ++p) {
     if (p->second->mds == session->mds_num) {
-      if (signal) {
-	// only signal caller if there is a caller
-	// otherwise, let resend_unsafe handle it
-	if (p->second->caller_cond) {
-	  p->second->kick = true;
-	  p->second->caller_cond->Signal();
-	}
-      } else {
-	send_request(p->second, session);
-      }
+      send_request(p->second, session);
     }
+  }
 }
 
 void Client::resend_unsafe_requests(MetaSession *session)
@@ -2012,6 +2030,25 @@ void Client::resend_unsafe_requests(MetaSession *session)
     send_request(*iter, session);
 }
 
+void Client::kick_requests_closed(MetaSession *session)
+{
+  ldout(cct, 10) << "kick_requests_closed for mds." << session->mds_num << dendl;
+  for (map<tid_t, MetaRequest*>::iterator p = mds_requests.begin();
+       p != mds_requests.end();
+       ++p) {
+    if (p->second->mds == session->mds_num) {
+      if (p->second->caller_cond) {
+	p->second->kick = true;
+	p->second->caller_cond->Signal();
+      }
+      p->second->item.remove_myself();
+      p->second->unsafe_item.remove_myself();
+    }
+  }
+  assert(session->requests.empty());
+  assert(session->unsafe_requests.empty());
+}
+
 
 
 
@@ -3545,6 +3582,45 @@ void Client::handle_cap_flushsnap_ack(MetaSession *session, Inode *in, MClientCa
   m->put();
 }
 
+class C_Client_DentryInvalidate : public Context  {
+private:
+  Client *client;
+  vinodeno_t dirino;
+  vinodeno_t ino;
+  string name;
+public:
+  C_Client_DentryInvalidate(Client *c, Dentry *dn) :
+			    client(c), dirino(dn->dir->parent_inode->vino()),
+			    ino(dn->inode->vino()), name(dn->name) { }
+  void finish(int r) {
+    client->_async_dentry_invalidate(dirino, ino, name);
+  }
+};
+
+void Client::_async_dentry_invalidate(vinodeno_t dirino, vinodeno_t ino, string& name)
+{
+  ldout(cct, 10) << "_async_dentry_invalidate '" << name << "' ino " << ino
+		 << " in dir " << dirino << dendl;
+  dentry_invalidate_cb(dentry_invalidate_cb_handle, dirino, ino, name);
+}
+
+void Client::_schedule_invalidate_dentry_callback(Dentry *dn)
+{
+  if (dentry_invalidate_cb && dn->inode->ll_ref > 0)
+    async_dentry_invalidator.queue(new C_Client_DentryInvalidate(this, dn));
+}
+
+void Client::_invalidate_inode_parents(Inode *in)
+{
+  set<Dentry*>::iterator q = in->dn_set.begin();
+  while (q != in->dn_set.end()) {
+    Dentry *dn = *q++;
+    // FIXME: we play lots of unlink/link tricks when handling MDS replies,
+    //        so in->dn_set doesn't always reflect the state of kernel's dcache.
+    _schedule_invalidate_dentry_callback(dn);
+    unlink(dn, false);
+  }
+}
 
 void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, MClientCaps *m)
 {
@@ -3572,8 +3648,12 @@ void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, MClient
     in->uid = m->head.uid;
     in->gid = m->head.gid;
   }
+  bool deleted_inode = false;
   if ((issued & CEPH_CAP_LINK_EXCL) == 0) {
     in->nlink = m->head.nlink;
+    if (in->nlink == 0 &&
+	(new_caps & (CEPH_CAP_LINK_SHARED | CEPH_CAP_LINK_EXCL)))
+      deleted_inode = true;
   }
   if ((issued & CEPH_CAP_XATTR_EXCL) == 0 &&
       m->xattrbl.length() &&
@@ -3627,6 +3707,10 @@ void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, MClient
   if (new_caps)
     signal_cond_list(in->waitfor_caps);
 
+  // may drop inode's last ref
+  if (deleted_inode)
+    _invalidate_inode_parents(in);
+
   m->put();
 }
 
@@ -4944,8 +5028,16 @@ int Client::_readdir_get_frag(dir_result_t *dirp)
 
     dirp->buffer = new vector<pair<string,Inode*> >;
     dirp->buffer->swap(req->readdir_result);
-    dirp->buffer_frag = fg;
 
+    if (fg != req->readdir_reply_frag) {
+      fg = req->readdir_reply_frag;
+      if (fg.is_leftmost())
+	dirp->next_offset = 2;
+      else
+	dirp->next_offset = 0;
+      dirp->offset = dir_result_t::make_fpos(fg, dirp->next_offset);
+    }
+    dirp->buffer_frag = fg;
     dirp->this_offset = dirp->next_offset;
     ldout(cct, 10) << "_readdir_get_frag " << dirp << " got frag " << dirp->buffer_frag
 	     << " this_offset " << dirp->this_offset
@@ -5124,14 +5216,18 @@ int Client::readdir_r_cb(dir_result_t *d, add_dirent_cb_t cb, void *p)
       int r = _readdir_get_frag(dirp);
       if (r)
 	return r;
+      // _readdir_get_frag () may updates dirp->offset if the replied dirfrag is
+      // different than the requested one. (our dirfragtree was outdated)
       fg = dirp->buffer_frag;
+      off = dirp->fragpos();
     }
 
     ldout(cct, 10) << "off " << off << " this_offset " << hex << dirp->this_offset << dec << " size " << dirp->buffer->size()
 	     << " frag " << fg << dendl;
+
+    dirp->offset = dir_result_t::make_fpos(fg, off);
     while (off >= dirp->this_offset &&
 	   off - dirp->this_offset < dirp->buffer->size()) {
-      uint64_t pos = dir_result_t::make_fpos(fg, off);
       pair<string,Inode*>& ent = (*dirp->buffer)[off - dirp->this_offset];
 
       int stmask = fill_stat(ent.second, &st);  
@@ -5147,7 +5243,7 @@ int Client::readdir_r_cb(dir_result_t *d, add_dirent_cb_t cb, void *p)
 	return r;
       
       off++;
-      dirp->offset = pos + 1;
+      dirp->offset++;
     }
 
     if (dirp->last_name.length()) {
@@ -5158,10 +5254,10 @@ int Client::readdir_r_cb(dir_result_t *d, add_dirent_cb_t cb, void *p)
 
     if (!fg.is_rightmost()) {
       // next frag!
-      dirp->next_frag();
-      off = 0;
+      _readdir_next_frag(dirp);
       ldout(cct, 10) << " advancing to next frag: " << fg << " -> " << dirp->frag() << dendl;
       fg = dirp->frag();
+      off = 0;
       continue;
     }
 
@@ -6313,6 +6409,17 @@ void Client::ll_register_ino_invalidate_cb(client_ino_callback_t cb, void *handl
   async_ino_invalidator.start();
 }
 
+void Client::ll_register_dentry_invalidate_cb(client_dentry_callback_t cb, void *handle)
+{
+  Mutex::Locker l(client_lock);
+  ldout(cct, 10) << "ll_register_dentry_invalidate_cb cb " << (void*)cb << " p " << (void*)handle << dendl;
+  if (cb == NULL)
+    return;
+  dentry_invalidate_cb = cb;
+  dentry_invalidate_cb_handle = handle;
+  async_dentry_invalidator.start();
+}
+
 void Client::ll_register_getgroups_cb(client_getgroups_callback_t cb, void *handle)
 {
   Mutex::Locker l(client_lock);
@@ -7683,6 +7790,110 @@ int Client::ll_fsync(Fh *fh, bool syncdataonly)
   return _fsync(fh, syncdataonly);
 }
 
+#ifdef FALLOC_FL_PUNCH_HOLE
+
+int Client::_fallocate(Fh *fh, int mode, int64_t offset, int64_t length)
+{
+  if (offset < 0 || length <= 0)
+    return -EINVAL;
+
+  if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE))
+    return -EOPNOTSUPP;
+
+  if ((mode & FALLOC_FL_PUNCH_HOLE) && !(mode & FALLOC_FL_KEEP_SIZE))
+    return -EOPNOTSUPP;
+
+  if (osdmap->test_flag(CEPH_OSDMAP_FULL) && !(mode & FALLOC_FL_PUNCH_HOLE))
+    return -ENOSPC;
+
+  Inode *in = fh->inode;
+
+  if (in->snapid != CEPH_NOSNAP)
+    return -EROFS;
+
+  if ((fh->mode & CEPH_FILE_MODE_WR) == 0)
+    return -EBADF;
+
+  int have;
+  int r = get_caps(in, CEPH_CAP_FILE_WR, CEPH_CAP_FILE_BUFFER, &have, -1);
+  if (r < 0)
+    return r;
+
+  if (mode & FALLOC_FL_PUNCH_HOLE) {
+    Mutex flock("Client::_punch_hole flock");
+    Cond cond;
+    bool done = false;
+    Context *onfinish = new C_SafeCond(&flock, &cond, &done);
+    Context *onsafe = new C_Client_SyncCommit(this, in);
+
+    unsafe_sync_write++;
+    get_cap_ref(in, CEPH_CAP_FILE_BUFFER);
+
+    _invalidate_inode_cache(in, offset, length, true);
+    r = filer->zero(in->ino, &in->layout,
+                    in->snaprealm->get_snap_context(),
+                    offset, length,
+                    ceph_clock_now(cct),
+                    0, true, onfinish, onsafe);
+    if (r < 0)
+      goto done;
+
+    in->mtime = ceph_clock_now(cct);
+    mark_caps_dirty(in, CEPH_CAP_FILE_WR);
+
+    client_lock.Unlock();
+    flock.Lock();
+    while (!done)
+      cond.Wait(flock);
+    flock.Unlock();
+    client_lock.Lock();
+  } else if (!(mode & FALLOC_FL_KEEP_SIZE)) {
+    uint64_t size = offset + length;
+    if (size > in->size) {
+      in->size = size;
+      in->mtime = ceph_clock_now(cct);
+      mark_caps_dirty(in, CEPH_CAP_FILE_WR);
+
+      if ((in->size << 1) >= in->max_size &&
+          (in->reported_size << 1) < in->max_size)
+        check_caps(in, false);
+    }
+  }
+
+done:
+  put_cap_ref(in, CEPH_CAP_FILE_WR);
+  return r;
+}
+#else
+
+int Client::_fallocate(Fh *fh, int mode, int64_t offset, int64_t length)
+{
+  return -EOPNOTSUPP;
+}
+
+#endif
+
+
+int Client::ll_fallocate(Fh *fh, int mode, loff_t offset, loff_t length)
+{
+  Mutex::Locker lock(client_lock);
+  ldout(cct, 3) << "ll_fallocate " << fh << " " << fh->inode->ino << " " << dendl;
+  tout(cct) << "ll_fallocate " << mode << " " << offset << " " << length << std::endl;
+  tout(cct) << (unsigned long)fh << std::endl;
+
+  return _fallocate(fh, mode, offset, length);
+}
+
+int Client::fallocate(int fd, int mode, loff_t offset, loff_t length)
+{
+  Mutex::Locker lock(client_lock);
+  tout(cct) << "fallocate " << " " << fd << mode << " " << offset << " " << length << std::endl;
+
+  Fh *fh = get_filehandle(fd);
+  if (!fh)
+    return -EBADF;
+  return _fallocate(fh, mode, offset, length);
+}
 
 int Client::ll_release(Fh *fh)
 {
diff --git a/src/client/Client.h b/src/client/Client.h
index 1117ff3..649bacc 100644
--- a/src/client/Client.h
+++ b/src/client/Client.h
@@ -59,13 +59,13 @@ class MClientRequest;
 class MClientSession;
 class MClientRequest;
 class MClientRequestForward;
-class MClientLease;
+struct MClientLease;
 class MClientCaps;
 class MClientCapRelease;
 
-class DirStat;
-class LeaseStat;
-class InodeStat;
+struct DirStat;
+struct LeaseStat;
+struct InodeStat;
 
 class Filer;
 class Objecter;
@@ -110,16 +110,19 @@ class Inode;
 struct Cap;
 class Dir;
 class Dentry;
-class SnapRealm;
-class Fh;
-class CapSnap;
+struct SnapRealm;
+struct Fh;
+struct CapSnap;
 
-class MetaSession;
-class MetaRequest;
+struct MetaSession;
+struct MetaRequest;
 
 
 typedef void (*client_ino_callback_t)(void *handle, vinodeno_t ino, int64_t off, int64_t len);
 
+typedef void (*client_dentry_callback_t)(void *handle, vinodeno_t dirino,
+					 vinodeno_t ino, string& name);
+
 typedef int (*client_getgroups_callback_t)(void *handle, uid_t uid, gid_t **sgids);
 
 // ========================================================
@@ -134,7 +137,7 @@ struct dir_result_t {
     return ((uint64_t)frag << SHIFT) | (uint64_t)off;
   }
   static unsigned fpos_frag(uint64_t p) {
-    return p >> SHIFT;
+    return (p & ~END) >> SHIFT;
   }
   static unsigned fpos_off(uint64_t p) {
     return p & MASK;
@@ -173,8 +176,8 @@ struct dir_result_t {
     offset = (uint64_t)f << SHIFT;
     assert(sizeof(offset) == 8);
   }
-  void set_end() { offset = END; }
-  bool at_end() { return (offset == END); }
+  void set_end() { offset |= END; }
+  bool at_end() { return (offset & END); }
 
   void reset() {
     last_name.clear();
@@ -211,10 +214,14 @@ class Client : public Dispatcher {
   client_ino_callback_t ino_invalidate_cb;
   void *ino_invalidate_cb_handle;
 
+  client_dentry_callback_t dentry_invalidate_cb;
+  void *dentry_invalidate_cb_handle;
+
   client_getgroups_callback_t getgroups_cb;
   void *getgroups_cb_handle;
 
   Finisher async_ino_invalidator;
+  Finisher async_dentry_invalidator;
 
   Context *tick_event;
   utime_t last_cap_renew;
@@ -270,7 +277,8 @@ public:
   void connect_mds_targets(int mds);
   void send_request(MetaRequest *request, MetaSession *session);
   MClientRequest *build_client_request(MetaRequest *request);
-  void kick_requests(MetaSession *session, bool signal);
+  void kick_requests(MetaSession *session);
+  void kick_requests_closed(MetaSession *session);
   void handle_client_request_forward(MClientRequestForward *reply);
   void handle_client_reply(MClientReply *reply);
 
@@ -357,6 +365,7 @@ protected:
 
   friend class C_Client_PutInode; // calls put_inode()
   friend class C_Client_CacheInvalidate;  // calls ino_invalidate_cb
+  friend class C_Client_DentryInvalidate;  // calls dentry_invalidate_cb
 
   //int get_cache_size() { return lru.lru_get_size(); }
   //void set_cache_size(int m) { lru.lru_set_max(m); }
@@ -439,7 +448,7 @@ protected:
   void maybe_update_snaprealm(SnapRealm *realm, snapid_t snap_created, snapid_t snap_highwater, 
 			      vector<snapid_t>& snaps);
 
-  void handle_snap(class MClientSnap *m);
+  void handle_snap(struct MClientSnap *m);
   void handle_caps(class MClientCaps *m);
   void handle_cap_import(MetaSession *session, Inode *in, class MClientCaps *m);
   void handle_cap_export(MetaSession *session, Inode *in, class MClientCaps *m);
@@ -459,6 +468,10 @@ protected:
   void finish_cap_snap(Inode *in, CapSnap *capsnap, int used);
   void _flushed_cap_snap(Inode *in, snapid_t seq);
 
+  void _schedule_invalidate_dentry_callback(Dentry *dn);
+  void _async_dentry_invalidate(vinodeno_t dirino, vinodeno_t ino, string& name);
+  void _invalidate_inode_parents(Inode *in);
+
   void _schedule_invalidate_callback(Inode *in, int64_t off, int64_t len, bool keep_caps);
   void _invalidate_inode_cache(Inode *in, bool keep_caps);
   void _invalidate_inode_cache(Inode *in, int64_t off, int64_t len, bool keep_caps);
@@ -560,6 +573,7 @@ private:
   int _flush(Fh *fh);
   int _fsync(Fh *fh, bool syncdataonly);
   int _sync_fs();
+  int _fallocate(Fh *fh, int mode, int64_t offset, int64_t length);
 
   int get_or_create(Inode *dir, const char* name,
 		    Dentry **pdn, bool expect_null=false);
@@ -658,6 +672,7 @@ public:
   int ftruncate(int fd, loff_t size);
   int fsync(int fd, bool syncdataonly);
   int fstat(int fd, struct stat *stbuf);
+  int fallocate(int fd, int mode, loff_t offset, loff_t length);
 
   // full path xattr ops
   int getxattr(const char *path, const char *name, void *value, size_t size);
@@ -727,11 +742,14 @@ public:
   int ll_write(Fh *fh, loff_t off, loff_t len, const char *data);
   int ll_flush(Fh *fh);
   int ll_fsync(Fh *fh, bool syncdataonly);
+  int ll_fallocate(Fh *fh, int mode, loff_t offset, loff_t length);
   int ll_release(Fh *fh);
   int ll_statfs(vinodeno_t vino, struct statvfs *stbuf);
 
   void ll_register_ino_invalidate_cb(client_ino_callback_t cb, void *handle);
 
+  void ll_register_dentry_invalidate_cb(client_dentry_callback_t cb, void *handle);
+
   void ll_register_getgroups_cb(client_getgroups_callback_t cb, void *handle);
 };
 
diff --git a/src/client/Inode.h b/src/client/Inode.h
index af4830b..cc054a6 100644
--- a/src/client/Inode.h
+++ b/src/client/Inode.h
@@ -13,10 +13,10 @@
 #include "osdc/ObjectCacher.h"
 #include "include/assert.h"
 
-class MetaSession;
+struct MetaSession;
 class Dentry;
 class Dir;
-class SnapRealm;
+struct SnapRealm;
 class Inode;
 
 struct Cap {
diff --git a/src/client/Makefile.am b/src/client/Makefile.am
new file mode 100644
index 0000000..53107eb
--- /dev/null
+++ b/src/client/Makefile.am
@@ -0,0 +1,35 @@
+libclient_la_SOURCES = \
+	client/Client.cc \
+	client/Inode.cc \
+	client/Dentry.cc \
+	client/MetaRequest.cc \
+	client/ClientSnapRealm.cc \
+	client/MetaSession.cc \
+	client/Trace.cc
+libclient_la_LIBADD = $(LIBOSDC) $(LIBEDIT_LIBS)
+noinst_LTLIBRARIES += libclient.la
+
+noinst_HEADERS += \
+	client/Client.h \
+	client/Dentry.h \
+	client/Dir.h \
+	client/Fh.h \
+	client/Inode.h \
+	client/MetaRequest.h \
+	client/MetaSession.h \
+	client/ClientSnapRealm.h \
+	client/SyntheticClient.h \
+	client/Trace.h \
+	client/ioctl.h \
+	client/ObjecterWriteback.h
+
+if WITH_FUSE
+libclient_fuse_la_SOURCES = client/fuse_ll.cc
+libclient_fuse_la_LIBADD = libclient.la -lfuse
+noinst_LTLIBRARIES += libclient_fuse.la
+noinst_HEADERS += client/fuse_ll.h
+endif
+
+ceph_test_ioctls_SOURCES = client/test_ioctls.c
+bin_DEBUGPROGRAMS += ceph_test_ioctls
+
diff --git a/src/client/MetaRequest.h b/src/client/MetaRequest.h
index 036b415..5583cd1 100644
--- a/src/client/MetaRequest.h
+++ b/src/client/MetaRequest.h
@@ -57,6 +57,7 @@ public:
   string readdir_start;  // starting _after_ this name
   uint64_t readdir_offset;
 
+  frag_t readdir_reply_frag;
   vector<pair<string,Inode*> > readdir_result;
   bool readdir_end;
   int readdir_num;
diff --git a/src/client/MetaSession.h b/src/client/MetaSession.h
index 01575ef..a6cf634 100644
--- a/src/client/MetaSession.h
+++ b/src/client/MetaSession.h
@@ -11,10 +11,10 @@
 
 #include "messages/MClientCapRelease.h"
 
-class Cap;
+struct Cap;
 class Inode;
-class CapSnap;
-class MetaRequest;
+struct CapSnap;
+struct MetaRequest;
 class MClientCapRelease;
 
 struct MetaSession {
diff --git a/src/client/SyntheticClient.cc b/src/client/SyntheticClient.cc
index 79171da..6b2c7b1 100644
--- a/src/client/SyntheticClient.cc
+++ b/src/client/SyntheticClient.cc
@@ -267,7 +267,7 @@ void parse_syn_options(vector<const char*>& args)
 }
 
 
-SyntheticClient::SyntheticClient(Client *client, int w) 
+SyntheticClient::SyntheticClient(Client *client, int w)
 {
   this->client = client;
   whoami = w;
@@ -282,7 +282,7 @@ SyntheticClient::SyntheticClient(Client *client, int w)
   this->iargs = syn_iargs;
   this->sargs = syn_sargs;
 
-  run_start = ceph_clock_now(g_ceph_context);
+  run_start = ceph_clock_now(client->cct);
 }
 
 
@@ -332,7 +332,7 @@ int SyntheticClient::run()
     return -1;
   }
 
-  //run_start = ceph_clock_now(g_ceph_context);
+  //run_start = ceph_clock_now(client->cct);
   run_until = utime_t(0,0);
   dout(5) << "run" << dendl;
 
@@ -442,7 +442,7 @@ int SyntheticClient::run()
         iargs.pop_front();
         if (iarg1 && run_me()) {
           dout(2) << "sleepuntil " << iarg1 << dendl;
-          utime_t at = ceph_clock_now(g_ceph_context) - run_start;
+          utime_t at = ceph_clock_now(client->cct) - run_start;
           if (at.sec() < iarg1) 
             sleep(iarg1 - at.sec());
         }
@@ -797,14 +797,14 @@ int SyntheticClient::run()
 	  if (iarg1 == 0) iarg1 = 1; // play trace at least once!
 
           for (int i=0; i<iarg1; i++) {
-            utime_t start = ceph_clock_now(g_ceph_context);
+            utime_t start = ceph_clock_now(client->cct);
             
             if (time_to_stop()) break;
             play_trace(t, prefix, !playdata);
             if (time_to_stop()) break;
             if (iarg1 > 1) clean_dir(prefix);  // clean only if repeat
             
-            utime_t lat = ceph_clock_now(g_ceph_context);
+            utime_t lat = ceph_clock_now(client->cct);
             lat -= start;
             
             dout(0) << " trace " << tfile << " loop " << (i+1) << "/" << iarg1 << " done in " << (double)lat << " seconds" << dendl;
@@ -1012,7 +1012,7 @@ int SyntheticClient::play_trace(Trace& t, string& prefix, bool metadata_only)
   char buf[1024];
   char buf2[1024];
 
-  utime_t start = ceph_clock_now(g_ceph_context);
+  utime_t start = ceph_clock_now(client->cct);
 
   hash_map<int64_t, int64_t> open_files;
   hash_map<int64_t, dir_result_t*>    open_dirs;
@@ -1046,7 +1046,7 @@ int SyntheticClient::play_trace(Trace& t, string& prefix, bool metadata_only)
   Cond cond;
   bool ack;
   bool safe;
-  C_GatherBuilder safeg(g_ceph_context, new C_SafeCond(&lock, &cond, &safe));
+  C_GatherBuilder safeg(client->cct, new C_SafeCond(&lock, &cond, &safe));
   Context *safegref = safeg.new_sub();  // take a ref
 
   while (!t.end()) {
@@ -1436,7 +1436,7 @@ int SyntheticClient::play_trace(Trace& t, string& prefix, bool metadata_only)
       bufferlist bl;
       bl.push_back(bp);
       SnapContext snapc;
-      client->objecter->write(oid, oloc, off, len, snapc, bl, ceph_clock_now(g_ceph_context), 0,
+      client->objecter->write(oid, oloc, off, len, snapc, bl, ceph_clock_now(client->cct), 0,
 			      new C_SafeCond(&lock, &cond, &ack),
 			      safeg.new_sub());
       safeg.activate();
@@ -1452,7 +1452,7 @@ int SyntheticClient::play_trace(Trace& t, string& prefix, bool metadata_only)
       object_locator_t oloc(CEPH_DATA_RULE);
       lock.Lock();
       SnapContext snapc;
-      client->objecter->zero(oid, oloc, off, len, snapc, ceph_clock_now(g_ceph_context), 0,
+      client->objecter->zero(oid, oloc, off, len, snapc, ceph_clock_now(client->cct), 0,
 			     new C_SafeCond(&lock, &cond, &ack),
 			     safeg.new_sub());
       safeg.activate();
@@ -1470,8 +1470,7 @@ int SyntheticClient::play_trace(Trace& t, string& prefix, bool metadata_only)
   dout(10) << "trace finished on line " << t.get_line() << dendl;
 
   // wait for safe after an object trace
-  safegref->finish(0);
-  delete safegref;
+  safegref->complete(0);
   lock.Lock();
   while (!safe) {
     dout(10) << "waiting for safe" << dendl;
@@ -1763,9 +1762,9 @@ int SyntheticClient::read_dirs(const char *basedir, int dirs, int files, int dep
   dout(3) << "read_dirs " << basedir << " dirs " << dirs << " files " << files << " depth " << depth << dendl;
 
   list<string> contents;
-  utime_t s = ceph_clock_now(g_ceph_context);
+  utime_t s = ceph_clock_now(client->cct);
   int r = client->getdir(basedir, contents);
-  utime_t e = ceph_clock_now(g_ceph_context);
+  utime_t e = ceph_clock_now(client->cct);
   e -= s;
   if (r < 0) {
     dout(0) << "read_dirs couldn't readdir " << basedir << ", stopping" << dendl;
@@ -1774,12 +1773,12 @@ int SyntheticClient::read_dirs(const char *basedir, int dirs, int files, int dep
 
   for (int i=0; i<files; i++) {
     snprintf(d, sizeof(d), "%s/file.%d", basedir, i);
-    utime_t s = ceph_clock_now(g_ceph_context);
+    utime_t s = ceph_clock_now(client->cct);
     if (client->lstat(d, &st) < 0) {
       dout(2) << "read_dirs failed stat on " << d << ", stopping" << dendl;
       return -1;
     }
-    utime_t e = ceph_clock_now(g_ceph_context);
+    utime_t e = ceph_clock_now(client->cct);
     e -= s;
   }
 
@@ -1817,7 +1816,7 @@ int SyntheticClient::make_files(int num, int count, int priv, bool more)
   
   // files
   struct stat st;
-  utime_t start = ceph_clock_now(g_ceph_context);
+  utime_t start = ceph_clock_now(client->cct);
   for (int c=0; c<count; c++) {
     for (int n=0; n<num; n++) {
       snprintf(d, sizeof(d), "dir.%d.run%d/file.client%d.%d", priv ? whoami:0, c, whoami, n);
@@ -1834,7 +1833,7 @@ int SyntheticClient::make_files(int num, int count, int priv, bool more)
       if (time_to_stop()) return 0;
     }
   }
-  utime_t end = ceph_clock_now(g_ceph_context);
+  utime_t end = ceph_clock_now(client->cct);
   end -= start;
   dout(0) << "makefiles time is " << end << " or " << ((double)end / (double)num) <<" per file" << dendl;
   
@@ -1852,24 +1851,24 @@ int SyntheticClient::link_test()
   client->mkdir("orig", 0755);
   client->mkdir("copy", 0755);
 
-  utime_t start = ceph_clock_now(g_ceph_context);
+  utime_t start = ceph_clock_now(client->cct);
   for (int i=0; i<num; i++) {
     snprintf(d, sizeof(d), "orig/file.%d", i);
     client->mknod(d, 0755);
   }
-  utime_t end = ceph_clock_now(g_ceph_context);
+  utime_t end = ceph_clock_now(client->cct);
   end -= start;
 
   dout(0) << "orig " << end << dendl;
 
   // link
-  start = ceph_clock_now(g_ceph_context);
+  start = ceph_clock_now(client->cct);
   for (int i=0; i<num; i++) {
     snprintf(d, sizeof(d), "orig/file.%d", i);
     snprintf(e, sizeof(e), "copy/file.%d", i);
     client->link(d, e);
   }
-  end = ceph_clock_now(g_ceph_context);
+  end = ceph_clock_now(client->cct);
   end -= start;
   dout(0) << "copy " << end << dendl;
 
@@ -1983,7 +1982,7 @@ int SyntheticClient::write_file(string& fn, int size, loff_t wrsize)   // size i
     return fd;
   }
   
-  utime_t from = ceph_clock_now(g_ceph_context);
+  utime_t from = ceph_clock_now(client->cct);
   utime_t start = from;
   uint64_t bytes = 0, total = 0;
 
@@ -2011,7 +2010,7 @@ int SyntheticClient::write_file(string& fn, int size, loff_t wrsize)   // size i
     bytes += wrsize;
     total += wrsize;
 
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(client->cct);
     if (now - from >= 1.0) {
       double el = now - from;
       dout(0) << "write " << (bytes / el / 1048576.0) << " MB/sec" << dendl;
@@ -2022,7 +2021,7 @@ int SyntheticClient::write_file(string& fn, int size, loff_t wrsize)   // size i
 
   client->fsync(fd, true);
   
-  utime_t stop = ceph_clock_now(g_ceph_context);
+  utime_t stop = ceph_clock_now(client->cct);
   double el = stop - start;
   dout(0) << "write total " << (total / el / 1048576.0) << " MB/sec ("
 	  << total << " bytes in " << el << " seconds)" << dendl;
@@ -2099,7 +2098,7 @@ int SyntheticClient::read_file(const std::string& fn, int size,
     return fd;
   }
 
-  utime_t from = ceph_clock_now(g_ceph_context);
+  utime_t from = ceph_clock_now(client->cct);
   utime_t start = from;
   uint64_t bytes = 0, total = 0;
 
@@ -2115,7 +2114,7 @@ int SyntheticClient::read_file(const std::string& fn, int size,
     bytes += rdsize;
     total += rdsize;
 
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(client->cct);
     if (now - from >= 1.0) {
       double el = now - from;
       dout(0) << "read " << (bytes / el / 1048576.0) << " MB/sec" << dendl;
@@ -2147,7 +2146,7 @@ int SyntheticClient::read_file(const std::string& fn, int size,
       dout(0) << " + " << (bad-1) << " other bad 16-byte bits in this block" << dendl;
   }
 
-  utime_t stop = ceph_clock_now(g_ceph_context);
+  utime_t stop = ceph_clock_now(client->cct);
   double el = stop - start;
   dout(0) << "read total " << (total / el / 1048576.0) << " MB/sec ("
 	  << total << " bytes in " << el << " seconds)" << dendl;
@@ -2182,7 +2181,7 @@ public:
 int SyntheticClient::create_objects(int nobj, int osize, int inflight)
 {
   // divy up
-  int numc = g_conf->num_client ? g_conf->num_client : 1;
+  int numc = client->cct->_conf->num_client ? client->cct->_conf->num_client : 1;
 
   int start, inc, end;
 
@@ -2227,9 +2226,9 @@ int SyntheticClient::create_objects(int nobj, int osize, int inflight)
     }
     dout(10) << "writing " << oid << dendl;
     
-    starts.push_back(ceph_clock_now(g_ceph_context));
+    starts.push_back(ceph_clock_now(client->cct));
     client->client_lock.Lock();
-    client->objecter->write(oid, oloc, 0, osize, snapc, bl, ceph_clock_now(g_ceph_context), 0,
+    client->objecter->write(oid, oloc, 0, osize, snapc, bl, ceph_clock_now(client->cct), 0,
 			    new C_Ref(lock, cond, &unack),
 			    new C_Ref(lock, cond, &unsafe));
     client->client_lock.Unlock();
@@ -2241,7 +2240,7 @@ int SyntheticClient::create_objects(int nobj, int osize, int inflight)
     }
     lock.Unlock();
     
-    utime_t lat = ceph_clock_now(g_ceph_context);
+    utime_t lat = ceph_clock_now(client->cct);
     lat -= starts.front();
     starts.pop_front();
   }
@@ -2324,7 +2323,7 @@ int SyntheticClient::object_rw(int nobj, int osize, int wrpc,
     SnapContext snapc;
     
     client->client_lock.Lock();
-    utime_t start = ceph_clock_now(g_ceph_context);
+    utime_t start = ceph_clock_now(client->cct);
     if (write) {
       dout(10) << "write to " << oid << dendl;
 
@@ -2340,7 +2339,7 @@ int SyntheticClient::object_rw(int nobj, int osize, int wrpc,
         op.op.op = CEPH_OSD_OP_STARTSYNC;
 	m.ops.push_back(op);
       }
-      client->objecter->mutate(oid, oloc, m, snapc, ceph_clock_now(g_ceph_context), 0,
+      client->objecter->mutate(oid, oloc, m, snapc, ceph_clock_now(client->cct), 0,
 			       NULL, new C_Ref(lock, cond, &unack));
       /*client->objecter->write(oid, layout, 0, osize, snapc, bl, 0,
 			      new C_Ref(lock, cond, &unack),
@@ -2360,7 +2359,7 @@ int SyntheticClient::object_rw(int nobj, int osize, int wrpc,
     }
     lock.Unlock();
 
-    utime_t lat = ceph_clock_now(g_ceph_context);
+    utime_t lat = ceph_clock_now(client->cct);
     lat -= start;
     if (client->logger) {
       if (write) 
@@ -3293,7 +3292,7 @@ void SyntheticClient::import_find(const char *base, const char *find, bool data)
     if (sp < 0) dirnum++;
 
     //dout(0) << "leading dir " << filename << " " << dirnum << dendl;
-    if (dirnum % g_conf->num_client != client->get_nodeid()) {
+    if (dirnum % client->cct->_conf->num_client != client->get_nodeid()) {
       dout(20) << "skipping leading dir " << dirnum << " " << filename << dendl;
       continue;
     }
diff --git a/src/client/SyntheticClient.h b/src/client/SyntheticClient.h
index 3bbcb73..f9f4e3d 100644
--- a/src/client/SyntheticClient.h
+++ b/src/client/SyntheticClient.h
@@ -205,7 +205,7 @@ class SyntheticClient {
   }
 
   bool time_to_stop() {
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(client->cct);
     if (0) cout << "time_to_stop .. now " << now 
 		<< " until " << run_until 
 		<< " start " << run_start 
@@ -271,6 +271,7 @@ class SyntheticClient {
   void mksnap(const char *base, const char *name);
   void rmsnap(const char *base, const char *name);
   void mksnapfile(const char *dir);
+
 };
 
 #endif
diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc
index df82ac9..88f727e 100644
--- a/src/client/fuse_ll.cc
+++ b/src/client/fuse_ll.cc
@@ -12,8 +12,9 @@
  * 
  */
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 30
 
+#include <fuse/fuse.h>
 #include <fuse/fuse_lowlevel.h>
 #include <signal.h>
 #include <stdio.h>
@@ -329,7 +330,7 @@ static void fuse_ll_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *
   if (r == 0) {
     fi->fh = (long)fh;
 #if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
-    if (g_conf->fuse_use_invalidate_cb)
+    if (cfuse->client->cct->_conf->fuse_use_invalidate_cb)
       fi->keep_cache = 1;
 #endif
     fuse_reply_open(req, fi);
@@ -399,6 +400,20 @@ static void fuse_ll_ioctl(fuse_req_t req, fuse_ino_t ino, int cmd, void *arg, st
 }
 #endif
 
+#if FUSE_VERSION > FUSE_MAKE_VERSION(2, 9)
+
+static void fuse_ll_fallocate(fuse_req_t req, fuse_ino_t ino, int mode,
+                              off_t offset, off_t length,
+                              struct fuse_file_info *fi)
+{
+  CephFuse::Handle *cfuse = (CephFuse::Handle *)fuse_req_userdata(req);
+  Fh *fh = (Fh*)fi->fh;
+  int r = cfuse->client->ll_fallocate(fh, mode, offset, length);
+  fuse_reply_err(req, -r);
+}
+
+#endif
+
 static void fuse_ll_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
 {
   CephFuse::Handle *cfuse = (CephFuse::Handle *)fuse_req_userdata(req);
@@ -508,6 +523,7 @@ static void fuse_ll_statfs(fuse_req_t req, fuse_ino_t ino)
     fuse_reply_err(req, -r);
 }
 
+#if 0
 static int getgroups_cb(void *handle, uid_t uid, gid_t **sgids)
 {
 #ifdef HAVE_FUSE_GETGROUPS
@@ -520,7 +536,7 @@ static int getgroups_cb(void *handle, uid_t uid, gid_t **sgids)
     return 0;
   }
 
-  *sgids = malloc(c*sizeof(**sgids));
+  *sgids = (gid_t*)malloc(c*sizeof(**sgids));
   if (!*sgids) {
     return -ENOMEM;
   }
@@ -533,8 +549,9 @@ static int getgroups_cb(void *handle, uid_t uid, gid_t **sgids)
 #endif
   return 0;
 }
+#endif
 
-static void invalidate_cb(void *handle, vinodeno_t vino, int64_t off, int64_t len)
+static void ino_invalidate_cb(void *handle, vinodeno_t vino, int64_t off, int64_t len)
 {
 #if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
   CephFuse::Handle *cfuse = (CephFuse::Handle *)handle;
@@ -543,6 +560,19 @@ static void invalidate_cb(void *handle, vinodeno_t vino, int64_t off, int64_t le
 #endif
 }
 
+static void dentry_invalidate_cb(void *handle, vinodeno_t dirino,
+				 vinodeno_t ino, string& name)
+{
+  CephFuse::Handle *cfuse = (CephFuse::Handle *)handle;
+  fuse_ino_t fdirino = cfuse->make_fake_ino(dirino.ino, dirino.snapid);
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 9)
+  fuse_ino_t fino = cfuse->make_fake_ino(ino.ino, ino.snapid);
+  fuse_lowlevel_notify_delete(cfuse->ch, fdirino, fino, name.c_str(), name.length());
+#elif FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
+  fuse_lowlevel_notify_inval_entry(cfuse->ch, fdirino, name.c_str(), name.length());
+#endif
+}
+
 static void do_init(void *data, fuse_conn_info *bar)
 {
   CephFuse::Handle *cfuse = (CephFuse::Handle *)data;
@@ -599,8 +629,20 @@ const static struct fuse_lowlevel_ops fuse_ll_oper = {
  getlk: 0,
  setlk: 0,
  bmap: 0,
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
 #ifdef FUSE_IOCTL_COMPAT
  ioctl: fuse_ll_ioctl,
+#else
+ ioctl: 0,
+#endif
+ poll: 0,
+#if FUSE_VERSION > FUSE_MAKE_VERSION(2, 9)
+ write_buf: 0,
+ retrieve_reply: 0,
+ forget_multi: 0,
+ flock: 0,
+ fallocate: fuse_ll_fallocate
+#endif
 #endif
 };
 
@@ -644,24 +686,24 @@ int CephFuse::Handle::init(int argc, const char *argv[])
   newargv[newargc++] = argv[0];
   newargv[newargc++] = "-f";  // stay in foreground
 
-  if (g_conf->fuse_allow_other) {
+  if (client->cct->_conf->fuse_allow_other) {
     newargv[newargc++] = "-o";
     newargv[newargc++] = "allow_other";
   }
-  if (g_conf->fuse_default_permissions) {
+  if (client->cct->_conf->fuse_default_permissions) {
     newargv[newargc++] = "-o";
     newargv[newargc++] = "default_permissions";
   }
-  if (g_conf->fuse_big_writes) {
+  if (client->cct->_conf->fuse_big_writes) {
     newargv[newargc++] = "-o";
     newargv[newargc++] = "big_writes";
   }
-  if (g_conf->fuse_atomic_o_trunc) {
+  if (client->cct->_conf->fuse_atomic_o_trunc) {
     newargv[newargc++] = "-o";
     newargv[newargc++] = "atomic_o_trunc";
   }
 
-  if (g_conf->fuse_debug)
+  if (client->cct->_conf->fuse_debug)
     newargv[newargc++] = "-d";
 
   for (int argctr = 1; argctr < argc; argctr++)
@@ -701,10 +743,23 @@ int CephFuse::Handle::init(int argc, const char *argv[])
 
   fuse_session_add_chan(se, ch);
 
+  /*
+   * this is broken:
+   *
+   * - the cb needs the request handle to be useful; we should get the
+   *   gids in the method here in fuse_ll.c and pass the gid list in,
+   *   not use a callback.
+   * - the callback mallocs the list but it is not free()'d
+   *
+   * so disable it for now...
+
   client->ll_register_getgroups_cb(getgroups_cb, this);
 
-  if (g_conf->fuse_use_invalidate_cb)
-    client->ll_register_ino_invalidate_cb(invalidate_cb, this);
+   */
+  client->ll_register_dentry_invalidate_cb(dentry_invalidate_cb, this);
+
+  if (client->cct->_conf->fuse_use_invalidate_cb)
+    client->ll_register_ino_invalidate_cb(ino_invalidate_cb, this);
 
 done:
   fuse_opt_free_args(&args);
diff --git a/src/client/hadoop/CephFSInterface.cc b/src/client/hadoop/CephFSInterface.cc
deleted file mode 100644
index d5a3c8f..0000000
--- a/src/client/hadoop/CephFSInterface.cc
+++ /dev/null
@@ -1,993 +0,0 @@
-// -*- mode:c++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-#include "CephFSInterface.h"
-#include "include/cephfs/libcephfs.h"
-#include "common/ceph_argparse.h"
-#include "common/config.h"
-#include "msg/SimpleMessenger.h"
-
-#include <arpa/inet.h>
-#include <sys/stat.h>
-#include <sys/statvfs.h>
-
-#define dout_subsys ceph_subsys_hadoop
-
-union ceph_mount_union_t {
-  struct ceph_mount_info *cmount;
-  jlong cjlong;
-};
-
-static void set_ceph_mount_info(JNIEnv *env, jobject obj, struct ceph_mount_info *cmount)
-{
-  jclass cls = env->GetObjectClass(obj);
-  if (cls == NULL)
-    return;
-  jfieldID fid = env->GetFieldID(cls, "cluster", "J");
-  if (fid == NULL)
-    return;
-  ceph_mount_union_t ceph_mount_union;
-  ceph_mount_union.cjlong = 0;
-  ceph_mount_union.cmount = cmount;
-  env->SetLongField(obj, fid, ceph_mount_union.cjlong);
-}
-
-static struct ceph_mount_info *get_ceph_mount_t(JNIEnv *env, jobject obj)
-{
-  jclass cls = env->GetObjectClass(obj);
-  jfieldID fid = env->GetFieldID(cls, "cluster", "J");
-  if (fid == NULL)
-    return NULL;
-  ceph_mount_union_t ceph_mount_union;
-  ceph_mount_union.cjlong = env->GetLongField(obj, fid);
-  return ceph_mount_union.cmount;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_initializeClient
- * Signature: (Ljava/lang/String;I)Z
- *
- * Performs any necessary setup to allow general use of the filesystem.
- * Inputs:
- *  jstring args -- a command-line style input of Ceph config params
- *  jint block_size -- the size in bytes to use for blocks
- * Returns: true on success, false otherwise
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1initializeClient
-  (JNIEnv *env, jobject obj, jstring j_args, jint block_size)
-{
-  // Convert Java argument string to argv
-  const char *c_args = env->GetStringUTFChars(j_args, 0);
-  if (c_args == NULL)
-    return false; //out of memory!
-  string cppargs(c_args);
-  char b[cppargs.length()+1];
-  strcpy(b, cppargs.c_str());
-  env->ReleaseStringUTFChars(j_args, c_args);
-  std::vector<const char*> args;
-  char *p = b;
-  while (*p) {
-    args.push_back(p);
-    while (*p && *p != ' ')
-      p++;
-    if (!*p)
-      break;
-    *p++ = 0;
-    while (*p && *p == ' ')
-      p++;
-  }
-
-  // parse the arguments
-  bool set_local_writes = false;
-  std::string mount_root, val;
-  for (std::vector<const char*>::iterator i = args.begin(); i != args.end(); ) {
-    if (ceph_argparse_witharg(args, i, &val, "mount_root", (char*)NULL)) {
-      mount_root = val;
-    } else if (ceph_argparse_flag(args, i, "set_local_pg", (char*)NULL)) {
-      set_local_writes = true;
-    } else {
-      ++i;
-    }
-  }
-
-  // connect to the cmount
-  struct ceph_mount_info *cmount;
-  int ret = ceph_create(&cmount, NULL);
-  if (ret)
-    return false;
-  ceph_conf_read_file(cmount, NULL); // read config file from the default location
-  ceph_conf_parse_argv(cmount, args.size(), &args[0]);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 3) << "CephFSInterface: mounting filesystem...:" << dendl;
-
-  ret = ceph_mount(cmount, mount_root.c_str());
-  if (ret)
-    return false;
-
-  ceph_localize_reads(cmount, true);
-  ceph_set_default_file_stripe_unit(cmount, block_size);
-  ceph_set_default_object_size(cmount, block_size);
-
-  if (set_local_writes) {
-    ceph_set_default_preferred_pg(cmount, ceph_get_local_osd(cmount));
-  }
-
-  set_ceph_mount_info(env, obj, cmount);
-  return true;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getcwd
- * Signature: (J)Ljava/lang/String;
- *
- * Returns the current working directory.(absolute) as a jstring
- */
-JNIEXPORT jstring JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getcwd
-  (JNIEnv *env, jobject obj)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "CephFSInterface: In getcwd" << dendl;
-  jstring j_path = env->NewStringUTF(ceph_getcwd(cmount));
-  return j_path;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setcwd
- * Signature: (Ljava/lang/String;)Z
- *
- * Changes the working directory.
- * Inputs:
- *  jstring j_path: The path (relative or absolute) to switch to
- * Returns: true on success, false otherwise.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setcwd
-(JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "CephFSInterface: In setcwd" << dendl;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  int ret = ceph_chdir(cmount, c_path);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  return ret ? JNI_FALSE : JNI_TRUE;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_rmdir
- * Signature: (Ljava/lang/String;)Z
- *
- * Given a path to a directory, removes the directory.if empty.
- * Inputs:
- *  jstring j_path: The path (relative or absolute) to the directory
- * Returns: true on successful delete; false otherwise
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1rmdir
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "CephFSInterface: In rmdir" << dendl;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if(c_path == NULL)
-    return false;
-  int ret = ceph_rmdir(cmount, c_path);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  return ret ? JNI_FALSE : JNI_TRUE;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_unlink
- * Signature: (Ljava/lang/String;)Z
- * Given a path, unlinks it.
- * Inputs:
- *  jstring j_path: The path (relative or absolute) to the file or empty dir
- * Returns: true if the unlink occurred, false otherwise.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1unlink
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  ldout(cct, 10) << "CephFSInterface: In unlink for path " << c_path <<  ":" << dendl;
-  int ret = ceph_unlink(cmount, c_path);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  return ret ? JNI_FALSE : JNI_TRUE;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_rename
- * Signature: (Ljava/lang/String;Ljava/lang/String;)Z
- * Changes a given path name to a new name.
- * Inputs:
- *  jstring j_from: The path whose name you want to change.
- *  jstring j_to: The new name for the path.
- * Returns: true if the rename occurred, false otherwise
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1rename
-  (JNIEnv *env, jobject obj, jstring j_from, jstring j_to)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "CephFSInterface: In rename" << dendl;
-  const char *c_from = env->GetStringUTFChars(j_from, 0);
-  if (c_from == NULL)
-    return false;
-  const char *c_to = env->GetStringUTFChars(j_to,   0);
-  if (c_to == NULL) {
-    env->ReleaseStringUTFChars(j_from, c_from);
-    return false;
-  }
-  struct stat stbuf;
-  int ret = ceph_lstat(cmount, c_to, &stbuf);
-  if (ret != -ENOENT) {
-    // Hadoop doesn't want to overwrite files in a rename.
-    env->ReleaseStringUTFChars(j_from, c_from);
-    env->ReleaseStringUTFChars(j_to, c_to);
-    return JNI_FALSE;
-  }
-
-  ret = ceph_rename(cmount, c_from, c_to);
-  return ret ? JNI_FALSE : JNI_TRUE;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_exists
- * Signature: (Ljava/lang/String;)Z
- * Returns true if it the input path exists, false
- * if it does not or there is an unexpected failure.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1exists
-(JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "CephFSInterface: In exists" << dendl;
-
-  struct stat stbuf;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  ldout(cct, 10) << "Attempting lstat with file " << c_path << ":" << dendl;
-
-  int ret = ceph_lstat(cmount, c_path, &stbuf);
-  ldout(cct, 10) << "result is " << ret << dendl;
-  env->ReleaseStringUTFChars(j_path, c_path);
-  if (ret < 0) {
-    ldout(cct, 10) << "Returning false (file does not exist)" << dendl;
-    return JNI_FALSE;
-  }
-  else {
-    ldout(cct, 10) << "Returning true (file exists)" << dendl;
-    return JNI_TRUE;
-  }
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getblocksize
- * Signature: (Ljava/lang/String;)J
- * Get the block size for a given path.
- * Input:
- *  j_string j_path: The path (relative or absolute) you want
- *  the block size for.
- * Returns: block size (as a long) if the path exists, otherwise a negative
- *  number corresponding to the standard C++ error codes (which are positive).
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getblocksize
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In getblocksize" << dendl;
-
-  //struct stat stbuf;
-
-  jlong result;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  // we need to open the file to retrieve the stripe size
-  ldout(cct, 10) << "CephFSInterface: getblocksize: opening file" << dendl;
-  int fh = ceph_open(cmount, c_path, O_RDONLY, 0);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  if (fh < 0)
-    return fh;
-
-  result = ceph_get_file_stripe_unit(cmount, fh);
-
-  int close_result = ceph_close(cmount, fh);
-  if (close_result < 0)
-    return close_result;
-
-  return result;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_isfile
- * Signature: (Ljava/lang/String;)Z
- * Returns true if the given path is a file; false otherwise.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1isfile
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In isfile" << dendl;
-
-  struct stat stbuf;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  int ret = ceph_lstat(cmount, c_path, &stbuf);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  // if the stat call failed, it's definitely not a file...
-  if (ret < 0)
-    return false;
-
-  // check the stat result
-  return !!S_ISREG(stbuf.st_mode);
-}
-
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_isdirectory
- * Signature: (Ljava/lang/String;)Z
- * Returns true if the given path is a directory, false otherwise.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1isdirectory
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In isdirectory" << dendl;
-
-  struct stat stbuf;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  int result = ceph_lstat(cmount, c_path, &stbuf);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  // if the stat call failed, it's definitely not a directory...
-  if (result < 0)
-    return JNI_FALSE;
-
-  // check the stat result
-  return !!S_ISDIR(stbuf.st_mode);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getdir
- * Signature: (Ljava/lang/String;)[Ljava/lang/String;
- * Get the contents of a given directory.
- * Inputs:
- *  jstring j_path: The path (relative or absolute) to the directory.
- * Returns: A Java String[] of the contents of the directory, or
- *  NULL if there is an error (ie, path is not a dir). This listing
- *  will not contain . or .. entries.
- */
-JNIEXPORT jobjectArray JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getdir
-(JNIEnv *env, jobject  obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In getdir" << dendl;
-
-  // get the directory listing
-  list<string> contents;
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL) return NULL;
-  struct ceph_dir_result *dirp;
-  int r;
-  r = ceph_opendir(cmount, c_path, &dirp);
-  if (r<0) {
-    env->ReleaseStringUTFChars(j_path, c_path);
-    return NULL;
-  }
-  int buflen = 100; //good default?
-  char *buf = new char[buflen];
-  string *ent;
-  int bufpos;
-  while (1) {
-    r = ceph_getdnames(cmount, dirp, buf, buflen);
-    if (r==-ERANGE) { //expand the buffer
-      delete [] buf;
-      buflen *= 2;
-      buf = new char[buflen];
-      continue;
-    }
-    if (r<=0) break;
-
-    //if we make it here, we got at least one name
-    bufpos = 0;
-    while (bufpos<r) {//make new strings and add them to listing
-      ent = new string(buf+bufpos);
-      if (ent->compare(".") && ent->compare(".."))
-	//we DON'T want to include dot listings; Hadoop gets confused
-	contents.push_back(*ent);
-      bufpos+=ent->size()+1;
-      delete ent;
-    }
-  }
-  delete [] buf;
-  ceph_closedir(cmount, dirp);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  if (r < 0) return NULL;
-
-  // Create a Java String array of the size of the directory listing
-  jclass stringClass = env->FindClass("java/lang/String");
-  if (stringClass == NULL) {
-    ldout(cct, 0) << "ERROR: java String class not found; dying a horrible, painful death" << dendl;
-    assert(0);
-  }
-  jobjectArray dirListingStringArray = (jobjectArray) env->NewObjectArray(contents.size(), stringClass, NULL);
-  if(dirListingStringArray == NULL) return NULL;
-
-  // populate the array with the elements of the directory list
-  int i = 0;
-  for (list<string>::iterator it = contents.begin();
-       it != contents.end();
-       ++it) {
-    env->SetObjectArrayElement(dirListingStringArray, i,
-			       env->NewStringUTF(it->c_str()));
-    ++i;
-  }
-
-  return dirListingStringArray;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_mkdirs
- * Signature: (Ljava/lang/String;I)I
- * Create the specified directory and any required intermediate ones with the
- * given mode.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1mkdirs
-(JNIEnv *env, jobject obj, jstring j_path, jint mode)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In Hadoop mk_dirs" << dendl;
-
-  //get c-style string and make the call, clean up the string...
-  jint result;
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  result = ceph_mkdirs(cmount, c_path, mode);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  //...and return
-  return result;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_append
- * Signature: (Ljava/lang/String;)I
- * Open a file to append. If the file does not exist, it will be created.
- * Opening a dir is possible but may have bad results.
- * Inputs:
- *  jstring j_path: The path to open.
- * Returns: a jint filehandle, or a number<0 if an error occurs.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1append
-(JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In hadoop open_for_append" << dendl;
-
-  jint result;
-
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  result = ceph_open(cmount, c_path, O_WRONLY|O_CREAT|O_APPEND, 0);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  return result;
-}
-
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_read
- * Signature: (Ljava/lang/String;)I
- * Open a file for reading.
- * Opening a dir is possible but may have bad results.
- * Inputs:
- *  jstring j_path: The path to open.
- * Returns: a jint filehandle, or a number<0 if an error occurs.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1read
-  (JNIEnv *env, jobject obj, jstring j_path)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In open_for_read" << dendl;
-
-  jint result;
-
-  // open as read-only: flag = O_RDONLY
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  result = ceph_open(cmount, c_path, O_RDONLY, 0);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  // returns file handle, or -1 on failure
-  return result;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_overwrite
- * Signature: (Ljava/lang/String;)I
- * Opens a file for overwriting; creates it if necessary.
- * Opening a dir is possible but may have bad results.
- * Inputs:
- *  jstring j_path: The path to open.
- *  jint mode: The mode to open with.
- * Returns: a jint filehandle, or a number<0 if an error occurs.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1overwrite
-  (JNIEnv *env, jobject obj, jstring j_path, jint mode)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In open_for_overwrite" << dendl;
-
-  jint result;
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  result = ceph_open(cmount, c_path, O_WRONLY|O_CREAT|O_TRUNC, mode);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  // returns file handle, or -1 on failure
-  return result;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_close
- * Signature: (I)I
- * Closes a given filehandle.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1close
-(JNIEnv *env, jobject obj, jint fh)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In CephTalker::ceph_close" << dendl;
-  return ceph_close(cmount, fh);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setPermission
- * Signature: (Ljava/lang/String;I)Z
- * Change the mode on a path.
- * Inputs:
- *  jstring j_path: The path to change mode on.
- *  jint j_new_mode: The mode to apply.
- * Returns: true if the mode is properly applied, false if there
- *  is any error.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setPermission
-(JNIEnv *env, jobject obj, jstring j_path, jint j_new_mode)
-{
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return false;
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  int result = ceph_chmod(cmount, c_path, j_new_mode);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  return (result==0);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_kill_client
- * Signature: (J)Z
- *
- * Closes the Ceph client. This should be called before shutting down
- * (multiple times is okay but redundant).
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1kill_1client
-  (JNIEnv *env, jobject obj)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  if (!cmount)
-    return true;
-  ceph_shutdown(cmount);
-  set_ceph_mount_info(env, obj, NULL);
-  return true;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_stat
- * Signature: (Ljava/lang/String;Lorg/apache/hadoop/fs/ceph/CephFileSystem/Stat;)Z
- * Get the statistics on a path returned in a custom format defined
- *  in CephTalker.
- * Inputs:
- *  jstring j_path: The path to stat.
- *  jobject j_stat: The stat object to fill.
- * Returns: true if the stat is successful, false otherwise.
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1stat
-(JNIEnv *env, jobject obj, jstring j_path, jobject j_stat)
-{
-  //setup variables
-  struct stat st;
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL) return false;
-
-  jclass cls = env->GetObjectClass(j_stat);
-  if (cls == NULL) return false;
-  jfieldID c_size_id = env->GetFieldID(cls, "size", "J");
-  if (c_size_id == NULL) return false;
-  jfieldID c_dir_id = env->GetFieldID(cls, "is_dir", "Z");
-  if (c_dir_id == NULL) return false;
-  jfieldID c_block_id = env->GetFieldID(cls, "block_size", "J");
-  if (c_block_id == NULL) return false;
-  jfieldID c_mod_id = env->GetFieldID(cls, "mod_time", "J");
-  if (c_mod_id == NULL) return false;
-  jfieldID c_access_id = env->GetFieldID(cls, "access_time", "J");
-  if (c_access_id == NULL) return false;
-  jfieldID c_mode_id = env->GetFieldID(cls, "mode", "I");
-  if (c_mode_id == NULL) return false;
-  //do actual lstat
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  int r = ceph_lstat(cmount, c_path, &st);
-  env->ReleaseStringUTFChars(j_path, c_path);
-
-  if (r < 0) return false; //fail out; file DNE or Ceph broke
-
-  //put variables from struct stat into Java
-  env->SetLongField(j_stat, c_size_id, st.st_size);
-  env->SetBooleanField(j_stat, c_dir_id, (0 != S_ISDIR(st.st_mode)));
-  env->SetLongField(j_stat, c_block_id, st.st_blksize);
-
-  long long java_mtime(st.st_mtim.tv_sec);
-  java_mtime *= 1000;
-  java_mtime += st.st_mtim.tv_nsec / 1000;
-  env->SetLongField(j_stat, c_mod_id, java_mtime);
-
-  long long java_atime(st.st_atim.tv_sec);
-  java_atime *= 1000;
-  java_atime += st.st_atim.tv_nsec / 1000;
-  env->SetLongField(j_stat, c_access_id, java_atime);
-
-  env->SetIntField(j_stat, c_mode_id, (int)st.st_mode);
-
-  //return happy
-  return true;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_statfs
- * Signature: (Ljava/lang/String;Lorg/apache/hadoop/fs/ceph/CephFileSystem/CephStat;)I
- * Statfs a filesystem in a custom format defined in CephTalker.
- * Inputs:
- *  jstring j_path: A path on the filesystem that you wish to stat.
- *  jobject j_ceph_stat: The CephStat object to fill.
- * Returns: true if successful and the CephStat is filled; false otherwise.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1statfs
-(JNIEnv *env, jobject obj, jstring j_path, jobject j_cephstat)
-{
-  //setup variables
-  struct statvfs stbuf;
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  jclass cls = env->GetObjectClass(j_cephstat);
-  if (cls == NULL)
-    return 1; //JVM error of some kind
-  jfieldID c_capacity_id = env->GetFieldID(cls, "capacity", "J");
-  jfieldID c_used_id = env->GetFieldID(cls, "used", "J");
-  jfieldID c_remaining_id = env->GetFieldID(cls, "remaining", "J");
-
-  //do the statfs
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  int r = ceph_statfs(cmount, c_path, &stbuf);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  if (r != 0)
-    return r; //something broke
-
-  //place info into Java; convert from bytes to kilobytes
-  env->SetLongField(j_cephstat, c_capacity_id,
-		    (long)stbuf.f_blocks*stbuf.f_bsize/1024);
-  env->SetLongField(j_cephstat, c_used_id,
-		    (long)(stbuf.f_blocks-stbuf.f_bavail)*stbuf.f_bsize/1024);
-  env->SetLongField(j_cephstat, c_remaining_id,
-		    (long)stbuf.f_bavail*stbuf.f_bsize/1024);
-  return r;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_replication
- * Signature: (Ljava/lang/String;)I
- * Check how many times a path should be replicated (if it is
- * degraded it may not actually be replicated this often).
- * Inputs:
- *  jstring j_path: The path to check.
- * Returns: an int containing the number of times replicated.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1replication
-(JNIEnv *env, jobject obj, jstring j_path)
-{
-  //get c-string of path, send off to libceph, release c-string, return
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if (c_path == NULL)
-    return -ENOMEM;
-  ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  int fh = 0;
-  fh = ceph_open(cmount, c_path, O_RDONLY, 0);
-  env->ReleaseStringUTFChars(j_path, c_path);
-  if (fh < 0) {
-	  return fh;
-  }
-  int replication = ceph_get_file_replication(cmount, fh);
-  ceph_close(cmount, fh);
-  return replication;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_hosts
- * Signature: (IJ)[Ljava/lang/String;
- * Find the IP:port addresses of the primary OSD for a given file and offset.
- * Inputs:
- *  jint j_fh: The filehandle for the file.
- *  jlong j_offset: The offset to get the location of.
- * Returns: a jstring of the location as IP, or NULL if there is an error.
- */
-JNIEXPORT jobjectArray JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1hosts
-(JNIEnv *env, jobject obj, jint j_fh, jlong j_offset)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  struct sockaddr_storage *ss;
-  char address[30];
-  jobjectArray addr_array;
-  jclass string_cls;
-  jstring j_addr;
-  int r, n = 3; /* initial guess at # of replicas */
-
-  for (;;) {
-    ss = new struct sockaddr_storage[n];
-    r = ceph_get_file_stripe_address(cmount, j_fh, j_offset, ss, n);
-    if (r < 0) {
-      if (r == -ERANGE) {
-	delete [] ss;
-	n *= 2;
-	continue;
-      }
-      return NULL;
-    }
-    n = r;
-    break;
-  }
-
-  /* TODO: cache this */
-  string_cls = env->FindClass("java/lang/String");
-  if (!string_cls)
-    goto out;
-
-  addr_array = env->NewObjectArray(n, string_cls, NULL);
-  if (!addr_array)
-    goto out;
-
-  for (r = 0; r < n; r++) {
-    /* Hadoop only deals with IPv4 */
-    if (ss[r].ss_family != AF_INET)
-      goto out;
-
-    memset(address, 0, sizeof(address));
-
-    inet_ntop(ss[r].ss_family, &((struct sockaddr_in *)&ss[r])->sin_addr,
-	      address, sizeof(address));
-
-    j_addr = env->NewStringUTF(address);
-
-    env->SetObjectArrayElement(addr_array, r, j_addr);
-    if (env->ExceptionOccurred())
-      goto out;
-
-    env->DeleteLocalRef(j_addr);
-  }
-
-  delete [] ss;
-  return addr_array;
-
-out:
-  delete [] ss;
-  return NULL;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setTimes
- * Signature: (Ljava/lang/String;JJ)I
- * Set the mtime and atime for a given path.
- * Inputs:
- *  jstring j_path: The path to set the times for.
- *  jlong mtime: The mtime to set, in millis since epoch (-1 to not set).
- *  jlong atime: The atime to set, in millis since epoch (-1 to not set)
- * Returns: 0 if successful, an error code otherwise.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setTimes
-(JNIEnv *env, jobject obj, jstring j_path, jlong mtime, jlong atime)
-{
-  const char *c_path = env->GetStringUTFChars(j_path, 0);
-  if(c_path == NULL) return -ENOMEM;
-
-  //build the mask for ceph_setattr
-  int mask = 0;
-  if (mtime!=-1) mask = CEPH_SETATTR_MTIME;
-  if (atime!=-1) mask |= CEPH_SETATTR_ATIME;
-  //build a struct stat and fill it in!
-  //remember to convert from millis to seconds and microseconds
-  struct stat attr;
-  attr.st_mtim.tv_sec = mtime / 1000;
-  attr.st_mtim.tv_nsec = (mtime % 1000) * 1000000;
-  attr.st_atim.tv_sec = atime / 1000;
-  attr.st_atim.tv_nsec = (atime % 1000) * 1000000;
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  return ceph_setattr(cmount, c_path, &attr, mask);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_read
- * Signature: (JI[BII)I
- * Reads into the given byte array from the current position.
- * Inputs:
- *  jint fh: the filehandle to read from
- *  jbyteArray j_buffer: the byte array to read into
- *  jint buffer_offset: where in the buffer to start writing
- *  jint length: how much to read.
- * There'd better be enough space in the buffer to write all
- * the data from the given offset!
- * Returns: the number of bytes read on success (as jint),
- *  or an error code otherwise.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1read
-  (JNIEnv *env, jobject obj, jint fh, jbyteArray j_buffer, jint buffer_offset, jint length)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In read" << dendl;
-
-
-  // Make sure to convert the Hadoop read arguments into a
-  // more ceph-friendly form
-  jint result;
-
-  // Step 1: get a pointer to the buffer.
-  jbyte *j_buffer_ptr = env->GetByteArrayElements(j_buffer, NULL);
-  if (j_buffer_ptr == NULL) return -ENOMEM;
-  char *c_buffer = (char*) j_buffer_ptr;
-
-  // Step 2: pointer arithmetic to start in the right buffer position
-  c_buffer += (int)buffer_offset;
-
-  // Step 3: do the read
-  result = ceph_read(cmount, (int)fh, c_buffer, length, -1);
-
-  // Step 4: release the pointer to the buffer
-  env->ReleaseByteArrayElements(j_buffer, j_buffer_ptr, 0);
-
-  return result;
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_seek_from_start
- * Signature: (JIJ)J
- * Seeks to the given position in the given file.
- * Inputs:
- *  jint fh: The filehandle to seek in.
- *  jlong pos: The position to seek to.
- * Returns: the new position (as a jlong) of the filehandle on success,
- *  or a negative error code on failure.
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1seek_1from_1start
-  (JNIEnv *env, jobject obj, jint fh, jlong pos)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In CephTalker::seek_from_start" << dendl;
-  return ceph_lseek(cmount, fh, pos, SEEK_SET);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getpos
- * Signature: (I)J
- *
- * Get the current position in a file (as a jlong) of a given filehandle.
- * Returns: jlong current file position on success, or a
- *  negative error code on failure.
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getpos
-  (JNIEnv *env, jobject obj, jint fh)
-{
-  // seek a distance of 0 to get current offset
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In CephTalker::ceph_getpos" << dendl;
-  return ceph_lseek(cmount, fh, 0, SEEK_CUR);
-}
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_write
- * Signature: (I[BII)I
- * Write the given buffer contents to the given filehandle.
- * Inputs:
- *  jint fh: The filehandle to write to.
- *  jbyteArray j_buffer: The buffer to write from
- *  jint buffer_offset: The position in the buffer to write from
- *  jint length: The number of (sequential) bytes to write.
- * Returns: jint, on success the number of bytes written, on failure
- *  a negative error code.
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1write
-  (JNIEnv *env, jobject obj, jint fh, jbyteArray j_buffer, jint buffer_offset, jint length)
-{
-  struct ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
-  CephContext *cct = ceph_get_mount_context(cmount);
-  ldout(cct, 10) << "In write" << dendl;
-
-  // IMPORTANT NOTE: Hadoop write arguments are a bit different from POSIX so we
-  // have to convert.  The write is *always* from the current position in the file,
-  // and buffer_offset is the location in the *buffer* where we start writing.
-  jint result;
-
-  // Step 1: get a pointer to the buffer.
-  jbyte *j_buffer_ptr = env->GetByteArrayElements(j_buffer, NULL);
-  if (j_buffer_ptr == NULL)
-    return -ENOMEM;
-  char *c_buffer = (char*) j_buffer_ptr;
-
-  // Step 2: pointer arithmetic to start in the right buffer position
-  c_buffer += (int)buffer_offset;
-
-  // Step 3: do the write
-  result = ceph_write(cmount, (int)fh, c_buffer, length, -1);
-
-  // Step 4: release the pointer to the buffer
-  env->ReleaseByteArrayElements(j_buffer, j_buffer_ptr, 0);
-
-  return result;
-}
diff --git a/src/client/hadoop/CephFSInterface.h b/src/client/hadoop/CephFSInterface.h
deleted file mode 100644
index 6939b3a..0000000
--- a/src/client/hadoop/CephFSInterface.h
+++ /dev/null
@@ -1,236 +0,0 @@
-// -*- mode:c++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
-/* BE CAREFUL EDITING THIS FILE - it is a compilation of JNI
-   machine-generated headers */
-
-#include <jni.h>
-
-#ifndef _Included_org_apache_hadoop_fs_ceph_CephTalker
-#define _Included_org_apache_hadoop_fs_ceph_CephTalker
-#ifdef __cplusplus
-extern "C" {
-#endif
-  //these constants are machine-generated to match Java constants in the source
-#undef org_apache_hadoop_fs_ceph_CephFileSystem_DEFAULT_BLOCK_SIZE
-#define org_apache_hadoop_fs_ceph_CephFileSystem_DEFAULT_BLOCK_SIZE 8388608LL
-#undef org_apache_hadoop_fs_ceph_CephInputStream_SKIP_BUFFER_SIZE
-#define org_apache_hadoop_fs_ceph_CephInputStream_SKIP_BUFFER_SIZE 2048L
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_initializeClient
- * Signature: (Ljava/lang/String;I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1initializeClient
-  (JNIEnv *, jobject, jstring, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getcwd
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getcwd
-  (JNIEnv *, jobject);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setcwd
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setcwd
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_rmdir
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1rmdir
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_unlink
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1unlink
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_rename
- * Signature: (Ljava/lang/String;Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1rename
-  (JNIEnv *, jobject, jstring, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_exists
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1exists
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getblocksize
- * Signature: (Ljava/lang/String;)J
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getblocksize
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_isdirectory
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1isdirectory
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_isfile
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1isfile
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getdir
- * Signature: (Ljava/lang/String;)[Ljava/lang/String;
- */
-JNIEXPORT jobjectArray JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getdir
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_mkdirs
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1mkdirs
-  (JNIEnv *, jobject, jstring, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_append
- * Signature: (Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1append
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_read
- * Signature: (Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1read
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_open_for_overwrite
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1open_1for_1overwrite
-  (JNIEnv *, jobject, jstring, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_close
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1close
-  (JNIEnv *, jobject, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setPermission
- * Signature: (Ljava/lang/String;I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setPermission
-  (JNIEnv *, jobject, jstring, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_kill_client
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1kill_1client
-  (JNIEnv *, jobject);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_stat
- * Signature: (Ljava/lang/String;Lorg/apache/hadoop/fs/ceph/CephFileSystem/Stat;)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1stat
-  (JNIEnv *, jobject, jstring, jobject);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_statfs
- * Signature: (Ljava/lang/String;Lorg/apache/hadoop/fs/ceph/CephFileSystem/CephStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1statfs
-(JNIEnv * env, jobject obj, jstring j_path, jobject j_cephstat);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_replication
- * Signature: (Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1replication
-  (JNIEnv *, jobject, jstring);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_hosts
- * Signature: (IJ)[Ljava/lang/String;
- */
-JNIEXPORT jobjectArray JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1hosts
-  (JNIEnv *, jobject, jint, jlong);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_setTimes
- * Signature: (Ljava/lang/String;JJ)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1setTimes
-  (JNIEnv *, jobject, jstring, jlong, jlong);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_read
- * Signature: (I[BII)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1read
-  (JNIEnv *, jobject, jint, jbyteArray, jint, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_seek_from_start
- * Signature: (IJ)J
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1seek_1from_1start
-  (JNIEnv *, jobject, jint, jlong);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_getpos
- * Signature: (I)J
- */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1getpos
-  (JNIEnv *, jobject, jint);
-
-/*
- * Class:     org_apache_hadoop_fs_ceph_CephTalker
- * Method:    ceph_write
- * Signature: (I[BII)I
- */
-JNIEXPORT jint JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1write
-  (JNIEnv *, jobject, jint, jbyteArray, jint, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/src/client/ioctl.h b/src/client/ioctl.h
index c15d334..35b4ce4 100644
--- a/src/client/ioctl.h
+++ b/src/client/ioctl.h
@@ -1,13 +1,14 @@
 #ifndef FS_CEPH_IOCTL_H
 #define FS_CEPH_IOCTL_H
 
+#include "include/int_types.h"
+
 #if defined(__linux__)
 #include <linux/ioctl.h>
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/ioctl.h>
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
 
 #define CEPH_IOCTL_MAGIC 0x97
diff --git a/src/cls/Makefile.am b/src/cls/Makefile.am
new file mode 100644
index 0000000..2d3d43c
--- /dev/null
+++ b/src/cls/Makefile.am
@@ -0,0 +1,122 @@
+## Rados object classes
+
+libcls_hello_la_SOURCES = cls/hello/cls_hello.cc
+libcls_hello_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_hello_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_hello.la
+
+libcls_rbd_la_SOURCES = cls/rbd/cls_rbd.cc
+libcls_rbd_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_rbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_rbd.la
+
+libcls_lock_la_SOURCES = cls/lock/cls_lock.cc
+libcls_lock_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_lock_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_lock.la
+
+libcls_refcount_la_SOURCES = \
+	cls/refcount/cls_refcount.cc \
+	cls/refcount/cls_refcount_ops.cc \
+	common/ceph_json.cc 
+libcls_refcount_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_refcount_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_refcount.la
+
+libcls_version_la_SOURCES = cls/version/cls_version.cc
+libcls_version_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_version_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_version.la
+
+libcls_log_la_SOURCES = cls/log/cls_log.cc
+libcls_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_log.la
+
+libcls_statelog_la_SOURCES = cls/statelog/cls_statelog.cc
+libcls_statelog_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_statelog_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_statelog.la
+
+libcls_replica_log_la_SOURCES = cls/replica_log/cls_replica_log.cc
+libcls_replica_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_replica_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_replica_log.la
+
+libcls_rgw_la_SOURCES = \
+	cls/rgw/cls_rgw.cc \
+	cls/rgw/cls_rgw_ops.cc \
+	cls/rgw/cls_rgw_types.cc \
+	common/ceph_json.cc
+libcls_rgw_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_rgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_rgw.la
+
+## Rados object client classes
+
+libcls_lock_client_la_SOURCES = \
+	cls/lock/cls_lock_client.cc \
+	cls/lock/cls_lock_types.cc \
+	cls/lock/cls_lock_ops.cc
+noinst_LTLIBRARIES += libcls_lock_client.la
+DENCODER_DEPS += libcls_lock_client.la
+
+libcls_refcount_client_la_SOURCES = \
+	cls/refcount/cls_refcount_client.cc \
+	cls/refcount/cls_refcount_ops.cc
+noinst_LTLIBRARIES += libcls_refcount_client.la
+DENCODER_DEPS += libcls_refcount_client.la
+
+libcls_version_client_a_SOURCES =  \
+	cls/version/cls_version_client.cc \
+	cls/version/cls_version_types.cc
+noinst_LIBRARIES += libcls_version_client.a
+
+libcls_log_client_a_SOURCES = cls/log/cls_log_client.cc
+noinst_LIBRARIES += libcls_log_client.a
+
+libcls_statelog_client_a_SOURCES = cls/statelog/cls_statelog_client.cc
+noinst_LIBRARIES += libcls_statelog_client.a
+
+libcls_replica_log_client_a_SOURCES = \
+	cls/replica_log/cls_replica_log_types.cc \
+	cls/replica_log/cls_replica_log_ops.cc \
+	cls/replica_log/cls_replica_log_client.cc
+noinst_LIBRARIES += libcls_replica_log_client.a
+DENCODER_DEPS += libcls_replica_log_client.a
+
+libcls_rgw_client_la_SOURCES = \
+	cls/rgw/cls_rgw_client.cc \
+	cls/rgw/cls_rgw_types.cc \
+	cls/rgw/cls_rgw_ops.cc
+noinst_LTLIBRARIES += libcls_rgw_client.la
+DENCODER_DEPS += libcls_rgw_client.la
+
+libcls_rbd_client_la_SOURCES = cls/rbd/cls_rbd_client.cc
+noinst_LTLIBRARIES += libcls_rbd_client.la
+
+
+noinst_HEADERS += \
+	cls/lock/cls_lock_types.h \
+	cls/lock/cls_lock_ops.h \
+	cls/lock/cls_lock_client.h \
+	cls/rbd/cls_rbd.h \
+	cls/rbd/cls_rbd_client.h \
+	cls/refcount/cls_refcount_ops.h \
+	cls/refcount/cls_refcount_client.h \
+	cls/version/cls_version_types.h \
+	cls/version/cls_version_ops.h \
+	cls/version/cls_version_client.h \
+	cls/log/cls_log_types.h \
+	cls/log/cls_log_ops.h \
+	cls/log/cls_log_client.h \
+	cls/statelog/cls_statelog_types.h \
+	cls/statelog/cls_statelog_ops.h \
+	cls/statelog/cls_statelog_client.h \
+	cls/replica_log/cls_replica_log_types.h \
+	cls/replica_log/cls_replica_log_ops.h \
+	cls/replica_log/cls_replica_log_client.h \
+	cls/rgw/cls_rgw_client.h \
+	cls/rgw/cls_rgw_ops.h \
+	cls/rgw/cls_rgw_types.h
+
diff --git a/src/cls/hello/cls_hello.cc b/src/cls/hello/cls_hello.cc
new file mode 100644
index 0000000..0d5c78b
--- /dev/null
+++ b/src/cls/hello/cls_hello.cc
@@ -0,0 +1,307 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+/*
+ * This is a simple example RADOS class, designed to be usable as a
+ * template from implementing new methods.
+ *
+ * Our goal here is to illustrate the interface between the OSD and
+ * the class and demonstrate what kinds of things a class can do.
+ *
+ * Note that any *real* class will probably have a much more
+ * sophisticated protocol dealing with the in and out data buffers.
+ * For an example of the model that we've settled on for handling that
+ * in a clean way, please refer to cls_lock or cls_version for
+ * relatively simple examples of how the parameter encoding can be
+ * encoded in a way that allows for forward and backward compatibility
+ * between client vs class revisions.
+ */
+
+/*
+ * A quick note about bufferlists:
+ *
+ * The bufferlist class allows memory buffers to be concatenated,
+ * truncated, spliced, "copied," encoded/embedded, and decoded.  For
+ * most operations no actual data is ever copied, making bufferlists
+ * very convenient for efficiently passing data around.
+ *
+ * bufferlist is actually a typedef of buffer::list, and is defined in
+ * include/buffer.h (and implemented in common/buffer.cc).
+ */
+
+#include <algorithm>
+#include <string>
+#include <sstream>
+#include <errno.h>
+
+#include "objclass/objclass.h"
+
+CLS_VER(1,0)
+CLS_NAME(hello)
+
+cls_handle_t h_class;
+cls_method_handle_t h_say_hello;
+cls_method_handle_t h_record_hello;
+cls_method_handle_t h_replay;
+cls_method_handle_t h_writes_dont_return_data;
+cls_method_handle_t h_turn_it_to_11;
+cls_method_handle_t h_bad_reader;
+cls_method_handle_t h_bad_writer;
+
+/**
+ * say hello - a "read" method that does not depend on the object
+ *
+ * This is an example of a method that does some computation and
+ * returns data to the caller, without depending on the local object
+ * content.
+ */
+static int say_hello(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  // see if the input data from the client matches what this method
+  // expects to receive.  your class can fill this buffer with what it
+  // wants.
+  if (in->length() > 100)
+    return -EINVAL;
+
+  // we generate our reply
+  out->append("Hello, ");
+  if (in->length() == 0)
+    out->append("world");
+  else
+    out->append(*in);
+  out->append("!");
+
+  // this return value will be returned back to the librados caller
+  return 0;
+}
+
+/**
+ * record hello - a "write" method that creates an object
+ *
+ * This method modifies a local object (in this case, by creating it
+ * if it doesn't exist).  We make multiple write calls (write,
+ * setxattr) which are accumulated and applied as an atomic
+ * transaction.
+ */
+static int record_hello(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  // we can write arbitrary stuff to the ceph-osd debug log.  each log
+  // message is accompanied by an integer log level.  smaller is
+  // "louder".  how much of this makes it into the log is controlled
+  // by the debug_cls option on the ceph-osd, similar to how other log
+  // levels are controlled.  this message, at level 20, will generally
+  // not be seen by anyone unless debug_cls is set at 20 or higher.
+  CLS_LOG(20, "in record_hello");
+
+  // see if the input data from the client matches what this method
+  // expects to receive.  your class can fill this buffer with what it
+  // wants.
+  if (in->length() > 100)
+    return -EINVAL;
+
+  // only say hello to non-existent objects
+  if (cls_cxx_stat(hctx, NULL, NULL) == 0)
+    return -EEXIST;
+
+  bufferlist content;
+  content.append("Hello, ");
+  if (in->length() == 0)
+    content.append("world");
+  else
+    content.append(*in);
+  content.append("!");
+
+  // create/write the object
+  int r = cls_cxx_write_full(hctx, &content);
+  if (r < 0)
+    return r;
+
+  // also make note of who said it
+  entity_inst_t origin;
+  cls_get_request_origin(hctx, &origin);
+  ostringstream ss;
+  ss << origin;
+  bufferlist attrbl;
+  attrbl.append(ss.str());
+  r = cls_cxx_setxattr(hctx, "said_by", &attrbl);
+  if (r < 0)
+    return r;
+
+  // For write operations, there are two possible outcomes:
+  //
+  //  * For a failure, we return a negative error code.  The out
+  //    buffer can contain any data that we want, and that data will
+  //    be returned to the caller.  No change is made to the object.
+  //
+  //  * For a success, we must return 0 and *no* data in the out
+  //    buffer.  This is becaues the OSD does not log write result
+  //    codes or output buffers and we need a replayed/resent
+  //    operation (e.g., after a TCP disconnect) to be idempotent.
+  //
+  //    If a class returns a positive value or puts data in the out
+  //    buffer, the OSD code will ignore it and return 0 to the
+  //    client.
+  return 0;
+}
+
+static int writes_dont_return_data(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  // make some change to the object
+  bufferlist attrbl;
+  attrbl.append("bar");
+  int r = cls_cxx_setxattr(hctx, "foo", &attrbl);
+  if (r < 0)
+    return r;
+
+  if (in->length() > 0) {
+    // note that if we return anything < 0 (an error), this
+    // operation/transaction will abort, and the setattr above will
+    // never happen.  however, we *can* return data on error.
+    out->append("too much input data!");
+    return -EINVAL;
+  }
+
+  // try to return some data.  note that this *won't* reach the
+  // client!  see the matching test case in test_cls_hello.cc.
+  out->append("you will never see this");
+
+  // if we try to return anything > 0 here the client will see 0.
+  return 42;
+}
+
+
+/**
+ * replay - a "read" method to get a previously recorded hello
+ *
+ * This is a read method that will retrieve a previously recorded
+ * hello statement.
+ */
+static int replay(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  // read contents out of the on-disk object.  our behavior can be a
+  // function of either the request alone, or the request and the
+  // on-disk state, depending on whether the RD flag is specified when
+  // registering the method (see the __cls__init function below).
+  int r = cls_cxx_read(hctx, 0, 1100, out);
+  if (r < 0)
+    return r;
+
+  // note that our return value need not be the length of the returned
+  // data; it can be whatever value we want: positive, zero or
+  // negative (this is a read).
+  return 0;
+}
+
+/**
+ * turn_it_to_11 - a "write" method that mutates existing object data
+ *
+ * A write method can depend on previous object content (i.e., perform
+ * a read/modify/write operation).  This atomically transitions the
+ * object state from the old content to the new content.
+ */
+static int turn_it_to_11(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  // see if the input data from the client matches what this method
+  // expects to receive.  your class can fill this buffer with what it
+  // wants.
+  if (in->length() != 0)
+    return -EINVAL;
+
+  bufferlist previous;
+  int r = cls_cxx_read(hctx, 0, 1100, &previous);
+  if (r < 0)
+    return r;
+
+  std::string str(previous.c_str(), previous.length());
+  std::transform(str.begin(), str.end(), str.begin(), ::toupper);
+  previous.clear();
+  previous.append(str);
+
+  // replace previous byte data content (write_full == truncate(0) + write)
+  r = cls_cxx_write_full(hctx, &previous);
+  if (r < 0)
+    return r;
+
+  // record who did it
+  entity_inst_t origin;
+  cls_get_request_origin(hctx, &origin);
+  ostringstream ss;
+  ss << origin;
+  bufferlist attrbl;
+  attrbl.append(ss.str());
+  r = cls_cxx_setxattr(hctx, "amplified_by", &attrbl);
+  if (r < 0)
+    return r;
+
+  // return value is 0 for success; out buffer is empty.
+  return 0;
+}
+
+/**
+ * example method that does not behave
+ *
+ * This method is registered as WR but tries to read
+ */
+static int bad_reader(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  return cls_cxx_read(hctx, 0, 100, out);
+}
+
+/**
+ * example method that does not behave
+ *
+ * This method is registered as RD but tries to write
+ */
+static int bad_writer(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
+{
+  return cls_cxx_write_full(hctx, in);
+}
+
+
+/**
+ * initialize class
+ *
+ * We do two things here: we register the new class, and then register
+ * all of the class's methods.
+ */
+void __cls_init()
+{
+  // this log message, at level 0, will always appear in the ceph-osd
+  // log file.
+  CLS_LOG(0, "loading cls_hello");
+
+  cls_register("hello", &h_class);
+
+  // There are two flags we specify for methods:
+  //
+  //    RD : whether this method (may) read prior object state
+  //    WR : whether this method (may) write or update the object
+  //
+  // A method can be RD, WR, neither, or both.  If a method does
+  // neither, the data it returns to the caller is a function of the
+  // request and not the object contents.
+
+  cls_register_cxx_method(h_class, "say_hello",
+			  CLS_METHOD_RD,
+			  say_hello, &h_say_hello);
+  cls_register_cxx_method(h_class, "record_hello",
+			  CLS_METHOD_WR,
+			  record_hello, &h_record_hello);
+  cls_register_cxx_method(h_class, "writes_dont_return_data",
+			  CLS_METHOD_WR,
+			  writes_dont_return_data, &h_writes_dont_return_data);
+  cls_register_cxx_method(h_class, "replay",
+			  CLS_METHOD_RD,
+			  replay, &h_replay);
+
+  // RD | WR is a read-modify-write method.
+  cls_register_cxx_method(h_class, "turn_it_to_11",
+			  CLS_METHOD_RD | CLS_METHOD_WR,
+			  turn_it_to_11, &h_turn_it_to_11);
+
+  // counter-examples
+  cls_register_cxx_method(h_class, "bad_reader", CLS_METHOD_WR,
+			  bad_reader, &h_bad_reader);
+  cls_register_cxx_method(h_class, "bad_writer", CLS_METHOD_RD,
+			  bad_writer, &h_bad_writer);
+}
diff --git a/src/cls/log/cls_log.cc b/src/cls/log/cls_log.cc
index 46ba357..7b254fd 100644
--- a/src/cls/log/cls_log.cc
+++ b/src/cls/log/cls_log.cc
@@ -211,9 +211,8 @@ static int cls_log_list(cls_method_context_t hctx, bufferlist *in, bufferlist *o
 
   if (iter == keys.end())
     done = true;
-  else
-    ret.marker = marker;
 
+  ret.marker = marker;
   ret.truncated = !done;
 
   ::encode(ret, *out);
diff --git a/src/cls/log/cls_log_client.cc b/src/cls/log/cls_log_client.cc
index ea8adf1..e5b47bf 100644
--- a/src/cls/log/cls_log_client.cc
+++ b/src/cls/log/cls_log_client.cc
@@ -107,7 +107,8 @@ public:
 };
 
 void cls_log_list(librados::ObjectReadOperation& op, utime_t& from, utime_t& to,
-                  string& in_marker, int max_entries, list<cls_log_entry>& entries,
+                  const string& in_marker, int max_entries,
+		  list<cls_log_entry>& entries,
                   string *out_marker, bool *truncated)
 {
   bufferlist inbl;
diff --git a/src/cls/log/cls_log_client.h b/src/cls/log/cls_log_client.h
index 3b4c96d..16229c9 100644
--- a/src/cls/log/cls_log_client.h
+++ b/src/cls/log/cls_log_client.h
@@ -18,7 +18,8 @@ void cls_log_add(librados::ObjectWriteOperation& op, const utime_t& timestamp,
                  const string& section, const string& name, bufferlist& bl);
 
 void cls_log_list(librados::ObjectReadOperation& op, utime_t& from, utime_t& to,
-                  string& in_marker, int max_entries, list<cls_log_entry>& entries,
+                  const string& in_marker, int max_entries,
+		  list<cls_log_entry>& entries,
                   string *out_marker, bool *truncated);
 
 void cls_log_trim(librados::ObjectWriteOperation& op, const utime_t& from_time, const utime_t& to_time,
diff --git a/src/cls/rbd/cls_rbd.cc b/src/cls/rbd/cls_rbd.cc
index c09f1ee..9348d5d 100644
--- a/src/cls/rbd/cls_rbd.cc
+++ b/src/cls/rbd/cls_rbd.cc
@@ -25,6 +25,8 @@
  * parameters as the client sees them - it would be silly to mention
  * in each one that they take an input and an output bufferlist.
  */
+#include "include/int_types.h"
+#include "include/types.h"
 
 #include <algorithm>
 #include <cstring>
@@ -35,10 +37,8 @@
 #include <sstream>
 #include <vector>
 
-#include "include/types.h"
 #include "objclass/objclass.h"
 #include "include/rbd_types.h"
-#include <inttypes.h>
 
 #include "cls/rbd/cls_rbd.h"
 
@@ -92,7 +92,6 @@ cls_method_handle_t h_dir_rename_image;
 cls_method_handle_t h_old_snapshots_list;
 cls_method_handle_t h_old_snapshot_add;
 cls_method_handle_t h_old_snapshot_remove;
-cls_method_handle_t h_assign_bid;
 
 #define RBD_MAX_KEYS_READ 64
 #define RBD_SNAP_KEY_PREFIX "snapshot_"
@@ -1526,7 +1525,8 @@ static int dir_remove_image_helper(cls_method_context_t hctx,
   string id_key = dir_key_for_id(id);
   int r = read_key(hctx, name_key, &stored_id);
   if (r < 0) {
-    CLS_ERR("error reading name to id mapping: %d", r);
+    if (r != -ENOENT)
+      CLS_ERR("error reading name to id mapping: %d", r);
     return r;
   }
   r = read_key(hctx, id_key, &stored_name);
@@ -1620,7 +1620,8 @@ int dir_get_id(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
   string id;
   int r = read_key(hctx, dir_key_for_name(name), &id);
   if (r < 0) {
-    CLS_ERR("error reading id for name '%s': %d", name.c_str(), r);
+    if (r != -ENOENT)
+      CLS_ERR("error reading id for name '%s': %d", name.c_str(), r);
     return r;
   }
   ::encode(id, *out);
@@ -1980,48 +1981,6 @@ int old_snapshot_remove(cls_method_context_t hctx, bufferlist *in, bufferlist *o
 }
 
 
-/* assign block id. This method should be called on the rbd_info object */
-int rbd_assign_bid(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
-{
-  struct rbd_info info;
-  int rc;
-  bufferlist bl;
-
-  rc = cls_cxx_read(hctx, 0, sizeof(info), &bl);
-  if (rc < 0 && rc != -EEXIST)
-    return rc;
-
-  if (rc && rc < (int)sizeof(info)) {
-    CLS_ERR("bad rbd_info object, read %d bytes, expected %d", rc,
-	    (int)sizeof(info));
-    return -EIO;
-  }
-
-  uint64_t max_id;
-  if (rc) {
-    memcpy(&info, bl.c_str(), sizeof(info));
-    max_id = info.max_id + 1;
-    info.max_id = max_id;
-  } else {
-    memset(&info, 0, sizeof(info));
-    max_id = 0;
-  }
-
-  bufferlist newbl;
-  bufferptr bp(sizeof(info));
-  memcpy(bp.c_str(), &info, sizeof(info));
-  newbl.push_back(bp);
-  rc = cls_cxx_write_full(hctx, &newbl);
-  if (rc < 0) {
-    CLS_ERR("error writing rbd_info, got rc=%d", rc);
-    return rc;
-  }
-
-  ::encode(max_id, *out);
-
-  return out->length();
-}
-
 void __cls_init()
 {
   CLS_LOG(20, "Loaded rbd class!");
@@ -2132,10 +2091,5 @@ void __cls_init()
 			  CLS_METHOD_RD | CLS_METHOD_WR,
 			  old_snapshot_remove, &h_old_snapshot_remove);
 
-  /* assign a unique block id for rbd blocks */
-  cls_register_cxx_method(h_class, "assign_bid",
-			  CLS_METHOD_RD | CLS_METHOD_WR,
-			  rbd_assign_bid, &h_assign_bid);
-
   return;
 }
diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc
index 6cda4cb..2f5711e 100644
--- a/src/cls/rgw/cls_rgw.cc
+++ b/src/cls/rgw/cls_rgw.cc
@@ -1,14 +1,14 @@
 // -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 // vim: ts=8 sw=2 smarttab
 
-#include <iostream>
+#include "include/int_types.h"
+#include "include/types.h"
 
+#include <iostream>
 #include <string.h>
 #include <stdlib.h>
 #include <errno.h>
-#include <inttypes.h>
 
-#include "include/types.h"
 #include "include/utime.h"
 #include "objclass/objclass.h"
 #include "cls/rgw/cls_rgw_ops.h"
diff --git a/src/cls/rgw/cls_rgw_client.cc b/src/cls/rgw/cls_rgw_client.cc
index 165ca43..2851f2b 100644
--- a/src/cls/rgw/cls_rgw_client.cc
+++ b/src/cls/rgw/cls_rgw_client.cc
@@ -2,6 +2,7 @@
 
 #include "include/types.h"
 #include "cls/rgw/cls_rgw_ops.h"
+#include "cls/rgw/cls_rgw_client.h"
 #include "include/rados/librados.hpp"
 
 #include "common/debug.h"
@@ -157,6 +158,44 @@ int cls_rgw_get_dir_header(IoCtx& io_ctx, string& oid, rgw_bucket_dir_header *he
  return r;
 }
 
+class GetDirHeaderCompletion : public ObjectOperationCompletion {
+  RGWGetDirHeader_CB *ret_ctx;
+public:
+  GetDirHeaderCompletion(RGWGetDirHeader_CB *_ctx) : ret_ctx(_ctx) {}
+  ~GetDirHeaderCompletion() {
+    ret_ctx->put();
+  }
+  void handle_completion(int r, bufferlist& outbl) {
+    struct rgw_cls_list_ret ret;
+    try {
+      bufferlist::iterator iter = outbl.begin();
+      ::decode(ret, iter);
+    } catch (buffer::error& err) {
+      r = -EIO;
+    }
+
+    ret_ctx->handle_response(r, ret.dir.header);
+  };
+};
+
+int cls_rgw_get_dir_header_async(IoCtx& io_ctx, string& oid, RGWGetDirHeader_CB *ctx)
+{
+  bufferlist in, out;
+  struct rgw_cls_list_op call;
+  call.num_entries = 0;
+  ::encode(call, in);
+  ObjectReadOperation op;
+  GetDirHeaderCompletion *cb = new GetDirHeaderCompletion(ctx);
+  op.exec("rgw", "bucket_list", in, cb);
+  AioCompletion *c = librados::Rados::aio_create_completion(NULL, NULL, NULL);
+  int r = io_ctx.aio_operate(oid, c, &op, NULL);
+  c->release();
+  if (r < 0)
+    return r;
+
+  return 0;
+}
+
 int cls_rgw_bi_log_list(IoCtx& io_ctx, string& oid, string& marker, uint32_t max,
                     list<rgw_bi_log_entry>& entries, bool *truncated)
 {
diff --git a/src/cls/rgw/cls_rgw_client.h b/src/cls/rgw/cls_rgw_client.h
index 2ea5d9c..39bb3c9 100644
--- a/src/cls/rgw/cls_rgw_client.h
+++ b/src/cls/rgw/cls_rgw_client.h
@@ -4,6 +4,13 @@
 #include "include/types.h"
 #include "include/rados/librados.hpp"
 #include "cls_rgw_types.h"
+#include "common/RefCountedObj.h"
+
+class RGWGetDirHeader_CB : public RefCountedObject {
+public:
+  virtual ~RGWGetDirHeader_CB() {}
+  virtual void handle_response(int r, rgw_bucket_dir_header& header) = 0;
+};
 
 /* bucket index */
 void cls_rgw_bucket_init(librados::ObjectWriteOperation& o);
@@ -27,6 +34,7 @@ int cls_rgw_bucket_check_index_op(librados::IoCtx& io_ctx, string& oid,
 int cls_rgw_bucket_rebuild_index_op(librados::IoCtx& io_ctx, string& oid);
   
 int cls_rgw_get_dir_header(librados::IoCtx& io_ctx, string& oid, rgw_bucket_dir_header *header);
+int cls_rgw_get_dir_header_async(librados::IoCtx& io_ctx, string& oid, RGWGetDirHeader_CB *ctx);
 
 void cls_rgw_encode_suggestion(char op, rgw_bucket_dir_entry& dirent, bufferlist& updates);
 
diff --git a/src/common/BackTrace.cc b/src/common/BackTrace.cc
index ebbb33c..886ed6a 100644
--- a/src/common/BackTrace.cc
+++ b/src/common/BackTrace.cc
@@ -36,8 +36,10 @@ void BackTrace::print(std::ostream& out)
     if (begin && end) {
       int len = end - begin;
       char *foo = (char *)malloc(len+1);
-      if (!foo)
-        return;
+      if (!foo) {
+	free(function);
+	return;
+      }
       memcpy(foo, begin, len);
       foo[len] = 0;
 
@@ -55,6 +57,7 @@ void BackTrace::print(std::ostream& out)
       }
       out << " " << (i-skip+1) << ": (" << function << end << std::endl;
       //fprintf(out, "    %s:%s\n", stack.strings[i], function);
+      free(foo);
     } else {
       // didn't find the mangled name, just print the whole line
       out << " " << (i-skip+1) << ": " << strings[i] << std::endl;
diff --git a/src/common/Cond.h b/src/common/Cond.h
index e6a13ae..46fdf15 100644
--- a/src/common/Cond.h
+++ b/src/common/Cond.h
@@ -32,8 +32,8 @@ class Cond {
   Mutex *waiter_mutex;
 
   // don't allow copying.
-  void operator=(Cond &C) {}
-  Cond( const Cond &C ) {}
+  void operator=(Cond &C);
+  Cond(const Cond &C);
 
  public:
   Cond() : waiter_mutex(NULL) {
diff --git a/src/common/Formatter.cc b/src/common/Formatter.cc
index c08ea5b..4ef833a 100644
--- a/src/common/Formatter.cc
+++ b/src/common/Formatter.cc
@@ -14,11 +14,12 @@
 
 #define LARGE_SIZE 1024
 
+#include "include/int_types.h"
+
 #include "assert.h"
 #include "Formatter.h"
 #include "common/escape.h"
 
-#include <inttypes.h>
 #include <iostream>
 #include <sstream>
 #include <stdarg.h>
diff --git a/src/common/Formatter.h b/src/common/Formatter.h
index da73010..ac68b7f 100644
--- a/src/common/Formatter.h
+++ b/src/common/Formatter.h
@@ -1,8 +1,9 @@
 #ifndef CEPH_FORMATTER_H
 #define CEPH_FORMATTER_H
 
+#include "include/int_types.h"
+
 #include <deque>
-#include <inttypes.h>
 #include <iostream>
 #include <list>
 #include <ostream>
@@ -43,6 +44,9 @@ class Formatter {
   virtual void dump_int(const char *name, int64_t s) = 0;
   virtual void dump_float(const char *name, double d) = 0;
   virtual void dump_string(const char *name, std::string s) = 0;
+  virtual void dump_bool(const char *name, bool b) {
+    dump_format_unquoted(name, "%s", (b ? "true" : "false"));
+  }
   virtual std::ostream& dump_stream(const char *name) = 0;
   virtual void dump_format(const char *name, const char *fmt, ...) = 0;
   virtual void dump_format_unquoted(const char *name, const char *fmt, ...) = 0;
diff --git a/src/common/LogClient.h b/src/common/LogClient.h
index 8fa7bd1..d62147e 100644
--- a/src/common/LogClient.h
+++ b/src/common/LogClient.h
@@ -27,7 +27,7 @@ class MLogAck;
 class Messenger;
 class MonMap;
 class Message;
-class Connection;
+struct Connection;
 
 class LogClientTemp
 {
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
new file mode 100644
index 0000000..080e276
--- /dev/null
+++ b/src/common/Makefile.am
@@ -0,0 +1,202 @@
+libcommon_la_SOURCES = \
+	ceph_ver.c \
+	common/DecayCounter.cc \
+	common/LogClient.cc \
+	common/LogEntry.cc \
+	common/PrebufferedStreambuf.cc \
+	common/SloppyCRCMap.cc \
+	common/BackTrace.cc \
+	common/perf_counters.cc \
+	common/Mutex.cc \
+	common/OutputDataSocket.cc \
+	common/admin_socket.cc \
+	common/admin_socket_client.cc \
+	common/cmdparse.cc \
+	common/escape.c \
+	common/Clock.cc \
+	common/Throttle.cc \
+	common/Timer.cc \
+	common/Finisher.cc \
+	common/environment.cc\
+	common/assert.cc \
+	common/run_cmd.cc \
+	common/WorkQueue.cc \
+	common/ConfUtils.cc \
+	common/MemoryModel.cc \
+	common/armor.c \
+	common/fd.cc \
+	common/xattr.c \
+	common/safe_io.c \
+	common/snap_types.cc \
+	common/str_list.cc \
+	common/errno.cc \
+	common/RefCountedObj.cc \
+	common/blkdev.cc \
+	common/common_init.cc \
+	common/pipe.c \
+	common/ceph_argparse.cc \
+	common/ceph_context.cc \
+	common/buffer.cc \
+	common/code_environment.cc \
+	common/dout.cc \
+	common/signal.cc \
+	common/simple_spin.cc \
+	common/Thread.cc \
+	common/Formatter.cc \
+	common/HeartbeatMap.cc \
+	common/config.cc \
+	common/utf8.c \
+	common/mime.c \
+	common/strtol.cc \
+	common/page.cc \
+	common/lockdep.cc \
+	common/version.cc \
+	common/hex.cc \
+	common/entity_name.cc \
+	common/ceph_crypto.cc \
+	common/ceph_crypto_cms.cc \
+	common/ceph_json.cc \
+	common/ipaddr.cc \
+	common/pick_address.cc \
+	common/util.cc \
+	common/TextTable.cc \
+	common/ceph_fs.cc \
+	common/ceph_hash.cc \
+	common/ceph_strings.cc \
+	common/ceph_frag.cc \
+	common/addr_parsing.c \
+	common/hobject.cc \
+	common/bloom_filter.cc
+
+if LINUX
+libcommon_la_SOURCES += common/secret.c
+endif
+
+# these should go out of libcommon
+libcommon_la_SOURCES += \
+	mon/MonCap.cc \
+	mon/MonClient.cc \
+	mon/MonMap.cc \
+	osd/OSDMap.cc \
+	osd/osd_types.cc \
+	mds/MDSMap.cc \
+	mds/inode_backtrace.cc \
+	mds/mdstypes.cc 
+
+# inject crc in common
+libcommon_crc_la_SOURCES = \
+	common/sctp_crc32.c \
+	common/crc32c.cc \
+	common/crc32c_intel_baseline.c \
+	common/crc32c_intel_fast.c
+
+if WITH_GOOD_YASM_ELF64
+libcommon_crc_la_SOURCES += common/crc32c_intel_fast_asm.S common/crc32c_intel_fast_zero_asm.S
+libcommon_crc_la_LIBTOOLFLAGS = --tag=CC
+endif
+LIBCOMMON_DEPS += libcommon_crc.la
+noinst_LTLIBRARIES += libcommon_crc.la
+
+noinst_HEADERS += \
+	common/bloom_filter.hpp \
+	common/sctp_crc32.h \
+	common/crc32c_intel_baseline.h \
+	common/crc32c_intel_fast.h
+
+
+# important; libmsg before libauth!
+LIBCOMMON_DEPS += \
+	$(LIBMSG) $(LIBAUTH) \
+	$(LIBCRUSH) $(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH) \
+	-lkeyutils
+
+if LINUX
+LIBCOMMON_DEPS += -lrt
+endif # LINUX
+
+libcommon_la_LIBADD = $(LIBCOMMON_DEPS)
+
+noinst_HEADERS += \
+	common/BackTrace.h \
+	common/RefCountedObj.h \
+	common/HeartbeatMap.h \
+	common/LogClient.h \
+	common/LogEntry.h \
+	common/Preforker.h \
+	common/SloppyCRCMap.h \
+	common/WorkQueue.h \
+	common/PrioritizedQueue.h \
+	common/ceph_argparse.h \
+	common/ceph_context.h \
+	common/xattr.h \
+	common/blkdev.h \
+	common/compiler_extensions.h \
+	common/debug.h \
+	common/dout.h \
+	common/escape.h \
+	common/fd.h \
+	common/version.h \
+	common/hex.h \
+	common/entity_name.h \
+	common/errno.h \
+	common/environment.h \
+	common/likely.h \
+	common/lockdep.h \
+	common/obj_bencher.h \
+	common/snap_types.h \
+	common/Clock.h \
+	common/Cond.h \
+	common/ConfUtils.h \
+	common/DecayCounter.h \
+	common/Finisher.h \
+	common/Formatter.h \
+	common/perf_counters.h \
+	common/OutputDataSocket.h \
+	common/admin_socket.h \
+	common/admin_socket_client.h \
+	common/shared_cache.hpp \
+	common/tracked_int_ptr.hpp \
+	common/simple_cache.hpp \
+	common/sharedptr_registry.hpp \
+	common/map_cacher.hpp \
+	common/MemoryModel.h \
+	common/Mutex.h \
+	common/PrebufferedStreambuf.h \
+	common/RWLock.h \
+	common/Semaphore.h \
+	common/SimpleRNG.h \
+	common/TextTable.h \
+	common/Thread.h \
+	common/Throttle.h \
+	common/Timer.h \
+	common/TrackedOp.h \
+	common/arch.h \
+	common/armor.h \
+	common/common_init.h \
+	common/pipe.h \
+	common/code_environment.h \
+	common/signal.h \
+	common/simple_spin.h \
+	common/run_cmd.h \
+	common/safe_io.h \
+	common/config.h \
+	common/config_obs.h \
+	common/config_opts.h \
+	common/ceph_crypto.h \
+	common/ceph_crypto_cms.h \
+	common/ceph_json.h \
+	common/lru_map.h \
+	common/utf8.h \
+	common/mime.h \
+	common/pick_address.h \
+	common/secret.h \
+	common/strtol.h \
+	common/static_assert.h \
+	common/AsyncReserver.h \
+	common/sync_filesystem.h \
+	common/cmdparse.h \
+	common/hobject.h
+
+noinst_LTLIBRARIES += libcommon.la
+
+
diff --git a/src/common/Mutex.h b/src/common/Mutex.h
index 06e435d..e26a090 100644
--- a/src/common/Mutex.h
+++ b/src/common/Mutex.h
@@ -46,8 +46,8 @@ private:
   PerfCounters *logger;
 
   // don't allow copying.
-  void operator=(Mutex &M) {}
-  Mutex( const Mutex &M ) {}
+  void operator=(Mutex &M);
+  Mutex(const Mutex &M);
 
   void _register() {
     id = lockdep_register(name);
diff --git a/src/common/OutputDataSocket.cc b/src/common/OutputDataSocket.cc
index e4d21fe..3051ca0 100644
--- a/src/common/OutputDataSocket.cc
+++ b/src/common/OutputDataSocket.cc
@@ -12,6 +12,8 @@
  * 
  */
 
+#include "include/int_types.h"
+
 #include "common/Thread.h"
 #include "common/OutputDataSocket.h"
 #include "common/config.h"
@@ -25,7 +27,6 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <inttypes.h>
 #include <map>
 #include <poll.h>
 #include <set>
diff --git a/src/common/Preforker.h b/src/common/Preforker.h
index 98304c6..00a4d6a 100644
--- a/src/common/Preforker.h
+++ b/src/common/Preforker.h
@@ -94,7 +94,8 @@ public:
   void daemonize() {
     assert(forked);
     static int r = -1;
-    (void)::write(fd[1], &r, sizeof(r));
+    int r2 = ::write(fd[1], &r, sizeof(r));
+    r += r2;  // make the compiler shut up about the unused return code from ::write(2).
   }
   
 };
diff --git a/src/common/PrioritizedQueue.h b/src/common/PrioritizedQueue.h
index 6dcb519..e663f27 100644
--- a/src/common/PrioritizedQueue.h
+++ b/src/common/PrioritizedQueue.h
@@ -92,7 +92,7 @@ class PrioritizedQueue {
     SubQueue()
       : tokens(0),
 	max_tokens(0),
-	size(0) {}
+	size(0), cur(q.begin()) {}
     void set_max_tokens(unsigned mt) {
       max_tokens = mt;
     }
diff --git a/src/common/SloppyCRCMap.cc b/src/common/SloppyCRCMap.cc
new file mode 100644
index 0000000..7924ae6
--- /dev/null
+++ b/src/common/SloppyCRCMap.cc
@@ -0,0 +1,180 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+
+#include "common/SloppyCRCMap.h"
+#include "common/Formatter.h"
+
+void SloppyCRCMap::write(uint64_t offset, uint64_t len, const bufferlist& bl,
+			 std::ostream *out)
+{
+  int64_t left = len;
+  uint64_t pos = offset;
+  unsigned o = offset % block_size;
+  if (o) {
+    crc_map.erase(offset - o);
+    if (out)
+      *out << "write invalidate " << (offset - o) << "\n";
+    pos += (block_size - o);
+    left -= (block_size - o);
+  }
+  while (left >= block_size) {
+    bufferlist t;
+    t.substr_of(bl, pos - offset, block_size);
+    crc_map[pos] = t.crc32c(crc_iv);
+    if (out)
+      *out << "write set " << pos << " " << crc_map[pos] << "\n";
+    pos += block_size;
+    left -= block_size;
+  }
+  if (left > 0) {
+    crc_map.erase(pos);
+    if (out)
+      *out << "write invalidate " << pos << "\n";
+  }
+}
+
+int SloppyCRCMap::read(uint64_t offset, uint64_t len, const bufferlist& bl,
+		       std::ostream *err)
+{
+  int errors = 0;
+  int64_t left = len;
+  uint64_t pos = offset;
+  unsigned o = offset % block_size;
+  if (o) {
+    pos += (block_size - o);
+    left -= (block_size - o);
+  }
+  while (left >= block_size) {
+    // FIXME: this could be more efficient if we avoid doing a find()
+    // on each iteration
+    std::map<uint64_t,uint32_t>::iterator p = crc_map.find(pos);
+    if (p != crc_map.end()) {
+      bufferlist t;
+      t.substr_of(bl, pos - offset, block_size);
+      uint32_t crc = t.crc32c(crc_iv);
+      if (p->second != crc) {
+	errors++;
+	if (err)
+	  *err << "offset " << pos << " len " << block_size
+	       << " has crc " << crc << " expected " << p->second << "\n";
+      }
+    }
+    pos += block_size;
+    left -= block_size;
+  }
+  return errors;  
+}
+
+void SloppyCRCMap::truncate(uint64_t offset)
+{
+  offset -= offset % block_size;
+  std::map<uint64_t,uint32_t>::iterator p = crc_map.lower_bound(offset);
+  while (p != crc_map.end())
+    crc_map.erase(p++);
+}
+
+void SloppyCRCMap::zero(uint64_t offset, uint64_t len)
+{
+  int64_t left = len;
+  uint64_t pos = offset;
+  unsigned o = offset % block_size;
+  if (o) {
+    crc_map.erase(offset - o);
+    pos += (block_size - o);
+    left -= (block_size - o);
+  }
+  while (left >= block_size) {
+    crc_map[pos] = zero_crc;
+    pos += block_size;
+    left -= block_size;
+  }
+  if (left > 0)
+    crc_map.erase(pos);
+}
+
+void SloppyCRCMap::clone_range(uint64_t offset, uint64_t len,
+			       uint64_t srcoff, const SloppyCRCMap& src,
+			       std::ostream *out)
+{
+  int64_t left = len;
+  uint64_t pos = offset;
+  uint64_t srcpos = srcoff;
+  unsigned o = offset % block_size;
+  if (o) {
+    crc_map.erase(offset - o);
+    pos += (block_size - o);
+    srcpos += (block_size - o);
+    left -= (block_size - o);
+    if (out)
+      *out << "clone_range invalidate " << (offset - o) << "\n";
+  }
+  while (left >= block_size) {
+    // FIXME: this could be more efficient.
+    if (block_size == src.block_size) {
+      map<uint64_t,uint32_t>::const_iterator p = src.crc_map.find(srcpos);
+      if (p != src.crc_map.end()) {
+	crc_map[pos] = p->second;
+	if (out)
+	  *out << "clone_range copy " << pos << " " << p->second << "\n";
+      } else {
+	crc_map.erase(pos);
+	if (out)
+	  *out << "clone_range invalidate " << pos << "\n";
+      }
+    } else {
+      crc_map.erase(pos);
+      if (out)
+	*out << "clone_range invalidate " << pos << "\n";
+    }
+    pos += block_size;
+    srcpos += block_size;
+    left -= block_size;
+  }
+  if (left > 0) {
+    crc_map.erase(pos);
+    if (out)
+      *out << "clone_range invalidate " << pos << "\n";
+  }
+}
+
+void SloppyCRCMap::encode(bufferlist& bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(block_size, bl);
+  ::encode(crc_map, bl);
+  ENCODE_FINISH(bl);
+}
+
+void SloppyCRCMap::decode(bufferlist::iterator& bl)
+{
+  DECODE_START(1, bl);
+  uint32_t bs;
+  ::decode(bs, bl);
+  set_block_size(bs);
+  ::decode(crc_map, bl);
+  DECODE_FINISH(bl);
+}
+
+void SloppyCRCMap::dump(Formatter *f) const
+{
+  f->dump_unsigned("block_size", block_size);
+  f->open_array_section("crc_map");
+  for (map<uint64_t,uint32_t>::const_iterator p = crc_map.begin(); p != crc_map.end(); ++p) {
+    f->open_object_section("crc");
+    f->dump_unsigned("offset", p->first);
+    f->dump_unsigned("crc", p->second);
+    f->close_section();
+  }
+  f->close_section();
+}
+
+void SloppyCRCMap::generate_test_instances(list<SloppyCRCMap*>& ls)
+{
+  ls.push_back(new SloppyCRCMap);
+  ls.push_back(new SloppyCRCMap(2));
+  bufferlist bl;
+  bl.append("some data");
+  ls.back()->write(1, bl.length(), bl);
+  ls.back()->write(10, bl.length(), bl);
+  ls.back()->zero(4, 2);
+}
diff --git a/src/common/SloppyCRCMap.h b/src/common/SloppyCRCMap.h
new file mode 100644
index 0000000..c07b4d9
--- /dev/null
+++ b/src/common/SloppyCRCMap.h
@@ -0,0 +1,78 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+
+#ifndef CEPH_COMMON_SLOPPYCRCMAP_H
+#define CEPH_COMMON_SLOPPYCRCMAP_H
+
+#include "include/types.h"
+#include "include/encoding.h"
+
+#include <map>
+#include <ostream>
+
+/**
+ * SloppyCRCMap
+ *
+ * Opportunistically track CRCs on any reads or writes that cover full
+ * blocks.  Verify read results when we have CRC data available for
+ * the given extent.
+ */
+class SloppyCRCMap {
+  static const int crc_iv = 0xffffffff;
+
+  std::map<uint64_t, uint32_t> crc_map;  // offset -> crc(-1)
+  uint32_t block_size;
+  uint32_t zero_crc;
+
+public:
+  SloppyCRCMap(uint32_t b=0) {
+    set_block_size(b);
+  }
+
+  void set_block_size(uint32_t b) {
+    block_size = b;
+    //zero_crc = ceph_crc32c(0xffffffff, NULL, block_size);
+    if (b) {
+      bufferlist bl;
+      bufferptr bp(block_size);
+      bp.zero();
+      bl.append(bp);
+      zero_crc = bl.crc32c(crc_iv);
+    } else {
+      zero_crc = crc_iv;
+    }
+  }
+
+  /// update based on a write
+  void write(uint64_t offset, uint64_t len, const bufferlist& bl,
+	     std::ostream *out = NULL);
+
+  /// update based on a truncate
+  void truncate(uint64_t offset);
+
+  /// update based on a zero/punch_hole
+  void zero(uint64_t offset, uint64_t len);
+
+  /// update based on a zero/punch_hole
+  void clone_range(uint64_t offset, uint64_t len, uint64_t srcoff, const SloppyCRCMap& src,
+		   std::ostream *out = NULL);
+
+  /**
+   * validate a read result
+   *
+   * @param offset offset
+   * @param length length
+   * @param bl data read
+   * @param err option ostream to describe errors in detail
+   * @returns error count, 0 for success
+   */
+  int read(uint64_t offset, uint64_t len, const bufferlist& bl, std::ostream *err);
+
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<SloppyCRCMap*>& ls);
+};
+WRITE_CLASS_ENCODER(SloppyCRCMap)
+
+#endif
diff --git a/src/osd/OpRequest.cc b/src/common/TrackedOp.cc
similarity index 52%
copy from src/osd/OpRequest.cc
copy to src/common/TrackedOp.cc
index c694362..d1dbc1e 100644
--- a/src/osd/OpRequest.cc
+++ b/src/common/TrackedOp.cc
@@ -1,14 +1,22 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
-
-#include "OpRequest.h"
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ * Copyright 2013 Inktank
+ */
+
+#include "TrackedOp.h"
 #include "common/Formatter.h"
 #include <iostream>
 #include <vector>
 #include "common/debug.h"
 #include "common/config.h"
 #include "msg/Message.h"
-#include "messages/MOSDOp.h"
-#include "messages/MOSDSubOp.h"
 #include "include/assert.h"
 
 #define dout_subsys ceph_subsys_optracker
@@ -17,23 +25,7 @@
 
 static ostream& _prefix(std::ostream* _dout)
 {
-  return *_dout << "--OSD::tracker-- ";
-}
-
-OpRequest::OpRequest(Message *req, OpTracker *tracker) :
-  request(req), xitem(this),
-  rmw_flags(0),
-  warn_interval_multiplier(1),
-  lock("OpRequest::lock"),
-  tracker(tracker),
-  hit_flag_points(0), latest_flag_point(0),
-  seq(0) {
-  received_time = request->get_recv_stamp();
-  tracker->register_inflight_op(&xitem);
-  if (req->get_priority() < g_conf->osd_client_op_priority) {
-    // don't warn as quickly for low priority ops
-    warn_interval_multiplier = g_conf->osd_recovery_op_warn_multiple;
-  }
+  return *_dout << "-- op tracker -- ";
 }
 
 void OpHistory::on_shutdown()
@@ -43,7 +35,7 @@ void OpHistory::on_shutdown()
   shutdown = true;
 }
 
-void OpHistory::insert(utime_t now, OpRequestRef op)
+void OpHistory::insert(utime_t now, TrackedOpRef op)
 {
   if (shutdown)
     return;
@@ -56,14 +48,14 @@ void OpHistory::cleanup(utime_t now)
 {
   while (arrived.size() &&
 	 (now - arrived.begin()->first >
-	  (double)(g_conf->osd_op_history_duration))) {
+	  (double)(history_duration))) {
     duration.erase(make_pair(
 	arrived.begin()->second->get_duration(),
 	arrived.begin()->second));
     arrived.erase(arrived.begin());
   }
 
-  while (duration.size() > g_conf->osd_op_history_size) {
+  while (duration.size() > history_size) {
     arrived.erase(make_pair(
 	duration.begin()->second->get_arrived(),
 	duration.begin()->second));
@@ -75,11 +67,11 @@ void OpHistory::dump_ops(utime_t now, Formatter *f)
 {
   cleanup(now);
   f->open_object_section("OpHistory");
-  f->dump_int("num to keep", g_conf->osd_op_history_size);
-  f->dump_int("duration to keep", g_conf->osd_op_history_duration);
+  f->dump_int("num to keep", history_size);
+  f->dump_int("duration to keep", history_duration);
   {
     f->open_array_section("Ops");
-    for (set<pair<utime_t, OpRequestRef> >::const_iterator i =
+    for (set<pair<utime_t, TrackedOpRef> >::const_iterator i =
 	   arrived.begin();
 	 i != arrived.end();
 	 ++i) {
@@ -95,7 +87,7 @@ void OpHistory::dump_ops(utime_t now, Formatter *f)
 void OpTracker::dump_historic_ops(Formatter *f)
 {
   Mutex::Locker locker(ops_in_flight_lock);
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   history.dump_ops(now, f);
 }
 
@@ -104,32 +96,32 @@ void OpTracker::dump_ops_in_flight(Formatter *f)
   Mutex::Locker locker(ops_in_flight_lock);
   f->open_object_section("ops_in_flight"); // overall dump
   f->dump_int("num_ops", ops_in_flight.size());
-  f->open_array_section("ops"); // list of OpRequests
-  utime_t now = ceph_clock_now(g_ceph_context);
-  for (xlist<OpRequest*>::iterator p = ops_in_flight.begin(); !p.end(); ++p) {
+  f->open_array_section("ops"); // list of TrackedOps
+  utime_t now = ceph_clock_now(cct);
+  for (xlist<TrackedOp*>::iterator p = ops_in_flight.begin(); !p.end(); ++p) {
     f->open_object_section("op");
     (*p)->dump(now, f);
-    f->close_section(); // this OpRequest
+    f->close_section(); // this TrackedOp
   }
-  f->close_section(); // list of OpRequests
+  f->close_section(); // list of TrackedOps
   f->close_section(); // overall dump
 }
 
-void OpTracker::register_inflight_op(xlist<OpRequest*>::item *i)
+void OpTracker::register_inflight_op(xlist<TrackedOp*>::item *i)
 {
   Mutex::Locker locker(ops_in_flight_lock);
   ops_in_flight.push_back(i);
   ops_in_flight.back()->seq = seq++;
 }
 
-void OpTracker::unregister_inflight_op(OpRequest *i)
+void OpTracker::unregister_inflight_op(TrackedOp *i)
 {
   Mutex::Locker locker(ops_in_flight_lock);
   assert(i->xitem.get_list() == &ops_in_flight);
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   i->xitem.remove_myself();
   i->request->clear_data();
-  history.insert(now, OpRequestRef(i));
+  history.insert(now, TrackedOpRef(i));
 }
 
 bool OpTracker::check_ops_in_flight(std::vector<string> &warning_vector)
@@ -138,41 +130,40 @@ bool OpTracker::check_ops_in_flight(std::vector<string> &warning_vector)
   if (!ops_in_flight.size())
     return false;
 
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   utime_t too_old = now;
-  too_old -= g_conf->osd_op_complaint_time;
+  too_old -= complaint_time;
 
-  utime_t oldest_secs = now - ops_in_flight.front()->received_time;
+  utime_t oldest_secs = now - ops_in_flight.front()->get_arrived();
 
   dout(10) << "ops_in_flight.size: " << ops_in_flight.size()
            << "; oldest is " << oldest_secs
            << " seconds old" << dendl;
 
-  if (oldest_secs < g_conf->osd_op_complaint_time)
+  if (oldest_secs < complaint_time)
     return false;
 
-  xlist<OpRequest*>::iterator i = ops_in_flight.begin();
-  warning_vector.reserve(g_conf->osd_op_log_threshold + 1);
+  xlist<TrackedOp*>::iterator i = ops_in_flight.begin();
+  warning_vector.reserve(log_threshold + 1);
 
   int slow = 0;     // total slow
   int warned = 0;   // total logged
-  while (!i.end() && (*i)->received_time < too_old) {
+  while (!i.end() && (*i)->get_arrived() < too_old) {
     slow++;
 
     // exponential backoff of warning intervals
-    if (((*i)->received_time +
-	 (g_conf->osd_op_complaint_time *
-	  (*i)->warn_interval_multiplier)) < now) {
+    if (((*i)->get_arrived() +
+	 (complaint_time * (*i)->warn_interval_multiplier)) < now) {
       // will warn
       if (warning_vector.empty())
 	warning_vector.push_back("");
       warned++;
-      if (warned > g_conf->osd_op_log_threshold)
+      if (warned > log_threshold)
         break;
 
-      utime_t age = now - (*i)->received_time;
+      utime_t age = now - (*i)->get_arrived();
       stringstream ss;
-      ss << "slow request " << age << " seconds old, received at " << (*i)->received_time
+      ss << "slow request " << age << " seconds old, received at " << (*i)->get_arrived()
 	 << ": " << *((*i)->request) << " currently "
 	 << ((*i)->current.size() ? (*i)->current : (*i)->state_string());
       warning_vector.push_back(ss.str());
@@ -205,8 +196,8 @@ void OpTracker::get_age_ms_histogram(pow2_hist_t *h)
   unsigned bin = 30;
   uint32_t lb = 1 << (bin-1);  // lower bound for this bin
   int count = 0;
-  for (xlist<OpRequest*>::iterator i = ops_in_flight.begin(); !i.end(); ++i) {
-    utime_t age = now - (*i)->received_time;
+  for (xlist<TrackedOp*>::iterator i = ops_in_flight.begin(); !i.end(); ++i) {
+    utime_t age = now - (*i)->get_arrived();
     uint32_t ms = (long)(age * 1000.0);
     if (ms >= lb) {
       count++;
@@ -224,78 +215,29 @@ void OpTracker::get_age_ms_histogram(pow2_hist_t *h)
     h->set(bin, count);
 }
 
-void OpRequest::dump(utime_t now, Formatter *f) const
-{
-  Message *m = request;
-  stringstream name;
-  m->print(name);
-  f->dump_string("description", name.str().c_str()); // this OpRequest
-  f->dump_unsigned("rmw_flags", rmw_flags);
-  f->dump_stream("received_at") << received_time;
-  f->dump_float("age", now - received_time);
-  f->dump_float("duration", get_duration());
-  f->dump_string("flag_point", state_string());
-  if (m->get_orig_source().is_client()) {
-    f->open_object_section("client_info");
-    stringstream client_name;
-    client_name << m->get_orig_source();
-    f->dump_string("client", client_name.str());
-    f->dump_int("tid", m->get_tid());
-    f->close_section(); // client_info
-  }
-  {
-    f->open_array_section("events");
-    for (list<pair<utime_t, string> >::const_iterator i = events.begin();
-	 i != events.end();
-	 ++i) {
-      f->open_object_section("event");
-      f->dump_stream("time") << i->first;
-      f->dump_string("event", i->second);
-      f->close_section();
-    }
-    f->close_section();
-  }
-}
-
-void OpTracker::mark_event(OpRequest *op, const string &dest)
+void OpTracker::mark_event(TrackedOp *op, const string &dest)
 {
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   return _mark_event(op, dest, now);
 }
 
-void OpTracker::_mark_event(OpRequest *op, const string &evt,
+void OpTracker::_mark_event(TrackedOp *op, const string &evt,
 			    utime_t time)
 {
   Mutex::Locker locker(ops_in_flight_lock);
-  dout(5) << "reqid: " << op->get_reqid() << ", seq: " << op->seq
+  dout(5) << //"reqid: " << op->get_reqid() <<
+	     ", seq: " << op->seq
 	  << ", time: " << time << ", event: " << evt
 	  << ", request: " << *op->request << dendl;
 }
 
-void OpTracker::RemoveOnDelete::operator()(OpRequest *op) {
+void OpTracker::RemoveOnDelete::operator()(TrackedOp *op) {
   op->mark_event("done");
   tracker->unregister_inflight_op(op);
   // Do not delete op, unregister_inflight_op took control
 }
 
-OpRequestRef OpTracker::create_request(Message *ref)
-{
-  OpRequestRef retval(new OpRequest(ref, this),
-		      RemoveOnDelete(this));
-
-  if (ref->get_type() == CEPH_MSG_OSD_OP) {
-    retval->reqid = static_cast<MOSDOp*>(ref)->get_reqid();
-  } else if (ref->get_type() == MSG_OSD_SUBOP) {
-    retval->reqid = static_cast<MOSDSubOp*>(ref)->reqid;
-  }
-  _mark_event(retval.get(), "header_read", ref->get_recv_stamp());
-  _mark_event(retval.get(), "throttled", ref->get_throttle_stamp());
-  _mark_event(retval.get(), "all_read", ref->get_recv_complete_stamp());
-  _mark_event(retval.get(), "dispatched", ref->get_dispatch_stamp());
-  return retval;
-}
-
-void OpRequest::mark_event(const string &event)
+void TrackedOp::mark_event(const string &event)
 {
   utime_t now = ceph_clock_now(g_ceph_context);
   {
@@ -303,4 +245,21 @@ void OpRequest::mark_event(const string &event)
     events.push_back(make_pair(now, event));
   }
   tracker->mark_event(this, event);
+  _event_marked();
+}
+
+void TrackedOp::dump(utime_t now, Formatter *f) const
+{
+  Message *m = request;
+  stringstream name;
+  m->print(name);
+  f->dump_string("description", name.str().c_str()); // this TrackedOp
+  f->dump_stream("received_at") << get_arrived();
+  f->dump_float("age", now - get_arrived());
+  f->dump_float("duration", get_duration());
+  {
+    f->open_array_section("type_data");
+    _dump(now, f);
+    f->close_section();
+  }
 }
diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h
index 753331d..44e0390 100644
--- a/src/common/TrackedOp.h
+++ b/src/common/TrackedOp.h
@@ -17,15 +17,163 @@
 #include <stdint.h>
 #include <include/utime.h>
 #include "common/Mutex.h"
+#include "include/histogram.h"
 #include "include/xlist.h"
 #include "msg/Message.h"
 #include <tr1/memory>
 
+class TrackedOp;
+typedef std::tr1::shared_ptr<TrackedOp> TrackedOpRef;
+
+class OpTracker;
+class OpHistory {
+  set<pair<utime_t, TrackedOpRef> > arrived;
+  set<pair<double, TrackedOpRef> > duration;
+  void cleanup(utime_t now);
+  bool shutdown;
+  OpTracker *tracker;
+  uint32_t history_size;
+  uint32_t history_duration;
+
+public:
+  OpHistory(OpTracker *tracker_) : shutdown(false), tracker(tracker_),
+  history_size(0), history_duration(0) {}
+  ~OpHistory() {
+    assert(arrived.empty());
+    assert(duration.empty());
+  }
+  void insert(utime_t now, TrackedOpRef op);
+  void dump_ops(utime_t now, Formatter *f);
+  void on_shutdown();
+  void set_size_and_duration(uint32_t new_size, uint32_t new_duration) {
+    history_size = new_size;
+    history_duration = new_duration;
+  }
+};
+
+class OpTracker {
+  class RemoveOnDelete {
+    OpTracker *tracker;
+  public:
+    RemoveOnDelete(OpTracker *tracker) : tracker(tracker) {}
+    void operator()(TrackedOp *op);
+  };
+  friend class RemoveOnDelete;
+  friend class OpHistory;
+  uint64_t seq;
+  Mutex ops_in_flight_lock;
+  xlist<TrackedOp *> ops_in_flight;
+  OpHistory history;
+  float complaint_time;
+  int log_threshold;
+
+public:
+  CephContext *cct;
+  OpTracker(CephContext *cct_) : seq(0), ops_in_flight_lock("OpTracker mutex"),
+      history(this), complaint_time(0), log_threshold(0), cct(cct_) {}
+  void set_complaint_and_threshold(float time, int threshold) {
+    complaint_time = time;
+    log_threshold = threshold;
+  }
+  void set_history_size_and_duration(uint32_t new_size, uint32_t new_duration) {
+    history.set_size_and_duration(new_size, new_duration);
+  }
+  void dump_ops_in_flight(Formatter *f);
+  void dump_historic_ops(Formatter *f);
+  void register_inflight_op(xlist<TrackedOp*>::item *i);
+  void unregister_inflight_op(TrackedOp *i);
+
+  void get_age_ms_histogram(pow2_hist_t *h);
+
+  /**
+   * Look for Ops which are too old, and insert warning
+   * strings for each Op that is too old.
+   *
+   * @param warning_strings A vector<string> reference which is filled
+   * with a warning string for each old Op.
+   * @return True if there are any Ops to warn on, false otherwise.
+   */
+  bool check_ops_in_flight(std::vector<string> &warning_strings);
+  void mark_event(TrackedOp *op, const string &evt);
+  void _mark_event(TrackedOp *op, const string &evt, utime_t now);
+
+  void on_shutdown() {
+    Mutex::Locker l(ops_in_flight_lock);
+    history.on_shutdown();
+  }
+  ~OpTracker() {
+    assert(ops_in_flight.empty());
+  }
+
+  template <typename T>
+  typename T::Ref create_request(Message *ref)
+  {
+    typename T::Ref retval(new T(ref, this),
+			   RemoveOnDelete(this));
+    
+    _mark_event(retval.get(), "header_read", ref->get_recv_stamp());
+    _mark_event(retval.get(), "throttled", ref->get_throttle_stamp());
+    _mark_event(retval.get(), "all_read", ref->get_recv_complete_stamp());
+    _mark_event(retval.get(), "dispatched", ref->get_dispatch_stamp());
+    
+    retval->init_from_message();
+    
+    return retval;
+  }
+};
+
 class TrackedOp {
+private:
+  friend class OpHistory;
+  friend class OpTracker;
+  xlist<TrackedOp*>::item xitem;
+protected:
+  Message *request; /// the logical request we are tracking
+  OpTracker *tracker; /// the tracker we are associated with
+
+  list<pair<utime_t, string> > events; /// list of events and their times
+  Mutex lock; /// to protect the events list
+  string current; /// the current state the event is in
+  uint64_t seq; /// a unique value set by the OpTracker
+
+  uint32_t warn_interval_multiplier; // limits output of a given op warning
+
+  TrackedOp(Message *req, OpTracker *_tracker) :
+    xitem(this),
+    request(req),
+    tracker(_tracker),
+    lock("TrackedOp::lock"),
+    seq(0),
+    warn_interval_multiplier(1)
+  {
+    tracker->register_inflight_op(&xitem);
+  }
+
+  virtual void init_from_message() {}
+  /// output any type-specific data you want to get when dump() is called
+  virtual void _dump(utime_t now, Formatter *f) const {}
+  /// if you want something else to happen when events are marked, implement
+  virtual void _event_marked() {}
+
 public:
-  virtual void mark_event(const string &event) = 0;
-  virtual ~TrackedOp() {}
+  virtual ~TrackedOp() { assert(request); request->put(); }
+
+  utime_t get_arrived() const {
+    return request->get_recv_stamp();
+  }
+  // This function maybe needs some work; assumes last event is completion time
+  double get_duration() const {
+    return events.size() ?
+      (events.rbegin()->first - get_arrived()) :
+      0.0;
+  }
+  Message *get_req() const { return request; }
+
+  void mark_event(const string &event);
+  virtual const char *state_string() const {
+    return events.rbegin()->second.c_str();
+  }
+  void dump(utime_t now, Formatter *f) const;
 };
-typedef std::tr1::shared_ptr<TrackedOp> TrackedOpRef;
 
 #endif
diff --git a/src/common/WorkQueue.h b/src/common/WorkQueue.h
index b2742ac..794b577 100644
--- a/src/common/WorkQueue.h
+++ b/src/common/WorkQueue.h
@@ -390,6 +390,43 @@ public:
   void drain(WorkQueue_* wq = 0);
 };
 
+class GenContextWQ :
+  public ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*> {
+  list<GenContext<ThreadPool::TPHandle&>*> _queue;
+public:
+  GenContextWQ(const string &name, time_t ti, ThreadPool *tp)
+    : ThreadPool::WorkQueueVal<
+      GenContext<ThreadPool::TPHandle&>*>(name, ti, ti*10, tp) {}
+  
+  void _enqueue(GenContext<ThreadPool::TPHandle&> *c) {
+    _queue.push_back(c);
+  };
+  void _enqueue_front(GenContext<ThreadPool::TPHandle&> *c) {
+    _queue.push_front(c);
+  }
+  bool _empty() {
+    return _queue.empty();
+  }
+  GenContext<ThreadPool::TPHandle&> *_dequeue() {
+    assert(!_queue.empty());
+    GenContext<ThreadPool::TPHandle&> *c = _queue.front();
+    _queue.pop_front();
+    return c;
+  }
+  void _process(GenContext<ThreadPool::TPHandle&> *c, ThreadPool::TPHandle &tp) {
+    c->complete(tp);
+  }
+};
 
+class C_QueueInWQ : public Context {
+  GenContextWQ *wq;
+  GenContext<ThreadPool::TPHandle&> *c;
+public:
+  C_QueueInWQ(GenContextWQ *wq, GenContext<ThreadPool::TPHandle &> *c)
+    : wq(wq), c(c) {}
+  void finish(int) {
+    wq->queue(c);
+  }
+};
 
 #endif
diff --git a/src/include/addr_parsing.c b/src/common/addr_parsing.c
similarity index 100%
rename from src/include/addr_parsing.c
rename to src/common/addr_parsing.c
diff --git a/src/common/admin_socket.cc b/src/common/admin_socket.cc
index 1a507e6..12e5868 100644
--- a/src/common/admin_socket.cc
+++ b/src/common/admin_socket.cc
@@ -12,6 +12,8 @@
  * 
  */
 
+#include "include/int_types.h"
+
 #include "common/Thread.h"
 #include "common/admin_socket.h"
 #include "common/config.h"
@@ -26,7 +28,6 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <inttypes.h>
 #include <map>
 #include <poll.h>
 #include <set>
diff --git a/src/common/admin_socket_client.cc b/src/common/admin_socket_client.cc
index 782e808..335695f 100644
--- a/src/common/admin_socket_client.cc
+++ b/src/common/admin_socket_client.cc
@@ -12,6 +12,8 @@
  *
  */
 
+#include "include/int_types.h"
+
 #include "common/admin_socket.h"
 #include "common/ceph_context.h"
 #include "common/errno.h"
@@ -21,7 +23,6 @@
 #include <arpa/inet.h>
 #include <errno.h>
 #include <fcntl.h>
-#include <inttypes.h>
 #include <map>
 #include <poll.h>
 #include <sstream>
diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
index 22b0aa6..b0dc0a5 100644
--- a/src/common/blkdev.cc
+++ b/src/common/blkdev.cc
@@ -1,8 +1,8 @@
-#include <inttypes.h>
+#include "include/int_types.h"
+
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <errno.h>
-
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/mount.h>
diff --git a/src/common/bloom_filter.cc b/src/common/bloom_filter.cc
new file mode 100644
index 0000000..68875e9
--- /dev/null
+++ b/src/common/bloom_filter.cc
@@ -0,0 +1,137 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "include/types.h"
+#include "common/bloom_filter.hpp"
+
+void bloom_filter::encode(bufferlist& bl) const
+{
+  ENCODE_START(2, 2, bl);
+  ::encode((uint64_t)salt_count_, bl);
+  ::encode((uint64_t)insert_count_, bl);
+  ::encode((uint64_t)target_element_count_, bl);
+  ::encode((uint64_t)random_seed_, bl);
+  bufferptr bp((const char*)bit_table_, table_size_);
+  ::encode(bp, bl);
+  ENCODE_FINISH(bl);
+}
+
+void bloom_filter::decode(bufferlist::iterator& p)
+{
+  DECODE_START(2, p);
+  uint64_t v;
+  ::decode(v, p);
+  salt_count_ = v;
+  ::decode(v, p);
+  insert_count_ = v;
+  ::decode(v, p);
+  target_element_count_ = v;
+  ::decode(v, p);
+  random_seed_ = v;
+  bufferlist t;
+  ::decode(t, p);
+
+  salt_.clear();
+  generate_unique_salt();
+  table_size_ = t.length();
+  delete bit_table_;
+  if (table_size_) {
+    bit_table_ = new cell_type[table_size_];
+    t.copy(0, table_size_, (char *)bit_table_);
+  } else {
+    bit_table_ = NULL;
+  }
+
+  DECODE_FINISH(p);
+}
+
+void bloom_filter::dump(Formatter *f) const
+{
+  f->dump_unsigned("salt_count", salt_count_);
+  f->dump_unsigned("table_size", table_size_);
+  f->dump_unsigned("insert_count", insert_count_);
+  f->dump_unsigned("target_element_count", target_element_count_);
+  f->dump_unsigned("random_seed", random_seed_);
+
+  f->open_array_section("salt_table");
+  for (std::vector<bloom_type>::const_iterator i = salt_.begin(); i != salt_.end(); ++i)
+    f->dump_unsigned("salt", *i);
+  f->close_section();
+
+  f->open_array_section("bit_table");
+  for (unsigned i = 0; i < table_size_; ++i)
+    f->dump_unsigned("byte", (unsigned)bit_table_[i]);
+  f->close_section();
+}
+
+void bloom_filter::generate_test_instances(list<bloom_filter*>& ls)
+{
+  ls.push_back(new bloom_filter(10, .5, 1));
+  ls.push_back(new bloom_filter(10, .5, 1));
+  ls.back()->insert("foo");
+  ls.back()->insert("bar");
+  ls.push_back(new bloom_filter(50, .5, 1));
+  ls.back()->insert("foo");
+  ls.back()->insert("bar");
+  ls.back()->insert("baz");
+  ls.back()->insert("boof");
+  ls.back()->insert("boogggg");
+}
+
+
+void compressible_bloom_filter::encode(bufferlist& bl) const
+{
+  ENCODE_START(2, 2, bl);
+  bloom_filter::encode(bl);
+
+  uint32_t s = size_list.size();
+  ::encode(s, bl);
+  for (vector<size_t>::const_iterator p = size_list.begin();
+       p != size_list.end(); ++p)
+    ::encode((uint64_t)*p, bl);
+
+  ENCODE_FINISH(bl);
+}
+
+void compressible_bloom_filter::decode(bufferlist::iterator& p)
+{
+  DECODE_START(2, p);
+  bloom_filter::decode(p);
+
+  uint32_t s;
+  ::decode(s, p);
+  size_list.resize(s);
+  for (unsigned i = 0; i < s; i++) {
+    uint64_t v;
+    ::decode(v, p);
+    size_list[i] = v;
+  }
+
+  DECODE_FINISH(p);
+}
+
+void compressible_bloom_filter::dump(Formatter *f) const
+{
+  bloom_filter::dump(f);
+
+  f->open_array_section("table_sizes");
+  for (vector<size_t>::const_iterator p = size_list.begin();
+       p != size_list.end(); ++p)
+    f->dump_unsigned("size", (uint64_t)*p);
+  f->close_section();
+}
+
+void compressible_bloom_filter::generate_test_instances(list<compressible_bloom_filter*>& ls)
+{
+  ls.push_back(new compressible_bloom_filter(10, .5, 1));
+  ls.push_back(new compressible_bloom_filter(10, .5, 1));
+  ls.back()->insert("foo");
+  ls.back()->insert("bar");
+  ls.push_back(new compressible_bloom_filter(50, .5, 1));
+  ls.back()->insert("foo");
+  ls.back()->insert("bar");
+  ls.back()->insert("baz");
+  ls.back()->insert("boof");
+  ls.back()->compress(20);
+  ls.back()->insert("boogggg");
+}
diff --git a/src/common/bloom_filter.hpp b/src/common/bloom_filter.hpp
new file mode 100644
index 0000000..93787a8
--- /dev/null
+++ b/src/common/bloom_filter.hpp
@@ -0,0 +1,700 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+/*
+ *******************************************************************
+ *                                                                 *
+ *                        Open Bloom Filter                        *
+ *                                                                 *
+ * Author: Arash Partow - 2000                                     *
+ * URL: http://www.partow.net/programming/hashfunctions/index.html *
+ *                                                                 *
+ * Copyright notice:                                               *
+ * Free use of the Open Bloom Filter Library is permitted under    *
+ * the guidelines and in accordance with the most current version  *
+ * of the Boost Software License, Version 1.0                      *
+ * http://www.opensource.org/licenses/bsl1.0.html                  *
+ *                                                                 *
+ *******************************************************************
+*/
+
+
+#ifndef COMMON_BLOOM_FILTER_HPP
+#define COMMON_BLOOM_FILTER_HPP
+
+#include <cstddef>
+#include <algorithm>
+#include <cmath>
+#include <limits>
+#include <list>
+#include <string>
+#include <vector>
+
+#include "include/encoding.h"
+#include "common/Formatter.h"
+
+static const std::size_t bits_per_char = 0x08;    // 8 bits in 1 char(unsigned)
+static const unsigned char bit_mask[bits_per_char] = {
+  0x01,  //00000001
+  0x02,  //00000010
+  0x04,  //00000100
+  0x08,  //00001000
+  0x10,  //00010000
+  0x20,  //00100000
+  0x40,  //01000000
+  0x80   //10000000
+};
+
+
+class bloom_filter
+{
+protected:
+
+  typedef unsigned int bloom_type;
+  typedef unsigned char cell_type;
+
+  unsigned char*       bit_table_;   ///< pointer to bit map
+  std::vector<bloom_type> salt_;     ///< vector of salts
+  std::size_t         salt_count_;   ///< number of salts
+  std::size_t         table_size_;   ///< bit table size in bytes
+  std::size_t         insert_count_;  ///< insertion count
+  std::size_t         target_element_count_;  ///< target number of unique insertions
+  std::size_t         random_seed_;  ///< random seed
+
+public:
+
+  bloom_filter()
+    : bit_table_(0),
+      salt_count_(0),
+      table_size_(0),
+      insert_count_(0),
+      target_element_count_(0),
+      random_seed_(0)
+  {}
+
+  bloom_filter(const std::size_t& predicted_inserted_element_count,
+	       const double& false_positive_probability,
+	       const std::size_t& random_seed)
+    : bit_table_(0),
+      insert_count_(0),
+      target_element_count_(predicted_inserted_element_count),
+      random_seed_((random_seed) ? random_seed : 0xA5A5A5A5)
+  {
+    find_optimal_parameters(predicted_inserted_element_count, false_positive_probability,
+			    &salt_count_, &table_size_);
+    init();
+  }
+
+  bloom_filter(const std::size_t& salt_count,
+	       std::size_t table_size,
+	       const std::size_t& random_seed,
+	       std::size_t target_element_count)
+    : bit_table_(0),
+      salt_count_(salt_count),
+      table_size_(table_size),
+      insert_count_(0),
+      target_element_count_(target_element_count),
+      random_seed_((random_seed) ? random_seed : 0xA5A5A5A5)
+  {
+    init();
+  }
+
+  void init() {
+    generate_unique_salt();
+    if (table_size_) {
+      bit_table_ = new cell_type[table_size_];
+      std::fill_n(bit_table_, table_size_, 0x00);
+    } else {
+      bit_table_ = NULL;
+    }
+  }
+
+  bloom_filter(const bloom_filter& filter)
+  {
+    this->operator=(filter);
+  }
+
+  bloom_filter& operator = (const bloom_filter& filter)
+  {
+    if (this != &filter) {
+      salt_count_ = filter.salt_count_;
+      table_size_ = filter.table_size_;
+      insert_count_ = filter.insert_count_;
+      random_seed_ = filter.random_seed_;
+      delete[] bit_table_;
+      bit_table_ = new cell_type[table_size_];
+      std::copy(filter.bit_table_, filter.bit_table_ + table_size_, bit_table_);
+      salt_ = filter.salt_;
+    }
+    return *this;
+  }
+
+  virtual ~bloom_filter()
+  {
+    delete[] bit_table_;
+  }
+
+  inline bool operator!() const
+  {
+    return (0 == table_size_);
+  }
+
+  inline void clear()
+  {
+    if (bit_table_)
+      std::fill_n(bit_table_, table_size_, 0x00);
+    insert_count_ = 0;
+  }
+
+  /**
+   * insert a u32 into the set
+   *
+   * NOTE: the internal hash is weak enough that consecutive inputs do
+   * not achieve the desired fpp.  Well-mixed values should be used
+   * here (e.g., put rjhash(x) into the filter instead of just x).
+   *
+   * @param val integer value to insert
+   */
+  inline void insert(uint32_t val) {
+    assert(bit_table_);
+    std::size_t bit_index = 0;
+    std::size_t bit = 0;
+    for (std::size_t i = 0; i < salt_.size(); ++i)
+    {
+      compute_indices(hash_ap(val,salt_[i]),bit_index,bit);
+      bit_table_[bit_index >> 3] |= bit_mask[bit];
+    }
+    ++insert_count_;
+  }
+
+  inline void insert(const unsigned char* key_begin, const std::size_t& length)
+  {
+    assert(bit_table_);
+    std::size_t bit_index = 0;
+    std::size_t bit = 0;
+    for (std::size_t i = 0; i < salt_.size(); ++i)
+    {
+      compute_indices(hash_ap(key_begin,length,salt_[i]),bit_index,bit);
+      bit_table_[bit_index >> 3] |= bit_mask[bit];
+    }
+    ++insert_count_;
+  }
+
+  template<typename T>
+  inline void insert(const T& t)
+  {
+    // Note: T must be a C++ POD type.
+    insert(reinterpret_cast<const unsigned char*>(&t),sizeof(T));
+  }
+
+  inline void insert(const std::string& key)
+  {
+    insert(reinterpret_cast<const unsigned char*>(key.c_str()),key.size());
+  }
+
+  inline void insert(const char* data, const std::size_t& length)
+  {
+    insert(reinterpret_cast<const unsigned char*>(data),length);
+  }
+
+  template<typename InputIterator>
+  inline void insert(const InputIterator begin, const InputIterator end)
+  {
+    InputIterator itr = begin;
+    while (end != itr)
+    {
+      insert(*(itr++));
+    }
+  }
+
+  /**
+   * check if a u32 is contained by set
+   *
+   * NOTE: the internal hash is weak enough that consecutive inputs do
+   * not achieve the desired fpp.  Well-mixed values should be used
+   * here (e.g., put rjhash(x) into the filter instead of just x).
+   *
+   * @param val integer value to query
+   * @returns true if value is (probably) in the set, false if it definitely is not
+   */
+  inline virtual bool contains(uint32_t val) const
+  {
+    if (!bit_table_)
+      return false;
+    std::size_t bit_index = 0;
+    std::size_t bit = 0;
+    for (std::size_t i = 0; i < salt_.size(); ++i)
+    {
+      compute_indices(hash_ap(val,salt_[i]),bit_index,bit);
+      if ((bit_table_[bit_index >> 3] & bit_mask[bit]) != bit_mask[bit])
+      {
+        return false;
+      }
+    }
+    return true;
+  }
+
+  inline virtual bool contains(const unsigned char* key_begin, const std::size_t length) const
+  {
+    if (!bit_table_)
+      return false;
+    std::size_t bit_index = 0;
+    std::size_t bit = 0;
+    for (std::size_t i = 0; i < salt_.size(); ++i)
+    {
+      compute_indices(hash_ap(key_begin,length,salt_[i]),bit_index,bit);
+      if ((bit_table_[bit_index >> 3] & bit_mask[bit]) != bit_mask[bit])
+      {
+        return false;
+      }
+    }
+    return true;
+  }
+
+  template<typename T>
+  inline bool contains(const T& t) const
+  {
+    return contains(reinterpret_cast<const unsigned char*>(&t),static_cast<std::size_t>(sizeof(T)));
+  }
+
+  inline bool contains(const std::string& key) const
+  {
+    return contains(reinterpret_cast<const unsigned char*>(key.c_str()),key.size());
+  }
+
+  inline bool contains(const char* data, const std::size_t& length) const
+  {
+    return contains(reinterpret_cast<const unsigned char*>(data),length);
+  }
+
+  template<typename InputIterator>
+  inline InputIterator contains_all(const InputIterator begin, const InputIterator end) const
+  {
+    InputIterator itr = begin;
+    while (end != itr)
+    {
+      if (!contains(*itr))
+      {
+        return itr;
+      }
+      ++itr;
+    }
+    return end;
+  }
+
+  template<typename InputIterator>
+  inline InputIterator contains_none(const InputIterator begin, const InputIterator end) const
+  {
+    InputIterator itr = begin;
+    while (end != itr)
+    {
+      if (contains(*itr))
+      {
+        return itr;
+      }
+      ++itr;
+    }
+    return end;
+  }
+
+  inline virtual std::size_t size() const
+  {
+    return table_size_ * bits_per_char;
+  }
+
+  inline std::size_t element_count() const
+  {
+    return insert_count_;
+  }
+
+  /*
+   * density of bits set.  inconvenient units, but:
+   *    .3  = ~50% target insertions
+   *    .5  = 100% target insertions, "perfectly full"
+   *    .75 = 200% target insertions
+   *   1.0  = all bits set... infinite insertions
+   */
+  inline double density() const
+  {
+    if (!bit_table_)
+      return 0.0;
+    size_t set = 0;
+    uint8_t *p = bit_table_;
+    size_t left = table_size_;
+    while (left-- > 0) {
+      uint8_t c = *p;
+      for (; c; ++set)
+	c &= c - 1;
+      ++p;
+    }
+    return (double)set / (double)(table_size_ << 3);
+  }
+
+  virtual inline double approx_unique_element_count() const {
+    // this is not a very good estimate; a better solution should have
+    // some asymptotic behavior as density() approaches 1.0.
+    return (double)target_element_count_ * 2.0 * density();
+  }
+
+  inline double effective_fpp() const
+  {
+    /*
+      Note:
+      The effective false positive probability is calculated using the
+      designated table size and hash function count in conjunction with
+      the current number of inserted elements - not the user defined
+      predicated/expected number of inserted elements.
+    */
+    return std::pow(1.0 - std::exp(-1.0 * salt_.size() * insert_count_ / size()), 1.0 * salt_.size());
+  }
+
+  inline bloom_filter& operator &= (const bloom_filter& filter)
+  {
+    /* intersection */
+    if (
+	(salt_count_  == filter.salt_count_) &&
+	(table_size_  == filter.table_size_) &&
+	(random_seed_ == filter.random_seed_)
+	) {
+      for (std::size_t i = 0; i < table_size_; ++i) {
+	bit_table_[i] &= filter.bit_table_[i];
+      }
+    }
+    return *this;
+  }
+
+  inline bloom_filter& operator |= (const bloom_filter& filter)
+  {
+    /* union */
+    if (
+	(salt_count_  == filter.salt_count_) &&
+	(table_size_  == filter.table_size_) &&
+	(random_seed_ == filter.random_seed_)
+	) {
+      for (std::size_t i = 0; i < table_size_; ++i) {
+        bit_table_[i] |= filter.bit_table_[i];
+      }
+    }
+    return *this;
+  }
+
+  inline bloom_filter& operator ^= (const bloom_filter& filter)
+  {
+    /* difference */
+    if (
+	(salt_count_  == filter.salt_count_) &&
+	(table_size_  == filter.table_size_) &&
+	(random_seed_ == filter.random_seed_)
+	) {
+      for (std::size_t i = 0; i < table_size_; ++i) {
+	bit_table_[i] ^= filter.bit_table_[i];
+      }
+    }
+    return *this;
+  }
+
+  inline const cell_type* table() const
+  {
+    return bit_table_;
+  }
+
+protected:
+
+  inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const
+  {
+    bit_index = hash % (table_size_ << 3);
+    bit = bit_index & 7;
+  }
+
+  void generate_unique_salt()
+  {
+    /*
+      Note:
+      A distinct hash function need not be implementation-wise
+      distinct. In the current implementation "seeding" a common
+      hash function with different values seems to be adequate.
+    */
+    const unsigned int predef_salt_count = 128;
+    static const bloom_type predef_salt[predef_salt_count] = {
+      0xAAAAAAAA, 0x55555555, 0x33333333, 0xCCCCCCCC,
+      0x66666666, 0x99999999, 0xB5B5B5B5, 0x4B4B4B4B,
+      0xAA55AA55, 0x55335533, 0x33CC33CC, 0xCC66CC66,
+      0x66996699, 0x99B599B5, 0xB54BB54B, 0x4BAA4BAA,
+      0xAA33AA33, 0x55CC55CC, 0x33663366, 0xCC99CC99,
+      0x66B566B5, 0x994B994B, 0xB5AAB5AA, 0xAAAAAA33,
+      0x555555CC, 0x33333366, 0xCCCCCC99, 0x666666B5,
+      0x9999994B, 0xB5B5B5AA, 0xFFFFFFFF, 0xFFFF0000,
+      0xB823D5EB, 0xC1191CDF, 0xF623AEB3, 0xDB58499F,
+      0xC8D42E70, 0xB173F616, 0xA91A5967, 0xDA427D63,
+      0xB1E8A2EA, 0xF6C0D155, 0x4909FEA3, 0xA68CC6A7,
+      0xC395E782, 0xA26057EB, 0x0CD5DA28, 0x467C5492,
+      0xF15E6982, 0x61C6FAD3, 0x9615E352, 0x6E9E355A,
+      0x689B563E, 0x0C9831A8, 0x6753C18B, 0xA622689B,
+      0x8CA63C47, 0x42CC2884, 0x8E89919B, 0x6EDBD7D3,
+      0x15B6796C, 0x1D6FDFE4, 0x63FF9092, 0xE7401432,
+      0xEFFE9412, 0xAEAEDF79, 0x9F245A31, 0x83C136FC,
+      0xC3DA4A8C, 0xA5112C8C, 0x5271F491, 0x9A948DAB,
+      0xCEE59A8D, 0xB5F525AB, 0x59D13217, 0x24E7C331,
+      0x697C2103, 0x84B0A460, 0x86156DA9, 0xAEF2AC68,
+      0x23243DA5, 0x3F649643, 0x5FA495A8, 0x67710DF8,
+      0x9A6C499E, 0xDCFB0227, 0x46A43433, 0x1832B07A,
+      0xC46AFF3C, 0xB9C8FFF0, 0xC9500467, 0x34431BDF,
+      0xB652432B, 0xE367F12B, 0x427F4C1B, 0x224C006E,
+      0x2E7E5A89, 0x96F99AA5, 0x0BEB452A, 0x2FD87C39,
+      0x74B2E1FB, 0x222EFD24, 0xF357F60C, 0x440FCB1E,
+      0x8BBE030F, 0x6704DC29, 0x1144D12F, 0x948B1355,
+      0x6D8FD7E9, 0x1C11A014, 0xADD1592F, 0xFB3C712E,
+      0xFC77642F, 0xF9C4CE8C, 0x31312FB9, 0x08B0DD79,
+      0x318FA6E7, 0xC040D23D, 0xC0589AA7, 0x0CA5C075,
+      0xF874B172, 0x0CF914D5, 0x784D3280, 0x4E8CFEBC,
+      0xC569F575, 0xCDB2A091, 0x2CC016B4, 0x5C5F4421
+    };
+
+    if (salt_count_ <= predef_salt_count)
+    {
+      std::copy(predef_salt,
+		predef_salt + salt_count_,
+		std::back_inserter(salt_));
+       for (unsigned int i = 0; i < salt_.size(); ++i)
+       {
+        /*
+          Note:
+          This is done to integrate the user defined random seed,
+          so as to allow for the generation of unique bloom filter
+          instances.
+        */
+        salt_[i] = salt_[i] * salt_[(i + 3) % salt_.size()] + random_seed_;
+       }
+    }
+    else
+    {
+      std::copy(predef_salt,predef_salt + predef_salt_count,
+		std::back_inserter(salt_));
+      srand(static_cast<unsigned int>(random_seed_));
+      while (salt_.size() < salt_count_)
+      {
+        bloom_type current_salt = static_cast<bloom_type>(rand()) * static_cast<bloom_type>(rand());
+        if (0 == current_salt)
+	  continue;
+        if (salt_.end() == std::find(salt_.begin(), salt_.end(), current_salt))
+        {
+          salt_.push_back(current_salt);
+        }
+      }
+    }
+  }
+
+  static void find_optimal_parameters(std::size_t target_insert_count,
+				      double target_fpp,
+				      std::size_t *salt_count,
+				      std::size_t *table_size)
+  {
+    /*
+      Note:
+      The following will attempt to find the number of hash functions
+      and minimum amount of storage bits required to construct a bloom
+      filter consistent with the user defined false positive probability
+      and estimated element insertion count.
+    */
+
+    double min_m = std::numeric_limits<double>::infinity();
+    double min_k = 0.0;
+    double curr_m = 0.0;
+    double k = 1.0;
+    while (k < 1000.0)
+    {
+      double numerator  = (- k * target_insert_count);
+      double denominator = std::log(1.0 - std::pow(target_fpp, 1.0 / k));
+      curr_m = numerator / denominator;
+
+      if (curr_m < min_m)
+      {
+        min_m = curr_m;
+        min_k = k;
+      }
+      k += 1.0;
+    }
+
+    *salt_count = static_cast<std::size_t>(min_k);
+    size_t t = static_cast<std::size_t>(min_m);
+    t += (((t & 7) != 0) ? (bits_per_char - (t & 7)) : 0);
+    *table_size = t >> 3;
+  }
+
+  inline bloom_type hash_ap(uint32_t val, bloom_type hash) const
+  {
+    hash ^=    (hash <<  7) ^  ((val & 0xff000000) >> 24) * (hash >> 3);
+    hash ^= (~((hash << 11) + (((val & 0xff0000) >> 16) ^ (hash >> 5))));
+    hash ^=    (hash <<  7) ^  ((val & 0xff00) >> 8) * (hash >> 3);
+    hash ^= (~((hash << 11) + (((val & 0xff)) ^ (hash >> 5))));
+    return hash;
+  }
+
+  inline bloom_type hash_ap(const unsigned char* begin, std::size_t remaining_length, bloom_type hash) const
+  {
+    const unsigned char* itr = begin;
+
+    while (remaining_length >= 4)
+    {
+      hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
+      hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
+      hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
+      hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
+      remaining_length -= 4;
+    }
+
+    while (remaining_length >= 2)
+    {
+      hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
+      hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
+      remaining_length -= 2;
+    }
+
+    if (remaining_length)
+    {
+      hash ^= (hash <<  7) ^ (*itr) * (hash >> 3);
+    }
+
+    return hash;
+  }
+
+public:
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(std::list<bloom_filter*>& ls);
+};
+WRITE_CLASS_ENCODER(bloom_filter)
+
+inline bloom_filter operator & (const bloom_filter& a, const bloom_filter& b)
+{
+  bloom_filter result = a;
+  result &= b;
+  return result;
+}
+
+inline bloom_filter operator | (const bloom_filter& a, const bloom_filter& b)
+{
+  bloom_filter result = a;
+  result |= b;
+  return result;
+}
+
+inline bloom_filter operator ^ (const bloom_filter& a, const bloom_filter& b)
+{
+  bloom_filter result = a;
+  result ^= b;
+  return result;
+}
+
+
+class compressible_bloom_filter : public bloom_filter
+{
+public:
+
+  compressible_bloom_filter() : bloom_filter() {}
+
+  compressible_bloom_filter(const std::size_t& predicted_element_count,
+			    const double& false_positive_probability,
+			    const std::size_t& random_seed)
+    : bloom_filter(predicted_element_count, false_positive_probability, random_seed)
+  {
+    size_list.push_back(table_size_);
+  }
+
+  compressible_bloom_filter(const std::size_t& salt_count,
+			    std::size_t table_size,
+			    const std::size_t& random_seed,
+			    std::size_t target_count)
+    : bloom_filter(salt_count, table_size, random_seed, target_count)
+  {
+    size_list.push_back(table_size_);
+  }
+
+  inline virtual std::size_t size() const
+  {
+    return size_list.back() * bits_per_char;
+  }
+
+  inline bool compress(const double& target_ratio)
+  {
+    if (!bit_table_)
+      return false;
+
+    if ((0.0 >= target_ratio) || (target_ratio >= 1.0))
+    {
+      return false;
+    }
+
+    std::size_t original_table_size = size_list.back();
+    std::size_t new_table_size = static_cast<std::size_t>(size_list.back() * target_ratio);
+
+    if ((!new_table_size) || (new_table_size >= original_table_size))
+    {
+      return false;
+    }
+
+    cell_type* tmp = new cell_type[new_table_size];
+    std::copy(bit_table_, bit_table_ + (new_table_size), tmp);
+    cell_type* itr = bit_table_ + (new_table_size);
+    cell_type* end = bit_table_ + (original_table_size);
+    cell_type* itr_tmp = tmp;
+    cell_type* itr_end = tmp + (new_table_size);
+    while (end != itr)
+    {
+      *(itr_tmp++) |= (*itr++);
+      if (itr_tmp == itr_end)
+	itr_tmp = tmp;
+    }
+
+    delete[] bit_table_;
+    bit_table_ = tmp;
+    size_list.push_back(new_table_size);
+    table_size_ = new_table_size;
+
+    return true;
+  }
+
+  virtual inline double approx_unique_element_count() const {
+    // this is not a very good estimate; a better solution should have
+    // some asymptotic behavior as density() approaches 1.0.
+    //
+    // the compress() correction is also bad; it tends to under-estimate.
+    return (double)target_element_count_ * 2.0 * density() * (double)size_list.back() / (double)size_list.front();
+  }
+
+private:
+
+  inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const
+  {
+    bit_index = hash;
+    for (std::size_t i = 0; i < size_list.size(); ++i)
+    {
+      bit_index %= size_list[i] << 3;
+    }
+    bit = bit_index & 7;
+  }
+
+  std::vector<std::size_t> size_list;
+public:
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(std::list<compressible_bloom_filter*>& ls);
+};
+WRITE_CLASS_ENCODER(compressible_bloom_filter)
+
+#endif
+
+
+/*
+  Note 1:
+  If it can be guaranteed that bits_per_char will be of the form 2^n then
+  the following optimization can be used:
+
+  hash_table[bit_index >> n] |= bit_mask[bit_index & (bits_per_char - 1)];
+
+  Note 2:
+  For performance reasons where possible when allocating memory it should
+  be aligned (aligned_alloc) according to the architecture being used.
+*/
diff --git a/src/common/buffer.cc b/src/common/buffer.cc
index 0424887..4930705 100644
--- a/src/common/buffer.cc
+++ b/src/common/buffer.cc
@@ -21,6 +21,7 @@
 #include "include/atomic.h"
 #include "include/types.h"
 #include "include/compat.h"
+#include "include/Spinlock.h"
 
 #include <errno.h>
 #include <fstream>
@@ -39,8 +40,8 @@ static uint32_t simple_spinlock_t buffer_debug_lock = SIMPLE_SPINLOCK_INITIALIZE
 # define bendl std::endl; }
 #endif
 
-atomic_t buffer_total_alloc;
-bool buffer_track_alloc = get_env_bool("CEPH_BUFFER_TRACK");
+  atomic_t buffer_total_alloc;
+  bool buffer_track_alloc = get_env_bool("CEPH_BUFFER_TRACK");
 
   void buffer::inc_total_alloc(unsigned len) {
     if (buffer_track_alloc)
@@ -54,12 +55,30 @@ bool buffer_track_alloc = get_env_bool("CEPH_BUFFER_TRACK");
     return buffer_total_alloc.read();
   }
 
+  atomic_t buffer_cached_crc;
+  atomic_t buffer_cached_crc_adjusted;
+  bool buffer_track_crc = get_env_bool("CEPH_BUFFER_TRACK");
+
+  void buffer::track_cached_crc(bool b) {
+    buffer_track_crc = b;
+  }
+  int buffer::get_cached_crc() {
+    return buffer_cached_crc.read();
+  }
+  int buffer::get_cached_crc_adjusted() {
+    return buffer_cached_crc_adjusted.read();
+  }
+
+
   class buffer::raw {
   public:
     char *data;
     unsigned len;
     atomic_t nref;
 
+    Spinlock crc_lock;
+    map<pair<size_t, size_t>, pair<uint32_t, uint32_t> > crc_map;
+
     raw(unsigned l) : data(NULL), len(l), nref(0)
     { }
     raw(char *c, unsigned l) : data(c), len(l), nref(0)
@@ -77,12 +96,35 @@ bool buffer_track_alloc = get_env_bool("CEPH_BUFFER_TRACK");
       return c;
     }
 
+    unsigned length() const {
+      return len;
+    }
+
     bool is_page_aligned() {
       return ((long)data & ~CEPH_PAGE_MASK) == 0;
     }
     bool is_n_page_sized() {
       return (len & ~CEPH_PAGE_MASK) == 0;
     }
+    bool get_crc(const pair<size_t, size_t> &fromto,
+		 pair<uint32_t, uint32_t> *crc) const {
+      Spinlock::Locker l(crc_lock);
+      map<pair<size_t, size_t>, pair<uint32_t, uint32_t> >::const_iterator i =
+	crc_map.find(fromto);
+      if (i == crc_map.end())
+	return false;
+      *crc = i->second;
+      return true;
+    }
+    void set_crc(const pair<size_t, size_t> &fromto,
+		 const pair<uint32_t, uint32_t> &crc) {
+      Spinlock::Locker l(crc_lock);
+      crc_map[fromto] = crc;
+    }
+    void invalidate_crc() {
+      Spinlock::Locker l(crc_lock);
+      crc_map.clear();
+    }
   };
 
   class buffer::raw_malloc : public buffer::raw {
@@ -413,17 +455,20 @@ bool buffer_track_alloc = get_env_bool("CEPH_BUFFER_TRACK");
     assert(_raw);
     assert(o <= _len);
     assert(o+l <= _len);
+    _raw->invalidate_crc();
     memcpy(c_str()+o, src, l);
   }
 
   void buffer::ptr::zero()
   {
+    _raw->invalidate_crc();
     memset(c_str(), 0, _len);
   }
 
   void buffer::ptr::zero(unsigned o, unsigned l)
   {
     assert(o+l <= _len);
+    _raw->invalidate_crc();
     memset(c_str()+o, 0, l);
   }
 
@@ -990,11 +1035,14 @@ void buffer::list::rebuild_page_aligned()
    */
   char *buffer::list::c_str()
   {
-    if (_buffers.size() == 0) 
+    if (_buffers.empty())
       return 0;                         // no buffers
-    if (_buffers.size() > 1) 
+
+    std::list<ptr>::const_iterator iter = _buffers.begin();
+    iter++;
+
+    if (iter != _buffers.end())
       rebuild();
-    assert(_buffers.size() == 1);
     return _buffers.front().c_str();  // good, we're already contiguous.
   }
 
@@ -1267,6 +1315,43 @@ int buffer::list::write_fd(int fd) const
   return 0;
 }
 
+__u32 buffer::list::crc32c(__u32 crc) const
+{
+  for (std::list<ptr>::const_iterator it = _buffers.begin();
+       it != _buffers.end();
+       ++it) {
+    if (it->length()) {
+      raw *r = it->get_raw();
+      pair<size_t, size_t> ofs(it->offset(), it->offset() + it->length());
+      pair<uint32_t, uint32_t> ccrc;
+      if (r->get_crc(ofs, &ccrc)) {
+	if (ccrc.first == crc) {
+	  // got it already
+	  crc = ccrc.second;
+	  if (buffer_track_crc)
+	    buffer_cached_crc.inc();
+	} else {
+	  /* If we have cached crc32c(buf, v) for initial value v,
+	   * we can convert this to a different initial value v' by:
+	   * crc32c(buf, v') = crc32c(buf, v) ^ adjustment
+	   * where adjustment = crc32c(0*len(buf), v ^ v')
+	   *
+	   * http://crcutil.googlecode.com/files/crc-doc.1.0.pdf
+	   * note, u for our crc32c implementation is 0
+	   */
+	  crc = ccrc.second ^ ceph_crc32c(ccrc.first ^ crc, NULL, it->length());
+	  if (buffer_track_crc)
+	    buffer_cached_crc_adjusted.inc();
+	}
+      } else {
+	uint32_t base = crc;
+	crc = ceph_crc32c(crc, (unsigned char*)it->c_str(), it->length());
+	r->set_crc(ofs, make_pair(base, crc));
+      }
+    }
+  }
+  return crc;
+}
 
 void buffer::list::hexdump(std::ostream &out) const
 {
diff --git a/src/common/ceph_argparse.cc b/src/common/ceph_argparse.cc
index 2950a81..6c80538 100644
--- a/src/common/ceph_argparse.cc
+++ b/src/common/ceph_argparse.cc
@@ -464,18 +464,19 @@ CephInitParameters ceph_argparse_early_args
 static void generic_usage(bool is_server)
 {
   cout << "\
-  --conf/-c        Read configuration from the given configuration file\n\
-  --id/-i          set ID portion of my name\n\
-  --name/-n        set name (TYPE.ID)\n\
-  --version        show version and quit\n\
+  --conf/-c FILE    read configuration from the given configuration file\n\
+  --id/-i ID        set ID portion of my name\n\
+  --name/-n TYPE.ID set name\n\
+  --cluster NAME    set cluster name (default: ceph)\n\
+  --version         show version and quit\n\
 " << std::endl;
 
   if (is_server) {
     cout << "\
-  -d               Run in foreground, log to stderr.\n\
-  -f               Run in foreground, log to usual location.\n";
-    cout << "  --debug_ms N\n";
-    cout << "        set message debug level (e.g. 1)\n";
+  -d                run in foreground, log to stderr.\n\
+  -f                run in foreground, log to usual location.\n";
+    cout << "\
+  --debug_ms N      set message debug level (e.g. 1)\n";
   }
 }
 
diff --git a/src/include/ceph_frag.cc b/src/common/ceph_frag.cc
similarity index 91%
rename from src/include/ceph_frag.cc
rename to src/common/ceph_frag.cc
index ab6cf35..444b910 100644
--- a/src/include/ceph_frag.cc
+++ b/src/common/ceph_frag.cc
@@ -1,7 +1,7 @@
 /*
  * Ceph 'frag' type
  */
-#include "types.h"
+#include "include/types.h"
 
 int ceph_frag_compare(__u32 a, __u32 b)
 {
diff --git a/src/include/ceph_fs.cc b/src/common/ceph_fs.cc
similarity index 98%
rename from src/include/ceph_fs.cc
rename to src/common/ceph_fs.cc
index 6e3c143..3172c57 100644
--- a/src/include/ceph_fs.cc
+++ b/src/common/ceph_fs.cc
@@ -9,7 +9,7 @@
 /*
  * Some non-inline ceph helpers
  */
-#include "types.h"
+#include "include/types.h"
 
 /*
  * return true if @layout appears to be valid
diff --git a/src/include/ceph_hash.cc b/src/common/ceph_hash.cc
similarity index 99%
rename from src/include/ceph_hash.cc
rename to src/common/ceph_hash.cc
index d6081df..c581806 100644
--- a/src/include/ceph_hash.cc
+++ b/src/common/ceph_hash.cc
@@ -1,5 +1,5 @@
 
-#include "types.h"
+#include "include/types.h"
 
 /*
  * Robert Jenkin's hash function.
diff --git a/src/common/ceph_json.cc b/src/common/ceph_json.cc
index 8435557..a48e063 100644
--- a/src/common/ceph_json.cc
+++ b/src/common/ceph_json.cc
@@ -222,9 +222,7 @@ bool JSONParser::parse(const char *buf_, int len)
     return false;
   }
 
-  string json_string = buf_;
-  // make a substring to len
-  json_string = json_string.substr(0, len);
+  string json_string(buf_, len);
   success = read(json_string, data);
   if (success)
     handle_value(data);
diff --git a/src/include/ceph_strings.cc b/src/common/ceph_strings.cc
similarity index 96%
rename from src/include/ceph_strings.cc
rename to src/common/ceph_strings.cc
index d46eca6..3eb5e67 100644
--- a/src/include/ceph_strings.cc
+++ b/src/common/ceph_strings.cc
@@ -1,7 +1,7 @@
 /*
  * Ceph string constants
  */
-#include "types.h"
+#include "include/types.h"
 
 const char *ceph_entity_type_name(int type)
 {
@@ -48,6 +48,12 @@ const char *ceph_osd_op_name(int op)
 	case CEPH_OSD_OP_TMAPPUT: return "tmapput";
 	case CEPH_OSD_OP_WATCH: return "watch";
 
+	case CEPH_OSD_OP_COPY_GET_CLASSIC: return "copy-get-classic";
+	case CEPH_OSD_OP_COPY_GET: return "copy-get";
+	case CEPH_OSD_OP_COPY_FROM: return "copy-from";
+	case CEPH_OSD_OP_UNDIRTY: return "undirty";
+	case CEPH_OSD_OP_ISDIRTY: return "isdirty";
+
 	case CEPH_OSD_OP_CLONERANGE: return "clonerange";
 	case CEPH_OSD_OP_ASSERT_SRC_VERSION: return "assert-src-version";
 	case CEPH_OSD_OP_SRC_CMPXATTR: return "src-cmpxattr";
@@ -178,6 +184,7 @@ const char *ceph_mds_op_name(int op)
 	case CEPH_MDS_OP_RMSNAP: return "rmsnap";
 	case CEPH_MDS_OP_SETFILELOCK: return "setfilelock";
 	case CEPH_MDS_OP_GETFILELOCK: return "getfilelock";
+	case CEPH_MDS_OP_FRAGMENTDIR: return "fragmentdir";
 	}
 	return "???";
 }
diff --git a/src/common/cmdparse.cc b/src/common/cmdparse.cc
index 16c6234..3ca3bbd 100644
--- a/src/common/cmdparse.cc
+++ b/src/common/cmdparse.cc
@@ -225,4 +225,6 @@ handle_bad_get(CephContext *cct, string k, const char *tname)
   ostringstream oss;
   bt.print(oss);
   lderr(cct) << oss << dendl;
+  if (status == 0)
+    free((char *)typestr);
 }
diff --git a/src/common/code_environment.cc b/src/common/code_environment.cc
index 2cf19f4..662fa36 100644
--- a/src/common/code_environment.cc
+++ b/src/common/code_environment.cc
@@ -11,6 +11,7 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "acconfig.h"
 
 #include "common/code_environment.h"
 
@@ -19,7 +20,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <string>
-#if defined(__linux__)
+
+#ifdef HAVE_SYS_PRCTL_H
 #include <sys/prctl.h>
 #endif
 
@@ -45,6 +47,8 @@ std::ostream &operator<<(std::ostream &oss, enum code_environment_t e)
   return oss;
 }
 
+#if defined(HAVE_SYS_PRCTL_H) && defined(PR_GET_NAME) /* Since 2.6.11 */
+
 int get_process_name(char *buf, int len)
 {
   if (len <= 16) {
@@ -53,17 +57,19 @@ int get_process_name(char *buf, int len)
      * null-terminated. */
     return -ENAMETOOLONG;
   }
-#if defined(__FreeBSD__)
-#warning XXX
-    return -ENAMETOOLONG;
-#else
   memset(buf, 0, len);
-  int ret;
-  ret = prctl(PR_GET_NAME, buf);
-  return ret;
-#endif
+  return prctl(PR_GET_NAME, buf);
 }
 
+#else
+
+int get_process_name(char *buf, int len)
+{
+  return -ENOSYS;
+}
+
+#endif
+
 std::string get_process_name_cpp()
 {
   char buf[32];
diff --git a/src/common/common_init.cc b/src/common/common_init.cc
index ef8cf01..8fb688c 100644
--- a/src/common/common_init.cc
+++ b/src/common/common_init.cc
@@ -73,8 +73,11 @@ CephContext *common_preinit(const CephInitParameters &iparams,
     break;
   }
 
-  if ((flags & CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS) ||
-      code_env != CODE_ENVIRONMENT_DAEMON) {
+  if (flags & CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS) {
+    // do nothing special!  we used to do no default log, pid_file,
+    // admin_socket, but changed our minds.  let's make ceph-fuse
+    // and radosgw use the same defaults as ceph-{osd,mon,mds,...}
+  } else if (code_env != CODE_ENVIRONMENT_DAEMON) {
     // no default log, pid_file, admin_socket
     conf->set_val_or_die("pid_file", "");
     conf->set_val_or_die("admin_socket", "");
diff --git a/src/common/config_opts.h b/src/common/config_opts.h
index 52e4a81..0b3938e 100644
--- a/src/common/config_opts.h
+++ b/src/common/config_opts.h
@@ -30,6 +30,8 @@ OPTION(daemonize, OPT_BOOL, false) // default changed by common_preinit()
 OPTION(pid_file, OPT_STR, "") // default changed by common_preinit()
 OPTION(chdir, OPT_STR, "/")
 OPTION(max_open_files, OPT_LONGLONG, 0)
+OPTION(restapi_log_level, OPT_STR, "") 	// default set by Python code
+OPTION(restapi_base_url, OPT_STR, "")	// "
 OPTION(fatal_signal_handlers, OPT_BOOL, true)
 
 OPTION(log_file, OPT_STR, "/var/log/ceph/$cluster-$name.log") // default changed by common_preinit()
@@ -51,6 +53,7 @@ OPTION(mon_cluster_log_to_syslog, OPT_BOOL, false)
 OPTION(mon_cluster_log_to_syslog_level, OPT_STR, "info")   // this level and above
 OPTION(mon_cluster_log_to_syslog_facility, OPT_STR, "daemon")
 OPTION(mon_cluster_log_file, OPT_STR, "/var/log/ceph/$cluster.log")
+OPTION(mon_cluster_log_file_level, OPT_STR, "info")
 
 DEFAULT_SUBSYS(0, 5)
 SUBSYS(lockdep, 0, 1)
@@ -88,7 +91,6 @@ SUBSYS(finisher, 1, 1)
 SUBSYS(heartbeatmap, 1, 5)
 SUBSYS(perfcounter, 1, 5)
 SUBSYS(rgw, 1, 5)                 // log level for the Rados gateway
-SUBSYS(hadoop, 1, 5)
 SUBSYS(javaclient, 1, 5)
 SUBSYS(asok, 1, 5)
 SUBSYS(throttle, 1, 1)
@@ -156,6 +158,10 @@ OPTION(mon_timecheck_interval, OPT_FLOAT, 300.0) // on leader, timecheck (clock
 OPTION(mon_accept_timeout, OPT_FLOAT, 10.0)    // on leader, if paxos update isn't accepted
 OPTION(mon_pg_create_interval, OPT_FLOAT, 30.0) // no more than every 30s
 OPTION(mon_pg_stuck_threshold, OPT_INT, 300) // number of seconds after which pgs can be considered inactive, unclean, or stale (see doc/control.rst under dump_stuck for more info)
+OPTION(mon_pg_warn_min_per_osd, OPT_INT, 20)  // min # pgs per (in) osd before we warn the admin
+OPTION(mon_pg_warn_max_object_skew, OPT_FLOAT, 10.0) // max skew few average in objects per pg
+OPTION(mon_pg_warn_min_objects, OPT_INT, 10000)  // do not warn below this object #
+OPTION(mon_pg_warn_min_pool_objects, OPT_INT, 1000)  // do not warn on pools below this object #
 OPTION(mon_osd_full_ratio, OPT_FLOAT, .95) // what % full makes an OSD "full"
 OPTION(mon_osd_nearfull_ratio, OPT_FLOAT, .85) // what % full makes an OSD near full
 OPTION(mon_globalid_prealloc, OPT_INT, 100)   // how many globalids to prealloc
@@ -199,7 +205,8 @@ OPTION(mon_leveldb_bloom_size, OPT_INT, 0) // monitor's leveldb bloom bits per e
 OPTION(mon_leveldb_max_open_files, OPT_INT, 0) // monitor's leveldb max open files
 OPTION(mon_leveldb_compression, OPT_BOOL, false) // monitor's leveldb uses compression
 OPTION(mon_leveldb_paranoid, OPT_BOOL, false)   // monitor's leveldb paranoid flag
-OPTION(mon_leveldb_log, OPT_STR, "")
+OPTION(mon_leveldb_log, OPT_STR, "/dev/null")
+OPTION(mon_leveldb_size_warn, OPT_U64, 40*1024*1024*1024) // issue a warning when the monitor's leveldb goes over 40GB (in bytes)
 OPTION(paxos_stash_full_interval, OPT_INT, 25)   // how often (in commits) to stash a full copy of the PaxosService state
 OPTION(paxos_max_join_drift, OPT_INT, 10) // max paxos iterations before we must first sync the monitor stores
 OPTION(paxos_propose_interval, OPT_DOUBLE, 1.0)  // gather updates for this long before proposing a map update
@@ -240,6 +247,7 @@ OPTION(client_readahead_max_periods, OPT_LONGLONG, 4)  // as multiple of file la
 OPTION(client_snapdir, OPT_STR, ".snap")
 OPTION(client_mountpoint, OPT_STR, "/")
 OPTION(client_notify_timeout, OPT_INT, 10) // in seconds
+OPTION(osd_client_watch_timeout, OPT_INT, 30) // in seconds
 OPTION(client_caps_release_delay, OPT_INT, 5) // in seconds
 OPTION(client_oc, OPT_BOOL, true)
 OPTION(client_oc_size, OPT_INT, 1024*1024* 200)    // MB * n
@@ -356,12 +364,6 @@ OPTION(mds_standby_replay, OPT_BOOL, false)
 // If true, compact leveldb store on mount
 OPTION(osd_compact_leveldb_on_mount, OPT_BOOL, false)
 
-// If true, uses tmap as initial value for omap on old objects
-OPTION(osd_auto_upgrade_tmap, OPT_BOOL, true)
-
-// If true, TMAPPUT sets uses_tmap DEBUGGING ONLY
-OPTION(osd_tmapput_sets_uses_tmap, OPT_BOOL, false)
-
 // Maximum number of backfills to or from a single osd
 OPTION(osd_max_backfills, OPT_U64, 10)
 
@@ -402,6 +404,11 @@ OPTION(osd_op_pq_min_cost, OPT_U64, 65536)
 OPTION(osd_disk_threads, OPT_INT, 1)
 OPTION(osd_recovery_threads, OPT_INT, 1)
 OPTION(osd_recover_clone_overlap, OPT_BOOL, true)   // preserve clone_overlap during recovery/migration
+
+// Only use clone_overlap for recovery if there are fewer than
+// osd_recover_clone_overlap_limit entries in the overlap set
+OPTION(osd_recover_clone_overlap_limit, OPT_INT, 10)
+
 OPTION(osd_backfill_scan_min, OPT_INT, 64)
 OPTION(osd_backfill_scan_max, OPT_INT, 512)
 OPTION(osd_op_thread_timeout, OPT_INT, 15)
@@ -417,6 +424,11 @@ OPTION(osd_heartbeat_addr, OPT_ADDR, entity_addr_t())
 OPTION(osd_heartbeat_interval, OPT_INT, 6)       // (seconds) how often we ping peers
 OPTION(osd_heartbeat_grace, OPT_INT, 20)         // (seconds) how long before we decide a peer has failed
 OPTION(osd_heartbeat_min_peers, OPT_INT, 10)     // minimum number of peers
+
+// minimum number of peers tha tmust be reachable to mark ourselves
+// back up after being wrongly marked down.
+OPTION(osd_heartbeat_min_healthy_ratio, OPT_FLOAT, .33)
+
 OPTION(osd_mon_heartbeat_interval, OPT_INT, 30)  // (seconds) how often to ping monitor if no peers
 OPTION(osd_mon_report_interval_max, OPT_INT, 120)
 OPTION(osd_mon_report_interval_min, OPT_INT, 5)  // pg stats, failures, up_thru, boot.
@@ -429,6 +441,7 @@ OPTION(osd_recovery_delay_start, OPT_FLOAT, 0)
 OPTION(osd_recovery_max_active, OPT_INT, 15)
 OPTION(osd_recovery_max_single_start, OPT_INT, 5)
 OPTION(osd_recovery_max_chunk, OPT_U64, 8<<20)  // max size of push chunk
+OPTION(osd_copyfrom_max_chunk, OPT_U64, 8<<20)   // max size of a COPYFROM chunk
 OPTION(osd_push_per_object_cost, OPT_U64, 1000)  // push cost per object
 OPTION(osd_max_push_cost, OPT_U64, 8<<20)  // max size of push message
 OPTION(osd_max_push_objects, OPT_U64, 10)  // max objects in single push op
@@ -481,7 +494,7 @@ OPTION(osd_leveldb_bloom_size, OPT_INT, 0) // OSD's leveldb bloom bits per entry
 OPTION(osd_leveldb_max_open_files, OPT_INT, 0) // OSD's leveldb max open files
 OPTION(osd_leveldb_compression, OPT_BOOL, true) // OSD's leveldb uses compression
 OPTION(osd_leveldb_paranoid, OPT_BOOL, false) // OSD's leveldb paranoid flag
-OPTION(osd_leveldb_log, OPT_STR, "")  // enable OSD leveldb log file
+OPTION(osd_leveldb_log, OPT_STR, "/dev/null")  // enable OSD leveldb log file
 
 // determines whether PGLog::check() compares written out log to stored log
 OPTION(osd_debug_pg_log_writeout, OPT_BOOL, false)
@@ -505,11 +518,12 @@ OPTION(osd_recovery_op_warn_multiple, OPT_U32, 16)
 OPTION(osd_mon_shutdown_timeout, OPT_DOUBLE, 5)
 
 OPTION(osd_max_object_size, OPT_U64, 100*1024L*1024L*1024L) // OSD's maximum object size
-OPTION(osd_max_attr_size, OPT_U64, 65536)
+OPTION(osd_max_attr_size, OPT_U64, 0)
 
 OPTION(filestore, OPT_BOOL, false)
 
 /// filestore wb throttle limits
+OPTION(filestore_wbthrottle_enable, OPT_BOOL, true)
 OPTION(filestore_wbthrottle_btrfs_bytes_start_flusher, OPT_U64, 41943040)
 OPTION(filestore_wbthrottle_btrfs_bytes_hard_limit, OPT_U64, 419430400)
 OPTION(filestore_wbthrottle_btrfs_ios_start_flusher, OPT_U64, 500)
@@ -532,17 +546,28 @@ OPTION(filestore_index_retry_probability, OPT_DOUBLE, 0)
 OPTION(filestore_debug_inject_read_err, OPT_BOOL, false)
 
 OPTION(filestore_debug_omap_check, OPT_BOOL, 0) // Expensive debugging check on sync
+
 // Use omap for xattrs for attrs over
-OPTION(filestore_xattr_use_omap, OPT_BOOL, false)
 // filestore_max_inline_xattr_size or
-OPTION(filestore_max_inline_xattr_size, OPT_U32, 512)
+OPTION(filestore_max_inline_xattr_size, OPT_U32, 0)	//Override
+OPTION(filestore_max_inline_xattr_size_xfs, OPT_U32, 65536)
+OPTION(filestore_max_inline_xattr_size_btrfs, OPT_U32, 2048)
+OPTION(filestore_max_inline_xattr_size_other, OPT_U32, 512)
+
 // for more than filestore_max_inline_xattrs attrs
-OPTION(filestore_max_inline_xattrs, OPT_U32, 2)
+OPTION(filestore_max_inline_xattrs, OPT_U32, 0)	//Override
+OPTION(filestore_max_inline_xattrs_xfs, OPT_U32, 10)
+OPTION(filestore_max_inline_xattrs_btrfs, OPT_U32, 10)
+OPTION(filestore_max_inline_xattrs_other, OPT_U32, 2)
+
+OPTION(filestore_sloppy_crc, OPT_BOOL, false)         // track sloppy crcs
+OPTION(filestore_sloppy_crc_block_size, OPT_INT, 65536)
 
 OPTION(filestore_max_sync_interval, OPT_DOUBLE, 5)    // seconds
 OPTION(filestore_min_sync_interval, OPT_DOUBLE, .01)  // seconds
 OPTION(filestore_btrfs_snap, OPT_BOOL, true)
 OPTION(filestore_btrfs_clone_range, OPT_BOOL, true)
+OPTION(filestore_zfs_snap, OPT_BOOL, false) // zfsonlinux is still unstable
 OPTION(filestore_fsync_flushes_journal_data, OPT_BOOL, false)
 OPTION(filestore_fiemap, OPT_BOOL, false)     // (try to) use fiemap
 OPTION(filestore_journal_parallel, OPT_BOOL, false)
@@ -639,6 +664,8 @@ OPTION(rgw_keystone_admin_token, OPT_STR, "")  // keystone admin token (shared s
 OPTION(rgw_keystone_accepted_roles, OPT_STR, "Member, admin")  // roles required to serve requests
 OPTION(rgw_keystone_token_cache_size, OPT_INT, 10000)  // max number of entries in keystone token cache
 OPTION(rgw_keystone_revocation_interval, OPT_INT, 15 * 60)  // seconds between tokens revocation check
+OPTION(rgw_s3_auth_use_rados, OPT_BOOL, true)  // should we try to use the internal credentials for s3?
+OPTION(rgw_s3_auth_use_keystone, OPT_BOOL, false)  // should we try to use keystone for s3?
 OPTION(rgw_admin_entry, OPT_STR, "admin")  // entry point for which a url is considered an admin request
 OPTION(rgw_enforce_swift_acls, OPT_BOOL, true)
 OPTION(rgw_swift_token_expiration, OPT_INT, 24 * 3600) // time in seconds for swift token expiration
@@ -696,6 +723,10 @@ OPTION(rgw_data_log_num_shards, OPT_INT, 128) // number of objects to keep data
 OPTION(rgw_data_log_obj_prefix, OPT_STR, "data_log") // 
 OPTION(rgw_replica_log_obj_prefix, OPT_STR, "replica_log") // 
 
+OPTION(rgw_bucket_quota_ttl, OPT_INT, 600) // time for cached bucket stats to be cached within rgw instance
+OPTION(rgw_bucket_quota_soft_threshold, OPT_DOUBLE, 0.95) // threshold from which we don't rely on cached info for quota decisions
+OPTION(rgw_bucket_quota_cache_size, OPT_INT, 10000) // number of entries in bucket quota cache
+
 OPTION(mutex_perf_counter, OPT_BOOL, false) // enable/disable mutex perf counter
 
 // This will be set to true when it is safe to start threads.
diff --git a/src/common/crc32c-intel.c b/src/common/crc32c-intel.c
deleted file mode 100644
index 1c4689e..0000000
--- a/src/common/crc32c-intel.c
+++ /dev/null
@@ -1,113 +0,0 @@
-#include <inttypes.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-
-
-/* this probably isn't specific enough for x86_64?  fix me someday */
-#ifdef __LP64__
-
-/*
- *  * Based on a posting to lkml by Austin Zhang <austin.zhang at intel.com>
- *   * Further based on the fio crc32c-intel.c implementation by Jens Axboe.
- *    *
- *     * Using hardware provided CRC32 instruction to accelerate the CRC32 disposal.
- *      * CRC32C polynomial:0x1EDC6F41(BE)/0x82F63B78(LE)
- *       * CRC32 is a new instruction in Intel SSE4.2, the reference can be found at:
- *        * http://www.intel.com/products/processor/manuals/
- *         * Intel(R) 64 and IA-32 Architectures Software Developer's Manual
- *          * Volume 2A: Instruction Set Reference, A-M
- *           */
-
-#if BITS_PER_LONG == 64
-#define REX_PRE "0x48, "
-#define SCALE_F 8
-#else
-#define REX_PRE
-#define SCALE_F 4
-#endif
-
-static uint32_t crc32c_intel_le_hw_byte(uint32_t crc, unsigned char const *data,
-                                        unsigned length)
-{
-        while (length--) {
-                __asm__ __volatile__(
-                        ".byte 0xf2, 0xf, 0x38, 0xf0, 0xf1"
-                        :"=S"(crc)
-                        :"0"(crc), "c"(*data)
-                );
-                data++;
-        }
-
-        return crc;
-}
-
-uint32_t ceph_crc32c_le_intel(uint32_t crc, unsigned char const *data, unsigned length)
-{
-        unsigned int iquotient = length / SCALE_F;
-        unsigned int iremainder = length % SCALE_F;
-#if BITS_PER_LONG == 64
-        uint64_t *ptmp = (uint64_t *) data;
-#else
-        uint32_t *ptmp = (uint32_t *) data;
-#endif
-
-        while (iquotient--) {
-                __asm__ __volatile__(
-                        ".byte 0xf2, " REX_PRE "0xf, 0x38, 0xf1, 0xf1;"
-                        :"=S"(crc)
-                        :"0"(crc), "c"(*ptmp)
-                );
-                ptmp++;
-        }
-
-        if (iremainder)
-                crc = crc32c_intel_le_hw_byte(crc, (unsigned char *)ptmp,
-                                 iremainder);
-
-        return crc;
-}
-
-
-static void do_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx,
-                     unsigned int *edx)
-{
-        int id = *eax;
-
-        asm("movl %4, %%eax;"
-            "cpuid;"
-            "movl %%eax, %0;"
-            "movl %%ebx, %1;"
-            "movl %%ecx, %2;"
-            "movl %%edx, %3;"
-                : "=r" (*eax), "=r" (*ebx), "=r" (*ecx), "=r" (*edx)
-                : "r" (id)
-                : "eax", "ebx", "ecx", "edx");
-}
-
-int ceph_have_crc32c_intel(void)
-{
-	/* i know how to check this on x86_64... */
-	unsigned int eax = 1, ebx, ecx, edx;
-	do_cpuid(&eax, &ebx, &ecx, &edx);
-	if ((ecx & (1 << 20)) != 0)
-		return 1;
-	return 0;
-}
-
-#else /* __LP64__ */
-
-uint32_t ceph_crc32c_le_intel(uint32_t crc, unsigned char const *data, unsigned length)
-{
-	return 0;  /* this shouldn't get called! */
-}
-
-int ceph_have_crc32c_intel(void)
-{
-	return 0;  	/* clearly not x86_64 */
-}
-
-#endif
diff --git a/src/common/crc32c.cc b/src/common/crc32c.cc
new file mode 100644
index 0000000..e2e81a4
--- /dev/null
+++ b/src/common/crc32c.cc
@@ -0,0 +1,41 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "include/crc32c.h"
+
+#include "arch/probe.h"
+#include "arch/intel.h"
+#include "common/sctp_crc32.h"
+#include "common/crc32c_intel_baseline.h"
+#include "common/crc32c_intel_fast.h"
+
+/*
+ * choose best implementation based on the CPU architecture.
+ */
+ceph_crc32c_func_t ceph_choose_crc32(void)
+{
+  // make sure we've probed cpu features; this might depend on the
+  // link order of this file relative to arch/probe.cc.
+  ceph_arch_probe();
+
+  // if the CPU supports it, *and* the fast version is compiled in,
+  // use that.
+  if (ceph_arch_intel_sse42 && ceph_crc32c_intel_fast_exists()) {
+    return ceph_crc32c_intel_fast;
+  }
+
+  // default
+  return ceph_crc32c_sctp;
+}
+
+/*
+ * static global
+ *
+ * This is a bit of a no-no for shared libraries, but we don't care.
+ * It is effectively constant for the executing process as the value
+ * depends on the CPU architecture.
+ *
+ * We initialize it during program init using the magic of C++.
+ */
+ceph_crc32c_func_t ceph_crc32c_func = ceph_choose_crc32();
+
diff --git a/src/common/crc32c_intel_baseline.c b/src/common/crc32c_intel_baseline.c
new file mode 100644
index 0000000..3908981
--- /dev/null
+++ b/src/common/crc32c_intel_baseline.c
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2012-2013 Intel Corporation All Rights Reserved.
+ * All rights reserved.
+ *
+ * http://opensource.org/licenses/BSD-3-Clause
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in
+ *   the documentation and/or other materials provided with the
+ *   distribution.
+ *
+ * * Neither the name of the Intel Corporation nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "include/int_types.h"
+
+#include <stdlib.h>
+
+#define MAX_ITER	8
+
+unsigned long crc32_table_iscsi_base[256] = {
+	0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 
+	0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB, 
+	0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 
+	0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24, 
+	0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 
+	0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384, 
+	0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 
+	0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B, 
+	0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 
+	0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35, 
+	0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 
+	0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA, 
+	0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 
+	0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A, 
+	0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 
+	0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595, 
+	0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 
+	0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957, 
+	0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 
+	0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198, 
+	0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 
+	0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38, 
+	0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 
+	0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7, 
+	0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 
+	0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789, 
+	0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 
+	0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46, 
+	0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 
+	0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6, 
+	0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 
+	0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829, 
+	0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 
+	0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93, 
+	0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 
+	0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C, 
+	0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 
+	0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC, 
+	0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 
+	0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033, 
+	0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 
+	0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D, 
+	0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 
+	0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982, 
+	0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 
+	0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622, 
+	0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 
+	0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED, 
+	0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 
+	0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F, 
+	0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 
+	0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0, 
+	0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 
+	0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540, 
+	0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 
+	0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F, 
+	0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 
+	0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1, 
+	0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 
+	0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E, 
+	0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 
+	0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E, 
+	0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 
+	0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351, 
+};
+
+
+// iSCSI CRC baseline function
+uint32_t ceph_crc32c_intel_baseline(uint32_t crc_init2, unsigned char const *buffer, unsigned len)
+{
+	unsigned int crc_init = crc_init2;
+	unsigned int crc;
+	unsigned char* p_buf;
+
+	if (buffer) {
+		p_buf = (unsigned char*)buffer;
+		unsigned char const * p_end = buffer + len;
+
+		crc = crc_init;
+
+		while (p_buf < (unsigned char *) p_end ){
+			crc = (crc >> 8) ^ crc32_table_iscsi_base[(crc & 0x000000FF) ^ *p_buf++];
+		}
+	} else {
+		crc = crc_init;
+		while (len--) {
+			crc = (crc >> 8) ^ crc32_table_iscsi_base[(crc & 0x000000FF)];
+		}
+
+	}
+	return crc;	 
+}
diff --git a/src/common/crc32c_intel_baseline.h b/src/common/crc32c_intel_baseline.h
new file mode 100644
index 0000000..e463575
--- /dev/null
+++ b/src/common/crc32c_intel_baseline.h
@@ -0,0 +1,16 @@
+#ifndef CEPH_COMMON_CRC32C_INTEL_BASELINE_H
+#define CEPH_COMMON_CRC32C_INTEL_BASELINE_H
+
+#include "include/int_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern uint32_t ceph_crc32c_intel_baseline(uint32_t crc, unsigned char const *buffer, unsigned len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/common/crc32c_intel_fast.c b/src/common/crc32c_intel_fast.c
new file mode 100644
index 0000000..af081a9
--- /dev/null
+++ b/src/common/crc32c_intel_fast.c
@@ -0,0 +1,51 @@
+#include "acconfig.h"
+#include "include/int_types.h"
+#include "common/crc32c_intel_baseline.h"
+
+extern unsigned int crc32_iscsi_00(unsigned char const *buffer, int len, unsigned int crc);
+extern unsigned int crc32_iscsi_zero_00(unsigned char const *buffer, int len, unsigned int crc);
+
+#ifdef HAVE_GOOD_YASM_ELF64
+
+uint32_t ceph_crc32c_intel_fast(uint32_t crc, unsigned char const *buffer, unsigned len)
+{
+	uint32_t v;
+	unsigned left;
+
+
+	if (!buffer)
+		return crc32_iscsi_zero_00(buffer, len, crc);
+
+	/*
+	 * the crc32_iscsi_00 method reads past buffer+len (because it
+	 * reads full words) which makes valgrind unhappy.  don't do
+	 * that.
+	 */
+	if (len < 16)
+		return ceph_crc32c_intel_baseline(crc, buffer, len);
+	left = ((unsigned long)buffer + len) & 7;
+	len -= left;
+	v = crc32_iscsi_00(buffer, len, crc);
+	if (left)
+		v = ceph_crc32c_intel_baseline(v, buffer + len, left);
+	return v;
+}
+
+int ceph_crc32c_intel_fast_exists(void)
+{
+	return 1;
+}
+
+#else
+
+int ceph_crc32c_intel_fast_exists(void)
+{
+	return 0;
+}
+
+uint32_t ceph_crc32c_intel_fast(uint32_t crc, unsigned char const *buffer, unsigned len)
+{
+	return 0;
+}
+
+#endif
diff --git a/src/common/crc32c_intel_fast.h b/src/common/crc32c_intel_fast.h
new file mode 100644
index 0000000..26a444f
--- /dev/null
+++ b/src/common/crc32c_intel_fast.h
@@ -0,0 +1,28 @@
+#ifndef CEPH_COMMON_CRC32C_INTEL_FAST_H
+#define CEPH_COMMON_CRC32C_INTEL_FAST_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* is the fast version compiled in */
+extern int ceph_crc32c_intel_fast_exists(void);
+
+#ifdef __x86_64__
+
+extern uint32_t ceph_crc32c_intel_fast(uint32_t crc, unsigned char const *buffer, unsigned len);
+
+#else
+
+static inline uint32_t ceph_crc32c_intel_fast(uint32_t crc, unsigned char const *buffer, unsigned len)
+{
+	return 0;
+}
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/common/crc32c_intel_fast_asm.S b/src/common/crc32c_intel_fast_asm.S
new file mode 100644
index 0000000..4ca5d65
--- /dev/null
+++ b/src/common/crc32c_intel_fast_asm.S
@@ -0,0 +1,664 @@
+;
+; Copyright 2012-2013 Intel Corporation All Rights Reserved.
+; All rights reserved.
+;
+; http://opensource.org/licenses/BSD-3-Clause
+;
+; Redistribution and use in source and binary forms, with or without
+; modification, are permitted provided that the following
+; conditions are met:
+;
+; * Redistributions of source code must retain the above copyright
+;   notice, this list of conditions and the following disclaimer.
+;
+; * Redistributions in binary form must reproduce the above copyright
+;   notice, this list of conditions and the following disclaimer in
+;   the documentation and/or other materials provided with the
+;   distribution.
+;
+; * Neither the name of the Intel Corporation nor the names of its
+;   contributors may be used to endorse or promote products derived
+;   from this software without specific prior written permission.
+;
+; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+; FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+; COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+; OF THE POSSIBILITY OF SUCH DAMAGE.
+;
+
+; Function to compute iscsi CRC32 with table-based recombination
+; crc done "by 3" with block sizes 1920, 960, 480, 240
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; crcB3 MACRO to implement crc32 on 3 %%bSize-byte blocks
+%macro  crcB3 3
+%define %%bSize   %1    ; 1/3 of buffer size
+%define %%td2     %2    ; table offset for crc0 (2/3 of buffer)
+%define %%td1     %3    ; table offset for crc1 (1/3 of buffer)
+
+%IF %%bSize=640
+	sub     len, %%bSize*3
+	js      %%crcB3_end           ;; jump to next level if 3*blockSize > len
+%ELSE
+	cmp     len, %%bSize*3
+	jnae    %%crcB3_end           ;; jump to next level if 3*blockSize > len
+%ENDIF
+	;;;;;; Calculate CRC of 3 blocks of the buffer ;;;;;;
+%%crcB3_loop:
+					;; rax = crc0 = initial crc
+	xor     rbx, rbx                ;; rbx = crc1 = 0;
+	xor     r10, r10                ;; r10 = crc2 = 0;
+
+ %assign i 0
+ %rep %%bSize/8 - 1
+	crc32   rax, [bufptmp+i + 0*%%bSize]  ;; update crc0
+	crc32   rbx, [bufptmp+i + 1*%%bSize]  ;; update crc1
+	crc32   r10, [bufptmp+i + 2*%%bSize]  ;; update crc2
+	%assign i (i+8)
+ %endrep
+	crc32   rax, [bufptmp+i + 0*%%bSize]  ;; update crc0
+	crc32   rbx, [bufptmp+i + 1*%%bSize]  ;; update crc1
+; SKIP  ;crc32  r10, [bufptmp+i + 2*%%bSize]  ;; update crc2
+
+	; merge in crc0
+	movzx   bufp_dw, al
+	mov     r9d, [crc_init + bufp*4 + %%td2]
+	movzx   bufp_dw, ah
+	shr     eax, 16
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	shl     r11, 8
+	xor     r9, r11
+
+	movzx   bufp_dw, al
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	movzx   bufp_dw, ah
+	shl     r11, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	shl     r11, 24
+	xor     r9, r11
+
+	; merge in crc1
+
+	movzx   bufp_dw, bl
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	movzx   bufp_dw, bh
+	shr     ebx, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	shl     r11, 8
+	xor     r9, r11
+
+	movzx   bufp_dw, bl
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	movzx   bufp_dw, bh
+	shl     r11, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	shl     r11, 24
+	xor     r9, r11
+
+	xor     r9, [bufptmp+i + 2*%%bSize]
+	crc32   r10, r9
+	mov     rax, r10
+
+	add     bufptmp, %%bSize*3      ;; move to next block
+	sub     len, %%bSize*3
+%IF %%bSize=640
+	jns     %%crcB3_loop
+%ENDIF
+	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+%%crcB3_end:
+%IF %%bSize=640
+	add     len, %%bSize*3
+%ENDIF
+	je      do_return               ;; return if remaining data is zero
+%endmacro
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; ISCSI CRC 32 Implementation with crc32 Instruction
+
+;;; unsigned int crc32_iscsi_00(unsigned char * buffer, int len, unsigned int crc_init);
+;;;
+;;;        *buf = rcx
+;;;         len = rdx
+;;;    crc_init = r8
+;;;
+
+global  crc32_iscsi_00:function
+crc32_iscsi_00:
+
+%ifidn __OUTPUT_FORMAT__, elf64
+%define bufp            rdi
+%define bufp_dw         edi
+%define bufp_w          di
+%define bufp_b          dil
+%define bufptmp         rcx
+%define block_0         rcx
+%define block_1         r8
+%define block_2         r11
+%define len             rsi 
+%define len_dw          esi 
+%define len_w           si 
+%define len_b           sil 
+%define crc_init        rdx 
+%define crc_init_dw     edx 
+%else
+%define bufp            rcx
+%define bufp_dw         ecx
+%define bufp_w          cx
+%define bufp_b          cl
+%define bufptmp         rdi
+%define block_0         rdi
+%define block_1         rsi
+%define block_2         r11
+%define len             rdx 
+%define len_dw          edx 
+%define len_w           dx 
+%define len_b           dl 
+%define crc_init        r8 
+%define crc_init_dw     r8d 
+%endif
+
+
+	push    rdi
+	push    rbx
+
+	mov     rax, crc_init           ;; rax = crc_init;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+	mov     bufptmp, bufp           ;; rdi = *buf
+	neg     bufp
+	and     bufp, 7                 ;; calculate the unalignment
+					;; amount of the address
+	je      proc_block              ;; Skip if aligned
+
+	cmp     len, 8
+	jb      less_than_8
+
+	;;;; Calculate CRC of unaligned bytes of the buffer (if any) ;;;;
+	mov     rbx, [bufptmp]          ;; load a quadword from the buffer
+	add     bufptmp, bufp           ;; align buffer pointer for
+					;; quadword processing
+	sub     len, bufp               ;; update buffer length
+align_loop:
+	crc32   eax, bl                 ;;    compute crc32 of 1-byte
+	shr     rbx, 8                  ;;    get next byte
+	dec     bufp
+	jne     align_loop
+	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; 2) BLOCK LEVEL: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+proc_block:
+	cmp     len, 240
+	jb      bit8
+
+	lea     crc_init, [mul_table_72 wrt rip]  ;; load table base address
+
+	crcB3   640, 0x1000, 0x0c00     ; 640*3 = 1920 (Tables 1280, 640)
+	crcB3   320, 0x0c00, 0x0800     ; 320*3 =  960 (Tables  640, 320)
+	crcB3   160, 0x0800, 0x0400     ; 160*3 =  480 (Tables  320, 160)
+	crcB3    80, 0x0400, 0x0000     ;  80*3 =  240 (Tables  160,  80)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;4) LESS THAN 256-bytes REMAIN AT THIS POINT (8-bits of rdx are full)
+
+bit8:
+	shl     len_b, 1                ;; shift-out MSB (bit-7)
+	jnc     bit7                    ;; jump to bit-6 if bit-7 == 0
+ %assign i 0
+ %rep 16
+	crc32   rax, [bufptmp+i]        ;; compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	add     bufptmp, 128            ;; buf +=64; (next 64 bytes)
+
+bit7:
+	shl     len_b, 1                ;; shift-out MSB (bit-7)
+	jnc     bit6                    ;; jump to bit-6 if bit-7 == 0
+ %assign i 0
+ %rep 8
+	crc32   rax, [bufptmp+i]        ;; compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	add     bufptmp, 64             ;; buf +=64; (next 64 bytes)
+bit6:
+	shl     len_b, 1                ;; shift-out MSB (bit-6)
+	jnc     bit5                    ;; jump to bit-5 if bit-6 == 0
+ %assign i 0
+ %rep 4
+	crc32   rax, [bufptmp+i]        ;;    compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	add     bufptmp, 32             ;; buf +=32; (next 32 bytes)
+bit5:
+	shl     len_b, 1                ;; shift-out MSB (bit-5)
+	jnc     bit4                    ;; jump to bit-4 if bit-5 == 0
+ %assign i 0
+ %rep 2
+	crc32   rax, [bufptmp+i]        ;;    compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	add     bufptmp, 16             ;; buf +=16; (next 16 bytes)
+bit4:
+	shl     len_b, 1                ;; shift-out MSB (bit-4)
+	jnc     bit3                    ;; jump to bit-3 if bit-4 == 0
+	crc32   rax, [bufptmp]          ;; compute crc32 of 8-byte data
+	je      do_return               ;; return if remaining data is zero
+	add     bufptmp, 8              ;; buf +=8; (next 8 bytes)
+bit3:
+	mov     rbx, [bufptmp]          ;; load a 8-bytes from the buffer:
+	shl     len_b, 1                ;; shift-out MSB (bit-3)
+	jnc     bit2                    ;; jump to bit-2 if bit-3 == 0
+	crc32   eax, ebx                ;; compute crc32 of 4-byte data
+	je      do_return               ;; return if remaining data is zero
+	shr     rbx, 32                 ;; get next 3 bytes
+bit2:
+	shl     len_b, 1                ;; shift-out MSB (bit-2)
+	jnc     bit1                    ;; jump to bit-1 if bit-2 == 0
+	crc32   eax, bx                 ;; compute crc32 of 2-byte data
+	je      do_return               ;; return if remaining data is zero
+	shr     rbx, 16                 ;; next byte
+bit1:
+	test    len_b,len_b
+	je      do_return
+	crc32   eax, bl                 ;; compute crc32 of 1-byte data
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+do_return:
+
+	pop     rbx
+	pop     rdi
+	ret
+
+less_than_8:
+	test    len,4
+	jz      less_than_4
+	crc32   eax, dword[bufptmp]
+	add     bufptmp,4
+less_than_4:
+	test    len,2
+	jz      less_than_2
+	crc32   eax, word[bufptmp]
+	add     bufptmp,2
+less_than_2:
+	test    len,1
+	jz      do_return
+	crc32   rax, byte[bufptmp]
+	pop     rbx
+	pop     bufptmp
+	ret
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; global mul_table_72, mul_table_152, mul_table_312, mul_table_632, mul_table_1272
+
+section .data
+align   8
+mul_table_72:
+DD 0x00000000,0x39d3b296,0x73a7652c,0x4a74d7ba
+DD 0xe74eca58,0xde9d78ce,0x94e9af74,0xad3a1de2
+DD 0xcb71e241,0xf2a250d7,0xb8d6876d,0x810535fb
+DD 0x2c3f2819,0x15ec9a8f,0x5f984d35,0x664bffa3
+DD 0x930fb273,0xaadc00e5,0xe0a8d75f,0xd97b65c9
+DD 0x7441782b,0x4d92cabd,0x07e61d07,0x3e35af91
+DD 0x587e5032,0x61ade2a4,0x2bd9351e,0x120a8788
+DD 0xbf309a6a,0x86e328fc,0xcc97ff46,0xf5444dd0
+DD 0x23f31217,0x1a20a081,0x5054773b,0x6987c5ad
+DD 0xc4bdd84f,0xfd6e6ad9,0xb71abd63,0x8ec90ff5
+DD 0xe882f056,0xd15142c0,0x9b25957a,0xa2f627ec
+DD 0x0fcc3a0e,0x361f8898,0x7c6b5f22,0x45b8edb4
+DD 0xb0fca064,0x892f12f2,0xc35bc548,0xfa8877de
+DD 0x57b26a3c,0x6e61d8aa,0x24150f10,0x1dc6bd86
+DD 0x7b8d4225,0x425ef0b3,0x082a2709,0x31f9959f
+DD 0x9cc3887d,0xa5103aeb,0xef64ed51,0xd6b75fc7
+DD 0x47e6242e,0x7e3596b8,0x34414102,0x0d92f394
+DD 0xa0a8ee76,0x997b5ce0,0xd30f8b5a,0xeadc39cc
+DD 0x8c97c66f,0xb54474f9,0xff30a343,0xc6e311d5
+DD 0x6bd90c37,0x520abea1,0x187e691b,0x21addb8d
+DD 0xd4e9965d,0xed3a24cb,0xa74ef371,0x9e9d41e7
+DD 0x33a75c05,0x0a74ee93,0x40003929,0x79d38bbf
+DD 0x1f98741c,0x264bc68a,0x6c3f1130,0x55eca3a6
+DD 0xf8d6be44,0xc1050cd2,0x8b71db68,0xb2a269fe
+DD 0x64153639,0x5dc684af,0x17b25315,0x2e61e183
+DD 0x835bfc61,0xba884ef7,0xf0fc994d,0xc92f2bdb
+DD 0xaf64d478,0x96b766ee,0xdcc3b154,0xe51003c2
+DD 0x482a1e20,0x71f9acb6,0x3b8d7b0c,0x025ec99a
+DD 0xf71a844a,0xcec936dc,0x84bde166,0xbd6e53f0
+DD 0x10544e12,0x2987fc84,0x63f32b3e,0x5a2099a8
+DD 0x3c6b660b,0x05b8d49d,0x4fcc0327,0x761fb1b1
+DD 0xdb25ac53,0xe2f61ec5,0xa882c97f,0x91517be9
+DD 0x8fcc485c,0xb61ffaca,0xfc6b2d70,0xc5b89fe6
+DD 0x68828204,0x51513092,0x1b25e728,0x22f655be
+DD 0x44bdaa1d,0x7d6e188b,0x371acf31,0x0ec97da7
+DD 0xa3f36045,0x9a20d2d3,0xd0540569,0xe987b7ff
+DD 0x1cc3fa2f,0x251048b9,0x6f649f03,0x56b72d95
+DD 0xfb8d3077,0xc25e82e1,0x882a555b,0xb1f9e7cd
+DD 0xd7b2186e,0xee61aaf8,0xa4157d42,0x9dc6cfd4
+DD 0x30fcd236,0x092f60a0,0x435bb71a,0x7a88058c
+DD 0xac3f5a4b,0x95ece8dd,0xdf983f67,0xe64b8df1
+DD 0x4b719013,0x72a22285,0x38d6f53f,0x010547a9
+DD 0x674eb80a,0x5e9d0a9c,0x14e9dd26,0x2d3a6fb0
+DD 0x80007252,0xb9d3c0c4,0xf3a7177e,0xca74a5e8
+DD 0x3f30e838,0x06e35aae,0x4c978d14,0x75443f82
+DD 0xd87e2260,0xe1ad90f6,0xabd9474c,0x920af5da
+DD 0xf4410a79,0xcd92b8ef,0x87e66f55,0xbe35ddc3
+DD 0x130fc021,0x2adc72b7,0x60a8a50d,0x597b179b
+DD 0xc82a6c72,0xf1f9dee4,0xbb8d095e,0x825ebbc8
+DD 0x2f64a62a,0x16b714bc,0x5cc3c306,0x65107190
+DD 0x035b8e33,0x3a883ca5,0x70fceb1f,0x492f5989
+DD 0xe415446b,0xddc6f6fd,0x97b22147,0xae6193d1
+DD 0x5b25de01,0x62f66c97,0x2882bb2d,0x115109bb
+DD 0xbc6b1459,0x85b8a6cf,0xcfcc7175,0xf61fc3e3
+DD 0x90543c40,0xa9878ed6,0xe3f3596c,0xda20ebfa
+DD 0x771af618,0x4ec9448e,0x04bd9334,0x3d6e21a2
+DD 0xebd97e65,0xd20accf3,0x987e1b49,0xa1ada9df
+DD 0x0c97b43d,0x354406ab,0x7f30d111,0x46e36387
+DD 0x20a89c24,0x197b2eb2,0x530ff908,0x6adc4b9e
+DD 0xc7e6567c,0xfe35e4ea,0xb4413350,0x8d9281c6
+DD 0x78d6cc16,0x41057e80,0x0b71a93a,0x32a21bac
+DD 0x9f98064e,0xa64bb4d8,0xec3f6362,0xd5ecd1f4
+DD 0xb3a72e57,0x8a749cc1,0xc0004b7b,0xf9d3f9ed
+DD 0x54e9e40f,0x6d3a5699,0x274e8123,0x1e9d33b5
+
+mul_table_152:
+DD 0x00000000,0x878a92a7,0x0af953bf,0x8d73c118
+DD 0x15f2a77e,0x927835d9,0x1f0bf4c1,0x98816666
+DD 0x2be54efc,0xac6fdc5b,0x211c1d43,0xa6968fe4
+DD 0x3e17e982,0xb99d7b25,0x34eeba3d,0xb364289a
+DD 0x57ca9df8,0xd0400f5f,0x5d33ce47,0xdab95ce0
+DD 0x42383a86,0xc5b2a821,0x48c16939,0xcf4bfb9e
+DD 0x7c2fd304,0xfba541a3,0x76d680bb,0xf15c121c
+DD 0x69dd747a,0xee57e6dd,0x632427c5,0xe4aeb562
+DD 0xaf953bf0,0x281fa957,0xa56c684f,0x22e6fae8
+DD 0xba679c8e,0x3ded0e29,0xb09ecf31,0x37145d96
+DD 0x8470750c,0x03fae7ab,0x8e8926b3,0x0903b414
+DD 0x9182d272,0x160840d5,0x9b7b81cd,0x1cf1136a
+DD 0xf85fa608,0x7fd534af,0xf2a6f5b7,0x752c6710
+DD 0xedad0176,0x6a2793d1,0xe75452c9,0x60dec06e
+DD 0xd3bae8f4,0x54307a53,0xd943bb4b,0x5ec929ec
+DD 0xc6484f8a,0x41c2dd2d,0xccb11c35,0x4b3b8e92
+DD 0x5ac60111,0xdd4c93b6,0x503f52ae,0xd7b5c009
+DD 0x4f34a66f,0xc8be34c8,0x45cdf5d0,0xc2476777
+DD 0x71234fed,0xf6a9dd4a,0x7bda1c52,0xfc508ef5
+DD 0x64d1e893,0xe35b7a34,0x6e28bb2c,0xe9a2298b
+DD 0x0d0c9ce9,0x8a860e4e,0x07f5cf56,0x807f5df1
+DD 0x18fe3b97,0x9f74a930,0x12076828,0x958dfa8f
+DD 0x26e9d215,0xa16340b2,0x2c1081aa,0xab9a130d
+DD 0x331b756b,0xb491e7cc,0x39e226d4,0xbe68b473
+DD 0xf5533ae1,0x72d9a846,0xffaa695e,0x7820fbf9
+DD 0xe0a19d9f,0x672b0f38,0xea58ce20,0x6dd25c87
+DD 0xdeb6741d,0x593ce6ba,0xd44f27a2,0x53c5b505
+DD 0xcb44d363,0x4cce41c4,0xc1bd80dc,0x4637127b
+DD 0xa299a719,0x251335be,0xa860f4a6,0x2fea6601
+DD 0xb76b0067,0x30e192c0,0xbd9253d8,0x3a18c17f
+DD 0x897ce9e5,0x0ef67b42,0x8385ba5a,0x040f28fd
+DD 0x9c8e4e9b,0x1b04dc3c,0x96771d24,0x11fd8f83
+DD 0xb58c0222,0x32069085,0xbf75519d,0x38ffc33a
+DD 0xa07ea55c,0x27f437fb,0xaa87f6e3,0x2d0d6444
+DD 0x9e694cde,0x19e3de79,0x94901f61,0x131a8dc6
+DD 0x8b9beba0,0x0c117907,0x8162b81f,0x06e82ab8
+DD 0xe2469fda,0x65cc0d7d,0xe8bfcc65,0x6f355ec2
+DD 0xf7b438a4,0x703eaa03,0xfd4d6b1b,0x7ac7f9bc
+DD 0xc9a3d126,0x4e294381,0xc35a8299,0x44d0103e
+DD 0xdc517658,0x5bdbe4ff,0xd6a825e7,0x5122b740
+DD 0x1a1939d2,0x9d93ab75,0x10e06a6d,0x976af8ca
+DD 0x0feb9eac,0x88610c0b,0x0512cd13,0x82985fb4
+DD 0x31fc772e,0xb676e589,0x3b052491,0xbc8fb636
+DD 0x240ed050,0xa38442f7,0x2ef783ef,0xa97d1148
+DD 0x4dd3a42a,0xca59368d,0x472af795,0xc0a06532
+DD 0x58210354,0xdfab91f3,0x52d850eb,0xd552c24c
+DD 0x6636ead6,0xe1bc7871,0x6ccfb969,0xeb452bce
+DD 0x73c44da8,0xf44edf0f,0x793d1e17,0xfeb78cb0
+DD 0xef4a0333,0x68c09194,0xe5b3508c,0x6239c22b
+DD 0xfab8a44d,0x7d3236ea,0xf041f7f2,0x77cb6555
+DD 0xc4af4dcf,0x4325df68,0xce561e70,0x49dc8cd7
+DD 0xd15deab1,0x56d77816,0xdba4b90e,0x5c2e2ba9
+DD 0xb8809ecb,0x3f0a0c6c,0xb279cd74,0x35f35fd3
+DD 0xad7239b5,0x2af8ab12,0xa78b6a0a,0x2001f8ad
+DD 0x9365d037,0x14ef4290,0x999c8388,0x1e16112f
+DD 0x86977749,0x011de5ee,0x8c6e24f6,0x0be4b651
+DD 0x40df38c3,0xc755aa64,0x4a266b7c,0xcdacf9db
+DD 0x552d9fbd,0xd2a70d1a,0x5fd4cc02,0xd85e5ea5
+DD 0x6b3a763f,0xecb0e498,0x61c32580,0xe649b727
+DD 0x7ec8d141,0xf94243e6,0x743182fe,0xf3bb1059
+DD 0x1715a53b,0x909f379c,0x1decf684,0x9a666423
+DD 0x02e70245,0x856d90e2,0x081e51fa,0x8f94c35d
+DD 0x3cf0ebc7,0xbb7a7960,0x3609b878,0xb1832adf
+DD 0x29024cb9,0xae88de1e,0x23fb1f06,0xa4718da1
+
+mul_table_312:
+DD 0x00000000,0xbac2fd7b,0x70698c07,0xcaab717c
+DD 0xe0d3180e,0x5a11e575,0x90ba9409,0x2a786972
+DD 0xc44a46ed,0x7e88bb96,0xb423caea,0x0ee13791
+DD 0x24995ee3,0x9e5ba398,0x54f0d2e4,0xee322f9f
+DD 0x8d78fb2b,0x37ba0650,0xfd11772c,0x47d38a57
+DD 0x6dabe325,0xd7691e5e,0x1dc26f22,0xa7009259
+DD 0x4932bdc6,0xf3f040bd,0x395b31c1,0x8399ccba
+DD 0xa9e1a5c8,0x132358b3,0xd98829cf,0x634ad4b4
+DD 0x1f1d80a7,0xa5df7ddc,0x6f740ca0,0xd5b6f1db
+DD 0xffce98a9,0x450c65d2,0x8fa714ae,0x3565e9d5
+DD 0xdb57c64a,0x61953b31,0xab3e4a4d,0x11fcb736
+DD 0x3b84de44,0x8146233f,0x4bed5243,0xf12faf38
+DD 0x92657b8c,0x28a786f7,0xe20cf78b,0x58ce0af0
+DD 0x72b66382,0xc8749ef9,0x02dfef85,0xb81d12fe
+DD 0x562f3d61,0xecedc01a,0x2646b166,0x9c844c1d
+DD 0xb6fc256f,0x0c3ed814,0xc695a968,0x7c575413
+DD 0x3e3b014e,0x84f9fc35,0x4e528d49,0xf4907032
+DD 0xdee81940,0x642ae43b,0xae819547,0x1443683c
+DD 0xfa7147a3,0x40b3bad8,0x8a18cba4,0x30da36df
+DD 0x1aa25fad,0xa060a2d6,0x6acbd3aa,0xd0092ed1
+DD 0xb343fa65,0x0981071e,0xc32a7662,0x79e88b19
+DD 0x5390e26b,0xe9521f10,0x23f96e6c,0x993b9317
+DD 0x7709bc88,0xcdcb41f3,0x0760308f,0xbda2cdf4
+DD 0x97daa486,0x2d1859fd,0xe7b32881,0x5d71d5fa
+DD 0x212681e9,0x9be47c92,0x514f0dee,0xeb8df095
+DD 0xc1f599e7,0x7b37649c,0xb19c15e0,0x0b5ee89b
+DD 0xe56cc704,0x5fae3a7f,0x95054b03,0x2fc7b678
+DD 0x05bfdf0a,0xbf7d2271,0x75d6530d,0xcf14ae76
+DD 0xac5e7ac2,0x169c87b9,0xdc37f6c5,0x66f50bbe
+DD 0x4c8d62cc,0xf64f9fb7,0x3ce4eecb,0x862613b0
+DD 0x68143c2f,0xd2d6c154,0x187db028,0xa2bf4d53
+DD 0x88c72421,0x3205d95a,0xf8aea826,0x426c555d
+DD 0x7c76029c,0xc6b4ffe7,0x0c1f8e9b,0xb6dd73e0
+DD 0x9ca51a92,0x2667e7e9,0xeccc9695,0x560e6bee
+DD 0xb83c4471,0x02feb90a,0xc855c876,0x7297350d
+DD 0x58ef5c7f,0xe22da104,0x2886d078,0x92442d03
+DD 0xf10ef9b7,0x4bcc04cc,0x816775b0,0x3ba588cb
+DD 0x11dde1b9,0xab1f1cc2,0x61b46dbe,0xdb7690c5
+DD 0x3544bf5a,0x8f864221,0x452d335d,0xffefce26
+DD 0xd597a754,0x6f555a2f,0xa5fe2b53,0x1f3cd628
+DD 0x636b823b,0xd9a97f40,0x13020e3c,0xa9c0f347
+DD 0x83b89a35,0x397a674e,0xf3d11632,0x4913eb49
+DD 0xa721c4d6,0x1de339ad,0xd74848d1,0x6d8ab5aa
+DD 0x47f2dcd8,0xfd3021a3,0x379b50df,0x8d59ada4
+DD 0xee137910,0x54d1846b,0x9e7af517,0x24b8086c
+DD 0x0ec0611e,0xb4029c65,0x7ea9ed19,0xc46b1062
+DD 0x2a593ffd,0x909bc286,0x5a30b3fa,0xe0f24e81
+DD 0xca8a27f3,0x7048da88,0xbae3abf4,0x0021568f
+DD 0x424d03d2,0xf88ffea9,0x32248fd5,0x88e672ae
+DD 0xa29e1bdc,0x185ce6a7,0xd2f797db,0x68356aa0
+DD 0x8607453f,0x3cc5b844,0xf66ec938,0x4cac3443
+DD 0x66d45d31,0xdc16a04a,0x16bdd136,0xac7f2c4d
+DD 0xcf35f8f9,0x75f70582,0xbf5c74fe,0x059e8985
+DD 0x2fe6e0f7,0x95241d8c,0x5f8f6cf0,0xe54d918b
+DD 0x0b7fbe14,0xb1bd436f,0x7b163213,0xc1d4cf68
+DD 0xebaca61a,0x516e5b61,0x9bc52a1d,0x2107d766
+DD 0x5d508375,0xe7927e0e,0x2d390f72,0x97fbf209
+DD 0xbd839b7b,0x07416600,0xcdea177c,0x7728ea07
+DD 0x991ac598,0x23d838e3,0xe973499f,0x53b1b4e4
+DD 0x79c9dd96,0xc30b20ed,0x09a05191,0xb362acea
+DD 0xd028785e,0x6aea8525,0xa041f459,0x1a830922
+DD 0x30fb6050,0x8a399d2b,0x4092ec57,0xfa50112c
+DD 0x14623eb3,0xaea0c3c8,0x640bb2b4,0xdec94fcf
+DD 0xf4b126bd,0x4e73dbc6,0x84d8aaba,0x3e1a57c1
+
+mul_table_632:
+DD 0x00000000,0x6b749fb2,0xd6e93f64,0xbd9da0d6
+DD 0xa83e0839,0xc34a978b,0x7ed7375d,0x15a3a8ef
+DD 0x55906683,0x3ee4f931,0x837959e7,0xe80dc655
+DD 0xfdae6eba,0x96daf108,0x2b4751de,0x4033ce6c
+DD 0xab20cd06,0xc05452b4,0x7dc9f262,0x16bd6dd0
+DD 0x031ec53f,0x686a5a8d,0xd5f7fa5b,0xbe8365e9
+DD 0xfeb0ab85,0x95c43437,0x285994e1,0x432d0b53
+DD 0x568ea3bc,0x3dfa3c0e,0x80679cd8,0xeb13036a
+DD 0x53adecfd,0x38d9734f,0x8544d399,0xee304c2b
+DD 0xfb93e4c4,0x90e77b76,0x2d7adba0,0x460e4412
+DD 0x063d8a7e,0x6d4915cc,0xd0d4b51a,0xbba02aa8
+DD 0xae038247,0xc5771df5,0x78eabd23,0x139e2291
+DD 0xf88d21fb,0x93f9be49,0x2e641e9f,0x4510812d
+DD 0x50b329c2,0x3bc7b670,0x865a16a6,0xed2e8914
+DD 0xad1d4778,0xc669d8ca,0x7bf4781c,0x1080e7ae
+DD 0x05234f41,0x6e57d0f3,0xd3ca7025,0xb8beef97
+DD 0xa75bd9fa,0xcc2f4648,0x71b2e69e,0x1ac6792c
+DD 0x0f65d1c3,0x64114e71,0xd98ceea7,0xb2f87115
+DD 0xf2cbbf79,0x99bf20cb,0x2422801d,0x4f561faf
+DD 0x5af5b740,0x318128f2,0x8c1c8824,0xe7681796
+DD 0x0c7b14fc,0x670f8b4e,0xda922b98,0xb1e6b42a
+DD 0xa4451cc5,0xcf318377,0x72ac23a1,0x19d8bc13
+DD 0x59eb727f,0x329fedcd,0x8f024d1b,0xe476d2a9
+DD 0xf1d57a46,0x9aa1e5f4,0x273c4522,0x4c48da90
+DD 0xf4f63507,0x9f82aab5,0x221f0a63,0x496b95d1
+DD 0x5cc83d3e,0x37bca28c,0x8a21025a,0xe1559de8
+DD 0xa1665384,0xca12cc36,0x778f6ce0,0x1cfbf352
+DD 0x09585bbd,0x622cc40f,0xdfb164d9,0xb4c5fb6b
+DD 0x5fd6f801,0x34a267b3,0x893fc765,0xe24b58d7
+DD 0xf7e8f038,0x9c9c6f8a,0x2101cf5c,0x4a7550ee
+DD 0x0a469e82,0x61320130,0xdcafa1e6,0xb7db3e54
+DD 0xa27896bb,0xc90c0909,0x7491a9df,0x1fe5366d
+DD 0x4b5bc505,0x202f5ab7,0x9db2fa61,0xf6c665d3
+DD 0xe365cd3c,0x8811528e,0x358cf258,0x5ef86dea
+DD 0x1ecba386,0x75bf3c34,0xc8229ce2,0xa3560350
+DD 0xb6f5abbf,0xdd81340d,0x601c94db,0x0b680b69
+DD 0xe07b0803,0x8b0f97b1,0x36923767,0x5de6a8d5
+DD 0x4845003a,0x23319f88,0x9eac3f5e,0xf5d8a0ec
+DD 0xb5eb6e80,0xde9ff132,0x630251e4,0x0876ce56
+DD 0x1dd566b9,0x76a1f90b,0xcb3c59dd,0xa048c66f
+DD 0x18f629f8,0x7382b64a,0xce1f169c,0xa56b892e
+DD 0xb0c821c1,0xdbbcbe73,0x66211ea5,0x0d558117
+DD 0x4d664f7b,0x2612d0c9,0x9b8f701f,0xf0fbefad
+DD 0xe5584742,0x8e2cd8f0,0x33b17826,0x58c5e794
+DD 0xb3d6e4fe,0xd8a27b4c,0x653fdb9a,0x0e4b4428
+DD 0x1be8ecc7,0x709c7375,0xcd01d3a3,0xa6754c11
+DD 0xe646827d,0x8d321dcf,0x30afbd19,0x5bdb22ab
+DD 0x4e788a44,0x250c15f6,0x9891b520,0xf3e52a92
+DD 0xec001cff,0x8774834d,0x3ae9239b,0x519dbc29
+DD 0x443e14c6,0x2f4a8b74,0x92d72ba2,0xf9a3b410
+DD 0xb9907a7c,0xd2e4e5ce,0x6f794518,0x040ddaaa
+DD 0x11ae7245,0x7adaedf7,0xc7474d21,0xac33d293
+DD 0x4720d1f9,0x2c544e4b,0x91c9ee9d,0xfabd712f
+DD 0xef1ed9c0,0x846a4672,0x39f7e6a4,0x52837916
+DD 0x12b0b77a,0x79c428c8,0xc459881e,0xaf2d17ac
+DD 0xba8ebf43,0xd1fa20f1,0x6c678027,0x07131f95
+DD 0xbfadf002,0xd4d96fb0,0x6944cf66,0x023050d4
+DD 0x1793f83b,0x7ce76789,0xc17ac75f,0xaa0e58ed
+DD 0xea3d9681,0x81490933,0x3cd4a9e5,0x57a03657
+DD 0x42039eb8,0x2977010a,0x94eaa1dc,0xff9e3e6e
+DD 0x148d3d04,0x7ff9a2b6,0xc2640260,0xa9109dd2
+DD 0xbcb3353d,0xd7c7aa8f,0x6a5a0a59,0x012e95eb
+DD 0x411d5b87,0x2a69c435,0x97f464e3,0xfc80fb51
+DD 0xe92353be,0x8257cc0c,0x3fca6cda,0x54bef368
+
+mul_table_1272:
+DD 0x00000000,0xdd66cbbb,0xbf21e187,0x62472a3c
+DD 0x7bafb5ff,0xa6c97e44,0xc48e5478,0x19e89fc3
+DD 0xf75f6bfe,0x2a39a045,0x487e8a79,0x951841c2
+DD 0x8cf0de01,0x519615ba,0x33d13f86,0xeeb7f43d
+DD 0xeb52a10d,0x36346ab6,0x5473408a,0x89158b31
+DD 0x90fd14f2,0x4d9bdf49,0x2fdcf575,0xf2ba3ece
+DD 0x1c0dcaf3,0xc16b0148,0xa32c2b74,0x7e4ae0cf
+DD 0x67a27f0c,0xbac4b4b7,0xd8839e8b,0x05e55530
+DD 0xd34934eb,0x0e2fff50,0x6c68d56c,0xb10e1ed7
+DD 0xa8e68114,0x75804aaf,0x17c76093,0xcaa1ab28
+DD 0x24165f15,0xf97094ae,0x9b37be92,0x46517529
+DD 0x5fb9eaea,0x82df2151,0xe0980b6d,0x3dfec0d6
+DD 0x381b95e6,0xe57d5e5d,0x873a7461,0x5a5cbfda
+DD 0x43b42019,0x9ed2eba2,0xfc95c19e,0x21f30a25
+DD 0xcf44fe18,0x122235a3,0x70651f9f,0xad03d424
+DD 0xb4eb4be7,0x698d805c,0x0bcaaa60,0xd6ac61db
+DD 0xa37e1f27,0x7e18d49c,0x1c5ffea0,0xc139351b
+DD 0xd8d1aad8,0x05b76163,0x67f04b5f,0xba9680e4
+DD 0x542174d9,0x8947bf62,0xeb00955e,0x36665ee5
+DD 0x2f8ec126,0xf2e80a9d,0x90af20a1,0x4dc9eb1a
+DD 0x482cbe2a,0x954a7591,0xf70d5fad,0x2a6b9416
+DD 0x33830bd5,0xeee5c06e,0x8ca2ea52,0x51c421e9
+DD 0xbf73d5d4,0x62151e6f,0x00523453,0xdd34ffe8
+DD 0xc4dc602b,0x19baab90,0x7bfd81ac,0xa69b4a17
+DD 0x70372bcc,0xad51e077,0xcf16ca4b,0x127001f0
+DD 0x0b989e33,0xd6fe5588,0xb4b97fb4,0x69dfb40f
+DD 0x87684032,0x5a0e8b89,0x3849a1b5,0xe52f6a0e
+DD 0xfcc7f5cd,0x21a13e76,0x43e6144a,0x9e80dff1
+DD 0x9b658ac1,0x4603417a,0x24446b46,0xf922a0fd
+DD 0xe0ca3f3e,0x3dacf485,0x5febdeb9,0x828d1502
+DD 0x6c3ae13f,0xb15c2a84,0xd31b00b8,0x0e7dcb03
+DD 0x179554c0,0xcaf39f7b,0xa8b4b547,0x75d27efc
+DD 0x431048bf,0x9e768304,0xfc31a938,0x21576283
+DD 0x38bffd40,0xe5d936fb,0x879e1cc7,0x5af8d77c
+DD 0xb44f2341,0x6929e8fa,0x0b6ec2c6,0xd608097d
+DD 0xcfe096be,0x12865d05,0x70c17739,0xada7bc82
+DD 0xa842e9b2,0x75242209,0x17630835,0xca05c38e
+DD 0xd3ed5c4d,0x0e8b97f6,0x6cccbdca,0xb1aa7671
+DD 0x5f1d824c,0x827b49f7,0xe03c63cb,0x3d5aa870
+DD 0x24b237b3,0xf9d4fc08,0x9b93d634,0x46f51d8f
+DD 0x90597c54,0x4d3fb7ef,0x2f789dd3,0xf21e5668
+DD 0xebf6c9ab,0x36900210,0x54d7282c,0x89b1e397
+DD 0x670617aa,0xba60dc11,0xd827f62d,0x05413d96
+DD 0x1ca9a255,0xc1cf69ee,0xa38843d2,0x7eee8869
+DD 0x7b0bdd59,0xa66d16e2,0xc42a3cde,0x194cf765
+DD 0x00a468a6,0xddc2a31d,0xbf858921,0x62e3429a
+DD 0x8c54b6a7,0x51327d1c,0x33755720,0xee139c9b
+DD 0xf7fb0358,0x2a9dc8e3,0x48dae2df,0x95bc2964
+DD 0xe06e5798,0x3d089c23,0x5f4fb61f,0x82297da4
+DD 0x9bc1e267,0x46a729dc,0x24e003e0,0xf986c85b
+DD 0x17313c66,0xca57f7dd,0xa810dde1,0x7576165a
+DD 0x6c9e8999,0xb1f84222,0xd3bf681e,0x0ed9a3a5
+DD 0x0b3cf695,0xd65a3d2e,0xb41d1712,0x697bdca9
+DD 0x7093436a,0xadf588d1,0xcfb2a2ed,0x12d46956
+DD 0xfc639d6b,0x210556d0,0x43427cec,0x9e24b757
+DD 0x87cc2894,0x5aaae32f,0x38edc913,0xe58b02a8
+DD 0x33276373,0xee41a8c8,0x8c0682f4,0x5160494f
+DD 0x4888d68c,0x95ee1d37,0xf7a9370b,0x2acffcb0
+DD 0xc478088d,0x191ec336,0x7b59e90a,0xa63f22b1
+DD 0xbfd7bd72,0x62b176c9,0x00f65cf5,0xdd90974e
+DD 0xd875c27e,0x051309c5,0x675423f9,0xba32e842
+DD 0xa3da7781,0x7ebcbc3a,0x1cfb9606,0xc19d5dbd
+DD 0x2f2aa980,0xf24c623b,0x900b4807,0x4d6d83bc
+DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
+
+%macro slversion 4
+global %1_slver_%2%3%4
+global %1_slver
+%1_slver:
+%1_slver_%2%3%4:
+	dw 0x%4
+	db 0x%3, 0x%2
+%endmacro
+;;;       func            core, ver, snum
+slversion crc32_iscsi_00, 00,   02,  0014
diff --git a/src/common/crc32c_intel_fast_zero_asm.S b/src/common/crc32c_intel_fast_zero_asm.S
new file mode 100644
index 0000000..b7246f2
--- /dev/null
+++ b/src/common/crc32c_intel_fast_zero_asm.S
@@ -0,0 +1,646 @@
+;
+; Copyright 2012-2013 Intel Corporation All Rights Reserved.
+; All rights reserved.
+;
+; http://opensource.org/licenses/BSD-3-Clause
+;
+; Redistribution and use in source and binary forms, with or without
+; modification, are permitted provided that the following
+; conditions are met:
+;
+; * Redistributions of source code must retain the above copyright
+;   notice, this list of conditions and the following disclaimer.
+;
+; * Redistributions in binary form must reproduce the above copyright
+;   notice, this list of conditions and the following disclaimer in
+;   the documentation and/or other materials provided with the
+;   distribution.
+;
+; * Neither the name of the Intel Corporation nor the names of its
+;   contributors may be used to endorse or promote products derived
+;   from this software without specific prior written permission.
+;
+; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+; FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+; COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+; OF THE POSSIBILITY OF SUCH DAMAGE.
+;
+
+; Function to compute iscsi CRC32 with table-based recombination
+; crc done "by 3" with block sizes 1920, 960, 480, 240
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; crcB3 MACRO to implement crc32 on 3 %%bSize-byte blocks
+%macro  crcB3 3
+%define %%bSize   %1    ; 1/3 of buffer size
+%define %%td2     %2    ; table offset for crc0 (2/3 of buffer)
+%define %%td1     %3    ; table offset for crc1 (1/3 of buffer)
+
+%IF %%bSize=640
+	sub     len, %%bSize*3
+	js      %%crcB3_end           ;; jump to next level if 3*blockSize > len
+%ELSE
+	cmp     len, %%bSize*3
+	jnae    %%crcB3_end           ;; jump to next level if 3*blockSize > len
+%ENDIF
+	;;;;;; Calculate CRC of 3 blocks of the buffer ;;;;;;
+%%crcB3_loop:
+					;; rax = crc0 = initial crc
+	xor     rbx, rbx                ;; rbx = crc1 = 0;
+	xor     r10, r10                ;; r10 = crc2 = 0;
+
+ %assign i 0
+ %rep %%bSize/8 - 1
+	crc32   rax, bufptmp  ;; update crc0
+	crc32   rbx, bufptmp  ;; update crc1
+	crc32   r10, bufptmp  ;; update crc2
+	%assign i (i+8)
+ %endrep
+	crc32   rax, bufptmp  ;; update crc0
+	crc32   rbx, bufptmp  ;; update crc1
+; SKIP  ;crc32  r10, bufptmp  ;; update crc2
+
+	; merge in crc0
+	movzx   bufp_dw, al
+	mov     r9d, [crc_init + bufp*4 + %%td2]
+	movzx   bufp_dw, ah
+	shr     eax, 16
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	shl     r11, 8
+	xor     r9, r11
+
+	movzx   bufp_dw, al
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	movzx   bufp_dw, ah
+	shl     r11, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td2]
+	shl     r11, 24
+	xor     r9, r11
+
+	; merge in crc1
+
+	movzx   bufp_dw, bl
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	movzx   bufp_dw, bh
+	shr     ebx, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	shl     r11, 8
+	xor     r9, r11
+
+	movzx   bufp_dw, bl
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	movzx   bufp_dw, bh
+	shl     r11, 16
+	xor     r9, r11
+	mov     r11d, [crc_init + bufp*4 + %%td1]
+	shl     r11, 24
+	xor     r9, r11
+
+	; xor     r9, [bufptmp+i + 2*%%bSize]
+	crc32   r10, r9
+	mov     rax, r10
+
+	; add     bufptmp, %%bSize*3      ;; move to next block
+	sub     len, %%bSize*3
+%IF %%bSize=640
+	jns     %%crcB3_loop
+%ENDIF
+	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+%%crcB3_end:
+%IF %%bSize=640
+	add     len, %%bSize*3
+%ENDIF
+	je      do_return               ;; return if remaining data is zero
+%endmacro
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; ISCSI CRC 32 Implementation with crc32 Instruction
+
+;;; unsigned int crc32_iscsi_00(unsigned char * buffer, int len, unsigned int crc_init);
+;;;
+;;;        *buf = rcx
+;;;         len = rdx
+;;;    crc_init = r8
+;;;
+
+global  crc32_iscsi_zero_00:function
+crc32_iscsi_zero_00:
+
+%ifidn __OUTPUT_FORMAT__, elf64
+%define bufp            rdi
+%define bufp_dw         edi
+%define bufp_w          di
+%define bufp_b          dil
+%define bufptmp         rcx
+%define block_0         rcx
+%define block_1         r8
+%define block_2         r11
+%define len             rsi
+%define len_dw          esi
+%define len_w           si
+%define len_b           sil
+%define crc_init        rdx
+%define crc_init_dw     edx
+%else
+%define bufp            rcx
+%define bufp_dw         ecx
+%define bufp_w          cx
+%define bufp_b          cl
+%define bufptmp         rdi
+%define block_0         rdi
+%define block_1         rsi
+%define block_2         r11
+%define len             rdx
+%define len_dw          edx
+%define len_w           dx
+%define len_b           dl
+%define crc_init        r8
+%define crc_init_dw     r8d
+%endif
+
+
+	push    rdi
+	push    rbx
+
+	mov     rax, crc_init           ;; rax = crc_init;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; no need for alignment
+	xor bufptmp, bufptmp
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; 2) BLOCK LEVEL: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+proc_block:
+	cmp     len, 240
+	jb      bit8
+
+	lea     crc_init, [mul_table_72 wrt rip]  ;; load table base address
+
+	crcB3   640, 0x1000, 0x0c00     ; 640*3 = 1920 (Tables 1280, 640)
+	crcB3   320, 0x0c00, 0x0800     ; 320*3 =  960 (Tables  640, 320)
+	crcB3   160, 0x0800, 0x0400     ; 160*3 =  480 (Tables  320, 160)
+	crcB3    80, 0x0400, 0x0000     ;  80*3 =  240 (Tables  160,  80)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;4) LESS THAN 256-bytes REMAIN AT THIS POINT (8-bits of rdx are full)
+
+bit8:
+	shl     len_b, 1                ;; shift-out MSB (bit-7)
+	jnc     bit7                    ;; jump to bit-6 if bit-7 == 0
+ %assign i 0
+ %rep 16
+	crc32   rax, bufptmp        ;; compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+
+bit7:
+	shl     len_b, 1                ;; shift-out MSB (bit-7)
+	jnc     bit6                    ;; jump to bit-6 if bit-7 == 0
+ %assign i 0
+ %rep 8
+	crc32   rax, bufptmp        ;; compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	; add     bufptmp, 64             ;; buf +=64; (next 64 bytes)
+bit6:
+	shl     len_b, 1                ;; shift-out MSB (bit-6)
+	jnc     bit5                    ;; jump to bit-5 if bit-6 == 0
+ %assign i 0
+ %rep 4
+	crc32   rax, bufptmp        ;;    compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	; add     bufptmp, 32             ;; buf +=32; (next 32 bytes)
+bit5:
+	shl     len_b, 1                ;; shift-out MSB (bit-5)
+	jnc     bit4                    ;; jump to bit-4 if bit-5 == 0
+ %assign i 0
+ %rep 2
+	crc32   rax, bufptmp        ;;    compute crc32 of 8-byte data
+	%assign i (i+8)
+ %endrep
+	je      do_return               ;; return if remaining data is zero
+	; add     bufptmp, 16             ;; buf +=16; (next 16 bytes)
+bit4:
+	shl     len_b, 1                ;; shift-out MSB (bit-4)
+	jnc     bit3                    ;; jump to bit-3 if bit-4 == 0
+	crc32   rax, bufptmp          ;; compute crc32 of 8-byte data
+	je      do_return               ;; return if remaining data is zero
+	; add     bufptmp, 8              ;; buf +=8; (next 8 bytes)
+bit3:
+	mov     rbx, bufptmp          ;; load a 8-bytes from the buffer:
+	shl     len_b, 1                ;; shift-out MSB (bit-3)
+	jnc     bit2                    ;; jump to bit-2 if bit-3 == 0
+	crc32   eax, ebx                ;; compute crc32 of 4-byte data
+	je      do_return               ;; return if remaining data is zero
+	shr     rbx, 32                 ;; get next 3 bytes
+bit2:
+	shl     len_b, 1                ;; shift-out MSB (bit-2)
+	jnc     bit1                    ;; jump to bit-1 if bit-2 == 0
+	crc32   eax, bx                 ;; compute crc32 of 2-byte data
+	je      do_return               ;; return if remaining data is zero
+	shr     rbx, 16                 ;; next byte
+bit1:
+	test    len_b,len_b
+	je      do_return
+	crc32   eax, bl                 ;; compute crc32 of 1-byte data
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+do_return:
+
+	pop     rbx
+	pop     rdi
+	ret
+
+less_than_8:
+	xor bufp, bufp
+	test    len,4
+	jz      less_than_4
+	crc32   eax, bufp_dw
+	add     bufptmp,4
+less_than_4:
+	test    len,2
+	jz      less_than_2
+	crc32   eax, bufp_w
+	add     bufptmp,2
+less_than_2:
+	test    len,1
+	jz      do_return
+	crc32   rax, bufp_b
+	pop     rbx
+	pop     bufptmp
+	ret
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; global mul_table_72, mul_table_152, mul_table_312, mul_table_632, mul_table_1272
+
+section .data
+align   8
+mul_table_72:
+DD 0x00000000,0x39d3b296,0x73a7652c,0x4a74d7ba
+DD 0xe74eca58,0xde9d78ce,0x94e9af74,0xad3a1de2
+DD 0xcb71e241,0xf2a250d7,0xb8d6876d,0x810535fb
+DD 0x2c3f2819,0x15ec9a8f,0x5f984d35,0x664bffa3
+DD 0x930fb273,0xaadc00e5,0xe0a8d75f,0xd97b65c9
+DD 0x7441782b,0x4d92cabd,0x07e61d07,0x3e35af91
+DD 0x587e5032,0x61ade2a4,0x2bd9351e,0x120a8788
+DD 0xbf309a6a,0x86e328fc,0xcc97ff46,0xf5444dd0
+DD 0x23f31217,0x1a20a081,0x5054773b,0x6987c5ad
+DD 0xc4bdd84f,0xfd6e6ad9,0xb71abd63,0x8ec90ff5
+DD 0xe882f056,0xd15142c0,0x9b25957a,0xa2f627ec
+DD 0x0fcc3a0e,0x361f8898,0x7c6b5f22,0x45b8edb4
+DD 0xb0fca064,0x892f12f2,0xc35bc548,0xfa8877de
+DD 0x57b26a3c,0x6e61d8aa,0x24150f10,0x1dc6bd86
+DD 0x7b8d4225,0x425ef0b3,0x082a2709,0x31f9959f
+DD 0x9cc3887d,0xa5103aeb,0xef64ed51,0xd6b75fc7
+DD 0x47e6242e,0x7e3596b8,0x34414102,0x0d92f394
+DD 0xa0a8ee76,0x997b5ce0,0xd30f8b5a,0xeadc39cc
+DD 0x8c97c66f,0xb54474f9,0xff30a343,0xc6e311d5
+DD 0x6bd90c37,0x520abea1,0x187e691b,0x21addb8d
+DD 0xd4e9965d,0xed3a24cb,0xa74ef371,0x9e9d41e7
+DD 0x33a75c05,0x0a74ee93,0x40003929,0x79d38bbf
+DD 0x1f98741c,0x264bc68a,0x6c3f1130,0x55eca3a6
+DD 0xf8d6be44,0xc1050cd2,0x8b71db68,0xb2a269fe
+DD 0x64153639,0x5dc684af,0x17b25315,0x2e61e183
+DD 0x835bfc61,0xba884ef7,0xf0fc994d,0xc92f2bdb
+DD 0xaf64d478,0x96b766ee,0xdcc3b154,0xe51003c2
+DD 0x482a1e20,0x71f9acb6,0x3b8d7b0c,0x025ec99a
+DD 0xf71a844a,0xcec936dc,0x84bde166,0xbd6e53f0
+DD 0x10544e12,0x2987fc84,0x63f32b3e,0x5a2099a8
+DD 0x3c6b660b,0x05b8d49d,0x4fcc0327,0x761fb1b1
+DD 0xdb25ac53,0xe2f61ec5,0xa882c97f,0x91517be9
+DD 0x8fcc485c,0xb61ffaca,0xfc6b2d70,0xc5b89fe6
+DD 0x68828204,0x51513092,0x1b25e728,0x22f655be
+DD 0x44bdaa1d,0x7d6e188b,0x371acf31,0x0ec97da7
+DD 0xa3f36045,0x9a20d2d3,0xd0540569,0xe987b7ff
+DD 0x1cc3fa2f,0x251048b9,0x6f649f03,0x56b72d95
+DD 0xfb8d3077,0xc25e82e1,0x882a555b,0xb1f9e7cd
+DD 0xd7b2186e,0xee61aaf8,0xa4157d42,0x9dc6cfd4
+DD 0x30fcd236,0x092f60a0,0x435bb71a,0x7a88058c
+DD 0xac3f5a4b,0x95ece8dd,0xdf983f67,0xe64b8df1
+DD 0x4b719013,0x72a22285,0x38d6f53f,0x010547a9
+DD 0x674eb80a,0x5e9d0a9c,0x14e9dd26,0x2d3a6fb0
+DD 0x80007252,0xb9d3c0c4,0xf3a7177e,0xca74a5e8
+DD 0x3f30e838,0x06e35aae,0x4c978d14,0x75443f82
+DD 0xd87e2260,0xe1ad90f6,0xabd9474c,0x920af5da
+DD 0xf4410a79,0xcd92b8ef,0x87e66f55,0xbe35ddc3
+DD 0x130fc021,0x2adc72b7,0x60a8a50d,0x597b179b
+DD 0xc82a6c72,0xf1f9dee4,0xbb8d095e,0x825ebbc8
+DD 0x2f64a62a,0x16b714bc,0x5cc3c306,0x65107190
+DD 0x035b8e33,0x3a883ca5,0x70fceb1f,0x492f5989
+DD 0xe415446b,0xddc6f6fd,0x97b22147,0xae6193d1
+DD 0x5b25de01,0x62f66c97,0x2882bb2d,0x115109bb
+DD 0xbc6b1459,0x85b8a6cf,0xcfcc7175,0xf61fc3e3
+DD 0x90543c40,0xa9878ed6,0xe3f3596c,0xda20ebfa
+DD 0x771af618,0x4ec9448e,0x04bd9334,0x3d6e21a2
+DD 0xebd97e65,0xd20accf3,0x987e1b49,0xa1ada9df
+DD 0x0c97b43d,0x354406ab,0x7f30d111,0x46e36387
+DD 0x20a89c24,0x197b2eb2,0x530ff908,0x6adc4b9e
+DD 0xc7e6567c,0xfe35e4ea,0xb4413350,0x8d9281c6
+DD 0x78d6cc16,0x41057e80,0x0b71a93a,0x32a21bac
+DD 0x9f98064e,0xa64bb4d8,0xec3f6362,0xd5ecd1f4
+DD 0xb3a72e57,0x8a749cc1,0xc0004b7b,0xf9d3f9ed
+DD 0x54e9e40f,0x6d3a5699,0x274e8123,0x1e9d33b5
+
+mul_table_152:
+DD 0x00000000,0x878a92a7,0x0af953bf,0x8d73c118
+DD 0x15f2a77e,0x927835d9,0x1f0bf4c1,0x98816666
+DD 0x2be54efc,0xac6fdc5b,0x211c1d43,0xa6968fe4
+DD 0x3e17e982,0xb99d7b25,0x34eeba3d,0xb364289a
+DD 0x57ca9df8,0xd0400f5f,0x5d33ce47,0xdab95ce0
+DD 0x42383a86,0xc5b2a821,0x48c16939,0xcf4bfb9e
+DD 0x7c2fd304,0xfba541a3,0x76d680bb,0xf15c121c
+DD 0x69dd747a,0xee57e6dd,0x632427c5,0xe4aeb562
+DD 0xaf953bf0,0x281fa957,0xa56c684f,0x22e6fae8
+DD 0xba679c8e,0x3ded0e29,0xb09ecf31,0x37145d96
+DD 0x8470750c,0x03fae7ab,0x8e8926b3,0x0903b414
+DD 0x9182d272,0x160840d5,0x9b7b81cd,0x1cf1136a
+DD 0xf85fa608,0x7fd534af,0xf2a6f5b7,0x752c6710
+DD 0xedad0176,0x6a2793d1,0xe75452c9,0x60dec06e
+DD 0xd3bae8f4,0x54307a53,0xd943bb4b,0x5ec929ec
+DD 0xc6484f8a,0x41c2dd2d,0xccb11c35,0x4b3b8e92
+DD 0x5ac60111,0xdd4c93b6,0x503f52ae,0xd7b5c009
+DD 0x4f34a66f,0xc8be34c8,0x45cdf5d0,0xc2476777
+DD 0x71234fed,0xf6a9dd4a,0x7bda1c52,0xfc508ef5
+DD 0x64d1e893,0xe35b7a34,0x6e28bb2c,0xe9a2298b
+DD 0x0d0c9ce9,0x8a860e4e,0x07f5cf56,0x807f5df1
+DD 0x18fe3b97,0x9f74a930,0x12076828,0x958dfa8f
+DD 0x26e9d215,0xa16340b2,0x2c1081aa,0xab9a130d
+DD 0x331b756b,0xb491e7cc,0x39e226d4,0xbe68b473
+DD 0xf5533ae1,0x72d9a846,0xffaa695e,0x7820fbf9
+DD 0xe0a19d9f,0x672b0f38,0xea58ce20,0x6dd25c87
+DD 0xdeb6741d,0x593ce6ba,0xd44f27a2,0x53c5b505
+DD 0xcb44d363,0x4cce41c4,0xc1bd80dc,0x4637127b
+DD 0xa299a719,0x251335be,0xa860f4a6,0x2fea6601
+DD 0xb76b0067,0x30e192c0,0xbd9253d8,0x3a18c17f
+DD 0x897ce9e5,0x0ef67b42,0x8385ba5a,0x040f28fd
+DD 0x9c8e4e9b,0x1b04dc3c,0x96771d24,0x11fd8f83
+DD 0xb58c0222,0x32069085,0xbf75519d,0x38ffc33a
+DD 0xa07ea55c,0x27f437fb,0xaa87f6e3,0x2d0d6444
+DD 0x9e694cde,0x19e3de79,0x94901f61,0x131a8dc6
+DD 0x8b9beba0,0x0c117907,0x8162b81f,0x06e82ab8
+DD 0xe2469fda,0x65cc0d7d,0xe8bfcc65,0x6f355ec2
+DD 0xf7b438a4,0x703eaa03,0xfd4d6b1b,0x7ac7f9bc
+DD 0xc9a3d126,0x4e294381,0xc35a8299,0x44d0103e
+DD 0xdc517658,0x5bdbe4ff,0xd6a825e7,0x5122b740
+DD 0x1a1939d2,0x9d93ab75,0x10e06a6d,0x976af8ca
+DD 0x0feb9eac,0x88610c0b,0x0512cd13,0x82985fb4
+DD 0x31fc772e,0xb676e589,0x3b052491,0xbc8fb636
+DD 0x240ed050,0xa38442f7,0x2ef783ef,0xa97d1148
+DD 0x4dd3a42a,0xca59368d,0x472af795,0xc0a06532
+DD 0x58210354,0xdfab91f3,0x52d850eb,0xd552c24c
+DD 0x6636ead6,0xe1bc7871,0x6ccfb969,0xeb452bce
+DD 0x73c44da8,0xf44edf0f,0x793d1e17,0xfeb78cb0
+DD 0xef4a0333,0x68c09194,0xe5b3508c,0x6239c22b
+DD 0xfab8a44d,0x7d3236ea,0xf041f7f2,0x77cb6555
+DD 0xc4af4dcf,0x4325df68,0xce561e70,0x49dc8cd7
+DD 0xd15deab1,0x56d77816,0xdba4b90e,0x5c2e2ba9
+DD 0xb8809ecb,0x3f0a0c6c,0xb279cd74,0x35f35fd3
+DD 0xad7239b5,0x2af8ab12,0xa78b6a0a,0x2001f8ad
+DD 0x9365d037,0x14ef4290,0x999c8388,0x1e16112f
+DD 0x86977749,0x011de5ee,0x8c6e24f6,0x0be4b651
+DD 0x40df38c3,0xc755aa64,0x4a266b7c,0xcdacf9db
+DD 0x552d9fbd,0xd2a70d1a,0x5fd4cc02,0xd85e5ea5
+DD 0x6b3a763f,0xecb0e498,0x61c32580,0xe649b727
+DD 0x7ec8d141,0xf94243e6,0x743182fe,0xf3bb1059
+DD 0x1715a53b,0x909f379c,0x1decf684,0x9a666423
+DD 0x02e70245,0x856d90e2,0x081e51fa,0x8f94c35d
+DD 0x3cf0ebc7,0xbb7a7960,0x3609b878,0xb1832adf
+DD 0x29024cb9,0xae88de1e,0x23fb1f06,0xa4718da1
+
+mul_table_312:
+DD 0x00000000,0xbac2fd7b,0x70698c07,0xcaab717c
+DD 0xe0d3180e,0x5a11e575,0x90ba9409,0x2a786972
+DD 0xc44a46ed,0x7e88bb96,0xb423caea,0x0ee13791
+DD 0x24995ee3,0x9e5ba398,0x54f0d2e4,0xee322f9f
+DD 0x8d78fb2b,0x37ba0650,0xfd11772c,0x47d38a57
+DD 0x6dabe325,0xd7691e5e,0x1dc26f22,0xa7009259
+DD 0x4932bdc6,0xf3f040bd,0x395b31c1,0x8399ccba
+DD 0xa9e1a5c8,0x132358b3,0xd98829cf,0x634ad4b4
+DD 0x1f1d80a7,0xa5df7ddc,0x6f740ca0,0xd5b6f1db
+DD 0xffce98a9,0x450c65d2,0x8fa714ae,0x3565e9d5
+DD 0xdb57c64a,0x61953b31,0xab3e4a4d,0x11fcb736
+DD 0x3b84de44,0x8146233f,0x4bed5243,0xf12faf38
+DD 0x92657b8c,0x28a786f7,0xe20cf78b,0x58ce0af0
+DD 0x72b66382,0xc8749ef9,0x02dfef85,0xb81d12fe
+DD 0x562f3d61,0xecedc01a,0x2646b166,0x9c844c1d
+DD 0xb6fc256f,0x0c3ed814,0xc695a968,0x7c575413
+DD 0x3e3b014e,0x84f9fc35,0x4e528d49,0xf4907032
+DD 0xdee81940,0x642ae43b,0xae819547,0x1443683c
+DD 0xfa7147a3,0x40b3bad8,0x8a18cba4,0x30da36df
+DD 0x1aa25fad,0xa060a2d6,0x6acbd3aa,0xd0092ed1
+DD 0xb343fa65,0x0981071e,0xc32a7662,0x79e88b19
+DD 0x5390e26b,0xe9521f10,0x23f96e6c,0x993b9317
+DD 0x7709bc88,0xcdcb41f3,0x0760308f,0xbda2cdf4
+DD 0x97daa486,0x2d1859fd,0xe7b32881,0x5d71d5fa
+DD 0x212681e9,0x9be47c92,0x514f0dee,0xeb8df095
+DD 0xc1f599e7,0x7b37649c,0xb19c15e0,0x0b5ee89b
+DD 0xe56cc704,0x5fae3a7f,0x95054b03,0x2fc7b678
+DD 0x05bfdf0a,0xbf7d2271,0x75d6530d,0xcf14ae76
+DD 0xac5e7ac2,0x169c87b9,0xdc37f6c5,0x66f50bbe
+DD 0x4c8d62cc,0xf64f9fb7,0x3ce4eecb,0x862613b0
+DD 0x68143c2f,0xd2d6c154,0x187db028,0xa2bf4d53
+DD 0x88c72421,0x3205d95a,0xf8aea826,0x426c555d
+DD 0x7c76029c,0xc6b4ffe7,0x0c1f8e9b,0xb6dd73e0
+DD 0x9ca51a92,0x2667e7e9,0xeccc9695,0x560e6bee
+DD 0xb83c4471,0x02feb90a,0xc855c876,0x7297350d
+DD 0x58ef5c7f,0xe22da104,0x2886d078,0x92442d03
+DD 0xf10ef9b7,0x4bcc04cc,0x816775b0,0x3ba588cb
+DD 0x11dde1b9,0xab1f1cc2,0x61b46dbe,0xdb7690c5
+DD 0x3544bf5a,0x8f864221,0x452d335d,0xffefce26
+DD 0xd597a754,0x6f555a2f,0xa5fe2b53,0x1f3cd628
+DD 0x636b823b,0xd9a97f40,0x13020e3c,0xa9c0f347
+DD 0x83b89a35,0x397a674e,0xf3d11632,0x4913eb49
+DD 0xa721c4d6,0x1de339ad,0xd74848d1,0x6d8ab5aa
+DD 0x47f2dcd8,0xfd3021a3,0x379b50df,0x8d59ada4
+DD 0xee137910,0x54d1846b,0x9e7af517,0x24b8086c
+DD 0x0ec0611e,0xb4029c65,0x7ea9ed19,0xc46b1062
+DD 0x2a593ffd,0x909bc286,0x5a30b3fa,0xe0f24e81
+DD 0xca8a27f3,0x7048da88,0xbae3abf4,0x0021568f
+DD 0x424d03d2,0xf88ffea9,0x32248fd5,0x88e672ae
+DD 0xa29e1bdc,0x185ce6a7,0xd2f797db,0x68356aa0
+DD 0x8607453f,0x3cc5b844,0xf66ec938,0x4cac3443
+DD 0x66d45d31,0xdc16a04a,0x16bdd136,0xac7f2c4d
+DD 0xcf35f8f9,0x75f70582,0xbf5c74fe,0x059e8985
+DD 0x2fe6e0f7,0x95241d8c,0x5f8f6cf0,0xe54d918b
+DD 0x0b7fbe14,0xb1bd436f,0x7b163213,0xc1d4cf68
+DD 0xebaca61a,0x516e5b61,0x9bc52a1d,0x2107d766
+DD 0x5d508375,0xe7927e0e,0x2d390f72,0x97fbf209
+DD 0xbd839b7b,0x07416600,0xcdea177c,0x7728ea07
+DD 0x991ac598,0x23d838e3,0xe973499f,0x53b1b4e4
+DD 0x79c9dd96,0xc30b20ed,0x09a05191,0xb362acea
+DD 0xd028785e,0x6aea8525,0xa041f459,0x1a830922
+DD 0x30fb6050,0x8a399d2b,0x4092ec57,0xfa50112c
+DD 0x14623eb3,0xaea0c3c8,0x640bb2b4,0xdec94fcf
+DD 0xf4b126bd,0x4e73dbc6,0x84d8aaba,0x3e1a57c1
+
+mul_table_632:
+DD 0x00000000,0x6b749fb2,0xd6e93f64,0xbd9da0d6
+DD 0xa83e0839,0xc34a978b,0x7ed7375d,0x15a3a8ef
+DD 0x55906683,0x3ee4f931,0x837959e7,0xe80dc655
+DD 0xfdae6eba,0x96daf108,0x2b4751de,0x4033ce6c
+DD 0xab20cd06,0xc05452b4,0x7dc9f262,0x16bd6dd0
+DD 0x031ec53f,0x686a5a8d,0xd5f7fa5b,0xbe8365e9
+DD 0xfeb0ab85,0x95c43437,0x285994e1,0x432d0b53
+DD 0x568ea3bc,0x3dfa3c0e,0x80679cd8,0xeb13036a
+DD 0x53adecfd,0x38d9734f,0x8544d399,0xee304c2b
+DD 0xfb93e4c4,0x90e77b76,0x2d7adba0,0x460e4412
+DD 0x063d8a7e,0x6d4915cc,0xd0d4b51a,0xbba02aa8
+DD 0xae038247,0xc5771df5,0x78eabd23,0x139e2291
+DD 0xf88d21fb,0x93f9be49,0x2e641e9f,0x4510812d
+DD 0x50b329c2,0x3bc7b670,0x865a16a6,0xed2e8914
+DD 0xad1d4778,0xc669d8ca,0x7bf4781c,0x1080e7ae
+DD 0x05234f41,0x6e57d0f3,0xd3ca7025,0xb8beef97
+DD 0xa75bd9fa,0xcc2f4648,0x71b2e69e,0x1ac6792c
+DD 0x0f65d1c3,0x64114e71,0xd98ceea7,0xb2f87115
+DD 0xf2cbbf79,0x99bf20cb,0x2422801d,0x4f561faf
+DD 0x5af5b740,0x318128f2,0x8c1c8824,0xe7681796
+DD 0x0c7b14fc,0x670f8b4e,0xda922b98,0xb1e6b42a
+DD 0xa4451cc5,0xcf318377,0x72ac23a1,0x19d8bc13
+DD 0x59eb727f,0x329fedcd,0x8f024d1b,0xe476d2a9
+DD 0xf1d57a46,0x9aa1e5f4,0x273c4522,0x4c48da90
+DD 0xf4f63507,0x9f82aab5,0x221f0a63,0x496b95d1
+DD 0x5cc83d3e,0x37bca28c,0x8a21025a,0xe1559de8
+DD 0xa1665384,0xca12cc36,0x778f6ce0,0x1cfbf352
+DD 0x09585bbd,0x622cc40f,0xdfb164d9,0xb4c5fb6b
+DD 0x5fd6f801,0x34a267b3,0x893fc765,0xe24b58d7
+DD 0xf7e8f038,0x9c9c6f8a,0x2101cf5c,0x4a7550ee
+DD 0x0a469e82,0x61320130,0xdcafa1e6,0xb7db3e54
+DD 0xa27896bb,0xc90c0909,0x7491a9df,0x1fe5366d
+DD 0x4b5bc505,0x202f5ab7,0x9db2fa61,0xf6c665d3
+DD 0xe365cd3c,0x8811528e,0x358cf258,0x5ef86dea
+DD 0x1ecba386,0x75bf3c34,0xc8229ce2,0xa3560350
+DD 0xb6f5abbf,0xdd81340d,0x601c94db,0x0b680b69
+DD 0xe07b0803,0x8b0f97b1,0x36923767,0x5de6a8d5
+DD 0x4845003a,0x23319f88,0x9eac3f5e,0xf5d8a0ec
+DD 0xb5eb6e80,0xde9ff132,0x630251e4,0x0876ce56
+DD 0x1dd566b9,0x76a1f90b,0xcb3c59dd,0xa048c66f
+DD 0x18f629f8,0x7382b64a,0xce1f169c,0xa56b892e
+DD 0xb0c821c1,0xdbbcbe73,0x66211ea5,0x0d558117
+DD 0x4d664f7b,0x2612d0c9,0x9b8f701f,0xf0fbefad
+DD 0xe5584742,0x8e2cd8f0,0x33b17826,0x58c5e794
+DD 0xb3d6e4fe,0xd8a27b4c,0x653fdb9a,0x0e4b4428
+DD 0x1be8ecc7,0x709c7375,0xcd01d3a3,0xa6754c11
+DD 0xe646827d,0x8d321dcf,0x30afbd19,0x5bdb22ab
+DD 0x4e788a44,0x250c15f6,0x9891b520,0xf3e52a92
+DD 0xec001cff,0x8774834d,0x3ae9239b,0x519dbc29
+DD 0x443e14c6,0x2f4a8b74,0x92d72ba2,0xf9a3b410
+DD 0xb9907a7c,0xd2e4e5ce,0x6f794518,0x040ddaaa
+DD 0x11ae7245,0x7adaedf7,0xc7474d21,0xac33d293
+DD 0x4720d1f9,0x2c544e4b,0x91c9ee9d,0xfabd712f
+DD 0xef1ed9c0,0x846a4672,0x39f7e6a4,0x52837916
+DD 0x12b0b77a,0x79c428c8,0xc459881e,0xaf2d17ac
+DD 0xba8ebf43,0xd1fa20f1,0x6c678027,0x07131f95
+DD 0xbfadf002,0xd4d96fb0,0x6944cf66,0x023050d4
+DD 0x1793f83b,0x7ce76789,0xc17ac75f,0xaa0e58ed
+DD 0xea3d9681,0x81490933,0x3cd4a9e5,0x57a03657
+DD 0x42039eb8,0x2977010a,0x94eaa1dc,0xff9e3e6e
+DD 0x148d3d04,0x7ff9a2b6,0xc2640260,0xa9109dd2
+DD 0xbcb3353d,0xd7c7aa8f,0x6a5a0a59,0x012e95eb
+DD 0x411d5b87,0x2a69c435,0x97f464e3,0xfc80fb51
+DD 0xe92353be,0x8257cc0c,0x3fca6cda,0x54bef368
+
+mul_table_1272:
+DD 0x00000000,0xdd66cbbb,0xbf21e187,0x62472a3c
+DD 0x7bafb5ff,0xa6c97e44,0xc48e5478,0x19e89fc3
+DD 0xf75f6bfe,0x2a39a045,0x487e8a79,0x951841c2
+DD 0x8cf0de01,0x519615ba,0x33d13f86,0xeeb7f43d
+DD 0xeb52a10d,0x36346ab6,0x5473408a,0x89158b31
+DD 0x90fd14f2,0x4d9bdf49,0x2fdcf575,0xf2ba3ece
+DD 0x1c0dcaf3,0xc16b0148,0xa32c2b74,0x7e4ae0cf
+DD 0x67a27f0c,0xbac4b4b7,0xd8839e8b,0x05e55530
+DD 0xd34934eb,0x0e2fff50,0x6c68d56c,0xb10e1ed7
+DD 0xa8e68114,0x75804aaf,0x17c76093,0xcaa1ab28
+DD 0x24165f15,0xf97094ae,0x9b37be92,0x46517529
+DD 0x5fb9eaea,0x82df2151,0xe0980b6d,0x3dfec0d6
+DD 0x381b95e6,0xe57d5e5d,0x873a7461,0x5a5cbfda
+DD 0x43b42019,0x9ed2eba2,0xfc95c19e,0x21f30a25
+DD 0xcf44fe18,0x122235a3,0x70651f9f,0xad03d424
+DD 0xb4eb4be7,0x698d805c,0x0bcaaa60,0xd6ac61db
+DD 0xa37e1f27,0x7e18d49c,0x1c5ffea0,0xc139351b
+DD 0xd8d1aad8,0x05b76163,0x67f04b5f,0xba9680e4
+DD 0x542174d9,0x8947bf62,0xeb00955e,0x36665ee5
+DD 0x2f8ec126,0xf2e80a9d,0x90af20a1,0x4dc9eb1a
+DD 0x482cbe2a,0x954a7591,0xf70d5fad,0x2a6b9416
+DD 0x33830bd5,0xeee5c06e,0x8ca2ea52,0x51c421e9
+DD 0xbf73d5d4,0x62151e6f,0x00523453,0xdd34ffe8
+DD 0xc4dc602b,0x19baab90,0x7bfd81ac,0xa69b4a17
+DD 0x70372bcc,0xad51e077,0xcf16ca4b,0x127001f0
+DD 0x0b989e33,0xd6fe5588,0xb4b97fb4,0x69dfb40f
+DD 0x87684032,0x5a0e8b89,0x3849a1b5,0xe52f6a0e
+DD 0xfcc7f5cd,0x21a13e76,0x43e6144a,0x9e80dff1
+DD 0x9b658ac1,0x4603417a,0x24446b46,0xf922a0fd
+DD 0xe0ca3f3e,0x3dacf485,0x5febdeb9,0x828d1502
+DD 0x6c3ae13f,0xb15c2a84,0xd31b00b8,0x0e7dcb03
+DD 0x179554c0,0xcaf39f7b,0xa8b4b547,0x75d27efc
+DD 0x431048bf,0x9e768304,0xfc31a938,0x21576283
+DD 0x38bffd40,0xe5d936fb,0x879e1cc7,0x5af8d77c
+DD 0xb44f2341,0x6929e8fa,0x0b6ec2c6,0xd608097d
+DD 0xcfe096be,0x12865d05,0x70c17739,0xada7bc82
+DD 0xa842e9b2,0x75242209,0x17630835,0xca05c38e
+DD 0xd3ed5c4d,0x0e8b97f6,0x6cccbdca,0xb1aa7671
+DD 0x5f1d824c,0x827b49f7,0xe03c63cb,0x3d5aa870
+DD 0x24b237b3,0xf9d4fc08,0x9b93d634,0x46f51d8f
+DD 0x90597c54,0x4d3fb7ef,0x2f789dd3,0xf21e5668
+DD 0xebf6c9ab,0x36900210,0x54d7282c,0x89b1e397
+DD 0x670617aa,0xba60dc11,0xd827f62d,0x05413d96
+DD 0x1ca9a255,0xc1cf69ee,0xa38843d2,0x7eee8869
+DD 0x7b0bdd59,0xa66d16e2,0xc42a3cde,0x194cf765
+DD 0x00a468a6,0xddc2a31d,0xbf858921,0x62e3429a
+DD 0x8c54b6a7,0x51327d1c,0x33755720,0xee139c9b
+DD 0xf7fb0358,0x2a9dc8e3,0x48dae2df,0x95bc2964
+DD 0xe06e5798,0x3d089c23,0x5f4fb61f,0x82297da4
+DD 0x9bc1e267,0x46a729dc,0x24e003e0,0xf986c85b
+DD 0x17313c66,0xca57f7dd,0xa810dde1,0x7576165a
+DD 0x6c9e8999,0xb1f84222,0xd3bf681e,0x0ed9a3a5
+DD 0x0b3cf695,0xd65a3d2e,0xb41d1712,0x697bdca9
+DD 0x7093436a,0xadf588d1,0xcfb2a2ed,0x12d46956
+DD 0xfc639d6b,0x210556d0,0x43427cec,0x9e24b757
+DD 0x87cc2894,0x5aaae32f,0x38edc913,0xe58b02a8
+DD 0x33276373,0xee41a8c8,0x8c0682f4,0x5160494f
+DD 0x4888d68c,0x95ee1d37,0xf7a9370b,0x2acffcb0
+DD 0xc478088d,0x191ec336,0x7b59e90a,0xa63f22b1
+DD 0xbfd7bd72,0x62b176c9,0x00f65cf5,0xdd90974e
+DD 0xd875c27e,0x051309c5,0x675423f9,0xba32e842
+DD 0xa3da7781,0x7ebcbc3a,0x1cfb9606,0xc19d5dbd
+DD 0x2f2aa980,0xf24c623b,0x900b4807,0x4d6d83bc
+DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
+
+%macro slversion 4
+global %1_slver_%2%3%4
+global %1_slver
+%1_slver:
+%1_slver_%2%3%4:
+	dw 0x%4
+	db 0x%3, 0x%2
+%endmacro
+;;;       func            core, ver, snum
+slversion crc32_iscsi_zero_00, 00,   02,  0014
diff --git a/src/os/hobject.cc b/src/common/hobject.cc
similarity index 64%
rename from src/os/hobject.cc
rename to src/common/hobject.cc
index d627369..b68baed 100644
--- a/src/os/hobject.cc
+++ b/src/common/hobject.cc
@@ -191,3 +191,90 @@ ostream& operator<<(ostream& out, const hobject_t& o)
   out << "/" << o.nspace << "/" << o.pool;
   return out;
 }
+
+// This is compatible with decode for hobject_t prior to
+// version 5.
+void ghobject_t::encode(bufferlist& bl) const
+{
+  ENCODE_START(5, 3, bl);
+  ::encode(hobj.key, bl);
+  ::encode(hobj.oid, bl);
+  ::encode(hobj.snap, bl);
+  ::encode(hobj.hash, bl);
+  ::encode(hobj.max, bl);
+  ::encode(hobj.nspace, bl);
+  ::encode(hobj.pool, bl);
+  ::encode(generation, bl);
+  ::encode(shard_id, bl);
+  ENCODE_FINISH(bl);
+}
+
+void ghobject_t::decode(bufferlist::iterator& bl)
+{
+  DECODE_START_LEGACY_COMPAT_LEN(5, 3, 3, bl);
+  if (struct_v >= 1)
+    ::decode(hobj.key, bl);
+  ::decode(hobj.oid, bl);
+  ::decode(hobj.snap, bl);
+  ::decode(hobj.hash, bl);
+  if (struct_v >= 2)
+    ::decode(hobj.max, bl);
+  else
+    hobj.max = false;
+  if (struct_v >= 4) {
+    ::decode(hobj.nspace, bl);
+    ::decode(hobj.pool, bl);
+  }
+  if (struct_v >= 5) {
+    ::decode(generation, bl);
+    ::decode(shard_id, bl);
+  } else {
+    generation = ghobject_t::NO_GEN;
+    shard_id = ghobject_t::NO_SHARD;
+  }
+  DECODE_FINISH(bl);
+}
+
+void ghobject_t::dump(Formatter *f) const
+{
+  hobj.dump(f);
+  if (generation != NO_GEN) {
+    f->dump_int("generation", generation);
+    f->dump_int("shard_id", shard_id);
+  }
+}
+
+void ghobject_t::generate_test_instances(list<ghobject_t*>& o)
+{
+  o.push_back(new ghobject_t);
+  o.push_back(new ghobject_t);
+  o.back()->hobj.max = true;
+  o.push_back(new ghobject_t(hobject_t(object_t("oname"), string(), 1, 234, -1, "")));
+
+  o.push_back(new ghobject_t(hobject_t(object_t("oname2"), string("okey"), CEPH_NOSNAP,
+	67, 0, "n1"), 1, 0));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname2"), string("okey"), CEPH_NOSNAP,
+	67, 0, "n1"), 1, 1));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname2"), string("okey"), CEPH_NOSNAP,
+	67, 0, "n1"), 1, 2));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname3"), string("oname3"),
+	CEPH_SNAPDIR, 910, 1, "n2"), 1, 0));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname3"), string("oname3"),
+	CEPH_SNAPDIR, 910, 1, "n2"), 2, 0));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname3"), string("oname3"),
+	CEPH_SNAPDIR, 910, 1, "n2"), 3, 0));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname3"), string("oname3"),
+	CEPH_SNAPDIR, 910, 1, "n2"), 3, 1));
+  o.push_back(new ghobject_t(hobject_t(object_t("oname3"), string("oname3"),
+	CEPH_SNAPDIR, 910, 1, "n2"), 3, 2));
+}
+
+ostream& operator<<(ostream& out, const ghobject_t& o)
+{
+  out << o.hobj;
+  if (o.generation != ghobject_t::NO_GEN) {
+    assert(o.shard_id != ghobject_t::NO_SHARD);
+    out << "/" << o.generation << "/" << o.shard_id;
+  }
+  return out;
+}
diff --git a/src/os/hobject.h b/src/common/hobject.h
similarity index 56%
rename from src/os/hobject.h
rename to src/common/hobject.h
index 633e471..87a2b1e 100644
--- a/src/os/hobject.h
+++ b/src/common/hobject.h
@@ -79,6 +79,35 @@ public:
     return ret;
   }
 
+  /// @return head version of this hobject_t
+  hobject_t get_head() const {
+    hobject_t ret(*this);
+    ret.snap = CEPH_NOSNAP;
+    return ret;
+  }
+
+  /// @return true if object is snapdir
+  bool is_snapdir() const {
+    return snap == CEPH_SNAPDIR;
+  }
+
+  /// @return snapdir version of this hobject_t
+  hobject_t get_snapdir() const {
+    hobject_t ret(*this);
+    ret.snap = CEPH_SNAPDIR;
+    return ret;
+  }
+
+  /// @return true if object is neither head nor snapdir
+  bool is_snap() const {
+    return (snap != CEPH_NOSNAP) && (snap != CEPH_SNAPDIR);
+  }
+
+  /// @return true iff the object should have a snapset in it's attrs
+  bool has_snapset() const {
+    return !is_snap();
+  }
+
   /* Do not use when a particular hash function is needed */
   explicit hobject_t(const sobject_t &o) :
     oid(o.oid), snap(o.snap), max(false), pool(-1) {
@@ -94,6 +123,13 @@ public:
   bool is_max() const {
     return max;
   }
+  bool is_min() const {
+    // this needs to match how it's constructed
+    return snap == 0 &&
+	   hash == 0 &&
+	   !max &&
+	   pool == -1;
+  }
 
   static uint32_t _reverse_nibbles(uint32_t retval) {
     // reverse nibbles
@@ -138,7 +174,7 @@ public:
     (*this) = temp;
   }
 
-  string get_namespace() const {
+  const string &get_namespace() const {
     return nspace;
   }
 
@@ -153,6 +189,7 @@ public:
   friend bool operator>=(const hobject_t&, const hobject_t&);
   friend bool operator==(const hobject_t&, const hobject_t&);
   friend bool operator!=(const hobject_t&, const hobject_t&);
+  friend class ghobject_t;
 };
 WRITE_CLASS_ENCODER(hobject_t)
 
@@ -179,4 +216,102 @@ WRITE_CMP_OPERATORS_7(hobject_t,
 		      oid,
 		      snap)
 
+typedef uint64_t gen_t;
+typedef uint8_t shard_t;
+
+#ifndef UINT8_MAX
+#define UINT8_MAX (255)
+#endif
+#ifndef UINT64_MAX
+#define UINT64_MAX (18446744073709551615ULL)
+#endif
+
+struct ghobject_t {
+  hobject_t hobj;
+  gen_t generation;
+  shard_t shard_id;
+
+public:
+  static const shard_t NO_SHARD = UINT8_MAX;
+  static const gen_t NO_GEN = UINT64_MAX;
+
+  ghobject_t() : generation(NO_GEN), shard_id(NO_SHARD) {}
+
+  ghobject_t(const hobject_t &obj) : hobj(obj), generation(NO_GEN), shard_id(NO_SHARD) {}
+
+  ghobject_t(const hobject_t &obj, gen_t gen, shard_t shard) : hobj(obj), generation(gen), shard_id(shard) {}
+
+  bool match(uint32_t bits, uint32_t match) const {
+    return hobj.match_hash(hobj.hash, bits, match);
+  }
+  /// @return min ghobject_t ret s.t. ret.hash == this->hash
+  ghobject_t get_boundary() const {
+    if (hobj.is_max())
+      return *this;
+    ghobject_t ret;
+    ret.hobj.hash = hobj.hash;
+    return ret;
+  }
+  filestore_hobject_key_t get_filestore_key_u32() const {
+    return hobj.get_filestore_key_u32();
+  }
+  filestore_hobject_key_t get_filestore_key() const {
+    return hobj.get_filestore_key();
+  }
+
+  bool is_degenerate() const {
+    return generation == NO_GEN && shard_id == NO_SHARD;
+  }
+
+  // maximum sorted value.
+  static ghobject_t get_max() {
+    ghobject_t h(hobject_t::get_max());
+    return h;
+  }
+  bool is_max() const {
+    return hobj.is_max();
+  }
+
+  void swap(ghobject_t &o) {
+    ghobject_t temp(o);
+    o = (*this);
+    (*this) = temp;
+  }
+
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void decode(json_spirit::Value& v);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ghobject_t*>& o);
+  friend bool operator<(const ghobject_t&, const ghobject_t&);
+  friend bool operator>(const ghobject_t&, const ghobject_t&);
+  friend bool operator<=(const ghobject_t&, const ghobject_t&);
+  friend bool operator>=(const ghobject_t&, const ghobject_t&);
+  friend bool operator==(const ghobject_t&, const ghobject_t&);
+  friend bool operator!=(const ghobject_t&, const ghobject_t&);
+};
+WRITE_CLASS_ENCODER(ghobject_t)
+
+namespace __gnu_cxx {
+  template<> struct hash<ghobject_t> {
+    size_t operator()(const ghobject_t &r) const {
+      static hash<object_t> H;
+      static rjhash<uint64_t> I;
+      return H(r.hobj.oid) ^ I(r.hobj.snap);
+    }
+  };
+}
+
+ostream& operator<<(ostream& out, const ghobject_t& o);
+
+WRITE_EQ_OPERATORS_3(ghobject_t, hobj, shard_id, generation)
+// sort ghobject_t's by <hobj, shard_id, generation> 
+// 
+// Two objects which differ by generation are more related than
+// two objects of the same generation which differ by shard.
+// 
+WRITE_CMP_OPERATORS_3(ghobject_t,
+		      hobj,
+		      shard_id,
+		      generation)
 #endif
diff --git a/src/common/lru_map.h b/src/common/lru_map.h
index fb63747..1e1acc9 100644
--- a/src/common/lru_map.h
+++ b/src/common/lru_map.h
@@ -13,82 +13,123 @@ class lru_map {
     typename std::list<K>::iterator lru_iter;
   };
 
-  std::map<K, entry> tokens;
-  std::list<K> tokens_lru;
+  std::map<K, entry> entries;
+  std::list<K> entries_lru;
 
   Mutex lock;
 
   size_t max;
 
 public:
+  class UpdateContext {
+    public:
+      virtual ~UpdateContext() {}
+
+      /* update should return true if object is updated */
+      virtual bool update(V *v) = 0;
+  };
+
+  bool _find(const K& key, V *value, UpdateContext *ctx);
+  void _add(const K& key, V& value);
+
+public:
   lru_map(int _max) : lock("lru_map"), max(_max) {}
   virtual ~lru_map() {}
 
   bool find(const K& key, V& value);
+
+  /*
+   * find_and_update()
+   *
+   * - will return true if object is found
+   * - if ctx is set will return true if object is found and updated
+   */
+  bool find_and_update(const K& key, V *value, UpdateContext *ctx);
   void add(const K& key, V& value);
   void erase(const K& key);
 };
 
 template <class K, class V>
-bool lru_map<K, V>::find(const K& key, V& value)
+bool lru_map<K, V>::_find(const K& key, V *value, UpdateContext *ctx)
 {
-  lock.Lock();
-  typename std::map<K, entry>::iterator iter = tokens.find(key);
-  if (iter == tokens.end()) {
-    lock.Unlock();
+  typename std::map<K, entry>::iterator iter = entries.find(key);
+  if (iter == entries.end()) {
     return false;
   }
 
   entry& e = iter->second;
-  tokens_lru.erase(e.lru_iter);
+  entries_lru.erase(e.lru_iter);
 
-  value = e.value;
+  bool r = true;
 
-  tokens_lru.push_front(key);
-  e.lru_iter = tokens_lru.begin();
+  if (ctx)
+    r = ctx->update(&e.value);
 
-  lock.Unlock();
+  if (value)
+    *value = e.value;
 
-  return true;
+  entries_lru.push_front(key);
+  e.lru_iter = entries_lru.begin();
+
+  return r;
 }
 
 template <class K, class V>
-void lru_map<K, V>::add(const K& key, V& value)
+bool lru_map<K, V>::find(const K& key, V& value)
 {
-  lock.Lock();
-  typename std::map<K, entry>::iterator iter = tokens.find(key);
-  if (iter != tokens.end()) {
+  Mutex::Locker l(lock);
+  return _find(key, &value, NULL);
+}
+
+template <class K, class V>
+bool lru_map<K, V>::find_and_update(const K& key, V *value, UpdateContext *ctx)
+{
+  Mutex::Locker l(lock);
+  return _find(key, value, ctx);
+}
+
+template <class K, class V>
+void lru_map<K, V>::_add(const K& key, V& value)
+{
+  typename std::map<K, entry>::iterator iter = entries.find(key);
+  if (iter != entries.end()) {
     entry& e = iter->second;
-    tokens_lru.erase(e.lru_iter);
+    entries_lru.erase(e.lru_iter);
   }
 
-  tokens_lru.push_front(key);
-  entry& e = tokens[key];
+  entries_lru.push_front(key);
+  entry& e = entries[key];
   e.value = value;
-  e.lru_iter = tokens_lru.begin();
-
-  while (tokens_lru.size() > max) {
-    typename std::list<K>::reverse_iterator riter = tokens_lru.rbegin();
-    iter = tokens.find(*riter);
-    // assert(iter != tokens.end());
-    tokens.erase(iter);
-    tokens_lru.pop_back();
+  e.lru_iter = entries_lru.begin();
+
+  while (entries.size() > max) {
+    typename std::list<K>::reverse_iterator riter = entries_lru.rbegin();
+    iter = entries.find(*riter);
+    // assert(iter != entries.end());
+    entries.erase(iter);
+    entries_lru.pop_back();
   }
-  
-  lock.Unlock();
+}
+
+
+template <class K, class V>
+void lru_map<K, V>::add(const K& key, V& value)
+{
+  Mutex::Locker l(lock);
+  _add(key, value);
 }
 
 template <class K, class V>
 void lru_map<K, V>::erase(const K& key)
 {
   Mutex::Locker l(lock);
-  typename std::map<K, entry>::iterator iter = tokens.find(key);
-  if (iter == tokens.end())
+  typename std::map<K, entry>::iterator iter = entries.find(key);
+  if (iter == entries.end())
     return;
 
   entry& e = iter->second;
-  tokens_lru.erase(e.lru_iter);
-  tokens.erase(iter);
+  entries_lru.erase(e.lru_iter);
+  entries.erase(iter);
 }
 
 #endif
diff --git a/src/common/obj_bencher.cc b/src/common/obj_bencher.cc
index 6490b4f..599cbbc 100644
--- a/src/common/obj_bencher.cc
+++ b/src/common/obj_bencher.cc
@@ -79,7 +79,7 @@ ostream& ObjBencher::out(ostream& os, utime_t& t)
 
 ostream& ObjBencher::out(ostream& os)
 {
-  utime_t cur_time = ceph_clock_now(g_ceph_context);
+  utime_t cur_time = ceph_clock_now(cct);
   return out(os, cur_time);
 }
 
@@ -95,7 +95,7 @@ void *ObjBencher::status_printer(void *_bencher) {
   ONE_SECOND.set_from_double(1.0);
   bencher->lock.Lock();
   while(!data.done) {
-    utime_t cur_time = ceph_clock_now(g_ceph_context);
+    utime_t cur_time = ceph_clock_now(bencher->cct);
 
     if (i % 20 == 0) {
       if (i > 0)
@@ -158,7 +158,7 @@ void *ObjBencher::status_printer(void *_bencher) {
     }
     ++i;
     ++cycleSinceChange;
-    cond.WaitInterval(g_ceph_context, bencher->lock, ONE_SECOND);
+    cond.WaitInterval(bencher->cct, bencher->lock, ONE_SECOND);
   }
   bencher->lock.Unlock();
   return NULL;
@@ -339,10 +339,10 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
 
   pthread_create(&print_thread, NULL, ObjBencher::status_printer, (void *)this);
   lock.Lock();
-  data.start_time = ceph_clock_now(g_ceph_context);
+  data.start_time = ceph_clock_now(cct);
   lock.Unlock();
   for (int i = 0; i<concurrentios; ++i) {
-    start_times[i] = ceph_clock_now(g_ceph_context);
+    start_times[i] = ceph_clock_now(cct);
     r = create_completion(i, _aio_cb, (void *)&lc);
     if (r < 0)
       goto ERR;
@@ -365,7 +365,7 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
   stopTime = data.start_time + runtime;
   slot = 0;
   lock.Lock();
-  while( ceph_clock_now(g_ceph_context) < stopTime &&
+  while( ceph_clock_now(cct) < stopTime &&
 	 (!maxObjectsToCreate || data.started < maxObjectsToCreate)) {
     bool found = false;
     while (1) {
@@ -397,7 +397,7 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
       lock.Unlock();
       goto ERR;
     }
-    data.cur_latency = ceph_clock_now(g_ceph_context) - start_times[slot];
+    data.cur_latency = ceph_clock_now(cct) - start_times[slot];
     data.history.latency.push_back(data.cur_latency);
     total_latency += data.cur_latency;
     if( data.cur_latency > data.max_latency) data.max_latency = data.cur_latency;
@@ -407,11 +407,11 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
     --data.in_flight;
     lock.Unlock();
     release_completion(slot);
-    timePassed = ceph_clock_now(g_ceph_context) - data.start_time;
+    timePassed = ceph_clock_now(cct) - data.start_time;
 
     //write new stuff to backend, then delete old stuff
     //and save locations of new stuff for later deletion
-    start_times[slot] = ceph_clock_now(g_ceph_context);
+    start_times[slot] = ceph_clock_now(cct);
     r = create_completion(slot, _aio_cb, &lc);
     if (r < 0)
       goto ERR;
@@ -438,7 +438,7 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
       lock.Unlock();
       goto ERR;
     }
-    data.cur_latency = ceph_clock_now(g_ceph_context) - start_times[slot];
+    data.cur_latency = ceph_clock_now(cct) - start_times[slot];
     data.history.latency.push_back(data.cur_latency);
     total_latency += data.cur_latency;
     if (data.cur_latency > data.max_latency) data.max_latency = data.cur_latency;
@@ -451,7 +451,7 @@ int ObjBencher::write_bench(int secondsToRun, int maxObjectsToCreate,
     delete contents[slot];
   }
 
-  timePassed = ceph_clock_now(g_ceph_context) - data.start_time;
+  timePassed = ceph_clock_now(cct) - data.start_time;
   lock.Lock();
   data.done = true;
   lock.Unlock();
@@ -529,7 +529,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
 
   lock.Lock();
   data.finished = 0;
-  data.start_time = ceph_clock_now(g_ceph_context);
+  data.start_time = ceph_clock_now(cct);
   lock.Unlock();
 
   pthread_t print_thread;
@@ -539,7 +539,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
   //start initial reads
   for (int i = 0; i < concurrentios; ++i) {
     index[i] = i;
-    start_times[i] = ceph_clock_now(g_ceph_context);
+    start_times[i] = ceph_clock_now(cct);
     create_completion(i, _aio_cb, (void *)&lc);
     r = aio_read(name[i], i, contents[i], data.object_size);
     if (r < 0) { //naughty, doesn't clean up heap -- oh, or handle the print thread!
@@ -557,7 +557,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
   bufferlist *cur_contents;
 
   slot = 0;
-  while (seconds_to_run && (ceph_clock_now(g_ceph_context) < finish_time) &&
+  while (seconds_to_run && (ceph_clock_now(cct) < finish_time) &&
       num_objects > data.started) {
     lock.Lock();
     int old_slot = slot;
@@ -590,7 +590,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
       lock.Unlock();
       goto ERR;
     }
-    data.cur_latency = ceph_clock_now(g_ceph_context) - start_times[slot];
+    data.cur_latency = ceph_clock_now(cct) - start_times[slot];
     total_latency += data.cur_latency;
     if( data.cur_latency > data.max_latency) data.max_latency = data.cur_latency;
     if (data.cur_latency < data.min_latency) data.min_latency = data.cur_latency;
@@ -602,7 +602,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
     cur_contents = contents[slot];
 
     //start new read and check data if requested
-    start_times[slot] = ceph_clock_now(g_ceph_context);
+    start_times[slot] = ceph_clock_now(cct);
     contents[slot] = new bufferlist();
     create_completion(slot, _aio_cb, (void *)&lc);
     r = aio_read(newName, slot, contents[slot], data.object_size);
@@ -633,7 +633,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
       lock.Unlock();
       goto ERR;
     }
-    data.cur_latency = ceph_clock_now(g_ceph_context) - start_times[slot];
+    data.cur_latency = ceph_clock_now(cct) - start_times[slot];
     total_latency += data.cur_latency;
     if (data.cur_latency > data.max_latency) data.max_latency = data.cur_latency;
     if (data.cur_latency < data.min_latency) data.min_latency = data.cur_latency;
@@ -650,7 +650,7 @@ int ObjBencher::seq_read_bench(int seconds_to_run, int num_objects, int concurre
     delete contents[slot];
   }
 
-  runtime = ceph_clock_now(g_ceph_context) - data.start_time;
+  runtime = ceph_clock_now(cct) - data.start_time;
   lock.Lock();
   data.done = true;
   lock.Unlock();
diff --git a/src/common/obj_bencher.h b/src/common/obj_bencher.h
index d626eda..c8f671f 100644
--- a/src/common/obj_bencher.h
+++ b/src/common/obj_bencher.h
@@ -16,6 +16,7 @@
 
 #include "common/config.h"
 #include "common/Cond.h"
+#include "common/ceph_context.h"
 
 struct bench_interval_data {
   double min_bandwidth;
@@ -51,6 +52,8 @@ const int OP_RAND_READ = 3;
 
 class ObjBencher {
   bool show_time;
+public:
+  CephContext *cct;
 protected:
   Mutex lock;
 
@@ -89,7 +92,7 @@ protected:
   ostream& out(ostream& os);
   ostream& out(ostream& os, utime_t& t);
 public:
-  ObjBencher() : show_time(false), lock("ObjBencher::lock") {}
+  ObjBencher(CephContext *cct_) : show_time(false), cct(cct_), lock("ObjBencher::lock") {}
   virtual ~ObjBencher() {}
   int aio_bench(
     int operation, int secondsToRun, int maxObjectsToCreate,
diff --git a/src/common/perf_counters.cc b/src/common/perf_counters.cc
index 1dd4cda..4fe1354 100644
--- a/src/common/perf_counters.cc
+++ b/src/common/perf_counters.cc
@@ -12,13 +12,14 @@
  *
  */
 
+#include "include/int_types.h"
+
 #include "common/perf_counters.h"
 #include "common/dout.h"
 #include "common/errno.h"
 #include "common/Formatter.h"
 
 #include <errno.h>
-#include <inttypes.h>
 #include <map>
 #include <sstream>
 #include <stdint.h>
@@ -203,6 +204,22 @@ utime_t PerfCounters::tget(int idx) const
   return utime_t(data.u64 / 1000000000ull, data.u64 % 1000000000ull);
 }
 
+pair<uint64_t, uint64_t> PerfCounters::get_tavg_ms(int idx) const
+{
+  if (!m_cct->_conf->perf)
+    return make_pair(0, 0);
+
+  Mutex::Locker lck(m_lock);
+  assert(idx > m_lower_bound);
+  assert(idx < m_upper_bound);
+  const perf_counter_data_any_d& data(m_data[idx - m_lower_bound - 1]);
+  if (!(data.type & PERFCOUNTER_TIME))
+    return make_pair(0, 0);
+  if (!(data.type & PERFCOUNTER_LONGRUNAVG))
+    return make_pair(0, 0);
+  return make_pair(data.avgcount, data.u64/1000000);
+}
+
 void PerfCounters::dump_formatted(Formatter *f, bool schema)
 {
   Mutex::Locker lck(m_lock);
diff --git a/src/common/perf_counters.h b/src/common/perf_counters.h
index ec10f9a..f4651c6 100644
--- a/src/common/perf_counters.h
+++ b/src/common/perf_counters.h
@@ -65,6 +65,24 @@ enum perfcounter_type_d
 class PerfCounters
 {
 public:
+  template <typename T>
+  struct avg_tracker {
+    pair<uint64_t, T> last;
+    pair<uint64_t, T> cur;
+    avg_tracker() : last(0, 0), cur(0, 0) {}
+    T avg() const {
+      if (cur.first == last.first)
+	return cur.first ?
+	  cur.second / cur.first :
+	  0; // no change, report avg over all time
+      return (cur.second - last.second) / (cur.first - last.first);
+    }
+    void consume_next(const pair<uint64_t, T> &next) {
+      last = cur;
+      cur = next;
+    }
+  };
+
   ~PerfCounters();
 
   void inc(int idx, uint64_t v = 1);
@@ -78,6 +96,8 @@ public:
 
   void dump_formatted(ceph::Formatter *f, bool schema);
 
+  pair<uint64_t, uint64_t> get_tavg_ms(int idx) const;
+
   const std::string& get_name() const;
   void set_name(std::string s) {
     m_name = s;
diff --git a/src/common/safe_io.c b/src/common/safe_io.c
index ac99db0..afee82e 100644
--- a/src/common/safe_io.c
+++ b/src/common/safe_io.c
@@ -14,8 +14,12 @@
 
 #define _XOPEN_SOURCE 500
 
+#include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
 
 #include "common/safe_io.h"
 
@@ -112,3 +116,79 @@ ssize_t safe_pwrite(int fd, const void *buf, size_t count, off_t offset)
 	}
 	return 0;
 }
+
+int safe_write_file(const char *base, const char *file,
+		    const char *val, size_t vallen)
+{
+  int ret;
+  char fn[PATH_MAX];
+  char tmp[PATH_MAX];
+  int fd;
+
+  // does the file already have correct content?
+  char oldval[80];
+  ret = safe_read_file(base, file, oldval, sizeof(oldval));
+  if (ret == (int)vallen && memcmp(oldval, val, vallen) == 0)
+    return 0;  // yes.
+
+  snprintf(fn, sizeof(fn), "%s/%s", base, file);
+  snprintf(tmp, sizeof(tmp), "%s/%s.tmp", base, file);
+  fd = open(tmp, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+  if (fd < 0) {
+    ret = errno;
+    return -ret;
+  }
+  ret = safe_write(fd, val, vallen);
+  if (ret) {
+    TEMP_FAILURE_RETRY(close(fd));
+    return ret;
+  }
+
+  ret = fsync(fd);
+  if (ret < 0) ret = -errno;
+  TEMP_FAILURE_RETRY(close(fd));
+  if (ret < 0) {
+    unlink(tmp);
+    return ret;
+  }
+  ret = rename(tmp, fn);
+  if (ret < 0) {
+    ret = -errno;
+    unlink(tmp);
+    return ret;
+  }
+
+  fd = open(base, O_RDONLY);
+  if (fd < 0) {
+    ret = -errno;
+    return ret;
+  }
+  ret = fsync(fd);
+  if (ret < 0) ret = -errno;
+  TEMP_FAILURE_RETRY(close(fd));
+
+  return ret;
+}
+
+int safe_read_file(const char *base, const char *file,
+		   char *val, size_t vallen)
+{
+  char fn[PATH_MAX];
+  int fd, len;
+
+  snprintf(fn, sizeof(fn), "%s/%s", base, file);
+  fd = open(fn, O_RDONLY);
+  if (fd < 0) {
+    return -errno;
+  }
+  len = safe_read(fd, val, vallen - 1);
+  if (len < 0) {
+    TEMP_FAILURE_RETRY(close(fd));
+    return len;
+  }
+  // close sometimes returns errors, but only after write()
+  TEMP_FAILURE_RETRY(close(fd));
+
+  val[len] = 0;
+  return len;
+}
diff --git a/src/common/safe_io.h b/src/common/safe_io.h
index 4c2991f..a4c9bc7 100644
--- a/src/common/safe_io.h
+++ b/src/common/safe_io.h
@@ -45,6 +45,15 @@ extern "C" {
   ssize_t safe_pread_exact(int fd, void *buf, size_t count, off_t offset)
       WARN_UNUSED_RESULT;
 
+
+  /*
+   * Safe functions to read and write an entire file.
+   */
+  int safe_write_file(const char *base, const char *file,
+			const char *val, size_t vallen);
+  int safe_read_file(const char *base, const char *file,
+		       char *val, size_t vallen);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/common/sctp_crc32.c b/src/common/sctp_crc32.c
index b11bb48..c02ed85 100644
--- a/src/common/sctp_crc32.c
+++ b/src/common/sctp_crc32.c
@@ -580,6 +580,58 @@ sctp_crc32c_sb8_64_bit(uint32_t crc,
 	return crc;
 }
 
+static uint32_t
+sctp_crc32c_sb8_64_bit_zero(uint32_t crc,
+    uint32_t length,
+    uint32_t offset)
+{
+	uint32_t li;
+	uint32_t term1, term2;
+	uint32_t running_length;
+	uint32_t end_bytes;
+	uint32_t init_bytes;
+
+	init_bytes = (4-offset) & 0x3;
+
+	if (init_bytes > length)
+		init_bytes = length;
+
+	running_length = ((length - init_bytes) / 8) * 8;
+	end_bytes = length - init_bytes - running_length;
+
+	for (li = 0; li < init_bytes; li++)
+		crc = sctp_crc_tableil8_o32[crc & 0x000000FF] ^
+		    (crc >> 8);
+	for (li = 0; li < running_length / 8; li++) {
+		term1 = sctp_crc_tableil8_o88[crc & 0x000000FF] ^
+		    sctp_crc_tableil8_o80[(crc >> 8) & 0x000000FF];
+		term2 = crc >> 16;
+		crc = term1 ^
+		    sctp_crc_tableil8_o72[term2 & 0x000000FF] ^
+		    sctp_crc_tableil8_o64[(term2 >> 8) & 0x000000FF];
+
+#if BYTE_ORDER == BIG_ENDIAN
+		crc ^= sctp_crc_tableil8_o56[0];
+		crc ^= sctp_crc_tableil8_o48[0];
+		crc ^= sctp_crc_tableil8_o40[0];
+		crc ^= sctp_crc_tableil8_o32[0];
+#else
+		term1 = sctp_crc_tableil8_o56[0] ^
+			sctp_crc_tableil8_o48[0];
+
+		term2 = 0;
+		crc = crc ^
+		    term1 ^
+		    sctp_crc_tableil8_o40[term2 & 0x000000FF] ^
+		    sctp_crc_tableil8_o32[(term2 >> 8) & 0x000000FF];
+#endif
+	}
+	for (li = 0; li < end_bytes; li++)
+		crc = sctp_crc_tableil8_o32[crc & 0x000000FF] ^
+		    (crc >> 8);
+	return crc;
+}
+
 
 /**
  *
@@ -606,7 +658,10 @@ update_crc32(uint32_t crc32c,
 		return (crc32c);
 	}
 	offset = ((uintptr_t) buffer) & 0x3;
-	return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, offset));
+	if (buffer)
+		return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, offset));
+	else
+		return (sctp_crc32c_sb8_64_bit_zero(crc32c, length, offset));
 }
 
 uint32_t sctp_crc_c[256] = {
@@ -728,7 +783,7 @@ sctp_csum_finalize(uint32_t crc32c)
 }
 #endif
 
-uint32_t ceph_crc32c_le_generic(uint32_t crc, unsigned char const *data, unsigned length)
+uint32_t ceph_crc32c_sctp(uint32_t crc, unsigned char const *data, unsigned length)
 {
 	return update_crc32(crc, data, length);
 }
diff --git a/src/common/sctp_crc32.h b/src/common/sctp_crc32.h
new file mode 100644
index 0000000..92d20bc
--- /dev/null
+++ b/src/common/sctp_crc32.h
@@ -0,0 +1,14 @@
+#ifndef CEPH_COMMON_SCTP_CRC32_H
+#define CEPH_COMMON_SCTP_CRC32_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern uint32_t ceph_crc32c_sctp(uint32_t crc, unsigned char const *data, unsigned length);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/common/sharedptr_registry.hpp b/src/common/sharedptr_registry.hpp
index 8669d06..83396b8 100644
--- a/src/common/sharedptr_registry.hpp
+++ b/src/common/sharedptr_registry.hpp
@@ -29,10 +29,11 @@ class SharedPtrRegistry {
 public:
   typedef std::tr1::shared_ptr<V> VPtr;
   typedef std::tr1::weak_ptr<V> WeakVPtr;
+  int waiting;
 private:
   Mutex lock;
   Cond cond;
-  map<K, WeakVPtr> contents;
+  map<K, pair<WeakVPtr, V*> > contents;
 
   class OnRemoval {
     SharedPtrRegistry<K,V> *parent;
@@ -43,8 +44,13 @@ private:
     void operator()(V *to_remove) {
       {
 	Mutex::Locker l(parent->lock);
-	parent->contents.erase(key);
-	parent->cond.Signal();
+	typename map<K, pair<WeakVPtr, V*> >::iterator i =
+	  parent->contents.find(key);
+	if (i != parent->contents.end() &&
+	    i->second.second == to_remove) {
+	  parent->contents.erase(i);
+	  parent->cond.Signal();
+	}
       }
       delete to_remove;
     }
@@ -52,14 +58,44 @@ private:
   friend class OnRemoval;
 
 public:
-  SharedPtrRegistry() : lock("SharedPtrRegistry::lock") {}
+  SharedPtrRegistry() :
+    waiting(0),
+    lock("SharedPtrRegistry::lock")
+  {}
 
+  bool empty() {
+    Mutex::Locker l(lock);
+    return contents.empty();
+  }
+
+  bool get_next(const K &key, pair<K, VPtr> *next) {
+    pair<K, VPtr> r;
+    {
+      Mutex::Locker l(lock);
+      VPtr next_val;
+      typename map<K, pair<WeakVPtr, V*> >::iterator i =
+	contents.upper_bound(key);
+      while (i != contents.end() &&
+	     !(next_val = i->second.first.lock()))
+	++i;
+      if (i == contents.end())
+	return false;
+      if (next)
+	r = make_pair(i->first, next_val);
+    }
+    if (next)
+      *next = r;
+    return true;
+  }
+
+  
   bool get_next(const K &key, pair<K, V> *next) {
     VPtr next_val;
     Mutex::Locker l(lock);
-    typename map<K, WeakVPtr>::iterator i = contents.upper_bound(key);
+    typename map<K, pair<WeakVPtr, V*> >::iterator i =
+      contents.upper_bound(key);
     while (i != contents.end() &&
-	   !(next_val = i->second.lock()))
+	   !(next_val = i->second.first.lock()))
       ++i;
     if (i == contents.end())
       return false;
@@ -70,36 +106,54 @@ public:
 
   VPtr lookup(const K &key) {
     Mutex::Locker l(lock);
+    waiting++;
     while (1) {
-      if (contents.count(key)) {
-	VPtr retval = contents[key].lock();
-	if (retval)
+      typename map<K, pair<WeakVPtr, V*> >::iterator i =
+	contents.find(key);
+      if (i != contents.end()) {
+	VPtr retval = i->second.first.lock();
+	if (retval) {
+	  waiting--;
 	  return retval;
+	}
       } else {
 	break;
       }
       cond.Wait(lock);
     }
+    waiting--;
     return VPtr();
   }
 
   VPtr lookup_or_create(const K &key) {
     Mutex::Locker l(lock);
+    waiting++;
     while (1) {
-      if (contents.count(key)) {
-	VPtr retval = contents[key].lock();
-	if (retval)
+      typename map<K, pair<WeakVPtr, V*> >::iterator i =
+	contents.find(key);
+      if (i != contents.end()) {
+	VPtr retval = i->second.first.lock();
+	if (retval) {
+	  waiting--;
 	  return retval;
+	}
       } else {
 	break;
       }
       cond.Wait(lock);
     }
-    VPtr retval(new V(), OnRemoval(this, key));
-    contents[key] = retval;
+    V *ptr = new V();
+    VPtr retval(ptr, OnRemoval(this, key));
+    contents.insert(make_pair(key, make_pair(retval, ptr)));
+    waiting--;
     return retval;
   }
 
+  unsigned size() {
+    Mutex::Locker l(lock);
+    return contents.size();
+  }
+
   void remove(const K &key) {
     Mutex::Locker l(lock);
     contents.erase(key);
@@ -109,20 +163,29 @@ public:
   template<class A>
   VPtr lookup_or_create(const K &key, const A &arg) {
     Mutex::Locker l(lock);
+    waiting++;
     while (1) {
-      if (contents.count(key)) {
-	VPtr retval = contents[key].lock();
-	if (retval)
+      typename map<K, pair<WeakVPtr, V*> >::iterator i =
+	contents.find(key);
+      if (i != contents.end()) {
+	VPtr retval = i->second.first.lock();
+	if (retval) {
+	  waiting--;
 	  return retval;
+	}
       } else {
 	break;
       }
       cond.Wait(lock);
     }
-    VPtr retval(new V(arg), OnRemoval(this, key));
-    contents[key] = retval;
+    V *ptr = new V(arg);
+    VPtr retval(ptr, OnRemoval(this, key));
+    contents.insert(make_pair(key, make_pair(retval, ptr)));
+    waiting--;
     return retval;
   }
+
+  friend class SharedPtrRegistryTest;
 };
 
 #endif
diff --git a/src/common/util.cc b/src/common/util.cc
index 6da37e8..ab417be 100644
--- a/src/common/util.cc
+++ b/src/common/util.cc
@@ -58,6 +58,7 @@ int64_t unit_to_bytesize(string val, ostream *pss)
     switch (c) {
     case 'B':
       break;
+    case 'k':
     case 'K':
       modifier = 10;
       break;
diff --git a/src/crush/CrushCompiler.cc b/src/crush/CrushCompiler.cc
index aee621d..5f92bf7 100644
--- a/src/crush/CrushCompiler.cc
+++ b/src/crush/CrushCompiler.cc
@@ -527,9 +527,17 @@ int CrushCompiler::parse_bucket(iter_t const& i)
   item_id[name] = id;
   item_weight[id] = bucketweight;
   
-  crush.add_bucket(id, alg, hash, type, size, &items[0], &weights[0]);
-  crush.set_item_name(id, name.c_str());
-  return 0;
+  assert(id != 0);
+  int r = crush.add_bucket(id, alg, hash, type, size, &items[0], &weights[0], NULL);
+  if (r < 0) {
+    if (r == -EEXIST)
+      err << "Duplicate bucket id " << id << std::endl;
+    else
+      err << "add_bucket failed " << strerror(-r) << std::endl;
+    return r;
+  }
+  r = crush.set_item_name(id, name.c_str());
+  return r;
 }
 
 int CrushCompiler::parse_rule(iter_t const& i)
diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc
index e96e612..d17166b 100644
--- a/src/crush/CrushWrapper.cc
+++ b/src/crush/CrushWrapper.cc
@@ -363,9 +363,15 @@ int CrushWrapper::insert_item(CephContext *cct, int item, float weight, string n
 
     if (!name_exists(q->second)) {
       ldout(cct, 5) << "insert_item creating bucket " << q->second << dendl;
-      int empty = 0;
-      cur = add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, p->first, 1, &cur, &empty);
-      set_item_name(cur, q->second);
+      int empty = 0, newid;
+      int r = add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, p->first, 1, &cur, &empty, &newid);
+      if (r < 0) {
+        char buf[128]; 
+        ldout(cct, 1) << "add_bucket failure error: " << strerror_r(-r, buf, sizeof(buf)) << dendl;
+        return r;
+      }
+      set_item_name(newid, q->second);
+      cur = newid;
       continue;
     }
 
@@ -855,7 +861,6 @@ void CrushWrapper::decode(bufferlist::iterator& blp)
     decode_32_or_64_string_map(type_map, blp);
     decode_32_or_64_string_map(name_map, blp);
     decode_32_or_64_string_map(rule_name_map, blp);
-    build_rmaps();
 
     // tunables
     if (!blp.end()) {
diff --git a/src/crush/CrushWrapper.h b/src/crush/CrushWrapper.h
index 3d07a28..b4bb67b 100644
--- a/src/crush/CrushWrapper.h
+++ b/src/crush/CrushWrapper.h
@@ -94,6 +94,7 @@ public:
       crush_destroy(crush);
     crush = crush_create();
     assert(crush);
+    have_rmaps = false;
   }
 
   // tunables
@@ -720,10 +721,10 @@ public:
 
   /* modifiers */
   int add_bucket(int bucketno, int alg, int hash, int type, int size,
-		 int *items, int *weights) {
+		 int *items, int *weights, int *idout) {
     crush_bucket *b = crush_make_bucket(alg, hash, type, size, items, weights);
     assert(b);
-    return crush_add_bucket(crush, bucketno, b);
+    return crush_add_bucket(crush, bucketno, b, idout);
   }
   
   void finalize() {
diff --git a/src/crush/Makefile.am b/src/crush/Makefile.am
new file mode 100644
index 0000000..3d2f45b
--- /dev/null
+++ b/src/crush/Makefile.am
@@ -0,0 +1,30 @@
+libcrush_la_SOURCES = \
+	crush/builder.c \
+	crush/mapper.c \
+	crush/crush.c \
+	crush/hash.c \
+	crush/CrushWrapper.cc \
+	crush/CrushCompiler.cc \
+	crush/CrushTester.cc
+noinst_LTLIBRARIES += libcrush.la
+
+noinst_HEADERS += \
+	crush/CrushCompiler.h \
+	crush/CrushTester.h \
+	crush/CrushWrapper.h \
+	crush/CrushWrapper.i \
+	crush/builder.h \
+	crush/crush.h \
+	crush/grammar.h \
+	crush/hash.h \
+	crush/mapper.h \
+	crush/sample.txt \
+	crush/types.h
+
+#crush_includedir = $(includedir)/crush
+#crush_include_DATA = \
+#	$(srcdir)/crush/hash.h \
+#	$(srcdir)/crush/crush.h \
+#	$(srcdir)/crush/mapper.h \
+#	$(srcdir)/crush/types.h
+
diff --git a/src/crush/builder.c b/src/crush/builder.c
index 2eb6ff5..9bfde0b 100644
--- a/src/crush/builder.c
+++ b/src/crush/builder.c
@@ -123,7 +123,8 @@ int crush_get_next_bucket_id(struct crush_map *map)
 
 int crush_add_bucket(struct crush_map *map,
 		     int id,
-		     struct crush_bucket *bucket)
+		     struct crush_bucket *bucket,
+		     int *idout)
 {
 	int pos;
 
@@ -148,13 +149,16 @@ int crush_add_bucket(struct crush_map *map,
 		memset(map->buckets + oldsize, 0, (map->max_buckets-oldsize) * sizeof(map->buckets[0]));
 	}
 
-	assert(map->buckets[pos] == 0);
+	if (map->buckets[pos] != 0) {
+		return -EEXIST;
+	}
 
         /* add it */
 	bucket->id = id;
 	map->buckets[pos] = bucket;
 
-	return id;
+	if (idout) *idout = id;
+	return 0;
 }
 
 int crush_remove_bucket(struct crush_map *map, struct crush_bucket *bucket)
diff --git a/src/crush/builder.h b/src/crush/builder.h
index 7d30c88..1003c35 100644
--- a/src/crush/builder.h
+++ b/src/crush/builder.h
@@ -15,7 +15,7 @@ extern int crush_add_rule(struct crush_map *map, struct crush_rule *rule, int ru
 extern int crush_get_next_bucket_id(struct crush_map *map);
 extern int crush_add_bucket(struct crush_map *map,
 			    int bucketno,
-			    struct crush_bucket *bucket);
+			    struct crush_bucket *bucket, int *idout);
 struct crush_bucket *crush_make_bucket(int alg, int hash, int type, int size, int *items, int *weights);
 extern int crush_bucket_add_item(struct crush_bucket *bucket, int item, int weight);
 extern int crush_bucket_adjust_item_weight(struct crush_bucket *bucket, int item, int weight);
diff --git a/src/crush/crush.h b/src/crush/crush.h
index 82d0328..4adabcb 100644
--- a/src/crush/crush.h
+++ b/src/crush/crush.h
@@ -1,11 +1,12 @@
 #ifndef CEPH_CRUSH_CRUSH_H
 #define CEPH_CRUSH_CRUSH_H
 
+#include "include/int_types.h"
+
 #if defined(__linux__)
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
 
 /*
diff --git a/src/crush/hash.c b/src/crush/hash.c
index 9f7f325..9b15321 100644
--- a/src/crush/hash.c
+++ b/src/crush/hash.c
@@ -1,10 +1,11 @@
+#include "include/int_types.h"
 
 #if defined(__linux__)
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
+
 #include "hash.h"
 
 /*
diff --git a/src/crush/mapper.c b/src/crush/mapper.c
index 3215564..ce23ef7 100644
--- a/src/crush/mapper.c
+++ b/src/crush/mapper.c
@@ -562,7 +562,7 @@ int crush_do_rule(const struct crush_map *map,
 				/* copy final _leaf_ values to output set */
 				memcpy(o, c, osize*sizeof(*o));
 
-			/* swap t and w arrays */
+			/* swap o and w arrays */
 			tmp = o;
 			o = w;
 			w = tmp;
diff --git a/src/global/Makefile.am b/src/global/Makefile.am
new file mode 100644
index 0000000..79a7fff
--- /dev/null
+++ b/src/global/Makefile.am
@@ -0,0 +1,14 @@
+libglobal_la_SOURCES = \
+	global/global_context.cc \
+	global/global_init.cc \
+	global/pidfile.cc \
+	global/signal_handler.cc
+libglobal_la_LIBADD = $(LIBCOMMON)
+noinst_LTLIBRARIES += libglobal.la
+
+noinst_HEADERS += \
+	global/pidfile.h \
+	global/global_init.h \
+	global/global_context.h \
+	global/signal_handler.h
+
diff --git a/src/global/signal_handler.cc b/src/global/signal_handler.cc
index ce604fe..ffdc540 100644
--- a/src/global/signal_handler.cc
+++ b/src/global/signal_handler.cc
@@ -196,13 +196,13 @@ struct SignalHandler : public Thread {
       lock.Lock();
       int num_fds = 0;
       fds[num_fds].fd = pipefd[0];
-      fds[num_fds].events = POLLIN | POLLOUT | POLLERR;
+      fds[num_fds].events = POLLIN | POLLERR;
       fds[num_fds].revents = 0;
       ++num_fds;
       for (unsigned i=0; i<32; i++) {
 	if (handlers[i]) {
 	  fds[num_fds].fd = handlers[i]->pipefd[0];
-	  fds[num_fds].events = POLLIN | POLLOUT | POLLERR;
+	  fds[num_fds].events = POLLIN | POLLERR;
 	  fds[num_fds].revents = 0;
 	  ++num_fds;
 	}
diff --git a/src/include/CompatSet.h b/src/include/CompatSet.h
index 26c438c..b238830 100644
--- a/src/include/CompatSet.h
+++ b/src/include/CompatSet.h
@@ -36,8 +36,8 @@ struct CompatSet {
     FeatureSet() : mask(1), names() {}
     void insert(Feature f) {
       assert(f.id > 0);
-      assert(f.id < 63);
-      mask |= (1<<f.id);
+      assert(f.id < 64);
+      mask |= ((uint64_t)1<<f.id);
       names[f.id] = f.name;
     }
 
@@ -50,7 +50,7 @@ struct CompatSet {
     void remove(uint64_t f) {
       if (names.count(f)) {
 	names.erase(f);
-	mask &= ~(1<<f);
+	mask &= ~((uint64_t)1<<f);
       }
     }
     void remove(Feature f) {
@@ -156,24 +156,48 @@ struct CompatSet {
       ((other.ro_compat.mask ^ ro_compat.mask) & other.ro_compat.mask);
     uint64_t other_incompat =
       ((other.incompat.mask ^ incompat.mask) & other.incompat.mask);
-    for (int i = 0; i < 64; ++i) {
-      int mask = 1 << i;
+    for (int id = 1; id < 64; ++id) {
+      uint64_t mask = (uint64_t)1 << id;
       if (mask & other_compat) {
-	diff.compat.insert( Feature(mask & other_compat,
-				    other.compat.names[mask&other_compat]));
+	diff.compat.insert( Feature(id, other.compat.names[id]));
       }
       if (mask & other_ro_compat) {
-	diff.ro_compat.insert(Feature(mask & other_ro_compat,
-				      other.compat.names[mask&other_ro_compat]));
+	diff.ro_compat.insert(Feature(id, other.ro_compat.names[id]));
       }
       if (mask & other_incompat) {
-	diff.incompat.insert( Feature(mask & other_incompat,
-				      other.incompat.names[mask&other_incompat]));
+	diff.incompat.insert( Feature(id, other.incompat.names[id]));
       }
     }
     return diff;
   }
   
+  /* Merge features supported by other CompatSet into this one.
+   * Return: true if some features were merged
+   */
+  bool merge(CompatSet& other) {
+    uint64_t other_compat =
+      ((other.compat.mask ^ compat.mask) & other.compat.mask);
+    uint64_t other_ro_compat =
+      ((other.ro_compat.mask ^ ro_compat.mask) & other.ro_compat.mask);
+    uint64_t other_incompat =
+      ((other.incompat.mask ^ incompat.mask) & other.incompat.mask);
+    if (!other_compat && !other_ro_compat && !other_incompat)
+      return false;
+    for (int id = 1; id < 64; ++id) {
+      uint64_t mask = (uint64_t)1 << id;
+      if (mask & other_compat) {
+	compat.insert( Feature(id, other.compat.names[id]));
+      }
+      if (mask & other_ro_compat) {
+	ro_compat.insert(Feature(id, other.ro_compat.names[id]));
+      }
+      if (mask & other_incompat) {
+	incompat.insert( Feature(id, other.incompat.names[id]));
+      }
+    }
+    return true;
+  }
+
   void encode(bufferlist& bl) const {
     compat.encode(bl);
     ro_compat.encode(bl);
diff --git a/src/include/Context.h b/src/include/Context.h
index e31fca6..663313c 100644
--- a/src/include/Context.h
+++ b/src/include/Context.h
@@ -28,16 +28,38 @@
 #define mydout(cct, v) lgeneric_subdout(cct, context, v)
 
 /*
+ * GenContext - abstract callback class
+ */
+template <typename T>
+class GenContext {
+  GenContext(const GenContext& other);
+  const GenContext& operator=(const GenContext& other);
+
+ protected:
+  virtual void finish(T t) = 0;
+
+ public:
+  GenContext() {}
+  virtual ~GenContext() {}       // we want a virtual destructor!!!
+  virtual void complete(T t) {
+    finish(t);
+    delete this;
+  }
+};
+
+/*
  * Context - abstract callback class
  */
 class Context {
   Context(const Context& other);
   const Context& operator=(const Context& other);
 
+ protected:
+  virtual void finish(int r) = 0;
+
  public:
   Context() {}
   virtual ~Context() {}       // we want a virtual destructor!!!
-  virtual void finish(int r) = 0;
   virtual void complete(int r) {
     finish(r);
     delete this;
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
new file mode 100644
index 0000000..34976a6
--- /dev/null
+++ b/src/include/Makefile.am
@@ -0,0 +1,81 @@
+libcephfs_includedir = $(includedir)/cephfs
+libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h
+
+librbd_includedir = $(includedir)/rbd
+librbd_include_DATA = \
+	$(srcdir)/include/rbd/features.h \
+	$(srcdir)/include/rbd/librbd.h \
+	$(srcdir)/include/rbd/librbd.hpp
+
+rados_includedir = $(includedir)/rados
+rados_include_DATA = \
+	$(srcdir)/include/rados/librados.h \
+	$(srcdir)/include/rados/rados_types.h \
+	$(srcdir)/include/rados/rados_types.hpp \
+	$(srcdir)/include/rados/librados.hpp \
+	$(srcdir)/include/buffer.h \
+	$(srcdir)/include/page.h \
+	$(srcdir)/include/crc32c.h
+
+noinst_HEADERS += \
+	include/Context.h \
+	include/CompatSet.h \
+	include/Distribution.h \
+	include/Spinlock.h \
+	include/addr_parsing.h \
+	include/assert.h \
+	include/atomic.h \
+	include/bitmapper.h \
+	include/blobhash.h \
+	include/buffer.h \
+	include/byteorder.h \
+	include/cephfs/libcephfs.h \
+	include/ceph_features.h \
+	include/ceph_frag.h \
+	include/ceph_fs.h \
+	include/ceph_hash.h \
+	include/cmp.h \
+	include/color.h \
+	include/compat.h \
+	include/crc32c.h \
+	include/encoding.h \
+	include/err.h \
+	include/error.h \
+	include/filepath.h \
+	include/frag.h \
+	include/hash.h \
+	include/histogram.h \
+	include/intarith.h \
+	include/interval_set.h \
+	include/int_types.h \
+	include/ipaddr.h \
+	include/linux_fiemap.h \
+	include/lru.h \
+	include/msgr.h \
+	include/object.h \
+	include/page.h \
+	include/rangeset.h \
+	include/rados.h \
+	include/rbd_types.h \
+	include/statlite.h \
+	include/str_list.h \
+	include/stringify.h \
+	include/triple.h \
+	include/types.h \
+	include/utime.h \
+	include/dlist.h \
+	include/elist.h \
+	include/uuid.h \
+	include/xlist.h \
+	include/rados/librados.h \
+	include/rados/rados_types.h \
+	include/rados/rados_types.hpp \
+	include/rados/librados.hpp \
+	include/rados/librgw.h \
+	include/rados/page.h \
+	include/rados/crc32c.h \
+	include/rados/buffer.h \
+	include/rbd/features.h \
+	include/rbd/librbd.h \
+	include/rbd/librbd.hpp\
+	include/util.h
diff --git a/src/include/Spinlock.h b/src/include/Spinlock.h
new file mode 100644
index 0000000..6154ae1
--- /dev/null
+++ b/src/include/Spinlock.h
@@ -0,0 +1,57 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ * @author Sage Weil <sage at inktank.com>
+ */
+
+#ifndef CEPH_SPINLOCK_H
+#define CEPH_SPINLOCK_H
+
+#include <pthread.h>
+
+class Spinlock {
+  mutable pthread_spinlock_t _lock;
+
+public:
+  Spinlock() {
+    pthread_spin_init(&_lock, PTHREAD_PROCESS_PRIVATE);
+  }
+  ~Spinlock() {
+    pthread_spin_destroy(&_lock);
+  }
+
+  // don't allow copying.
+  void operator=(Spinlock& s);
+  Spinlock(const Spinlock& s);
+
+  /// acquire spinlock
+  void lock() const {
+    pthread_spin_lock(&_lock);
+  }
+  /// release spinlock
+  void unlock() const {
+    pthread_spin_unlock(&_lock);
+  }
+
+  class Locker {
+    const Spinlock& spinlock;
+  public:
+    Locker(const Spinlock& s) : spinlock(s) {
+      spinlock.lock();
+    }
+    ~Locker() {
+      spinlock.unlock();
+    }
+  };
+};
+
+#endif
diff --git a/src/include/assert.h b/src/include/assert.h
index fa49a2f..38c0eeb 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -12,12 +12,12 @@
 # include "acconfig.h"
 #endif
 
-struct CephContext;
+class CephContext;
 
 #ifdef __cplusplus
 namespace ceph {
 
-class BackTrace;
+struct BackTrace;
 
 struct FailedAssertion {
   BackTrace *backtrace;
diff --git a/src/include/bloom_filter.hpp b/src/include/bloom_filter.hpp
deleted file mode 100644
index 41aba4b..0000000
--- a/src/include/bloom_filter.hpp
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- *******************************************************************
- *                                                                 *
- *                        Open Bloom Filter                        *
- *                                                                 *
- * Author: Arash Partow - 2000                                     *
- * URL: http://www.partow.net/programming/hashfunctions/index.html *
- *                                                                 *
- * Copyright notice:                                               *
- * Free use of the Open Bloom Filter Library is permitted under    *
- * the guidelines and in accordance with the most current version  *
- * of the Boost Software License, Version 1.0                      *
- * http://www.opensource.org/licenses/bsl1.0.html                  *
- *                                                                 *
- *******************************************************************
-*/
-
-
-#ifndef INCLUDE_BLOOM_FILTER_HPP
-#define INCLUDE_BLOOM_FILTER_HPP
-
-#include <cstddef>
-#include <algorithm>
-#include <cmath>
-#include <limits>
-#include <string>
-#include <vector>
-
-
-static const std::size_t bits_per_char = 0x08;    // 8 bits in 1 char(unsigned)
-static const unsigned char bit_mask[bits_per_char] = {
-                                                       0x01,  //00000001
-                                                       0x02,  //00000010
-                                                       0x04,  //00000100
-                                                       0x08,  //00001000
-                                                       0x10,  //00010000
-                                                       0x20,  //00100000
-                                                       0x40,  //01000000
-                                                       0x80   //10000000
-                                                     };
-
-
-class bloom_filter
-{
-protected:
-
-   typedef unsigned int bloom_type;
-   typedef unsigned char cell_type;
-
-public:
-
-   bloom_filter(const std::size_t& predicted_inserted_element_count,
-                const double& false_positive_probability,
-                const std::size_t& random_seed)
-   : bit_table_(0),
-     predicted_inserted_element_count_(predicted_inserted_element_count),
-     inserted_element_count_(0),
-     random_seed_((random_seed) ? random_seed : 0xA5A5A5A5),
-     desired_false_positive_probability_(false_positive_probability)
-   {
-      find_optimal_parameters();
-      generate_unique_salt();
-      raw_table_size_ = table_size_ / bits_per_char;
-      bit_table_ = new cell_type[raw_table_size_];
-      std::fill_n(bit_table_,raw_table_size_,0x00);
-   }
-
-   bloom_filter(const bloom_filter& filter)
-   {
-      this->operator=(filter);
-   }
-
-   bloom_filter& operator = (const bloom_filter& filter)
-   {
-      if (this != &filter) {
-        salt_count_ = filter.salt_count_;
-        table_size_ = filter.table_size_;
-        raw_table_size_ = filter.raw_table_size_;
-        predicted_inserted_element_count_ = filter.predicted_inserted_element_count_;
-        inserted_element_count_ = filter.inserted_element_count_;
-        random_seed_ = filter.random_seed_;
-        desired_false_positive_probability_ = filter.desired_false_positive_probability_;
-        delete[] bit_table_;
-        bit_table_ = new cell_type[raw_table_size_];
-        std::copy(filter.bit_table_,filter.bit_table_ + raw_table_size_,bit_table_);
-        salt_ = filter.salt_;
-      }
-      return *this;
-   }
-
-   virtual ~bloom_filter()
-   {
-      delete[] bit_table_;
-   }
-
-   inline bool operator!() const
-   {
-      return (0 == table_size_);
-   }
-
-   inline void clear()
-   {
-      std::fill_n(bit_table_,raw_table_size_,0x00);
-      inserted_element_count_ = 0;
-   }
-
-   inline void insert(const unsigned char* key_begin, const std::size_t& length)
-   {
-      std::size_t bit_index = 0;
-      std::size_t bit = 0;
-      for (std::size_t i = 0; i < salt_.size(); ++i)
-      {
-         compute_indices(hash_ap(key_begin,length,salt_[i]),bit_index,bit);
-         bit_table_[bit_index / bits_per_char] |= bit_mask[bit];
-      }
-      ++inserted_element_count_;
-   }
-
-   template<typename T>
-   inline void insert(const T& t)
-   {
-      // Note: T must be a C++ POD type.
-      insert(reinterpret_cast<const unsigned char*>(&t),sizeof(T));
-   }
-
-   inline void insert(const std::string& key)
-   {
-      insert(reinterpret_cast<const unsigned char*>(key.c_str()),key.size());
-   }
-
-   inline void insert(const char* data, const std::size_t& length)
-   {
-      insert(reinterpret_cast<const unsigned char*>(data),length);
-   }
-
-   template<typename InputIterator>
-   inline void insert(const InputIterator begin, const InputIterator end)
-   {
-      InputIterator itr = begin;
-      while (end != itr)
-      {
-         insert(*(itr++));
-      }
-   }
-
-   inline virtual bool contains(const unsigned char* key_begin, const std::size_t length) const
-   {
-      std::size_t bit_index = 0;
-      std::size_t bit = 0;
-      for (std::size_t i = 0; i < salt_.size(); ++i)
-      {
-         compute_indices(hash_ap(key_begin,length,salt_[i]),bit_index,bit);
-         if ((bit_table_[bit_index / bits_per_char] & bit_mask[bit]) != bit_mask[bit])
-         {
-            return false;
-         }
-      }
-      return true;
-   }
-
-   template<typename T>
-   inline bool contains(const T& t) const
-   {
-      return contains(reinterpret_cast<const unsigned char*>(&t),static_cast<std::size_t>(sizeof(T)));
-   }
-
-   inline bool contains(const std::string& key) const
-   {
-      return contains(reinterpret_cast<const unsigned char*>(key.c_str()),key.size());
-   }
-
-   inline bool contains(const char* data, const std::size_t& length) const
-   {
-      return contains(reinterpret_cast<const unsigned char*>(data),length);
-   }
-
-   template<typename InputIterator>
-   inline InputIterator contains_all(const InputIterator begin, const InputIterator end) const
-   {
-      InputIterator itr = begin;
-      while (end != itr)
-      {
-         if (!contains(*itr))
-         {
-            return itr;
-         }
-         ++itr;
-      }
-      return end;
-   }
-
-   template<typename InputIterator>
-   inline InputIterator contains_none(const InputIterator begin, const InputIterator end) const
-   {
-      InputIterator itr = begin;
-      while (end != itr)
-      {
-         if (contains(*itr))
-         {
-            return itr;
-         }
-         ++itr;
-      }
-      return end;
-   }
-
-   inline virtual std::size_t size() const
-   {
-      return table_size_;
-   }
-
-   inline std::size_t element_count() const
-   {
-      return inserted_element_count_;
-   }
-
-   inline double effective_fpp() const
-   {
-      /*
-        Note:
-        The effective false positive probability is calculated using the
-        designated table size and hash function count in conjunction with
-        the current number of inserted elements - not the user defined
-        predicated/expected number of inserted elements.
-      */
-      return std::pow(1.0 - std::exp(-1.0 * salt_.size() * inserted_element_count_ / size()), 1.0 * salt_.size());
-   }
-
-   inline bloom_filter& operator &= (const bloom_filter& filter)
-   {
-      /* intersection */
-      if (
-          (salt_count_  == filter.salt_count_) &&
-          (table_size_  == filter.table_size_) &&
-          (random_seed_ == filter.random_seed_)
-         )
-      {
-         for (std::size_t i = 0; i < raw_table_size_; ++i)
-         {
-            bit_table_[i] &= filter.bit_table_[i];
-         }
-      }
-      return *this;
-   }
-
-   inline bloom_filter& operator |= (const bloom_filter& filter)
-   {
-      /* union */
-      if (
-          (salt_count_  == filter.salt_count_) &&
-          (table_size_  == filter.table_size_) &&
-          (random_seed_ == filter.random_seed_)
-         )
-      {
-         for (std::size_t i = 0; i < raw_table_size_; ++i)
-         {
-            bit_table_[i] |= filter.bit_table_[i];
-         }
-      }
-      return *this;
-   }
-
-   inline bloom_filter& operator ^= (const bloom_filter& filter)
-   {
-      /* difference */
-      if (
-          (salt_count_  == filter.salt_count_) &&
-          (table_size_  == filter.table_size_) &&
-          (random_seed_ == filter.random_seed_)
-         )
-      {
-         for (std::size_t i = 0; i < raw_table_size_; ++i)
-         {
-            bit_table_[i] ^= filter.bit_table_[i];
-         }
-      }
-      return *this;
-   }
-
-   inline const cell_type* table() const
-   {
-      return bit_table_;
-   }
-
-protected:
-
-   inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const
-   {
-      bit_index = hash % table_size_;
-      bit = bit_index % bits_per_char;
-   }
-
-   void generate_unique_salt()
-   {
-      /*
-        Note:
-        A distinct hash function need not be implementation-wise
-        distinct. In the current implementation "seeding" a common
-        hash function with different values seems to be adequate.
-      */
-      const unsigned int predef_salt_count = 128;
-      static const bloom_type predef_salt[predef_salt_count] =
-                                 {
-                                    0xAAAAAAAA, 0x55555555, 0x33333333, 0xCCCCCCCC,
-                                    0x66666666, 0x99999999, 0xB5B5B5B5, 0x4B4B4B4B,
-                                    0xAA55AA55, 0x55335533, 0x33CC33CC, 0xCC66CC66,
-                                    0x66996699, 0x99B599B5, 0xB54BB54B, 0x4BAA4BAA,
-                                    0xAA33AA33, 0x55CC55CC, 0x33663366, 0xCC99CC99,
-                                    0x66B566B5, 0x994B994B, 0xB5AAB5AA, 0xAAAAAA33,
-                                    0x555555CC, 0x33333366, 0xCCCCCC99, 0x666666B5,
-                                    0x9999994B, 0xB5B5B5AA, 0xFFFFFFFF, 0xFFFF0000,
-                                    0xB823D5EB, 0xC1191CDF, 0xF623AEB3, 0xDB58499F,
-                                    0xC8D42E70, 0xB173F616, 0xA91A5967, 0xDA427D63,
-                                    0xB1E8A2EA, 0xF6C0D155, 0x4909FEA3, 0xA68CC6A7,
-                                    0xC395E782, 0xA26057EB, 0x0CD5DA28, 0x467C5492,
-                                    0xF15E6982, 0x61C6FAD3, 0x9615E352, 0x6E9E355A,
-                                    0x689B563E, 0x0C9831A8, 0x6753C18B, 0xA622689B,
-                                    0x8CA63C47, 0x42CC2884, 0x8E89919B, 0x6EDBD7D3,
-                                    0x15B6796C, 0x1D6FDFE4, 0x63FF9092, 0xE7401432,
-                                    0xEFFE9412, 0xAEAEDF79, 0x9F245A31, 0x83C136FC,
-                                    0xC3DA4A8C, 0xA5112C8C, 0x5271F491, 0x9A948DAB,
-                                    0xCEE59A8D, 0xB5F525AB, 0x59D13217, 0x24E7C331,
-                                    0x697C2103, 0x84B0A460, 0x86156DA9, 0xAEF2AC68,
-                                    0x23243DA5, 0x3F649643, 0x5FA495A8, 0x67710DF8,
-                                    0x9A6C499E, 0xDCFB0227, 0x46A43433, 0x1832B07A,
-                                    0xC46AFF3C, 0xB9C8FFF0, 0xC9500467, 0x34431BDF,
-                                    0xB652432B, 0xE367F12B, 0x427F4C1B, 0x224C006E,
-                                    0x2E7E5A89, 0x96F99AA5, 0x0BEB452A, 0x2FD87C39,
-                                    0x74B2E1FB, 0x222EFD24, 0xF357F60C, 0x440FCB1E,
-                                    0x8BBE030F, 0x6704DC29, 0x1144D12F, 0x948B1355,
-                                    0x6D8FD7E9, 0x1C11A014, 0xADD1592F, 0xFB3C712E,
-                                    0xFC77642F, 0xF9C4CE8C, 0x31312FB9, 0x08B0DD79,
-                                    0x318FA6E7, 0xC040D23D, 0xC0589AA7, 0x0CA5C075,
-                                    0xF874B172, 0x0CF914D5, 0x784D3280, 0x4E8CFEBC,
-                                    0xC569F575, 0xCDB2A091, 0x2CC016B4, 0x5C5F4421
-                                 };
-
-      if (salt_count_ <= predef_salt_count)
-      {
-         std::copy(predef_salt,
-                   predef_salt + salt_count_,
-                   std::back_inserter(salt_));
-          for (unsigned int i = 0; i < salt_.size(); ++i)
-          {
-            /*
-              Note:
-              This is done to integrate the user defined random seed,
-              so as to allow for the generation of unique bloom filter
-              instances.
-            */
-            salt_[i] = salt_[i] * salt_[(i + 3) % salt_.size()] + random_seed_;
-          }
-      }
-      else
-      {
-         std::copy(predef_salt,predef_salt + predef_salt_count,std::back_inserter(salt_));
-         srand(static_cast<unsigned int>(random_seed_));
-         while (salt_.size() < salt_count_)
-         {
-            bloom_type current_salt = static_cast<bloom_type>(rand()) * static_cast<bloom_type>(rand());
-            if (0 == current_salt) continue;
-            if (salt_.end() == std::find(salt_.begin(), salt_.end(), current_salt))
-            {
-               salt_.push_back(current_salt);
-            }
-         }
-      }
-   }
-
-   void find_optimal_parameters()
-   {
-      /*
-        Note:
-        The following will attempt to find the number of hash functions
-        and minimum amount of storage bits required to construct a bloom
-        filter consistent with the user defined false positive probability
-        and estimated element insertion count.
-      */
-
-      double min_m = std::numeric_limits<double>::infinity();
-      double min_k = 0.0;
-      double curr_m = 0.0;
-      double k = 1.0;
-      while (k < 1000.0)
-      {
-         double numerator   = (- k * predicted_inserted_element_count_);
-         double denominator = std::log(1.0 - std::pow(desired_false_positive_probability_, 1.0 / k));
-         curr_m = numerator / denominator;
-
-         if (curr_m < min_m)
-         {
-            min_m = curr_m;
-            min_k = k;
-         }
-         k += 1.0;
-      }
-
-      salt_count_ = static_cast<std::size_t>(min_k);
-      table_size_ = static_cast<std::size_t>(min_m);
-      table_size_ += (((table_size_ % bits_per_char) != 0) ? (bits_per_char - (table_size_ % bits_per_char)) : 0);
-   }
-
-   inline bloom_type hash_ap(const unsigned char* begin, std::size_t remaining_length, bloom_type hash) const
-   {
-      const unsigned char* itr = begin;
-
-      while (remaining_length >= 4)
-      {
-         hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
-         hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
-         hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
-         hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
-         remaining_length -= 4;
-      }
-
-      while (remaining_length >= 2)
-      {
-         hash ^=    (hash <<  7) ^  (*itr++) * (hash >> 3);
-         hash ^= (~((hash << 11) + ((*itr++) ^ (hash >> 5))));
-         remaining_length -= 2;
-      }
-
-      if (remaining_length)
-      {
-         hash ^= (hash <<  7) ^ (*itr) * (hash >> 3);
-      }
-
-      return hash;
-   }
-
-   std::vector<bloom_type> salt_;
-   unsigned char*          bit_table_;
-   std::size_t             salt_count_;
-   std::size_t             table_size_;
-   std::size_t             raw_table_size_;
-   std::size_t             predicted_inserted_element_count_;
-   std::size_t             inserted_element_count_;
-   std::size_t             random_seed_;
-   double                  desired_false_positive_probability_;
-};
-
-inline bloom_filter operator & (const bloom_filter& a, const bloom_filter& b)
-{
-   bloom_filter result = a;
-   result &= b;
-   return result;
-}
-
-inline bloom_filter operator | (const bloom_filter& a, const bloom_filter& b)
-{
-   bloom_filter result = a;
-   result |= b;
-   return result;
-}
-
-inline bloom_filter operator ^ (const bloom_filter& a, const bloom_filter& b)
-{
-   bloom_filter result = a;
-   result ^= b;
-   return result;
-}
-
-
-class compressible_bloom_filter : public bloom_filter
-{
-public:
-
-   compressible_bloom_filter(const std::size_t& predicted_element_count,
-                             const double& false_positive_probability,
-                             const std::size_t& random_seed)
-   : bloom_filter(predicted_element_count,false_positive_probability,random_seed)
-   {
-      size_list.push_back(table_size_);
-   }
-
-   inline virtual std::size_t size() const
-   {
-      return size_list.back();
-   }
-
-   inline bool compress(const double& percentage)
-   {
-      if ((0.0 >= percentage) || (percentage >= 100.0))
-      {
-         return false;
-      }
-
-      std::size_t original_table_size = size_list.back();
-      std::size_t new_table_size = static_cast<std::size_t>((size_list.back() * (1.0 - (percentage / 100.0))));
-      new_table_size -= (((new_table_size % bits_per_char) != 0) ? (new_table_size % bits_per_char) : 0);
-
-      if ((bits_per_char > new_table_size) || (new_table_size >= original_table_size))
-      {
-         return false;
-      }
-
-      desired_false_positive_probability_ = effective_fpp();
-      cell_type* tmp = new cell_type[new_table_size / bits_per_char];
-      std::copy(bit_table_, bit_table_ + (new_table_size / bits_per_char), tmp);
-      cell_type* itr = bit_table_ + (new_table_size / bits_per_char);
-      cell_type* end = bit_table_ + (original_table_size / bits_per_char);
-      cell_type* itr_tmp = tmp;
-
-      while (end != itr)
-      {
-         *(itr_tmp++) |= (*itr++);
-      }
-
-      delete[] bit_table_;
-      bit_table_ = tmp;
-      size_list.push_back(new_table_size);
-
-      return true;
-   }
-
-private:
-
-   inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const
-   {
-      bit_index = hash;
-      for (std::size_t i = 0; i < size_list.size(); ++i)
-      {
-         bit_index %= size_list[i];
-      }
-      bit = bit_index % bits_per_char;
-   }
-
-   std::vector<std::size_t> size_list;
-};
-
-#endif
-
-
-/*
-  Note 1:
-  If it can be guaranteed that bits_per_char will be of the form 2^n then
-  the following optimization can be used:
-
-  hash_table[bit_index >> n] |= bit_mask[bit_index & (bits_per_char - 1)];
-
-  Note 2:
-  For performance reasons where possible when allocating memory it should
-  be aligned (aligned_alloc) according to the architecture being used.
-*/
diff --git a/src/include/buffer.h b/src/include/buffer.h
index 8c4dfb5..0b497a7 100644
--- a/src/include/buffer.h
+++ b/src/include/buffer.h
@@ -11,7 +11,6 @@
  * Foundation.  See file COPYING.
  * 
  */
-
 #ifndef CEPH_BUFFER_H
 #define CEPH_BUFFER_H
 
@@ -20,7 +19,6 @@
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #include <stdlib.h>
 #endif
 
@@ -46,6 +44,7 @@ void	*valloc(size_t);
 #include <malloc.h>
 #endif
 
+#include <inttypes.h>
 #include <stdint.h>
 #include <string.h>
 
@@ -104,8 +103,20 @@ public:
   };
 
 
+  /// total bytes allocated
   static int get_total_alloc();
 
+  /// enable/disable alloc tracking
+  static void track_alloc(bool b);
+
+  /// count of cached crc hits (matching input)
+  static int get_cached_crc();
+  /// count of cached crc hits (mismatching input, required adjustment)
+  static int get_cached_crc_adjusted();
+  /// enable/disable tracking of cached crcs
+  static void track_cached_crc(bool b);
+
+
 private:
  
   /* hack for memory utilization debugging. */
@@ -420,15 +431,7 @@ public:
     ssize_t read_fd(int fd, size_t len);
     int write_file(const char *fn, int mode=0644);
     int write_fd(int fd) const;
-    __u32 crc32c(__u32 crc) {
-      for (std::list<ptr>::const_iterator it = _buffers.begin(); 
-	   it != _buffers.end(); 
-	   ++it)
-	if (it->length())
-	  crc = ceph_crc32c_le(crc, (unsigned char*)it->c_str(), it->length());
-      return crc;
-    }
-
+    uint32_t crc32c(uint32_t crc) const;
   };
 
   /*
@@ -436,7 +439,7 @@ public:
    */
 
   class hash {
-    __u32 crc;
+    uint32_t crc;
 
   public:
     hash() : crc(0) { }
@@ -445,7 +448,7 @@ public:
       crc = bl.crc32c(crc);
     }
 
-    __u32 digest() {
+    uint32_t digest() {
       return crc;
     }
   };
diff --git a/src/include/ceph_features.h b/src/include/ceph_features.h
index 362a459..c0f01cc 100644
--- a/src/include/ceph_features.h
+++ b/src/include/ceph_features.h
@@ -39,6 +39,7 @@
 #define CEPH_FEATURE_OSD_SNAPMAPPER (1ULL<<32)
 #define CEPH_FEATURE_MON_SCRUB      (1ULL<<33)
 #define CEPH_FEATURE_OSD_PACKED_RECOVERY (1ULL<<34)
+#define CEPH_FEATURE_OSD_CACHEPOOL (1ULL<<35)
 
 /*
  * The introduction of CEPH_FEATURE_OSD_SNAPMAPPER caused the feature
@@ -101,6 +102,7 @@ static inline unsigned long long ceph_sanitize_features(unsigned long long f) {
 	 CEPH_FEATURE_OSD_SNAPMAPPER |	    \
 	 CEPH_FEATURE_MON_SCRUB	|	    \
 	 CEPH_FEATURE_OSD_PACKED_RECOVERY | \
+	 CEPH_FEATURE_OSD_CACHEPOOL | \
 	 0ULL)
 
 #define CEPH_FEATURES_SUPPORTED_DEFAULT  CEPH_FEATURES_ALL
diff --git a/src/include/ceph_fs.h b/src/include/ceph_fs.h
index 6c41d14..47ec1f1 100644
--- a/src/include/ceph_fs.h
+++ b/src/include/ceph_fs.h
@@ -224,6 +224,7 @@ struct ceph_mon_subscribe_ack {
  * mdsmap flags
  */
 #define CEPH_MDSMAP_DOWN    (1<<0)  /* cluster deliberately down */
+#define CEPH_MDSMAP_ALLOW_SNAPS   (1<<1)  /* cluster allowed to create snapshots */
 
 /*
  * mds states
@@ -332,6 +333,9 @@ enum {
 	CEPH_MDS_OP_MKSNAP     = 0x01400,
 	CEPH_MDS_OP_RMSNAP     = 0x01401,
 	CEPH_MDS_OP_LSSNAP     = 0x00402,
+
+	// internal op
+	CEPH_MDS_OP_FRAGMENTDIR= 0x01500,
 };
 
 extern const char *ceph_mds_op_name(int op);
diff --git a/src/include/cephfs/libcephfs.h b/src/include/cephfs/libcephfs.h
index 93e86e7..2f69ba7 100644
--- a/src/include/cephfs/libcephfs.h
+++ b/src/include/cephfs/libcephfs.h
@@ -38,9 +38,9 @@ extern "C" {
 # error libceph: must define __USE_FILE_OFFSET64 or readdir results will be corrupted
 #endif
 
-struct ceph_mount_info;
+class ceph_mount_info;
 struct ceph_dir_result;
-struct CephContext;
+class CephContext;
 
 /* setattr mask bits */
 #ifndef CEPH_SETATTR_MODE
@@ -82,7 +82,7 @@ const char *ceph_version(int *major, int *minor, int *patch);
  *           pass in NULL, and the id will be the process id of the client.
  * @returns 0 on success, negative error code on failure
  */
-int ceph_create(struct ceph_mount_info **cmount, const char * const id);
+int ceph_create(class ceph_mount_info **cmount, const char * const id);
 
 /**
  * Create a mount handle from a CephContext, which holds the configuration
@@ -94,7 +94,7 @@ int ceph_create(struct ceph_mount_info **cmount, const char * const id);
  * @param conf reuse this pre-existing CephContext config
  * @returns 0 on success, negative error code on failure
  */
-int ceph_create_with_context(struct ceph_mount_info **cmount, struct CephContext *conf);
+int ceph_create_with_context(class ceph_mount_info **cmount, class CephContext *conf);
 
 /**
  * Perform a mount using the path for the root of the mount.
@@ -105,7 +105,7 @@ int ceph_create_with_context(struct ceph_mount_info **cmount, struct CephContext
  * 	       be "/".  Passing in NULL is equivalent to "/".
  * @returns 0 on success, negative error code on failure
  */
-int ceph_mount(struct ceph_mount_info *cmount, const char *root);
+int ceph_mount(class ceph_mount_info *cmount, const char *root);
 
 /**
  * Unmount a mount handle.
@@ -113,7 +113,7 @@ int ceph_mount(struct ceph_mount_info *cmount, const char *root);
  * @param cmount the mount handle
  * @return 0 on success, negative error code on failure
  */
-int ceph_unmount(struct ceph_mount_info *cmount);
+int ceph_unmount(class ceph_mount_info *cmount);
 
 /**
  * Destroy the mount handle.
@@ -124,7 +124,7 @@ int ceph_unmount(struct ceph_mount_info *cmount);
  * @param cmount the mount handle
  * @return 0 on success, negative error code on failure.
  */
-int ceph_release(struct ceph_mount_info *cmount);
+int ceph_release(class ceph_mount_info *cmount);
 
 /**
  * Deprecated. Unmount and destroy the ceph mount handle. This should be
@@ -134,7 +134,7 @@ int ceph_release(struct ceph_mount_info *cmount);
  *
  * @param cmount the mount handle to shutdown
  */
-void ceph_shutdown(struct ceph_mount_info *cmount);
+void ceph_shutdown(class ceph_mount_info *cmount);
 
 /**
  * Extract the CephContext from the mount point handle.
@@ -142,14 +142,14 @@ void ceph_shutdown(struct ceph_mount_info *cmount);
  * @param cmount the ceph mount handle to get the context from.
  * @returns the CephContext associated with the mount handle.
  */
-struct CephContext *ceph_get_mount_context(struct ceph_mount_info *cmount);
+class CephContext *ceph_get_mount_context(class ceph_mount_info *cmount);
 
 /*
  * Check mount status.
  *
  * Return non-zero value if mounted. Otherwise, zero.
  */
-int ceph_is_mounted(struct ceph_mount_info *cmount);
+int ceph_is_mounted(class ceph_mount_info *cmount);
 
 /** @} init */
 
@@ -167,7 +167,7 @@ int ceph_is_mounted(struct ceph_mount_info *cmount);
  * @param path_list the configuration file path
  * @returns 0 on success, negative error code on failure
  */
-int ceph_conf_read_file(struct ceph_mount_info *cmount, const char *path_list);
+int ceph_conf_read_file(class ceph_mount_info *cmount, const char *path_list);
 
 /**
  * Parse the command line arguments and load the configuration parameters.
@@ -177,7 +177,7 @@ int ceph_conf_read_file(struct ceph_mount_info *cmount, const char *path_list);
  * @param argv the argument list
  * @returns 0 on success, negative error code on failure
  */
-int ceph_conf_parse_argv(struct ceph_mount_info *cmount, int argc, const char **argv);
+int ceph_conf_parse_argv(class ceph_mount_info *cmount, int argc, const char **argv);
 
 /**
  * Configure the cluster handle based on an environment variable
@@ -194,7 +194,7 @@ int ceph_conf_parse_argv(struct ceph_mount_info *cmount, int argc, const char **
  * @param var name of the environment variable to read
  * @returns 0 on success, negative error code on failure
  */
-int ceph_conf_parse_env(struct ceph_mount_info *cmount, const char *var);
+int ceph_conf_parse_env(class ceph_mount_info *cmount, const char *var);
 
 /** Sets a configuration value from a string.
  *
@@ -204,7 +204,7 @@ int ceph_conf_parse_env(struct ceph_mount_info *cmount, const char *var);
  * 
  * @returns 0 on success, negative error code otherwise.
  */
-int ceph_conf_set(struct ceph_mount_info *cmount, const char *option, const char *value);
+int ceph_conf_set(class ceph_mount_info *cmount, const char *option, const char *value);
 
 /**
  * Gets the configuration value as a string.
@@ -215,7 +215,7 @@ int ceph_conf_set(struct ceph_mount_info *cmount, const char *option, const char
  * @param len the length of the buffer.
  * @returns the size of the buffer filled in with the value, or negative error code on failure
  */
-int ceph_conf_get(struct ceph_mount_info *cmount, const char *option, char *buf, size_t len);
+int ceph_conf_get(class ceph_mount_info *cmount, const char *option, char *buf, size_t len);
 
 /** @} config */
 
@@ -236,7 +236,7 @@ int ceph_conf_get(struct ceph_mount_info *cmount, const char *option, char *buf,
  * @param stbuf the file system statistics filled in by this function.
  * @return 0 on success, negative error code otherwise.
  */
-int ceph_statfs(struct ceph_mount_info *cmount, const char *path, struct statvfs *stbuf);
+int ceph_statfs(class ceph_mount_info *cmount, const char *path, struct statvfs *stbuf);
 
 /**
  * Synchronize all filesystem data to persistent media.
@@ -244,7 +244,7 @@ int ceph_statfs(struct ceph_mount_info *cmount, const char *path, struct statvfs
  * @param cmount the ceph mount handle to use for performing the sync_fs.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_sync_fs(struct ceph_mount_info *cmount);
+int ceph_sync_fs(class ceph_mount_info *cmount);
 
 /**
  * Get the current working directory.
@@ -252,7 +252,7 @@ int ceph_sync_fs(struct ceph_mount_info *cmount);
  * @param cmount the ceph mount to get the current working directory for.
  * @returns the path to the current working directory
  */
-const char* ceph_getcwd(struct ceph_mount_info *cmount);
+const char* ceph_getcwd(class ceph_mount_info *cmount);
 
 /**
  * Change the current working directory.
@@ -261,7 +261,7 @@ const char* ceph_getcwd(struct ceph_mount_info *cmount);
  * @param path the path to the working directory to change into.
  * @returns 0 on success, negative error code otherwise.
  */
-int ceph_chdir(struct ceph_mount_info *cmount, const char *s);
+int ceph_chdir(class ceph_mount_info *cmount, const char *s);
 
 /** @} fsops */
 
@@ -281,7 +281,7 @@ int ceph_chdir(struct ceph_mount_info *cmount, const char *s);
  * @param dirpp the directory result pointer structure to fill in.
  * @returns 0 on success or negative error code otherwise.
  */
-int ceph_opendir(struct ceph_mount_info *cmount, const char *name, struct ceph_dir_result **dirpp);
+int ceph_opendir(class ceph_mount_info *cmount, const char *name, struct ceph_dir_result **dirpp);
 
 /**
  * Close the open directory.
@@ -290,7 +290,7 @@ int ceph_opendir(struct ceph_mount_info *cmount, const char *name, struct ceph_d
  * @param dirp the directory result pointer (set by ceph_opendir) to close
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_closedir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
+int ceph_closedir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp);
 
 /**
  * Get the next entry in an open directory.
@@ -302,7 +302,7 @@ int ceph_closedir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
  *          is empty.  This pointer should not be freed by the caller, and is only safe to
  *          access between return and the next call to ceph_readdir or ceph_closedir.
  */
-struct dirent * ceph_readdir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
+struct dirent * ceph_readdir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp);
 
 /**
  * A safe version of ceph_readdir, where the directory entry struct is allocated by the caller.
@@ -314,7 +314,7 @@ struct dirent * ceph_readdir(struct ceph_mount_info *cmount, struct ceph_dir_res
  * @returns 1 if the next entry was filled in, 0 if the end of the directory stream was reached,
  *          and a negative error code on failure.
  */
-int ceph_readdir_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de);
+int ceph_readdir_r(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de);
 
 /**
  * A safe version of ceph_readdir that also returns the file statistics (readdir+stat).
@@ -328,7 +328,7 @@ int ceph_readdir_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
  * @returns 1 if the next entry was filled in, 0 if the end of the directory stream was reached,
  *          and a negative error code on failure.
  */
-int ceph_readdirplus_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de,
+int ceph_readdirplus_r(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de,
 		       struct stat *st, int *stmask);
 
 /**
@@ -342,7 +342,7 @@ int ceph_readdirplus_r(struct ceph_mount_info *cmount, struct ceph_dir_result *d
  * @returns the length of the buffer that was filled in, will always be multiples of sizeof(struct dirent), or a
  *          negative error code.  If the buffer is not large enough for a single entry, -ERANGE is returned.
  */
-int ceph_getdents(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, char *name, int buflen);
+int ceph_getdents(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, char *name, int buflen);
 
 /**
  * Gets multiple directory names.
@@ -355,7 +355,7 @@ int ceph_getdents(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
  * @returns the length of the buffer filled in with entry names, or a negative error code on failure.
  *          If the buffer isn't large enough for a single entry, -ERANGE is returned.
  */
-int ceph_getdnames(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, char *name, int buflen);
+int ceph_getdnames(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, char *name, int buflen);
 
 /**
  * Rewind the directory stream to the beginning of the directory.
@@ -363,7 +363,7 @@ int ceph_getdnames(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
  * @param cmount the ceph mount handle to use for performing the rewinddir.
  * @param dirp the directory stream pointer to rewind.
  */
-void ceph_rewinddir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
+void ceph_rewinddir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp);
 
 /**
  * Get the current position of a directory stream.
@@ -374,7 +374,7 @@ void ceph_rewinddir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp
  *          by ceph_telldir do not have a particular order (cannot be compared with
  *          inequality).
  */
-loff_t ceph_telldir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp);
+loff_t ceph_telldir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp);
 
 /**
  * Move the directory stream to a position specified by the given offset.
@@ -385,7 +385,7 @@ loff_t ceph_telldir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp
  *        a value returned by seekdir.  Note that this value does not refer to the nth
  *        entry in a directory, and can not be manipulated with plus or minus.
  */
-void ceph_seekdir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, loff_t offset);
+void ceph_seekdir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, loff_t offset);
 
 /**
  * Create a directory.
@@ -396,7 +396,7 @@ void ceph_seekdir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
  * @param mode the permissions the directory should have once created.
  * @returns 0 on success or a negative return code on error.
  */
-int ceph_mkdir(struct ceph_mount_info *cmount, const char *path, mode_t mode);
+int ceph_mkdir(class ceph_mount_info *cmount, const char *path, mode_t mode);
 
 /**
  * Create multiple directories at once.
@@ -407,7 +407,7 @@ int ceph_mkdir(struct ceph_mount_info *cmount, const char *path, mode_t mode);
  * @param mode the permissions the directory should have once created.
  * @returns 0 on success or a negative return code on error.
  */
-int ceph_mkdirs(struct ceph_mount_info *cmount, const char *path, mode_t mode);
+int ceph_mkdirs(class ceph_mount_info *cmount, const char *path, mode_t mode);
 
 /**
  * Remove a directory.
@@ -416,7 +416,7 @@ int ceph_mkdirs(struct ceph_mount_info *cmount, const char *path, mode_t mode);
  * @param path the path of the directory to remove.
  * @returns 0 on success or a negative return code on error.
  */
-int ceph_rmdir(struct ceph_mount_info *cmount, const char *path);
+int ceph_rmdir(class ceph_mount_info *cmount, const char *path);
 
 /** @} dir */
 
@@ -435,7 +435,7 @@ int ceph_rmdir(struct ceph_mount_info *cmount, const char *path);
  * @param newname the path to the new file/directory to link from.
  * @returns 0 on success or a negative return code on error.
  */
-int ceph_link(struct ceph_mount_info *cmount, const char *existing, const char *newname);
+int ceph_link(class ceph_mount_info *cmount, const char *existing, const char *newname);
 
 /**
  * Read a symbolic link.
@@ -446,7 +446,7 @@ int ceph_link(struct ceph_mount_info *cmount, const char *existing, const char *
  * @param size the length of the buffer
  * @returns 0 on success or negative error code on failure
  */
-int ceph_readlink(struct ceph_mount_info *cmount, const char *path, char *buf, loff_t size);
+int ceph_readlink(class ceph_mount_info *cmount, const char *path, char *buf, loff_t size);
 
 /**
  * Creates a symbolic link.
@@ -456,7 +456,7 @@ int ceph_readlink(struct ceph_mount_info *cmount, const char *path, char *buf, l
  * @param newname the path to the new file/directory to link from.
  * @returns 0 on success or a negative return code on failure.
  */
-int ceph_symlink(struct ceph_mount_info *cmount, const char *existing, const char *newname);
+int ceph_symlink(class ceph_mount_info *cmount, const char *existing, const char *newname);
 
 /** @} links */
 
@@ -475,7 +475,7 @@ int ceph_symlink(struct ceph_mount_info *cmount, const char *existing, const cha
  * @param path the path of the file or link to unlink.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_unlink(struct ceph_mount_info *cmount, const char *path);
+int ceph_unlink(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Rename a file or directory.
@@ -485,7 +485,7 @@ int ceph_unlink(struct ceph_mount_info *cmount, const char *path);
  * @param to the new name of the file or directory
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_rename(struct ceph_mount_info *cmount, const char *from, const char *to);
+int ceph_rename(class ceph_mount_info *cmount, const char *from, const char *to);
 
 /**
  * Get a file's statistics and attributes.
@@ -495,7 +495,7 @@ int ceph_rename(struct ceph_mount_info *cmount, const char *from, const char *to
  * @param stbuf the stat struct that will be filled in with the file's statistics.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_stat(struct ceph_mount_info *cmount, const char *path, struct stat *stbuf);
+int ceph_stat(class ceph_mount_info *cmount, const char *path, struct stat *stbuf);
 
 /**
  * Get a file's statistics and attributes, without following symlinks.
@@ -505,7 +505,7 @@ int ceph_stat(struct ceph_mount_info *cmount, const char *path, struct stat *stb
  * @param stbuf the stat struct that will be filled in with the file's statistics.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_lstat(struct ceph_mount_info *cmount, const char *path, struct stat *stbuf);
+int ceph_lstat(class ceph_mount_info *cmount, const char *path, struct stat *stbuf);
 
 /**
  * Set a file's attributes.
@@ -516,7 +516,7 @@ int ceph_lstat(struct ceph_mount_info *cmount, const char *path, struct stat *st
  * @param mask a mask of all the stat values that have been set on the stat struct.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_setattr(struct ceph_mount_info *cmount, const char *relpath, struct stat *attr, int mask);
+int ceph_setattr(class ceph_mount_info *cmount, const char *relpath, struct stat *attr, int mask);
 
 /**
  * Change the mode bits (permissions) of a file/directory.
@@ -526,7 +526,7 @@ int ceph_setattr(struct ceph_mount_info *cmount, const char *relpath, struct sta
  * @param mode the new permissions to set.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_chmod(struct ceph_mount_info *cmount, const char *path, mode_t mode);
+int ceph_chmod(class ceph_mount_info *cmount, const char *path, mode_t mode);
 
 /**
  * Change the mode bits (permissions) of an open file.
@@ -536,7 +536,7 @@ int ceph_chmod(struct ceph_mount_info *cmount, const char *path, mode_t mode);
  * @param mode the new permissions to set.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_fchmod(struct ceph_mount_info *cmount, int fd, mode_t mode);
+int ceph_fchmod(class ceph_mount_info *cmount, int fd, mode_t mode);
 
 /**
  * Change the ownership of a file/directory.
@@ -547,7 +547,7 @@ int ceph_fchmod(struct ceph_mount_info *cmount, int fd, mode_t mode);
  * @param gid the group id to set on the file/directory.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_chown(struct ceph_mount_info *cmount, const char *path, int uid, int gid);
+int ceph_chown(class ceph_mount_info *cmount, const char *path, int uid, int gid);
 
 /**
  * Change the ownership of a file from an open file descriptor.
@@ -558,7 +558,7 @@ int ceph_chown(struct ceph_mount_info *cmount, const char *path, int uid, int gi
  * @param gid the group id to set on the file/directory.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_fchown(struct ceph_mount_info *cmount, int fd, int uid, int gid);
+int ceph_fchown(class ceph_mount_info *cmount, int fd, int uid, int gid);
 
 /**
  * Change the ownership of a file/directory, don't follow symlinks.
@@ -569,7 +569,7 @@ int ceph_fchown(struct ceph_mount_info *cmount, int fd, int uid, int gid);
  * @param gid the group id to set on the file/directory.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_lchown(struct ceph_mount_info *cmount, const char *path, int uid, int gid);
+int ceph_lchown(class ceph_mount_info *cmount, const char *path, int uid, int gid);
 
 /**
  * Change file/directory last access and modification times.
@@ -579,7 +579,7 @@ int ceph_lchown(struct ceph_mount_info *cmount, const char *path, int uid, int g
  * @param buf holding the access and modification times to set on the file.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_utime(struct ceph_mount_info *cmount, const char *path, struct utimbuf *buf);
+int ceph_utime(class ceph_mount_info *cmount, const char *path, struct utimbuf *buf);
 
 /**
  * Truncate the file to the given size.  If this operation causes the
@@ -590,7 +590,7 @@ int ceph_utime(struct ceph_mount_info *cmount, const char *path, struct utimbuf
  * @param size the new size of the file.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_truncate(struct ceph_mount_info *cmount, const char *path, loff_t size);
+int ceph_truncate(class ceph_mount_info *cmount, const char *path, loff_t size);
 
 /**
  * Make a block or character special file.
@@ -604,7 +604,7 @@ int ceph_truncate(struct ceph_mount_info *cmount, const char *path, loff_t size)
  *        it is ignored.
  * @returns 0 on success or negative error code on failure.
  */
-int ceph_mknod(struct ceph_mount_info *cmount, const char *path, mode_t mode, dev_t rdev);
+int ceph_mknod(class ceph_mount_info *cmount, const char *path, mode_t mode, dev_t rdev);
 /**
  * Create and/or open a file.
  *
@@ -616,7 +616,7 @@ int ceph_mknod(struct ceph_mount_info *cmount, const char *path, mode_t mode, de
  *        is specified in the flags.
  * @returns a non-negative file descriptor number on success or a negative error code on failure.
  */
-int ceph_open(struct ceph_mount_info *cmount, const char *path, int flags, mode_t mode);
+int ceph_open(class ceph_mount_info *cmount, const char *path, int flags, mode_t mode);
 
 /**
  * Create and/or open a file with a specific file layout.
@@ -633,7 +633,7 @@ int ceph_open(struct ceph_mount_info *cmount, const char *path, int flags, mode_
  * @param data_pool name of target data pool name (optional, NULL or empty string for default)
  * @returns a non-negative file descriptor number on success or a negative error code on failure.
  */
-int ceph_open_layout(struct ceph_mount_info *cmount, const char *path, int flags,
+int ceph_open_layout(class ceph_mount_info *cmount, const char *path, int flags,
  		     mode_t mode, int stripe_unit, int stripe_count, int object_size,
  		     const char *data_pool);
 
@@ -644,7 +644,7 @@ int ceph_open_layout(struct ceph_mount_info *cmount, const char *path, int flags
  * @param fd the file descriptor referring to the open file.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_close(struct ceph_mount_info *cmount, int fd);
+int ceph_close(class ceph_mount_info *cmount, int fd);
 
 /**
  * Reposition the open file stream based on the given offset.
@@ -659,7 +659,7 @@ int ceph_close(struct ceph_mount_info *cmount, int fd);
  *      SEEK_END: the offset is set to the end of the file plus @ref offset bytes.
  * @returns 0 on success or a negative error code on failure.
  */
-loff_t ceph_lseek(struct ceph_mount_info *cmount, int fd, loff_t offset, int whence);
+loff_t ceph_lseek(class ceph_mount_info *cmount, int fd, loff_t offset, int whence);
 /**
  * Read data from the file.
  *
@@ -671,7 +671,7 @@ loff_t ceph_lseek(struct ceph_mount_info *cmount, int fd, loff_t offset, int whe
  *        function reads from the current offset of the file descriptor.
  * @returns the number of bytes read into buf, or a negative error code on failure.
  */
-int ceph_read(struct ceph_mount_info *cmount, int fd, char *buf, loff_t size, loff_t offset);
+int ceph_read(class ceph_mount_info *cmount, int fd, char *buf, loff_t size, loff_t offset);
 
 /**
  * Write data to a file.
@@ -684,7 +684,7 @@ int ceph_read(struct ceph_mount_info *cmount, int fd, char *buf, loff_t size, lo
  *        function writes to the current offset of the file descriptor.
  * @returns the number of bytes written, or a negative error code
  */
-int ceph_write(struct ceph_mount_info *cmount, int fd, const char *buf, loff_t size,
+int ceph_write(class ceph_mount_info *cmount, int fd, const char *buf, loff_t size,
 	       loff_t offset);
 
 /**
@@ -695,7 +695,7 @@ int ceph_write(struct ceph_mount_info *cmount, int fd, const char *buf, loff_t s
  * @param size the new size of the file
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_ftruncate(struct ceph_mount_info *cmount, int fd, loff_t size);
+int ceph_ftruncate(class ceph_mount_info *cmount, int fd, loff_t size);
 
 /**
  * Synchronize an open file to persistent media.
@@ -706,7 +706,25 @@ int ceph_ftruncate(struct ceph_mount_info *cmount, int fd, loff_t size);
  *        or just data (1).
  * @return 0 on success or a negative error code on failure.
  */
-int ceph_fsync(struct ceph_mount_info *cmount, int fd, int syncdataonly);
+int ceph_fsync(class ceph_mount_info *cmount, int fd, int syncdataonly);
+
+/**
+ * Preallocate or release disk space for the file for the byte range.
+ *
+ * @param cmount the ceph mount handle to use for performing the fallocate.
+ * @param fd the file descriptor of the file to fallocate.
+ * @param mode the flags determines the operation to be performed on the given range.
+ *        default operation (0) allocate and initialize to zero the file in the byte range,
+ *        and the file size will be changed if offset + length is greater than
+ *        the file size. if the FALLOC_FL_KEEP_SIZE flag is specified in the mode,
+ *        the file size will not be changed. if the FALLOC_FL_PUNCH_HOLE flag is
+ *        specified in the mode, the operation is deallocate space and zero the byte range.
+ * @param offset the byte range starting.
+ * @param length the length of the range.
+ * @return 0 on success or a negative error code on failure.
+ */
+int ceph_fallocate(struct ceph_mount_info *cmount, int fd, int mode,
+	                      loff_t offset, loff_t length);
 
 /**
  * Get the open file's statistics.
@@ -717,7 +735,7 @@ int ceph_fsync(struct ceph_mount_info *cmount, int fd, int syncdataonly);
  *    function.
  * @returns 0 on success or a negative error code on failure
  */
-int ceph_fstat(struct ceph_mount_info *cmount, int fd, struct stat *stbuf);
+int ceph_fstat(class ceph_mount_info *cmount, int fd, struct stat *stbuf);
 
 /** @} file */
 
@@ -738,7 +756,7 @@ int ceph_fstat(struct ceph_mount_info *cmount, int fd, struct stat *stbuf);
  * @param size the size of the pre-allocated buffer
  * @returns the size of the value or a negative error code on failure.
  */
-int ceph_getxattr(struct ceph_mount_info *cmount, const char *path, const char *name, 
+int ceph_getxattr(class ceph_mount_info *cmount, const char *path, const char *name, 
 	void *value, size_t size);
 
 /**
@@ -754,7 +772,7 @@ int ceph_getxattr(struct ceph_mount_info *cmount, const char *path, const char *
  * @param size the size of the pre-allocated buffer
  * @returns the size of the value or a negative error code on failure.
  */
-int ceph_lgetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, 
+int ceph_lgetxattr(class ceph_mount_info *cmount, const char *path, const char *name, 
 	void *value, size_t size);
 
 /**
@@ -766,7 +784,7 @@ int ceph_lgetxattr(struct ceph_mount_info *cmount, const char *path, const char
  * @param size the size of the list buffer.
  * @returns the size of the resulting list filled in.
  */
-int ceph_listxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size);
+int ceph_listxattr(class ceph_mount_info *cmount, const char *path, char *list, size_t size);
 
 /**
  * Get the list of extended attribute keys on a file, but do not follow symbolic links.
@@ -777,7 +795,7 @@ int ceph_listxattr(struct ceph_mount_info *cmount, const char *path, char *list,
  * @param size the size of the list buffer.
  * @returns the size of the resulting list filled in.
  */
-int ceph_llistxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size);
+int ceph_llistxattr(class ceph_mount_info *cmount, const char *path, char *list, size_t size);
 
 /**
  * Remove an extended attribute from a file.
@@ -787,7 +805,7 @@ int ceph_llistxattr(struct ceph_mount_info *cmount, const char *path, char *list
  * @param name the name of the extended attribute to remove.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_removexattr(struct ceph_mount_info *cmount, const char *path, const char *name);
+int ceph_removexattr(class ceph_mount_info *cmount, const char *path, const char *name);
 
 /**
  * Remove the extended attribute from a file, do not follow symbolic links.
@@ -797,7 +815,7 @@ int ceph_removexattr(struct ceph_mount_info *cmount, const char *path, const cha
  * @param name the name of the extended attribute to remove.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_lremovexattr(struct ceph_mount_info *cmount, const char *path, const char *name);
+int ceph_lremovexattr(class ceph_mount_info *cmount, const char *path, const char *name);
 
 /**
  * Set an extended attribute on a file.
@@ -812,7 +830,7 @@ int ceph_lremovexattr(struct ceph_mount_info *cmount, const char *path, const ch
  *      CEPH_XATTR_REPLACE: replace the extended attribute, Must already exist.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_setxattr(struct ceph_mount_info *cmount, const char *path, const char *name, 
+int ceph_setxattr(class ceph_mount_info *cmount, const char *path, const char *name, 
 	const void *value, size_t size, int flags);
 
 /**
@@ -828,7 +846,7 @@ int ceph_setxattr(struct ceph_mount_info *cmount, const char *path, const char *
  *      CEPH_XATTR_REPLACE: replace the extended attribute, Must already exist.
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_lsetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, 
+int ceph_lsetxattr(class ceph_mount_info *cmount, const char *path, const char *name, 
 	const void *value, size_t size, int flags);
 
 /** @} xattr */
@@ -847,7 +865,7 @@ int ceph_lsetxattr(struct ceph_mount_info *cmount, const char *path, const char
  * @param fh the open file descriptor referring to the file to get the striping unit of.
  * @returns the striping unit of the file or a negative error code on failure.
  */
-int ceph_get_file_stripe_unit(struct ceph_mount_info *cmount, int fh);
+int ceph_get_file_stripe_unit(class ceph_mount_info *cmount, int fh);
 
 /**
  * Get the file striping unit.
@@ -856,7 +874,7 @@ int ceph_get_file_stripe_unit(struct ceph_mount_info *cmount, int fh);
  * @param path the path of the file/directory get the striping unit of.
  * @returns the striping unit of the file or a negative error code on failure.
  */
-int ceph_get_path_stripe_unit(struct ceph_mount_info *cmount, const char *path);
+int ceph_get_path_stripe_unit(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Get the file striping count from an open file descriptor.
@@ -865,7 +883,7 @@ int ceph_get_path_stripe_unit(struct ceph_mount_info *cmount, const char *path);
  * @param fh the open file descriptor referring to the file to get the striping count of.
  * @returns the striping count of the file or a negative error code on failure.
  */
-int ceph_get_file_stripe_count(struct ceph_mount_info *cmount, int fh);
+int ceph_get_file_stripe_count(class ceph_mount_info *cmount, int fh);
 
 /**
  * Get the file striping count.
@@ -874,7 +892,7 @@ int ceph_get_file_stripe_count(struct ceph_mount_info *cmount, int fh);
  * @param path the path of the file/directory get the striping count of.
  * @returns the striping count of the file or a negative error code on failure.
  */
-int ceph_get_path_stripe_count(struct ceph_mount_info *cmount, const char *path);
+int ceph_get_path_stripe_count(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Get the file object size from an open file descriptor.
@@ -883,7 +901,7 @@ int ceph_get_path_stripe_count(struct ceph_mount_info *cmount, const char *path)
  * @param fh the open file descriptor referring to the file to get the object size of.
  * @returns the object size of the file or a negative error code on failure.
  */
-int ceph_get_file_object_size(struct ceph_mount_info *cmount, int fh);
+int ceph_get_file_object_size(class ceph_mount_info *cmount, int fh);
 
 /**
  * Get the file object size.
@@ -892,7 +910,7 @@ int ceph_get_file_object_size(struct ceph_mount_info *cmount, int fh);
  * @param path the path of the file/directory get the object size of.
  * @returns the object size of the file or a negative error code on failure.
  */
-int ceph_get_path_object_size(struct ceph_mount_info *cmount, const char *path);
+int ceph_get_path_object_size(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Get the file pool information from an open file descriptor.
@@ -901,7 +919,7 @@ int ceph_get_path_object_size(struct ceph_mount_info *cmount, const char *path);
  * @param fh the open file descriptor referring to the file to get the pool information of.
  * @returns the ceph pool id that the file is in
  */
-int ceph_get_file_pool(struct ceph_mount_info *cmount, int fh);
+int ceph_get_file_pool(class ceph_mount_info *cmount, int fh);
 
 /**
  * Get the file pool information.
@@ -910,7 +928,7 @@ int ceph_get_file_pool(struct ceph_mount_info *cmount, int fh);
  * @param path the path of the file/directory get the pool information of.
  * @returns the ceph pool id that the file is in
  */
-int ceph_get_path_pool(struct ceph_mount_info *cmount, const char *path);
+int ceph_get_path_pool(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Get the name of the pool a opened file is stored in,
@@ -924,7 +942,7 @@ int ceph_get_path_pool(struct ceph_mount_info *cmount, const char *path);
  * @param buflen size of the buffer
  * @returns length in bytes of the pool name, or -ERANGE if the buffer is not large enough.
  */
-int ceph_get_file_pool_name(struct ceph_mount_info *cmount, int fh, char *buf, size_t buflen);
+int ceph_get_file_pool_name(class ceph_mount_info *cmount, int fh, char *buf, size_t buflen);
 
 /**
  * get the name of a pool by id
@@ -937,7 +955,7 @@ int ceph_get_file_pool_name(struct ceph_mount_info *cmount, int fh, char *buf, s
  * @param buflen size of the buffer
  * @returns length in bytes of the pool name, or -ERANGE if the buffer is not large enough
  */
-int ceph_get_pool_name(struct ceph_mount_info *cmount, int pool, char *buf, size_t buflen);
+int ceph_get_pool_name(class ceph_mount_info *cmount, int pool, char *buf, size_t buflen);
 
 /**
  * Get the name of the pool a file is stored in
@@ -951,7 +969,7 @@ int ceph_get_pool_name(struct ceph_mount_info *cmount, int pool, char *buf, size
  * @param buflen size of the buffer
  * @returns length in bytes of the pool name, or -ERANGE if the buffer is not large enough.
  */
-int ceph_get_path_pool_name(struct ceph_mount_info *cmount, const char *path, char *buf, size_t buflen);
+int ceph_get_path_pool_name(class ceph_mount_info *cmount, const char *path, char *buf, size_t buflen);
 
 /**
  * Get the file layout from an open file descriptor.
@@ -964,7 +982,7 @@ int ceph_get_path_pool_name(struct ceph_mount_info *cmount, const char *path, ch
  * @param pg_pool where to store the ceph pool id that the file is in
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_get_file_layout(struct ceph_mount_info *cmount, int fh, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool);
+int ceph_get_file_layout(class ceph_mount_info *cmount, int fh, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool);
 
 /**
  * Get the file layout.
@@ -977,7 +995,7 @@ int ceph_get_file_layout(struct ceph_mount_info *cmount, int fh, int *stripe_uni
  * @param pg_pool where to store the ceph pool id that the file is in
  * @returns 0 on success or a negative error code on failure.
  */
-int ceph_get_path_layout(struct ceph_mount_info *cmount, const char *path, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool);
+int ceph_get_path_layout(class ceph_mount_info *cmount, const char *path, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool);
 
 /**
  * Get the file replication information from an open file descriptor.
@@ -986,7 +1004,7 @@ int ceph_get_path_layout(struct ceph_mount_info *cmount, const char *path, int *
  * @param fh the open file descriptor referring to the file to get the replication information of.
  * @returns the replication factor of the file.
  */
-int ceph_get_file_replication(struct ceph_mount_info *cmount, int fh);
+int ceph_get_file_replication(class ceph_mount_info *cmount, int fh);
 
 /**
  * Get the file replication information.
@@ -995,7 +1013,7 @@ int ceph_get_file_replication(struct ceph_mount_info *cmount, int fh);
  * @param path the path of the file/directory get the replication information of.
  * @returns the replication factor of the file.
  */
-int ceph_get_path_replication(struct ceph_mount_info *cmount, const char *path);
+int ceph_get_path_replication(class ceph_mount_info *cmount, const char *path);
 
 /**
  * Get the id of the named pool.
@@ -1004,7 +1022,7 @@ int ceph_get_path_replication(struct ceph_mount_info *cmount, const char *path);
  * @param pool_name the name of the pool.
  * @returns the pool id, or a negative error code on failure.
  */
-int ceph_get_pool_id(struct ceph_mount_info *cmount, const char *pool_name);
+int ceph_get_pool_id(class ceph_mount_info *cmount, const char *pool_name);
 
 /**
  * Get the pool replication factor.
@@ -1013,7 +1031,7 @@ int ceph_get_pool_id(struct ceph_mount_info *cmount, const char *pool_name);
  * @param pool_id the pool id to look up
  * @returns the replication factor, or a negative error code on failure.
  */
-int ceph_get_pool_replication(struct ceph_mount_info *cmount, int pool_id);
+int ceph_get_pool_replication(class ceph_mount_info *cmount, int pool_id);
 
 /**
  * Get the OSD address where the primary copy of a file stripe is located.
@@ -1027,7 +1045,7 @@ int ceph_get_pool_replication(struct ceph_mount_info *cmount, int pool_id);
  * @returns the size of the addressed filled into the @ref addr parameter, or a negative
  *	error code on failure.
  */
-int ceph_get_file_stripe_address(struct ceph_mount_info *cmount, int fd, loff_t offset,
+int ceph_get_file_stripe_address(class ceph_mount_info *cmount, int fd, loff_t offset,
 				 struct sockaddr_storage *addr, int naddr);
 
 /**
@@ -1043,7 +1061,7 @@ int ceph_get_file_stripe_address(struct ceph_mount_info *cmount, int fd, loff_t
  * @returns the number of items stored in the output array, or -ERANGE if the
  * array is not large enough.
  */
-int ceph_get_file_extent_osds(struct ceph_mount_info *cmount, int fh,
+int ceph_get_file_extent_osds(class ceph_mount_info *cmount, int fh,
                               loff_t offset, loff_t *length, int *osds, int nosds);
 
 /**
@@ -1060,7 +1078,7 @@ int ceph_get_file_extent_osds(struct ceph_mount_info *cmount, int fh,
  * @returns the amount of bytes written into the buffer, or -ERANGE if the
  * array is not large enough.
  */
-int ceph_get_osd_crush_location(struct ceph_mount_info *cmount,
+int ceph_get_osd_crush_location(class ceph_mount_info *cmount,
     int osd, char *path, size_t len);
 
 /**
@@ -1071,7 +1089,7 @@ int ceph_get_osd_crush_location(struct ceph_mount_info *cmount,
  * @param addr the OSD network address.
  * @returns zero on success, other returns a negative error code.
  */
-int ceph_get_osd_addr(struct ceph_mount_info *cmount, int osd,
+int ceph_get_osd_addr(class ceph_mount_info *cmount, int osd,
     struct sockaddr_storage *addr);
 
 /**
@@ -1079,7 +1097,7 @@ int ceph_get_osd_addr(struct ceph_mount_info *cmount, int osd,
  * @param cmount the ceph mount handle.
  * @returns the stripe unit granularity or a negative error code on failure.
  */
-int ceph_get_stripe_unit_granularity(struct ceph_mount_info *cmount);
+int ceph_get_stripe_unit_granularity(class ceph_mount_info *cmount);
 
 /** @} filelayout */
 
@@ -1087,11 +1105,11 @@ int ceph_get_stripe_unit_granularity(struct ceph_mount_info *cmount);
  * No longer available.  Do not use.
  * These functions will return -EOPNOTSUPP.
  */
-int ceph_set_default_file_stripe_unit(struct ceph_mount_info *cmount, int stripe);
-int ceph_set_default_file_stripe_count(struct ceph_mount_info *cmount, int count);
-int ceph_set_default_object_size(struct ceph_mount_info *cmount, int size);
-int ceph_set_default_preferred_pg(struct ceph_mount_info *cmount, int osd);
-int ceph_set_default_file_replication(struct ceph_mount_info *cmount, int replication);
+int ceph_set_default_file_stripe_unit(class ceph_mount_info *cmount, int stripe);
+int ceph_set_default_file_stripe_count(class ceph_mount_info *cmount, int count);
+int ceph_set_default_object_size(class ceph_mount_info *cmount, int size);
+int ceph_set_default_preferred_pg(class ceph_mount_info *cmount, int osd);
+int ceph_set_default_file_replication(class ceph_mount_info *cmount, int replication);
 
 /**
  * Read from local replicas when possible.
@@ -1101,7 +1119,7 @@ int ceph_set_default_file_replication(struct ceph_mount_info *cmount, int replic
  *     for reads.
  * @returns 0
  */
-int ceph_localize_reads(struct ceph_mount_info *cmount, int val);
+int ceph_localize_reads(class ceph_mount_info *cmount, int val);
 
 /**
  * Get the osd id of the local osd (if any)
@@ -1110,7 +1128,7 @@ int ceph_localize_reads(struct ceph_mount_info *cmount, int val);
  * @returns the osd (if any) local to the node where this call is made, otherwise
  *	-1 is returned.
  */
-int ceph_get_local_osd(struct ceph_mount_info *cmount);
+int ceph_get_local_osd(class ceph_mount_info *cmount);
 
 /** @} default_filelayout */
 
@@ -1122,7 +1140,7 @@ int ceph_get_local_osd(struct ceph_mount_info *cmount);
  * @returns the current capabilities issued to this client
  *       for the open file 
  */
-int ceph_debug_get_fd_caps(struct ceph_mount_info *cmount, int fd);
+int ceph_debug_get_fd_caps(class ceph_mount_info *cmount, int fd);
 
 /**
  * Get the capabilities currently issued to the client.
@@ -1132,7 +1150,7 @@ int ceph_debug_get_fd_caps(struct ceph_mount_info *cmount, int fd);
  * @returns the current capabilities issued to this client
  *       for the file 
  */
-int ceph_debug_get_file_caps(struct ceph_mount_info *cmount, const char *path);
+int ceph_debug_get_file_caps(class ceph_mount_info *cmount, const char *path);
 
 #ifdef __cplusplus
 }
diff --git a/src/include/crc32c.h b/src/include/crc32c.h
index 3fd209e..a568eda 100644
--- a/src/include/crc32c.h
+++ b/src/include/crc32c.h
@@ -1,25 +1,32 @@
 #ifndef CEPH_CRC32C_H
 #define CEPH_CRC32C_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+#include <inttypes.h>
 #include <string.h>
 
-extern int ceph_have_crc32c_intel(void);
-extern uint32_t ceph_crc32c_le_generic(uint32_t crc, unsigned char const *data, unsigned length);
-extern uint32_t ceph_crc32c_le_intel(uint32_t crc, unsigned char const *data, unsigned length);
+typedef uint32_t (*ceph_crc32c_func_t)(uint32_t crc, unsigned char const *data, unsigned length);
 
-static inline uint32_t ceph_crc32c_le(uint32_t crc, unsigned char const *data, unsigned length) {
-	if (ceph_have_crc32c_intel()) //__builtin_cpu_supports("sse4.2"))
-		return ceph_crc32c_le_intel(crc, data, length);
-	else
-		return ceph_crc32c_le_generic(crc, data, length);
-}
+/*
+ * this is a static global with the chosen crc32c implementation for
+ * the given architecture.
+ */
+extern ceph_crc32c_func_t ceph_crc32c_func;
 
-#ifdef __cplusplus
+extern ceph_crc32c_func_t ceph_choose_crc32(void);
+
+/**
+ * calculate crc32c
+ *
+ * Note: if the data pointer is NULL, we calculate a crc value as if
+ * it were zero-filled.
+ *
+ * @param crc initial value
+ * @param data pointer to data buffer
+ * @param length length of buffer
+ */
+static inline uint32_t ceph_crc32c(uint32_t crc, unsigned char const *data, unsigned length)
+{
+	return ceph_crc32c_func(crc, data, length);
 }
-#endif
 
 #endif
diff --git a/src/include/encoding.h b/src/include/encoding.h
index 67c9af5..fedc8b3 100644
--- a/src/include/encoding.h
+++ b/src/include/encoding.h
@@ -11,13 +11,13 @@
  * Foundation.  See file COPYING.
  * 
  */
-
 #ifndef CEPH_ENCODING_H
 #define CEPH_ENCODING_H
 
+#include "include/int_types.h"
+
 #include <tr1/memory>
 
-#include "inttypes.h"
 #include "byteorder.h"
 #include "buffer.h"
 #include "assert.h"
@@ -562,6 +562,17 @@ inline void decode(std::map<T,U>& m, bufferlist::iterator& p)
   }
 }
 template<class T, class U>
+inline void decode_noclear(std::map<T,U>& m, bufferlist::iterator& p)
+{
+  __u32 n;
+  decode(n, p);
+  while (n--) {
+    T k;
+    decode(k, p);
+    decode(m[k], p);
+  }
+}
+template<class T, class U>
 inline void encode_nohead(const std::map<T,U>& m, bufferlist& bl)
 {
   for (typename std::map<T,U>::const_iterator p = m.begin(); p != m.end(); ++p) {
diff --git a/src/include/frag.h b/src/include/frag.h
index 715eb09..fbe5b43 100644
--- a/src/include/frag.h
+++ b/src/include/frag.h
@@ -285,7 +285,7 @@ public:
    */
   void get_leaves_under(frag_t x, std::list<frag_t>& ls) const {
     std::list<frag_t> q;
-    q.push_back(get_branch(x));
+    q.push_back(get_branch_or_leaf(x));
     while (!q.empty()) {
       frag_t t = q.front();
       q.pop_front();
diff --git a/src/include/histogram.h b/src/include/histogram.h
new file mode 100644
index 0000000..c817b1e
--- /dev/null
+++ b/src/include/histogram.h
@@ -0,0 +1,76 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ * Copyright 2013 Inktank
+ */
+
+#ifndef HISTOGRAM_H_
+#define HISTOGRAM_H_
+
+/**
+ * power of 2 histogram
+ */
+struct pow2_hist_t { //
+  /**
+   * histogram
+   *
+   * bin size is 2^index
+   * value is count of elements that are <= the current bin but > the previous bin.
+   */
+  vector<int32_t> h;
+
+private:
+  /// expand to at least another's size
+  void _expand_to(unsigned s) {
+    if (s > h.size())
+      h.resize(s, 0);
+  }
+  /// drop useless trailing 0's
+  void _contract() {
+    unsigned p = h.size();
+    while (p > 0 && h[p-1] == 0)
+      --p;
+    h.resize(p);
+  }
+
+public:
+  void clear() {
+    h.clear();
+  }
+  void set(int bin, int32_t v) {
+    _expand_to(bin + 1);
+    h[bin] = v;
+    _contract();
+  }
+
+  void add(const pow2_hist_t& o) {
+    _expand_to(o.h.size());
+    for (unsigned p = 0; p < o.h.size(); ++p)
+      h[p] += o.h[p];
+    _contract();
+  }
+  void sub(const pow2_hist_t& o) {
+    _expand_to(o.h.size());
+    for (unsigned p = 0; p < o.h.size(); ++p)
+      h[p] -= o.h[p];
+    _contract();
+  }
+
+  int32_t upper_bound() const {
+    return 1 << h.size();
+  }
+
+  void dump(Formatter *f) const;
+  void encode(bufferlist &bl) const;
+  void decode(bufferlist::iterator &bl);
+  static void generate_test_instances(std::list<pow2_hist_t*>& o);
+};
+WRITE_CLASS_ENCODER(pow2_hist_t)
+
+#endif /* HISTOGRAM_H_ */
diff --git a/src/include/int_types.h b/src/include/int_types.h
new file mode 100644
index 0000000..f290f9d
--- /dev/null
+++ b/src/include/int_types.h
@@ -0,0 +1,75 @@
+#ifndef CEPH_INTTYPES_H
+#define CEPH_INTTYPES_H
+
+#include "acconfig.h"
+
+#if defined(__linux__)
+#include <linux/types.h>
+#endif
+
+/*
+ * Get 64b integers either from inttypes.h or glib.h
+ */
+#ifdef HAVE_INTTYPES_H
+#  include <inttypes.h>
+//#else
+//#  ifdef HAVE_GLIB
+//#    include <glib.h>
+//#  endif
+#endif
+
+/*
+ * C99 says inttypes.h includes stdint.h, but that's not true on all
+ * systems. If it's there, include it always - just in case.
+ */
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+/*
+ * Emergency replacements for PRI*64 modifiers. Some systems have
+ * an inttypes.h that doesn't define all the PRI[doxu]64 macros.
+ */
+#if !defined(PRIu64)
+#  if defined(HAVE_INTTYPES_H) || defined(HAVE_GLIB)
+/* If we have inttypes or glib, assume we have 64-bit long long int */
+#    define PRIu64 "llu"
+#    define PRIi64 "lli"
+#    define PRIx64 "llx"
+#    define PRIX64 "llX"
+#    define PRIo64 "llo"
+#    define PRId64 "lld"
+#  else
+/* Assume that we don't have long long, so use long int modifiers */
+#    define PRIu64 "lu"
+#    define PRIi64 "li"
+#    define PRIx64 "lx"
+#    define PRIX64 "lX"
+#    define PRIo64 "lo"
+#    define PRId64 "ld"
+#  endif
+#endif
+
+#if defined(__FreeBSD__)
+#include <sys/types.h>
+
+typedef int8_t __s8;
+typedef uint8_t __u8;
+typedef int16_t __s16;
+typedef uint16_t __u16;
+typedef int32_t __s32;
+typedef uint32_t __u32;
+typedef int64_t __s64;
+typedef uint64_t __u64;
+
+#define __bitwise__
+
+typedef __u16 __bitwise__ __le16;
+typedef __u16 __bitwise__ __be16;
+typedef __u32 __bitwise__ __le32;
+typedef __u32 __bitwise__ __be32;
+typedef __u64 __bitwise__ __le64;
+typedef __u64 __bitwise__ __be64;
+
+#endif
+#endif
diff --git a/src/include/inttypes.h b/src/include/inttypes.h
deleted file mode 100644
index 656e2bb..0000000
--- a/src/include/inttypes.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef CEPH_INTTYPES_H
-#define CEPH_INTTYPES_H
-
-#include <stdint.h>
-#if defined(__linux__)
-#include <linux/types.h>
-#elif defined(__FreeBSD__)
-#include <sys/types.h>
-typedef int8_t __s8;
-typedef uint8_t __u8;
-typedef int16_t __s16;
-typedef uint16_t __u16;
-typedef int32_t __s32;
-typedef uint32_t __u32;
-typedef int64_t __s64;
-typedef uint64_t __u64;
-
-#define __bitwise__
-
-typedef __u16 __bitwise__ __le16;
-typedef __u16 __bitwise__ __be16;
-typedef __u32 __bitwise__ __le32;
-typedef __u32 __bitwise__ __be32;
-typedef __u64 __bitwise__ __le64;
-typedef __u64 __bitwise__ __be64;
-
-#endif
-#endif
diff --git a/src/include/linux_fiemap.h b/src/include/linux_fiemap.h
index ba5cb66..352208b 100644
--- a/src/include/linux_fiemap.h
+++ b/src/include/linux_fiemap.h
@@ -7,15 +7,15 @@
  *          Kalpak Shah <kalpak.shah at sun.com>
  *          Andreas Dilger <adilger at sun.com>
  */
-
 #ifndef _LINUX_FIEMAP_H
 #define _LINUX_FIEMAP_H
 
+#include "include/int_types.h"
+
 #if defined(__linux__)
 #include <linux/types.h>
 #elif defined(__FreeBSD_)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
 
 struct fiemap_extent {
diff --git a/src/include/rados.h b/src/include/rados.h
index de9b449..c410f80 100644
--- a/src/include/rados.h
+++ b/src/include/rados.h
@@ -217,6 +217,12 @@ enum {
 	CEPH_OSD_OP_OMAPRMKEYS    = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 24,
 	CEPH_OSD_OP_OMAP_CMP      = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 25,
 
+	CEPH_OSD_OP_COPY_FROM = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 26,
+	CEPH_OSD_OP_COPY_GET_CLASSIC = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 27,
+	CEPH_OSD_OP_UNDIRTY   = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 28,
+	CEPH_OSD_OP_ISDIRTY   = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 29,
+	CEPH_OSD_OP_COPY_GET = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 30,
+
 	/** multi **/
 	CEPH_OSD_OP_CLONERANGE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_MULTI | 1,
 	CEPH_OSD_OP_ASSERT_SRC_VERSION = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_MULTI | 2,
@@ -398,9 +404,20 @@ struct ceph_osd_op {
 			__u8 flag;	/* 0 = unwatch, 1 = watch */
 		} __attribute__ ((packed)) watch;
 		struct {
+			__le64 unused;
+			__le64 ver;
+		} __attribute__ ((packed)) assert_ver;
+		struct {
 			__le64 offset, length;
 			__le64 src_offset;
 		} __attribute__ ((packed)) clonerange;
+		struct {
+			__le64 max;     /* max data in reply */
+		} __attribute__ ((packed)) copy_get;
+		struct {
+			__le64 snapid;
+			__le64 src_version;
+		} __attribute__ ((packed)) copy_from;
 	};
 	__le32 payload_len;
 } __attribute__ ((packed));
diff --git a/src/include/rados/buffer.h b/src/include/rados/buffer.h
index 8c4dfb5..0b497a7 100644
--- a/src/include/rados/buffer.h
+++ b/src/include/rados/buffer.h
@@ -11,7 +11,6 @@
  * Foundation.  See file COPYING.
  * 
  */
-
 #ifndef CEPH_BUFFER_H
 #define CEPH_BUFFER_H
 
@@ -20,7 +19,6 @@
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #include <stdlib.h>
 #endif
 
@@ -46,6 +44,7 @@ void	*valloc(size_t);
 #include <malloc.h>
 #endif
 
+#include <inttypes.h>
 #include <stdint.h>
 #include <string.h>
 
@@ -104,8 +103,20 @@ public:
   };
 
 
+  /// total bytes allocated
   static int get_total_alloc();
 
+  /// enable/disable alloc tracking
+  static void track_alloc(bool b);
+
+  /// count of cached crc hits (matching input)
+  static int get_cached_crc();
+  /// count of cached crc hits (mismatching input, required adjustment)
+  static int get_cached_crc_adjusted();
+  /// enable/disable tracking of cached crcs
+  static void track_cached_crc(bool b);
+
+
 private:
  
   /* hack for memory utilization debugging. */
@@ -420,15 +431,7 @@ public:
     ssize_t read_fd(int fd, size_t len);
     int write_file(const char *fn, int mode=0644);
     int write_fd(int fd) const;
-    __u32 crc32c(__u32 crc) {
-      for (std::list<ptr>::const_iterator it = _buffers.begin(); 
-	   it != _buffers.end(); 
-	   ++it)
-	if (it->length())
-	  crc = ceph_crc32c_le(crc, (unsigned char*)it->c_str(), it->length());
-      return crc;
-    }
-
+    uint32_t crc32c(uint32_t crc) const;
   };
 
   /*
@@ -436,7 +439,7 @@ public:
    */
 
   class hash {
-    __u32 crc;
+    uint32_t crc;
 
   public:
     hash() : crc(0) { }
@@ -445,7 +448,7 @@ public:
       crc = bl.crc32c(crc);
     }
 
-    __u32 digest() {
+    uint32_t digest() {
       return crc;
     }
   };
diff --git a/src/include/rados/crc32c.h b/src/include/rados/crc32c.h
index 3fd209e..a568eda 100644
--- a/src/include/rados/crc32c.h
+++ b/src/include/rados/crc32c.h
@@ -1,25 +1,32 @@
 #ifndef CEPH_CRC32C_H
 #define CEPH_CRC32C_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+#include <inttypes.h>
 #include <string.h>
 
-extern int ceph_have_crc32c_intel(void);
-extern uint32_t ceph_crc32c_le_generic(uint32_t crc, unsigned char const *data, unsigned length);
-extern uint32_t ceph_crc32c_le_intel(uint32_t crc, unsigned char const *data, unsigned length);
+typedef uint32_t (*ceph_crc32c_func_t)(uint32_t crc, unsigned char const *data, unsigned length);
 
-static inline uint32_t ceph_crc32c_le(uint32_t crc, unsigned char const *data, unsigned length) {
-	if (ceph_have_crc32c_intel()) //__builtin_cpu_supports("sse4.2"))
-		return ceph_crc32c_le_intel(crc, data, length);
-	else
-		return ceph_crc32c_le_generic(crc, data, length);
-}
+/*
+ * this is a static global with the chosen crc32c implementation for
+ * the given architecture.
+ */
+extern ceph_crc32c_func_t ceph_crc32c_func;
 
-#ifdef __cplusplus
+extern ceph_crc32c_func_t ceph_choose_crc32(void);
+
+/**
+ * calculate crc32c
+ *
+ * Note: if the data pointer is NULL, we calculate a crc value as if
+ * it were zero-filled.
+ *
+ * @param crc initial value
+ * @param data pointer to data buffer
+ * @param length length of buffer
+ */
+static inline uint32_t ceph_crc32c(uint32_t crc, unsigned char const *data, unsigned length)
+{
+	return ceph_crc32c_func(crc, data, length);
 }
-#endif
 
 #endif
diff --git a/src/include/rados/librados.h b/src/include/rados/librados.h
index 4a5be3d..a67b85e 100644
--- a/src/include/rados/librados.h
+++ b/src/include/rados/librados.h
@@ -10,7 +10,6 @@ extern "C" {
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
 #include <string.h>
 #include "rados_types.h"
@@ -24,7 +23,7 @@ extern "C" {
 #endif
 
 #define LIBRADOS_VER_MAJOR 0
-#define LIBRADOS_VER_MINOR 53
+#define LIBRADOS_VER_MINOR 68
 #define LIBRADOS_VER_EXTRA 0
 
 #define LIBRADOS_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
@@ -225,6 +224,23 @@ int rados_create2(rados_t *pcluster, const char *const clustername,
 int rados_create_with_context(rados_t *cluster, rados_config_t cct);
 
 /**
+ * Ping the monitor with ID @p mon_id, storing the resulting reply in
+ * @p buf (if specified) with a maximum size of @p len.
+ *
+ * The result buffer is allocated on the heap; the caller is
+ * expected to release that memory with rados_buffer_free().  The
+ * buffer and length pointers can be NULL, in which case they are
+ * not filled in.
+ *
+ * @param      cluster    cluster handle
+ * @param[in]  mon_id     ID of the monitor to ping
+ * @param[out] outstr     double pointer with the resulting reply
+ * @param[out] outstrlen  pointer with the size of the reply in @p outstr
+ */
+int rados_ping_monitor(rados_t cluster, const char *mon_id,
+                       char **outstr, size_t *outstrlen);
+
+/**
  * Connect to the cluster.
  *
  * @note BUG: Before calling this, calling a function that communicates with the
@@ -565,7 +581,7 @@ int rados_pool_create_with_auid(rados_t cluster, const char *pool_name, uint64_t
  * @returns 0 on success, negative error code on failure
  */
 int rados_pool_create_with_crush_rule(rados_t cluster, const char *pool_name,
-				      __u8 crush_rule_num);
+				      uint8_t crush_rule_num);
 
 /**
  * Create a pool with a specific CRUSH rule and auid
@@ -580,7 +596,7 @@ int rados_pool_create_with_crush_rule(rados_t cluster, const char *pool_name,
  * @returns 0 on success, negative error code on failure
  */
 int rados_pool_create_with_all(rados_t cluster, const char *pool_name, uint64_t auid,
-			       __u8 crush_rule_num);
+			       uint8_t crush_rule_num);
 
 /**
  * Delete a pool and all data inside it
diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp
index f9c51ab..c8de9f9 100644
--- a/src/include/rados/librados.hpp
+++ b/src/include/rados/librados.hpp
@@ -18,12 +18,12 @@ namespace librados
 {
   using ceph::bufferlist;
 
-  class AioCompletionImpl;
+  struct AioCompletionImpl;
   class IoCtx;
-  class IoCtxImpl;
+  struct IoCtxImpl;
   class ObjectOperationImpl;
-  class ObjListCtx;
-  class PoolAsyncCompletionImpl;
+  struct ObjListCtx;
+  struct PoolAsyncCompletionImpl;
   class RadosClient;
 
   typedef void *list_ctx_t;
@@ -96,7 +96,8 @@ namespace librados
     bool is_complete_and_cb();
     bool is_safe_and_cb();
     int get_return_value();
-    int get_version();
+    int get_version();  ///< DEPRECATED get_version() only returns 32-bits
+    uint64_t get_version64();
     void release();
     AioCompletionImpl *pc;
   };
@@ -132,11 +133,16 @@ namespace librados
    * BALANCE_READS and LOCALIZE_READS should only be used
    * when reading from data you're certain won't change,
    * like a snapshot, or where eventual consistency is ok.
+   *
+   * ORDER_READS_WRITES will order reads the same way writes are
+   * ordered (e.g., waiting for degraded objects).  In particular, it
+   * will make a write followed by a read sequence be preserved.
    */
   enum ObjectOperationGlobalFlags {
     OPERATION_NOFLAG         = 0,
     OPERATION_BALANCE_READS  = 1,
     OPERATION_LOCALIZE_READS = 2,
+    OPERATION_ORDER_READS_WRITES = 4,
   };
 
   /*
@@ -264,6 +270,26 @@ namespace librados
      */
     void omap_rm_keys(const std::set<std::string> &to_rm);
 
+    /**
+     * Copy an object
+     *
+     * Copies an object from another location.  The operation is atomic in that
+     * the copy either succeeds in its entirety or fails (e.g., because the
+     * source object was modified while the copy was in progress).
+     *
+     * @param src source object name
+     * @param src_ioctx ioctx for the source object
+     * @param version current version of the source object
+     */
+    void copy_from(const std::string& src, const IoCtx& src_ioctx, uint64_t src_version);
+
+    /**
+     * undirty an object
+     *
+     * Clear an objects dirty flag
+     */
+    void undirty();
+
     friend class IoCtx;
   };
 
@@ -382,6 +408,14 @@ namespace librados
      */
     void list_snaps(snap_set_t *out_snaps, int *prval);
 
+    /**
+     * query dirty state of an object
+     *
+     * @param out_dirty [out] pointer to resulting bool
+     * @param prval [out] place error code in prval upon completion
+     */
+    void is_dirty(bool *isdirty, int *prval);
+
   };
 
   /* IoCtx : This is a context in which we can perform I/O.
@@ -425,8 +459,23 @@ namespace librados
     int create(const std::string& oid, bool exclusive);
     int create(const std::string& oid, bool exclusive, const std::string& category);
 
+    /**
+     * write bytes to an object at a specified offset
+     *
+     * NOTE: this call steals the contents of @param bl.
+     */
     int write(const std::string& oid, bufferlist& bl, size_t len, uint64_t off);
+    /**
+     * append bytes to an object
+     *
+     * NOTE: this call steals the contents of @param bl.
+     */
     int append(const std::string& oid, bufferlist& bl, size_t len);
+    /**
+     * replace object contents with provided data
+     *
+     * NOTE: this call steals the contents of @param bl.
+     */
     int write_full(const std::string& oid, bufferlist& bl);
     int clone_range(const std::string& dst_oid, uint64_t dst_off,
                    const std::string& src_oid, uint64_t src_off,
@@ -443,7 +492,17 @@ namespace librados
     int stat(const std::string& oid, uint64_t *psize, time_t *pmtime);
     int exec(const std::string& oid, const char *cls, const char *method,
 	     bufferlist& inbl, bufferlist& outbl);
+    /**
+     * modify object tmap based on encoded update sequence
+     *
+     * NOTE: this call steals the contents of @param bl
+     */
     int tmap_update(const std::string& oid, bufferlist& cmdbl);
+    /**
+     * replace object contents with provided encoded tmap data
+     *
+     * NOTE: this call steals the contents of @param bl
+     */
     int tmap_put(const std::string& oid, bufferlist& bl);
     int tmap_get(const std::string& oid, bufferlist& bl);
 
@@ -673,6 +732,7 @@ namespace librados
     IoCtx(IoCtxImpl *io_ctx_impl_);
 
     friend class Rados; // Only Rados can use our private constructor to create IoCtxes.
+    friend class ObjectWriteOperation;  // copy_from needs to see our IoCtxImpl
 
     IoCtxImpl *io_ctx_impl;
   };
@@ -729,7 +789,12 @@ namespace librados
     int cluster_stat(cluster_stat_t& result);
     int cluster_fsid(std::string *fsid);
 
-    /* pool aio */
+    /*
+     * pool aio
+     *
+     * It is up to the caller to release the completion handler, even if the pool_create_async()
+     * and/or pool_delete_async() fails and does not send the async request
+     */
     static PoolAsyncCompletion *pool_async_create_completion();
 
    // -- aio --
diff --git a/src/include/types.h b/src/include/types.h
index bed0017..5a9e6f6 100644
--- a/src/include/types.h
+++ b/src/include/types.h
@@ -11,12 +11,11 @@
  * Foundation.  See file COPYING.
  * 
  */
-
 #ifndef CEPH_TYPES_H
 #define CEPH_TYPES_H
 
 // this is needed for ceph_fs to compile in userland
-#include "inttypes.h"
+#include "int_types.h"
 #include "byteorder.h"
 
 #include "uuid.h"
@@ -380,7 +379,7 @@ inline ostream& operator<<(ostream& out, const prettybyte_t& b)
   if (b.v > bump_after << 20)
     return out << (b.v >> 20) << " MB";    
   if (b.v > bump_after << 10)
-    return out << (b.v >> 10) << " KB";
+    return out << (b.v >> 10) << " kB";
   return out << b.v << " bytes";
 }
 
@@ -403,10 +402,33 @@ inline ostream& operator<<(ostream& out, const si_t& b)
   if (b.v > bump_after << 20)
     return out << (b.v >> 20) << "M";
   if (b.v > bump_after << 10)
-    return out << (b.v >> 10) << "K";
+    return out << (b.v >> 10) << "k";
   return out << b.v;
 }
 
+struct pretty_si_t {
+  uint64_t v;
+  pretty_si_t(uint64_t _v) : v(_v) {}
+};
+
+inline ostream& operator<<(ostream& out, const pretty_si_t& b)
+{
+  uint64_t bump_after = 100;
+  if (b.v > bump_after << 60)
+    return out << (b.v >> 60) << " E";
+  if (b.v > bump_after << 50)
+    return out << (b.v >> 50) << " P";
+  if (b.v > bump_after << 40)
+    return out << (b.v >> 40) << " T";
+  if (b.v > bump_after << 30)
+    return out << (b.v >> 30) << " G";
+  if (b.v > bump_after << 20)
+    return out << (b.v >> 20) << " M";
+  if (b.v > bump_after << 10)
+    return out << (b.v >> 10) << " k";
+  return out << b.v << " ";
+}
+
 struct kb_t {
   uint64_t v;
   kb_t(uint64_t _v) : v(_v) {}
@@ -423,7 +445,7 @@ inline ostream& operator<<(ostream& out, const kb_t& kb)
     return out << (kb.v >> 20) << " GB";    
   if (kb.v > bump_after << 10)
     return out << (kb.v >> 10) << " MB";
-  return out << kb.v << " KB";
+  return out << kb.v << " kB";
 }
 
 inline ostream& operator<<(ostream& out, const ceph_mon_subscribe_item& i)
diff --git a/src/init-ceph.in b/src/init-ceph.in
index 8eb02f8..1a80a42 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -27,13 +27,17 @@ else
 fi
 
 usage_exit() {
-    echo "usage: $0 [options] {start|stop|restart} [mon|osd|mds]..."
+    echo "usage: $0 [options] {start|stop|restart|condrestart} [mon|osd|mds]..."
     printf "\t-c ceph.conf\n"
     printf "\t--valgrind\trun via valgrind\n"
     printf "\t--hostname [hostname]\toverride hostname lookup\n"
     exit
 }
 
+# behave if we are not completely installed (e.g., Debian "removed,
+# config remains" state)
+test -f $LIBDIR/ceph_common.sh || exit 0
+
 . $LIBDIR/ceph_common.sh
 
 EXIT_STATUS=0
@@ -76,7 +80,7 @@ stop_daemon() {
     action=$5
     [ -z "$action" ] && action="Stopping"
     echo -n "$action Ceph $name on $host..."
-    do_cmd "while [ 1 ]; do 
+    do_cmd "while [ 1 ]; do
 	[ -e $pidfile ] || break
 	pid=\`cat $pidfile\`
 	while [ -e /proc/\$pid ] && grep -q $daemon /proc/\$pid/cmdline ; do
@@ -168,6 +172,14 @@ command=$1
 get_local_name_list
 get_name_list "$@"
 
+# Reverse the order if we are stopping
+if [ "$command" = "stop" ]; then
+    for f in $what; do
+       new_order="$f $new_order"
+    done
+    what="$new_order"
+fi
+
 for name in $what; do
     type=`echo $name | cut -c 1-3`   # e.g. 'mon', if $item is 'mon1'
     id=`echo $name | cut -c 4- | sed 's/^\\.//'`
@@ -247,18 +259,18 @@ for name in $what; do
 	    wrap=""
 	    runmode=""
 	    runarg=""
-	    
+
 	    [ -z "$docrun" ] && get_conf_bool docrun "0" "restart on core dump"
 	    [ "$docrun" -eq 1 ] && wrap="$BINDIR/ceph-run"
-	    
+
 	    [ -z "$dovalgrind" ] && get_conf_bool valgrind "" "valgrind"
 	    [ -n "$valgrind" ] && wrap="$wrap valgrind $valgrind"
-	    
+
 	    [ -n "$wrap" ] && runmode="-f &" && runarg="-f"
 	    [ -n "$max_open_files" ] && files="ulimit -n $max_open_files;"
 
 	    cmd="$files $wrap $cmd $runmode"
-	    
+
 	    if [ $dofsmount -eq 1 ] && [ -n "$fs_devs" ]; then
 		get_conf pre_mount "true" "pre mount command"
 		get_conf fs_type "" "osd mkfs type"
@@ -312,7 +324,7 @@ for name in $what; do
 		    get_conf osd_weight "" "osd crush initial weight"
 		    defaultweight="$(do_cmd "df $osd_data/. | tail -1 | awk '{ d= \$2/1073741824 ; r = sprintf(\"%.2f\", d); print r }'")"
 		    get_conf osd_keyring "$osd_data/keyring" "keyring"
-		    do_cmd "$BINDIR/ceph \
+		    do_cmd "timeout 10 $BINDIR/ceph \
 			--name=osd.$id \
 			--keyring=$osd_keyring \
 			osd crush create-or-move \
@@ -321,8 +333,7 @@ for name in $what; do
 			${osd_weight:-${defaultweight:-1}} \
 			root=default \
 			host=$host \
-			$osd_location \
-			|| :"
+			$osd_location"
 		fi
 	    fi
 
@@ -357,7 +368,7 @@ for name in $what; do
 	    [ -n "$post_start" ] && do_cmd "$post_start"
 	    [ -n "$lockfile" ] && [ "$?" -eq 0 ] && touch $lockfile
 	    ;;
-	
+
 	stop)
 	    get_conf pre_stop "" "pre stop command"
 	    get_conf post_stop "" "post stop command"
@@ -398,13 +409,13 @@ for name in $what; do
 	    [ -n "$post_forcestop" ] && do_cmd "$post_forcestop"
 	    [ -n "$lockfile" ] && [ "$?" -eq 0 ] && rm -f $lockfile
 	    ;;
-	    
+
 	killall)
 	    echo "killall ceph-$type on $host"
 	    do_cmd "pkill ^ceph-$type || true"
 	    [ -n "$lockfile" ] && [ "$?" -eq 0 ] && rm -f $lockfile
 	    ;;
-	
+
 	force-reload | reload)
 	    signal_daemon $name ceph-$type $pid_file -1 "Reloading"
 	    ;;
@@ -414,6 +425,15 @@ for name in $what; do
 	    $0 $options start $name
 	    ;;
 
+        condrestart)
+            if daemon_is_running $name ceph-$type $id $pid_file; then
+                $0 $options stop $name
+                $0 $options start $name
+            else
+                echo "$name: not running."
+            fi
+            ;;
+
 	cleanlogs)
 	    echo removing logs
 	    [ -n "$log_dir" ] && do_cmd "rm -f $log_dir/$type.$id.*"
diff --git a/src/init-radosgw b/src/init-radosgw
index a526441..de1e01e 100644
--- a/src/init-radosgw
+++ b/src/init-radosgw
@@ -83,7 +83,7 @@ case "$1" in
             echo "$RADOSGW is running."
         else
             echo "$RADOSGW is not running."
-            RETVAL=1
+            exit 1
         fi
         ;;
     *)
diff --git a/src/init-radosgw.sysv b/src/init-radosgw.sysv
index e08e1bd..017e3f9 100644
--- a/src/init-radosgw.sysv
+++ b/src/init-radosgw.sysv
@@ -90,7 +90,7 @@ case "$1" in
             echo "$RADOSGW is running."
         else
             echo "$RADOSGW is not running."
-            RETVAL=1
+            exit 1
         fi
         ;;
     *)
diff --git a/src/init-rbdmap b/src/init-rbdmap
index 6ea4af7..01fe0fb 100755
--- a/src/init-rbdmap
+++ b/src/init-rbdmap
@@ -1,4 +1,9 @@
 #!/bin/bash
+#
+# rbdmap Ceph RBD Mapping
+#
+# chkconfig: 2345 20 80
+# description: Ceph RBD Mapping
 
 ### BEGIN INIT INFO
 # Provides:          rbdmap
@@ -62,17 +67,19 @@ do_map() {
 do_unmap() {
 	log_daemon_msg "Stopping $DESC"
 	RET=0
+	# Recursive umount that depends /dev/rbd*
+	MNTDEP=$(findmnt --mtab | awk '$2 ~ /^\/dev\/rbd[0-9]*$/ {print $1}' | sort -r)
+	for MNT in $MNTDEP; do
+		umount $MNT
+	done 
 	# Unmap all rbd device
-	for DEV in /dev/rbd[0-9]*; do
-		log_progress_msg $DEV
-		# Umount before unmap
-		MNTDEP=$(findmnt --mtab --source $DEV --output TARGET | sed 1,1d | sort -r)
-		for MNT in $MNTDEP; do
-			umount $MNT || sleep 1 && umount -l $DEV
+	if ls /dev/rbd[0-9]* >/dev/null 2>&1; then
+		for DEV in /dev/rbd[0-9]*; do
+			log_progress_msg $DEV
+			rbd unmap $DEV
+			[ $? -ne "0" ] && RET=1
 		done
-		rbd unmap $DEV
-		[ $? -ne "0" ] && RET=1
-	done
+	fi
 	log_end_msg $RET
 }
 
diff --git a/src/java/Makefile.am b/src/java/Makefile.am
index ac7e86c..8b28f83 100644
--- a/src/java/Makefile.am
+++ b/src/java/Makefile.am
@@ -64,7 +64,6 @@ BUILT_SOURCES = $(JAVA_H)
 if HAVE_JUNIT4
 
 JAVA_TEST_CLASSES = $(JAVA_TEST_SRC:test/%.java=%.class)
-ESCAPED_JAVA_TEST_CLASSES = com/ceph/fs/CephAllTests\$$1.class
 
 CEPH_TEST_PROXY=test/com/ceph/fs/CephMountTest.class
 
@@ -73,7 +72,7 @@ $(CEPH_TEST_PROXY): $(JAVA_TEST_SRC) $(CEPH_PROXY)
 	$(JAVAC) -source 1.5 -target 1.5 -Xlint:-options test/com/ceph/fs/*.java
 
 libcephfs-test.jar: $(CEPH_TEST_PROXY)
-	$(JAR) cf $@ $(JAVA_TEST_CLASSES:%=-C test %) $(ESCAPED_JAVA_TEST_CLASSES:%=-C test %)
+	$(JAR) cf $@ $(JAVA_TEST_CLASSES:%=-C test %) 
 
 java_DATA += libcephfs-test.jar
 
diff --git a/src/java/Makefile.in b/src/java/Makefile.in
index 94bfbb3..fc99311 100644
--- a/src/java/Makefile.in
+++ b/src/java/Makefile.in
@@ -42,19 +42,17 @@ target_triplet = @target@
 subdir = src/java
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_class.m4 \
-	$(top_srcdir)/m4/ac_check_classpath.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
-	$(top_srcdir)/m4/ac_prog_java.m4 \
-	$(top_srcdir)/m4/ac_prog_java_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javac_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_try_compile_java.m4 \
-	$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -109,6 +107,9 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -143,7 +144,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 JAR = @JAR@
-JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
 JDK_CPPFLAGS = @JDK_CPPFLAGS@
@@ -156,6 +156,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTCMALLOC = @LIBTCMALLOC@
 LIBTOOL = @LIBTOOL@
+LIBZFS_CFLAGS = @LIBZFS_CFLAGS@
+LIBZFS_LIBS = @LIBZFS_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -261,7 +263,6 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-uudecode = @uudecode@
 JAVA_SRC = \
 	java/com/ceph/fs/CephMount.java \
 	java/com/ceph/fs/CephStat.java \
@@ -301,7 +302,6 @@ EXTRA_DIST = $(JAVA_SRC) $(JAVA_TEST_SRC)
 
 # build the tests if *both* --enable-cephfs-java and --with-debug were specifed
 @ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE at JAVA_TEST_CLASSES = $(JAVA_TEST_SRC:test/%.java=%.class)
- at ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE at ESCAPED_JAVA_TEST_CLASSES = com/ceph/fs/CephAllTests\$$1.class
 @ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE at CEPH_TEST_PROXY = test/com/ceph/fs/CephMountTest.class
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -543,7 +543,7 @@ uninstall-am: uninstall-javaDATA
 @ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE@	$(JAVAC) -source 1.5 -target 1.5 -Xlint:-options test/com/ceph/fs/*.java
 
 @ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE at libcephfs-test.jar: $(CEPH_TEST_PROXY)
- at ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE@	$(JAR) cf $@ $(JAVA_TEST_CLASSES:%=-C test %) $(ESCAPED_JAVA_TEST_CLASSES:%=-C test %)
+ at ENABLE_CEPHFS_JAVA_TRUE@@HAVE_JUNIT4_TRUE@	$(JAR) cf $@ $(JAVA_TEST_CLASSES:%=-C test %) 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/java/test/com/ceph/fs/CephAllTests.java b/src/java/test/com/ceph/fs/CephAllTests.java
index 71c2ddf..039ad6d 100644
--- a/src/java/test/com/ceph/fs/CephAllTests.java
+++ b/src/java/test/com/ceph/fs/CephAllTests.java
@@ -23,7 +23,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.UUID;
 import org.junit.*;
-import org.junit.rules.ExternalResource;
 import org.junit.runners.Suite;
 import org.junit.runner.RunWith;
 import static org.junit.Assert.*;
@@ -42,16 +41,4 @@ import static org.junit.Assert.*;
  */
 public class CephAllTests{
 
-  @Rule
-  public static ExternalResource testRule = new ExternalResource(){
-    @Override
-    protected void before() throws Throwable{
-      // Add debugging messages or setup code here
-    };
-
-    @Override
-    protected void after(){
-      // Add debugging messages or cleanup code here
-    };
-  };
 }
diff --git a/src/json_spirit/Makefile.am b/src/json_spirit/Makefile.am
new file mode 100644
index 0000000..43025be
--- /dev/null
+++ b/src/json_spirit/Makefile.am
@@ -0,0 +1,18 @@
+libjson_spirit_la_SOURCES = \
+	json_spirit/json_spirit_reader.cpp \
+	json_spirit/json_spirit_writer.cpp \
+	json_spirit/json_spirit_value.cpp
+noinst_LTLIBRARIES += libjson_spirit.la
+
+noinst_HEADERS += \
+	json_spirit/json_spirit.h \
+	json_spirit/json_spirit_error_position.h \
+	json_spirit/json_spirit_reader.h \
+	json_spirit/json_spirit_reader_template.h \
+	json_spirit/json_spirit_stream_reader.h \
+	json_spirit/json_spirit_utils.h \
+	json_spirit/json_spirit_value.h \
+	json_spirit/json_spirit_writer.h \
+	json_spirit/json_spirit_writer_options.h \
+	json_spirit/json_spirit_writer_template.h
+
diff --git a/src/key_value_store/Makefile.am b/src/key_value_store/Makefile.am
new file mode 100644
index 0000000..e5bae00
--- /dev/null
+++ b/src/key_value_store/Makefile.am
@@ -0,0 +1,10 @@
+libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc
+libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libcls_kvs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*'
+radoslib_LTLIBRARIES += libcls_kvs.la
+
+noinst_HEADERS += \
+	key_value_store/key_value_structure.h \
+	key_value_store/kv_flat_btree_async.h \
+	key_value_store/kvs_arg_types.h
+
diff --git a/src/libcephfs.cc b/src/libcephfs.cc
index 16b130a..cdd06f4 100644
--- a/src/libcephfs.cc
+++ b/src/libcephfs.cc
@@ -240,7 +240,7 @@ extern "C" const char *ceph_version(int *pmajor, int *pminor, int *ppatch)
   return VERSION;
 }
 
-extern "C" int ceph_create_with_context(struct ceph_mount_info **cmount, CephContext *cct)
+extern "C" int ceph_create_with_context(class ceph_mount_info **cmount, CephContext *cct)
 {
   uint64_t nonce = 0;
 
@@ -249,11 +249,11 @@ extern "C" int ceph_create_with_context(struct ceph_mount_info **cmount, CephCon
   nonce &= ~0xffff;
   nonce |= (uint64_t)getpid();
 
-  *cmount = new struct ceph_mount_info(nonce, cct);
+  *cmount = new class ceph_mount_info(nonce, cct);
   return 0;
 }
 
-extern "C" int ceph_create(struct ceph_mount_info **cmount, const char * const id)
+extern "C" int ceph_create(class ceph_mount_info **cmount, const char * const id)
 {
   CephInitParameters iparams(CEPH_ENTITY_TYPE_CLIENT);
   if (id) {
@@ -266,12 +266,12 @@ extern "C" int ceph_create(struct ceph_mount_info **cmount, const char * const i
   return ceph_create_with_context(cmount, cct);
 }
 
-extern "C" int ceph_unmount(struct ceph_mount_info *cmount)
+extern "C" int ceph_unmount(class ceph_mount_info *cmount)
 {
   return cmount->unmount();
 }
 
-extern "C" int ceph_release(struct ceph_mount_info *cmount)
+extern "C" int ceph_release(class ceph_mount_info *cmount)
 {
   if (cmount->is_mounted())
     return -EISCONN;
@@ -279,35 +279,35 @@ extern "C" int ceph_release(struct ceph_mount_info *cmount)
   return 0;
 }
 
-extern "C" void ceph_shutdown(struct ceph_mount_info *cmount)
+extern "C" void ceph_shutdown(class ceph_mount_info *cmount)
 {
   cmount->shutdown();
   delete cmount;
 }
 
-extern "C" int ceph_conf_read_file(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_conf_read_file(class ceph_mount_info *cmount, const char *path)
 {
   return cmount->conf_read_file(path);
 }
 
-extern "C" int ceph_conf_parse_argv(struct ceph_mount_info *cmount, int argc,
+extern "C" int ceph_conf_parse_argv(class ceph_mount_info *cmount, int argc,
 				     const char **argv)
 {
   return cmount->conf_parse_argv(argc, argv);
 }
 
-extern "C" int ceph_conf_parse_env(struct ceph_mount_info *cmount, const char *name)
+extern "C" int ceph_conf_parse_env(class ceph_mount_info *cmount, const char *name)
 {
   return cmount->conf_parse_env(name);
 }
 
-extern "C" int ceph_conf_set(struct ceph_mount_info *cmount, const char *option,
+extern "C" int ceph_conf_set(class ceph_mount_info *cmount, const char *option,
 			     const char *value)
 {
   return cmount->conf_set(option, value);
 }
 
-extern "C" int ceph_conf_get(struct ceph_mount_info *cmount, const char *option,
+extern "C" int ceph_conf_get(class ceph_mount_info *cmount, const char *option,
 			     char *buf, size_t len)
 {
   if (buf == NULL) {
@@ -316,7 +316,7 @@ extern "C" int ceph_conf_get(struct ceph_mount_info *cmount, const char *option,
   return cmount->conf_get(option, buf, len);
 }
 
-extern "C" int ceph_mount(struct ceph_mount_info *cmount, const char *root)
+extern "C" int ceph_mount(class ceph_mount_info *cmount, const char *root)
 {
   std::string mount_root;
   if (root)
@@ -324,12 +324,12 @@ extern "C" int ceph_mount(struct ceph_mount_info *cmount, const char *root)
   return cmount->mount(mount_root);
 }
 
-extern "C" int ceph_is_mounted(struct ceph_mount_info *cmount)
+extern "C" int ceph_is_mounted(class ceph_mount_info *cmount)
 {
   return cmount->is_mounted() ? 1 : 0;
 }
 
-extern "C" int ceph_statfs(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_statfs(class ceph_mount_info *cmount, const char *path,
 			   struct statvfs *stbuf)
 {
   if (!cmount->is_mounted())
@@ -337,26 +337,26 @@ extern "C" int ceph_statfs(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->statfs(path, stbuf);
 }
 
-extern "C" int ceph_get_local_osd(struct ceph_mount_info *cmount)
+extern "C" int ceph_get_local_osd(class ceph_mount_info *cmount)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->get_local_osd();
 }
 
-extern "C" const char* ceph_getcwd(struct ceph_mount_info *cmount)
+extern "C" const char* ceph_getcwd(class ceph_mount_info *cmount)
 {
   return cmount->get_cwd();
 }
 
-extern "C" int ceph_chdir (struct ceph_mount_info *cmount, const char *s)
+extern "C" int ceph_chdir (class ceph_mount_info *cmount, const char *s)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->chdir(s);
 }
 
-extern "C" int ceph_opendir(struct ceph_mount_info *cmount,
+extern "C" int ceph_opendir(class ceph_mount_info *cmount,
 			    const char *name, struct ceph_dir_result **dirpp)
 {
   if (!cmount->is_mounted())
@@ -364,14 +364,14 @@ extern "C" int ceph_opendir(struct ceph_mount_info *cmount,
   return cmount->get_client()->opendir(name, (dir_result_t **)dirpp);
 }
 
-extern "C" int ceph_closedir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp)
+extern "C" int ceph_closedir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->closedir((dir_result_t*)dirp);
 }
 
-extern "C" struct dirent * ceph_readdir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp)
+extern "C" struct dirent * ceph_readdir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp)
 {
   if (!cmount->is_mounted()) {
     /* Client::readdir also sets errno to signal errors. */
@@ -381,14 +381,14 @@ extern "C" struct dirent * ceph_readdir(struct ceph_mount_info *cmount, struct c
   return cmount->get_client()->readdir((dir_result_t*)dirp);
 }
 
-extern "C" int ceph_readdir_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de)
+extern "C" int ceph_readdir_r(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, struct dirent *de)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->readdir_r((dir_result_t*)dirp, de);
 }
 
-extern "C" int ceph_readdirplus_r(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
+extern "C" int ceph_readdirplus_r(class ceph_mount_info *cmount, struct ceph_dir_result *dirp,
 				  struct dirent *de, struct stat *st, int *stmask)
 {
   if (!cmount->is_mounted())
@@ -396,7 +396,7 @@ extern "C" int ceph_readdirplus_r(struct ceph_mount_info *cmount, struct ceph_di
   return cmount->get_client()->readdirplus_r((dir_result_t*)dirp, de, st, stmask);
 }
 
-extern "C" int ceph_getdents(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
+extern "C" int ceph_getdents(class ceph_mount_info *cmount, struct ceph_dir_result *dirp,
 			     char *buf, int buflen)
 {
   if (!cmount->is_mounted())
@@ -404,7 +404,7 @@ extern "C" int ceph_getdents(struct ceph_mount_info *cmount, struct ceph_dir_res
   return cmount->get_client()->getdents((dir_result_t*)dirp, buf, buflen);
 }
 
-extern "C" int ceph_getdnames(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp,
+extern "C" int ceph_getdnames(class ceph_mount_info *cmount, struct ceph_dir_result *dirp,
 			      char *buf, int buflen)
 {
   if (!cmount->is_mounted())
@@ -412,28 +412,28 @@ extern "C" int ceph_getdnames(struct ceph_mount_info *cmount, struct ceph_dir_re
   return cmount->get_client()->getdnames((dir_result_t*)dirp, buf, buflen);
 }
 
-extern "C" void ceph_rewinddir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp)
+extern "C" void ceph_rewinddir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp)
 {
   if (!cmount->is_mounted())
     return;
   cmount->get_client()->rewinddir((dir_result_t*)dirp);
 }
 
-extern "C" loff_t ceph_telldir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp)
+extern "C" loff_t ceph_telldir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->telldir((dir_result_t*)dirp);
 }
 
-extern "C" void ceph_seekdir(struct ceph_mount_info *cmount, struct ceph_dir_result *dirp, loff_t offset)
+extern "C" void ceph_seekdir(class ceph_mount_info *cmount, struct ceph_dir_result *dirp, loff_t offset)
 {
   if (!cmount->is_mounted())
     return;
   cmount->get_client()->seekdir((dir_result_t*)dirp, offset);
 }
 
-extern "C" int ceph_link (struct ceph_mount_info *cmount, const char *existing,
+extern "C" int ceph_link (class ceph_mount_info *cmount, const char *existing,
 			  const char *newname)
 {
   if (!cmount->is_mounted())
@@ -441,14 +441,14 @@ extern "C" int ceph_link (struct ceph_mount_info *cmount, const char *existing,
   return cmount->get_client()->link(existing, newname);
 }
 
-extern "C" int ceph_unlink(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_unlink(class ceph_mount_info *cmount, const char *path)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->unlink(path);
 }
 
-extern "C" int ceph_rename(struct ceph_mount_info *cmount, const char *from,
+extern "C" int ceph_rename(class ceph_mount_info *cmount, const char *from,
 			   const char *to)
 {
   if (!cmount->is_mounted())
@@ -457,21 +457,21 @@ extern "C" int ceph_rename(struct ceph_mount_info *cmount, const char *from,
 }
 
 // dirs
-extern "C" int ceph_mkdir(struct ceph_mount_info *cmount, const char *path, mode_t mode)
+extern "C" int ceph_mkdir(class ceph_mount_info *cmount, const char *path, mode_t mode)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->mkdir(path, mode);
 }
 
-extern "C" int ceph_mkdirs(struct ceph_mount_info *cmount, const char *path, mode_t mode)
+extern "C" int ceph_mkdirs(class ceph_mount_info *cmount, const char *path, mode_t mode)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->mkdirs(path, mode);
 }
 
-extern "C" int ceph_rmdir(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_rmdir(class ceph_mount_info *cmount, const char *path)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -479,7 +479,7 @@ extern "C" int ceph_rmdir(struct ceph_mount_info *cmount, const char *path)
 }
 
 // symlinks
-extern "C" int ceph_readlink(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_readlink(class ceph_mount_info *cmount, const char *path,
 			     char *buf, loff_t size)
 {
   if (!cmount->is_mounted())
@@ -487,7 +487,7 @@ extern "C" int ceph_readlink(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->readlink(path, buf, size);
 }
 
-extern "C" int ceph_symlink(struct ceph_mount_info *cmount, const char *existing,
+extern "C" int ceph_symlink(class ceph_mount_info *cmount, const char *existing,
 			    const char *newname)
 {
   if (!cmount->is_mounted())
@@ -496,7 +496,7 @@ extern "C" int ceph_symlink(struct ceph_mount_info *cmount, const char *existing
 }
 
 // inode stuff
-extern "C" int ceph_stat(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_stat(class ceph_mount_info *cmount, const char *path,
 			 struct stat *stbuf)
 {
   if (!cmount->is_mounted())
@@ -504,7 +504,7 @@ extern "C" int ceph_stat(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->stat(path, stbuf);
 }
 
-extern "C" int ceph_lstat(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_lstat(class ceph_mount_info *cmount, const char *path,
 			  struct stat *stbuf)
 {
   if (!cmount->is_mounted())
@@ -512,7 +512,7 @@ extern "C" int ceph_lstat(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->lstat(path, stbuf);
 }
 
-extern "C" int ceph_setattr(struct ceph_mount_info *cmount, const char *relpath,
+extern "C" int ceph_setattr(class ceph_mount_info *cmount, const char *relpath,
 			    struct stat *attr, int mask)
 {
   if (!cmount->is_mounted())
@@ -521,56 +521,56 @@ extern "C" int ceph_setattr(struct ceph_mount_info *cmount, const char *relpath,
 }
 
 // *xattr() calls supporting samba/vfs
-extern "C" int ceph_getxattr(struct ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size)
+extern "C" int ceph_getxattr(class ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->getxattr(path, name, value, size);
 }
 
-extern "C" int ceph_lgetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size)
+extern "C" int ceph_lgetxattr(class ceph_mount_info *cmount, const char *path, const char *name, void *value, size_t size)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->lgetxattr(path, name, value, size);
 }
 
-extern "C" int ceph_listxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size)
+extern "C" int ceph_listxattr(class ceph_mount_info *cmount, const char *path, char *list, size_t size)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->listxattr(path, list, size);
 }
 
-extern "C" int ceph_llistxattr(struct ceph_mount_info *cmount, const char *path, char *list, size_t size)
+extern "C" int ceph_llistxattr(class ceph_mount_info *cmount, const char *path, char *list, size_t size)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->llistxattr(path, list, size);
 }
 
-extern "C" int ceph_removexattr(struct ceph_mount_info *cmount, const char *path, const char *name)
+extern "C" int ceph_removexattr(class ceph_mount_info *cmount, const char *path, const char *name)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->removexattr(path, name);
 }
 
-extern "C" int ceph_lremovexattr(struct ceph_mount_info *cmount, const char *path, const char *name)
+extern "C" int ceph_lremovexattr(class ceph_mount_info *cmount, const char *path, const char *name)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->lremovexattr(path, name);
 }
 
-extern "C" int ceph_setxattr(struct ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags)
+extern "C" int ceph_setxattr(class ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->setxattr(path, name, value, size, flags);
 }
 
-extern "C" int ceph_lsetxattr(struct ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags)
+extern "C" int ceph_lsetxattr(class ceph_mount_info *cmount, const char *path, const char *name, const void *value, size_t size, int flags)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -578,33 +578,33 @@ extern "C" int ceph_lsetxattr(struct ceph_mount_info *cmount, const char *path,
 }
 /* end xattr support */
 
-extern "C" int ceph_chmod(struct ceph_mount_info *cmount, const char *path, mode_t mode)
+extern "C" int ceph_chmod(class ceph_mount_info *cmount, const char *path, mode_t mode)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->chmod(path, mode);
 }
-extern "C" int ceph_fchmod(struct ceph_mount_info *cmount, int fd, mode_t mode)
+extern "C" int ceph_fchmod(class ceph_mount_info *cmount, int fd, mode_t mode)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->fchmod(fd, mode);
 }
-extern "C" int ceph_chown(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_chown(class ceph_mount_info *cmount, const char *path,
 			  int uid, int gid)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->chown(path, uid, gid);
 }
-extern "C" int ceph_fchown(struct ceph_mount_info *cmount, int fd,
+extern "C" int ceph_fchown(class ceph_mount_info *cmount, int fd,
 			   int uid, int gid)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->fchown(fd, uid, gid);
 }
-extern "C" int ceph_lchown(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_lchown(class ceph_mount_info *cmount, const char *path,
 			   int uid, int gid)
 {
   if (!cmount->is_mounted())
@@ -613,7 +613,7 @@ extern "C" int ceph_lchown(struct ceph_mount_info *cmount, const char *path,
 }
 
 
-extern "C" int ceph_utime(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_utime(class ceph_mount_info *cmount, const char *path,
 			  struct utimbuf *buf)
 {
   if (!cmount->is_mounted())
@@ -621,7 +621,7 @@ extern "C" int ceph_utime(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->utime(path, buf);
 }
 
-extern "C" int ceph_truncate(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_truncate(class ceph_mount_info *cmount, const char *path,
 			     loff_t size)
 {
   if (!cmount->is_mounted())
@@ -630,7 +630,7 @@ extern "C" int ceph_truncate(struct ceph_mount_info *cmount, const char *path,
 }
 
 // file ops
-extern "C" int ceph_mknod(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_mknod(class ceph_mount_info *cmount, const char *path,
 			  mode_t mode, dev_t rdev)
 {
   if (!cmount->is_mounted())
@@ -638,7 +638,7 @@ extern "C" int ceph_mknod(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->mknod(path, mode, rdev);
 }
 
-extern "C" int ceph_open(struct ceph_mount_info *cmount, const char *path,
+extern "C" int ceph_open(class ceph_mount_info *cmount, const char *path,
 			 int flags, mode_t mode)
 {
   if (!cmount->is_mounted())
@@ -646,7 +646,7 @@ extern "C" int ceph_open(struct ceph_mount_info *cmount, const char *path,
   return cmount->get_client()->open(path, flags, mode);
 }
 
-extern "C" int ceph_open_layout(struct ceph_mount_info *cmount, const char *path, int flags,
+extern "C" int ceph_open_layout(class ceph_mount_info *cmount, const char *path, int flags,
     mode_t mode, int stripe_unit, int stripe_count, int object_size, const char *data_pool)
 {
   if (!cmount->is_mounted())
@@ -655,14 +655,14 @@ extern "C" int ceph_open_layout(struct ceph_mount_info *cmount, const char *path
       stripe_count, object_size, data_pool);
 }
 
-extern "C" int ceph_close(struct ceph_mount_info *cmount, int fd)
+extern "C" int ceph_close(class ceph_mount_info *cmount, int fd)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->close(fd);
 }
 
-extern "C" loff_t ceph_lseek(struct ceph_mount_info *cmount, int fd,
+extern "C" loff_t ceph_lseek(class ceph_mount_info *cmount, int fd,
 			     loff_t offset, int whence)
 {
   if (!cmount->is_mounted())
@@ -670,7 +670,7 @@ extern "C" loff_t ceph_lseek(struct ceph_mount_info *cmount, int fd,
   return cmount->get_client()->lseek(fd, offset, whence);
 }
 
-extern "C" int ceph_read(struct ceph_mount_info *cmount, int fd, char *buf,
+extern "C" int ceph_read(class ceph_mount_info *cmount, int fd, char *buf,
 			 loff_t size, loff_t offset)
 {
   if (!cmount->is_mounted())
@@ -678,7 +678,7 @@ extern "C" int ceph_read(struct ceph_mount_info *cmount, int fd, char *buf,
   return cmount->get_client()->read(fd, buf, size, offset);
 }
 
-extern "C" int ceph_write(struct ceph_mount_info *cmount, int fd, const char *buf,
+extern "C" int ceph_write(class ceph_mount_info *cmount, int fd, const char *buf,
 			  loff_t size, loff_t offset)
 {
   if (!cmount->is_mounted())
@@ -686,28 +686,36 @@ extern "C" int ceph_write(struct ceph_mount_info *cmount, int fd, const char *bu
   return cmount->get_client()->write(fd, buf, size, offset);
 }
 
-extern "C" int ceph_ftruncate(struct ceph_mount_info *cmount, int fd, loff_t size)
+extern "C" int ceph_ftruncate(class ceph_mount_info *cmount, int fd, loff_t size)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->ftruncate(fd, size);
 }
 
-extern "C" int ceph_fsync(struct ceph_mount_info *cmount, int fd, int syncdataonly)
+extern "C" int ceph_fsync(class ceph_mount_info *cmount, int fd, int syncdataonly)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->fsync(fd, syncdataonly);
 }
 
-extern "C" int ceph_fstat(struct ceph_mount_info *cmount, int fd, struct stat *stbuf)
+extern "C" int ceph_fallocate(class ceph_mount_info *cmount, int fd, int mode,
+	                      loff_t offset, loff_t length)
+{
+  if (!cmount->is_mounted())
+    return -ENOTCONN;
+  return cmount->get_client()->fallocate(fd, mode, offset, length);
+}
+
+extern "C" int ceph_fstat(class ceph_mount_info *cmount, int fd, struct stat *stbuf)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->fstat(fd, stbuf);
 }
 
-extern "C" int ceph_sync_fs(struct ceph_mount_info *cmount)
+extern "C" int ceph_sync_fs(class ceph_mount_info *cmount)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -715,7 +723,7 @@ extern "C" int ceph_sync_fs(struct ceph_mount_info *cmount)
 }
 
 
-extern "C" int ceph_get_file_stripe_unit(struct ceph_mount_info *cmount, int fh)
+extern "C" int ceph_get_file_stripe_unit(class ceph_mount_info *cmount, int fh)
 {
   struct ceph_file_layout l;
   int r;
@@ -728,7 +736,7 @@ extern "C" int ceph_get_file_stripe_unit(struct ceph_mount_info *cmount, int fh)
   return l.fl_stripe_unit;
 }
 
-extern "C" int ceph_get_path_stripe_unit(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_get_path_stripe_unit(class ceph_mount_info *cmount, const char *path)
 {
   struct ceph_file_layout l;
   int r;
@@ -741,7 +749,7 @@ extern "C" int ceph_get_path_stripe_unit(struct ceph_mount_info *cmount, const c
   return l.fl_stripe_unit;
 }
 
-extern "C" int ceph_get_file_stripe_count(struct ceph_mount_info *cmount, int fh)
+extern "C" int ceph_get_file_stripe_count(class ceph_mount_info *cmount, int fh)
 {
   struct ceph_file_layout l;
   int r;
@@ -754,7 +762,7 @@ extern "C" int ceph_get_file_stripe_count(struct ceph_mount_info *cmount, int fh
   return l.fl_stripe_count;
 }
 
-extern "C" int ceph_get_path_stripe_count(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_get_path_stripe_count(class ceph_mount_info *cmount, const char *path)
 {
   struct ceph_file_layout l;
   int r;
@@ -767,7 +775,7 @@ extern "C" int ceph_get_path_stripe_count(struct ceph_mount_info *cmount, const
   return l.fl_stripe_count;
 }
 
-extern "C" int ceph_get_file_object_size(struct ceph_mount_info *cmount, int fh)
+extern "C" int ceph_get_file_object_size(class ceph_mount_info *cmount, int fh)
 {
   struct ceph_file_layout l;
   int r;
@@ -780,7 +788,7 @@ extern "C" int ceph_get_file_object_size(struct ceph_mount_info *cmount, int fh)
   return l.fl_object_size;
 }
 
-extern "C" int ceph_get_path_object_size(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_get_path_object_size(class ceph_mount_info *cmount, const char *path)
 {
   struct ceph_file_layout l;
   int r;
@@ -793,7 +801,7 @@ extern "C" int ceph_get_path_object_size(struct ceph_mount_info *cmount, const c
   return l.fl_object_size;
 }
 
-extern "C" int ceph_get_file_pool(struct ceph_mount_info *cmount, int fh)
+extern "C" int ceph_get_file_pool(class ceph_mount_info *cmount, int fh)
 {
   struct ceph_file_layout l;
   int r;
@@ -806,7 +814,7 @@ extern "C" int ceph_get_file_pool(struct ceph_mount_info *cmount, int fh)
   return l.fl_pg_pool;
 }
 
-extern "C" int ceph_get_path_pool(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_get_path_pool(class ceph_mount_info *cmount, const char *path)
 {
   struct ceph_file_layout l;
   int r;
@@ -819,7 +827,7 @@ extern "C" int ceph_get_path_pool(struct ceph_mount_info *cmount, const char *pa
   return l.fl_pg_pool;
 }
 
-extern "C" int ceph_get_file_pool_name(struct ceph_mount_info *cmount, int fh, char *buf, size_t len)
+extern "C" int ceph_get_file_pool_name(class ceph_mount_info *cmount, int fh, char *buf, size_t len)
 {
   struct ceph_file_layout l;
   int r;
@@ -838,7 +846,7 @@ extern "C" int ceph_get_file_pool_name(struct ceph_mount_info *cmount, int fh, c
   return name.length();
 }
 
-extern "C" int ceph_get_pool_name(struct ceph_mount_info *cmount, int pool, char *buf, size_t len)
+extern "C" int ceph_get_pool_name(class ceph_mount_info *cmount, int pool, char *buf, size_t len)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -851,7 +859,7 @@ extern "C" int ceph_get_pool_name(struct ceph_mount_info *cmount, int pool, char
   return name.length();
 }
 
-extern "C" int ceph_get_path_pool_name(struct ceph_mount_info *cmount, const char *path, char *buf, size_t len)
+extern "C" int ceph_get_path_pool_name(class ceph_mount_info *cmount, const char *path, char *buf, size_t len)
 {
   struct ceph_file_layout l;
   int r;
@@ -870,7 +878,7 @@ extern "C" int ceph_get_path_pool_name(struct ceph_mount_info *cmount, const cha
   return name.length();
 }
 
-extern "C" int ceph_get_file_layout(struct ceph_mount_info *cmount, int fh, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool)
+extern "C" int ceph_get_file_layout(class ceph_mount_info *cmount, int fh, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool)
 {
   struct ceph_file_layout l;
   int r;
@@ -891,7 +899,7 @@ extern "C" int ceph_get_file_layout(struct ceph_mount_info *cmount, int fh, int
   return 0;
 }
 
-extern "C" int ceph_get_path_layout(struct ceph_mount_info *cmount, const char *path, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool)
+extern "C" int ceph_get_path_layout(class ceph_mount_info *cmount, const char *path, int *stripe_unit, int *stripe_count, int *object_size, int *pg_pool)
 {
   struct ceph_file_layout l;
   int r;
@@ -912,7 +920,7 @@ extern "C" int ceph_get_path_layout(struct ceph_mount_info *cmount, const char *
   return 0;
 }
 
-extern "C" int ceph_get_file_replication(struct ceph_mount_info *cmount, int fh)
+extern "C" int ceph_get_file_replication(class ceph_mount_info *cmount, int fh)
 {
   struct ceph_file_layout l;
   int r;
@@ -926,7 +934,7 @@ extern "C" int ceph_get_file_replication(struct ceph_mount_info *cmount, int fh)
   return rep;
 }
 
-extern "C" int ceph_get_path_replication(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_get_path_replication(class ceph_mount_info *cmount, const char *path)
 {
   struct ceph_file_layout l;
   int r;
@@ -940,40 +948,40 @@ extern "C" int ceph_get_path_replication(struct ceph_mount_info *cmount, const c
   return rep;
 }
 
-extern "C" int ceph_set_default_file_stripe_unit(struct ceph_mount_info *cmount,
+extern "C" int ceph_set_default_file_stripe_unit(class ceph_mount_info *cmount,
 						 int stripe)
 {
   // this option no longer exists
   return -EOPNOTSUPP;
 }
 
-extern "C" int ceph_set_default_file_stripe_count(struct ceph_mount_info *cmount,
+extern "C" int ceph_set_default_file_stripe_count(class ceph_mount_info *cmount,
 						  int count)
 {
   // this option no longer exists
   return -EOPNOTSUPP;
 }
 
-extern "C" int ceph_set_default_object_size(struct ceph_mount_info *cmount, int size)
+extern "C" int ceph_set_default_object_size(class ceph_mount_info *cmount, int size)
 {
   // this option no longer exists
   return -EOPNOTSUPP;
 }
 
-extern "C" int ceph_set_default_file_replication(struct ceph_mount_info *cmount,
+extern "C" int ceph_set_default_file_replication(class ceph_mount_info *cmount,
 						 int replication)
 {
   // this option no longer exists
   return -EOPNOTSUPP;
 }
 
-extern "C" int ceph_set_default_preferred_pg(struct ceph_mount_info *cmount, int osd)
+extern "C" int ceph_set_default_preferred_pg(class ceph_mount_info *cmount, int osd)
 {
   // this option no longer exists
   return -EOPNOTSUPP;
 }
 
-extern "C" int ceph_get_file_extent_osds(struct ceph_mount_info *cmount, int fh,
+extern "C" int ceph_get_file_extent_osds(class ceph_mount_info *cmount, int fh,
     loff_t offset, loff_t *length, int *osds, int nosds)
 {
   if (nosds < 0)
@@ -999,7 +1007,7 @@ extern "C" int ceph_get_file_extent_osds(struct ceph_mount_info *cmount, int fh,
   return vosds.size();
 }
 
-extern "C" int ceph_get_osd_crush_location(struct ceph_mount_info *cmount,
+extern "C" int ceph_get_osd_crush_location(class ceph_mount_info *cmount,
     int osd, char *path, size_t len)
 {
   if (!cmount->is_mounted())
@@ -1037,7 +1045,7 @@ extern "C" int ceph_get_osd_crush_location(struct ceph_mount_info *cmount,
   return needed;
 }
 
-extern "C" int ceph_get_osd_addr(struct ceph_mount_info *cmount, int osd,
+extern "C" int ceph_get_osd_addr(class ceph_mount_info *cmount, int osd,
     struct sockaddr_storage *addr)
 {
   if (!cmount->is_mounted())
@@ -1056,7 +1064,7 @@ extern "C" int ceph_get_osd_addr(struct ceph_mount_info *cmount, int osd,
   return 0;
 }
 
-extern "C" int ceph_get_file_stripe_address(struct ceph_mount_info *cmount, int fh,
+extern "C" int ceph_get_file_stripe_address(class ceph_mount_info *cmount, int fh,
 					    loff_t offset, struct sockaddr_storage *addr, int naddr)
 {
   vector<entity_addr_t> address;
@@ -1083,7 +1091,7 @@ extern "C" int ceph_get_file_stripe_address(struct ceph_mount_info *cmount, int
   return address.size();
 }
 
-extern "C" int ceph_localize_reads(struct ceph_mount_info *cmount, int val)
+extern "C" int ceph_localize_reads(class ceph_mount_info *cmount, int val)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -1094,33 +1102,33 @@ extern "C" int ceph_localize_reads(struct ceph_mount_info *cmount, int val)
   return 0;
 }
 
-extern "C" CephContext *ceph_get_mount_context(struct ceph_mount_info *cmount)
+extern "C" CephContext *ceph_get_mount_context(class ceph_mount_info *cmount)
 {
   return cmount->get_ceph_context();
 }
 
-extern "C" int ceph_debug_get_fd_caps(struct ceph_mount_info *cmount, int fd)
+extern "C" int ceph_debug_get_fd_caps(class ceph_mount_info *cmount, int fd)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->get_caps_issued(fd);
 }
 
-extern "C" int ceph_debug_get_file_caps(struct ceph_mount_info *cmount, const char *path)
+extern "C" int ceph_debug_get_file_caps(class ceph_mount_info *cmount, const char *path)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return cmount->get_client()->get_caps_issued(path);
 }
 
-extern "C" int ceph_get_stripe_unit_granularity(struct ceph_mount_info *cmount)
+extern "C" int ceph_get_stripe_unit_granularity(class ceph_mount_info *cmount)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
   return CEPH_MIN_STRIPE_UNIT;
 }
 
-extern "C" int ceph_get_pool_id(struct ceph_mount_info *cmount, const char *pool_name)
+extern "C" int ceph_get_pool_id(class ceph_mount_info *cmount, const char *pool_name)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
@@ -1137,7 +1145,7 @@ extern "C" int ceph_get_pool_id(struct ceph_mount_info *cmount, const char *pool
   return (int)pool_id;
 }
 
-extern "C" int ceph_get_pool_replication(struct ceph_mount_info *cmount, int pool_id)
+extern "C" int ceph_get_pool_replication(class ceph_mount_info *cmount, int pool_id)
 {
   if (!cmount->is_mounted())
     return -ENOTCONN;
diff --git a/src/librados-config.cc b/src/librados-config.cc
index a0a064f..ffe7581 100644
--- a/src/librados-config.cc
+++ b/src/librados-config.cc
@@ -42,7 +42,8 @@ int main(int argc, const char **argv)
   bool opt_version = false;
   bool opt_vernum = false;
 
-  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY,
+	      CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
   common_init_finish(g_ceph_context);
 
   for (std::vector<const char*>::iterator i = args.begin();
diff --git a/src/librados/AioCompletionImpl.h b/src/librados/AioCompletionImpl.h
index cf049e0..63a56db 100644
--- a/src/librados/AioCompletionImpl.h
+++ b/src/librados/AioCompletionImpl.h
@@ -32,10 +32,10 @@ struct librados::AioCompletionImpl {
   int ref, rval;
   bool released;
   bool ack, safe;
-  eversion_t objver;
+  version_t objver;
 
   rados_callback_t callback_complete, callback_safe;
-  void *callback_arg;
+  void *callback_complete_arg, *callback_safe_arg;
 
   // for read
   bool is_read;
@@ -49,21 +49,25 @@ struct librados::AioCompletionImpl {
 
   AioCompletionImpl() : lock("AioCompletionImpl lock", false, false),
 			ref(1), rval(0), released(false), ack(false), safe(false),
-			callback_complete(0), callback_safe(0), callback_arg(0),
+			objver(0),
+			callback_complete(0),
+			callback_safe(0),
+			callback_complete_arg(0),
+			callback_safe_arg(0),
 			is_read(false), pbl(0), buf(0), maxlen(0),
 			io(NULL), aio_write_seq(0), aio_write_list_item(this) { }
 
   int set_complete_callback(void *cb_arg, rados_callback_t cb) {
     lock.Lock();
     callback_complete = cb;
-    callback_arg = cb_arg;
+    callback_complete_arg = cb_arg;
     lock.Unlock();
     return 0;
   }
   int set_safe_callback(void *cb_arg, rados_callback_t cb) {
     lock.Lock();
     callback_safe = cb;
-    callback_arg = cb_arg;
+    callback_safe_arg = cb_arg;
     lock.Unlock();
     return 0;
   }
@@ -127,9 +131,9 @@ struct librados::AioCompletionImpl {
   }
   uint64_t get_version() {
     lock.Lock();
-    eversion_t v = objver;
+    version_t v = objver;
     lock.Unlock();
-    return v.version;
+    return v;
   }
 
   void get() {
@@ -171,7 +175,7 @@ struct C_AioComplete : public Context {
 
   void finish(int r) {
     rados_callback_t cb = c->callback_complete;
-    void *cb_arg = c->callback_arg;
+    void *cb_arg = c->callback_complete_arg;
     cb(c, cb_arg);
 
     c->lock.Lock();
@@ -190,7 +194,7 @@ struct C_AioSafe : public Context {
 
   void finish(int r) {
     rados_callback_t cb = c->callback_safe;
-    void *cb_arg = c->callback_arg;
+    void *cb_arg = c->callback_safe_arg;
     cb(c, cb_arg);
 
     c->lock.Lock();
@@ -222,13 +226,14 @@ struct C_AioCompleteAndSafe : public Context {
     c->safe = true;
     c->lock.Unlock();
     rados_callback_t cb_complete = c->callback_complete;
-    void *cb_arg = c->callback_arg;
+    void *cb_complete_arg = c->callback_complete_arg;
     if (cb_complete)
-      cb_complete(c, cb_arg);
+      cb_complete(c, cb_complete_arg);
 
     rados_callback_t cb_safe = c->callback_safe;
+    void *cb_safe_arg = c->callback_safe_arg;
     if (cb_safe)
-      cb_safe(c, cb_arg);
+      cb_safe(c, cb_safe_arg);
 
     c->lock.Lock();
     c->callback_complete = NULL;
diff --git a/src/librados/IoCtxImpl.cc b/src/librados/IoCtxImpl.cc
index ce9743a..aaa9873 100644
--- a/src/librados/IoCtxImpl.cc
+++ b/src/librados/IoCtxImpl.cc
@@ -502,16 +502,16 @@ int librados::IoCtxImpl::operate(const object_t& oid, ::ObjectOperation *o,
   Cond cond;
   bool done;
   int r;
-  eversion_t ver;
+  version_t ver;
 
-  Context *onack = new C_SafeCond(&mylock, &cond, &done, &r);
+  Context *oncommit = new C_SafeCond(&mylock, &cond, &done, &r);
 
   int op = o->ops[0].op.op;
   ldout(client->cct, 10) << ceph_osd_op_name(op) << " oid=" << oid << " nspace=" << oloc.nspace << dendl;
   lock->Lock();
   objecter->mutate(oid, oloc,
 	           *o, snapc, ut, 0,
-	           onack, NULL, &ver);
+	           NULL, oncommit, &ver);
   lock->Unlock();
 
   mylock.Lock();
@@ -536,7 +536,7 @@ int librados::IoCtxImpl::operate_read(const object_t& oid,
   Cond cond;
   bool done;
   int r;
-  eversion_t ver;
+  version_t ver;
 
   Context *onack = new C_SafeCond(&mylock, &cond, &done, &r);
 
@@ -609,7 +609,6 @@ int librados::IoCtxImpl::aio_read(const object_t oid, AioCompletionImpl *c,
     return -EDOM;
 
   Context *onack = new C_aio_Ack(c);
-  eversion_t ver;
 
   c->is_read = true;
   c->io = this;
@@ -1002,7 +1001,7 @@ int librados::IoCtxImpl::getxattrs(const object_t& oid,
   return r;
 }
 
-void librados::IoCtxImpl::set_sync_op_version(eversion_t& ver)
+void librados::IoCtxImpl::set_sync_op_version(version_t ver)
 {
   last_objver = ver;
 }
@@ -1016,7 +1015,7 @@ int librados::IoCtxImpl::watch(const object_t& oid, uint64_t ver,
   bool done;
   int r;
   Context *onfinish = new C_SafeCond(&mylock, &cond, &done, &r);
-  eversion_t objver;
+  version_t objver;
 
   lock->Lock();
 
@@ -1071,7 +1070,7 @@ int librados::IoCtxImpl::unwatch(const object_t& oid, uint64_t cookie)
   bool done;
   int r;
   Context *oncommit = new C_SafeCond(&mylock, &cond, &done, &r);
-  eversion_t ver;
+  version_t ver;
   lock->Lock();
 
   client->unregister_watcher(cookie);
@@ -1102,7 +1101,7 @@ int librados::IoCtxImpl::notify(const object_t& oid, uint64_t ver, bufferlist& b
   bool done, done_all;
   int r;
   Context *onack = new C_SafeCond(&mylock, &cond, &done, &r);
-  eversion_t objver;
+  version_t objver;
   uint64_t cookie;
   C_NotifyComplete *ctx = new C_NotifyComplete(&mylock_all, &cond_all, &done_all);
 
@@ -1144,7 +1143,7 @@ int librados::IoCtxImpl::notify(const object_t& oid, uint64_t ver, bufferlist& b
   return r;
 }
 
-eversion_t librados::IoCtxImpl::last_version()
+version_t librados::IoCtxImpl::last_version()
 {
   return last_objver;
 }
diff --git a/src/librados/IoCtxImpl.h b/src/librados/IoCtxImpl.h
index 74ca1d0..ccecd4e 100644
--- a/src/librados/IoCtxImpl.h
+++ b/src/librados/IoCtxImpl.h
@@ -37,7 +37,7 @@ struct librados::IoCtxImpl {
   ::SnapContext snapc;
   uint64_t assert_ver;
   map<object_t, uint64_t> assert_src_version;
-  eversion_t last_objver;
+  version_t last_objver;
   uint32_t notify_timeout;
   object_locator_t oloc;
 
@@ -183,7 +183,7 @@ struct librados::IoCtxImpl {
   int pool_change_auid(unsigned long long auid);
   int pool_change_auid_async(unsigned long long auid, PoolAsyncCompletionImpl *c);
 
-  void set_sync_op_version(eversion_t& ver);
+  void set_sync_op_version(version_t ver);
   int watch(const object_t& oid, uint64_t ver, uint64_t *cookie, librados::WatchCtx *ctx);
   int unwatch(const object_t& oid, uint64_t cookie);
   int notify(const object_t& oid, uint64_t ver, bufferlist& bl);
@@ -191,7 +191,7 @@ struct librados::IoCtxImpl {
     const object_t& oid, uint64_t notify_id, uint64_t ver,
     uint64_t cookie);
 
-  eversion_t last_version();
+  version_t last_version();
   void set_assert_version(uint64_t ver);
   void set_assert_src_version(const object_t& oid, uint64_t ver);
   void set_notify_timeout(uint32_t timeout);
diff --git a/src/librados/Makefile.am b/src/librados/Makefile.am
new file mode 100644
index 0000000..570aa91
--- /dev/null
+++ b/src/librados/Makefile.am
@@ -0,0 +1,20 @@
+librados_la_SOURCES = \
+	librados/librados.cc \
+	librados/RadosClient.cc \
+	librados/IoCtxImpl.cc \
+	librados/snap_set_diff.cc
+
+# We need this to avoid basename conflicts with the librados build tests in test/Makefile.am
+librados_la_CFLAGS = ${AM_CFLAGS}
+
+LIBRADOS_DEPS += libcls_lock_client.la $(LIBOSDC) $(LIBCOMMON)
+librados_la_LIBADD = $(LIBRADOS_DEPS) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^rados_.*'
+lib_LTLIBRARIES += librados.la
+
+noinst_HEADERS += \
+	librados/snap_set_diff.h \
+	librados/AioCompletionImpl.h \
+	librados/IoCtxImpl.h \
+	librados/PoolAsyncCompletionImpl.h \
+	librados/RadosClient.h
diff --git a/src/librados/PoolAsyncCompletionImpl.h b/src/librados/PoolAsyncCompletionImpl.h
index efb8964..443b2c2 100644
--- a/src/librados/PoolAsyncCompletionImpl.h
+++ b/src/librados/PoolAsyncCompletionImpl.h
@@ -94,6 +94,9 @@ namespace librados {
     C_PoolAsync_Safe(PoolAsyncCompletionImpl *_c) : c(_c) {
       c->get();
     }
+    ~C_PoolAsync_Safe() {
+      c->put();
+    }
   
     void finish(int r) {
       c->lock.Lock();
@@ -109,7 +112,7 @@ namespace librados {
 	c->lock.Lock();
       }
 
-      c->put_unlock();
+      c->lock.Unlock();
     }
   };
 }
diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc
index 8a5f499..d6700c8 100644
--- a/src/librados/RadosClient.cc
+++ b/src/librados/RadosClient.cc
@@ -131,6 +131,26 @@ int librados::RadosClient::get_fsid(std::string *s)
   return 0;
 }
 
+int librados::RadosClient::ping_monitor(const string mon_id, string *result)
+{
+  int err = 0;
+  /* If we haven't yet connected, we have no way of telling whether we
+   * already built monc's initial monmap.  IF we are in CONNECTED state,
+   * then it is safe to assume that we went through connect(), which does
+   * build a monmap.
+   */
+  if (state != CONNECTED) {
+    ldout(cct, 10) << __func__ << " build monmap" << dendl;
+    err = monclient.build_initial_monmap();
+  }
+  if (err < 0) {
+    return err;
+  }
+
+  err = monclient.ping_monitor(mon_id, result);
+  return err;
+}
+
 int librados::RadosClient::connect()
 {
   common_init_finish(cct);
@@ -459,7 +479,6 @@ int librados::RadosClient::pool_create_async(string& name, PoolAsyncCompletionIm
   Context *onfinish = new C_PoolAsync_Safe(c);
   int r = objecter->create_pool(name, onfinish, auid, crush_rule);
   if (r < 0) {
-    delete c;
     delete onfinish;
   }
   return r;
@@ -505,7 +524,6 @@ int librados::RadosClient::pool_delete_async(const char *name, PoolAsyncCompleti
   Context *onfinish = new C_PoolAsync_Safe(c);
   int r = objecter->delete_pool(tmp_pool_id, onfinish);
   if (r < 0) {
-    delete c;
     delete onfinish;
   }
   return r;
diff --git a/src/librados/RadosClient.h b/src/librados/RadosClient.h
index 4f616d4..7c5c8af 100644
--- a/src/librados/RadosClient.h
+++ b/src/librados/RadosClient.h
@@ -25,9 +25,9 @@
 
 #include "IoCtxImpl.h"
 
-class AuthAuthorizer;
+struct AuthAuthorizer;
 class CephContext;
-class Connection;
+struct Connection;
 struct md_config_t;
 class Message;
 class MWatchNotify;
@@ -77,6 +77,7 @@ public:
 
   RadosClient(CephContext *cct_);
   ~RadosClient();
+  int ping_monitor(string mon_id, string *result);
   int connect();
   void shutdown();
 
diff --git a/src/librados/librados.cc b/src/librados/librados.cc
index 0a36092..95abbc2 100644
--- a/src/librados/librados.cc
+++ b/src/librados/librados.cc
@@ -269,6 +269,14 @@ void librados::ObjectReadOperation::list_snaps(
   o->list_snaps(out_snaps, prval);
 }
 
+void librados::ObjectReadOperation::is_dirty(bool *is_dirty, int *prval)
+{
+  ::ObjectOperation *o = (::ObjectOperation *)impl;
+  o->is_dirty(is_dirty, prval);
+}
+
+
+
 int librados::IoCtx::omap_get_vals(const std::string& oid,
                                    const std::string& start_after,
                                    const std::string& filter_prefix,
@@ -382,6 +390,20 @@ void librados::ObjectWriteOperation::omap_rm_keys(
   o->omap_rm_keys(to_rm);
 }
 
+void librados::ObjectWriteOperation::copy_from(const std::string& src,
+					       const IoCtx& src_ioctx,
+					       uint64_t src_version)
+{
+  ::ObjectOperation *o = (::ObjectOperation *)impl;
+  o->copy_from(object_t(src), src_ioctx.io_ctx_impl->snap_seq, src_ioctx.io_ctx_impl->oloc, src_version);
+}
+
+void librados::ObjectWriteOperation::undirty()
+{
+  ::ObjectOperation *o = (::ObjectOperation *)impl;
+  o->undirty();
+}
+
 void librados::ObjectWriteOperation::tmap_put(const bufferlist &bl)
 {
   ::ObjectOperation *o = (::ObjectOperation *)impl;
@@ -592,6 +614,12 @@ int librados::AioCompletion::AioCompletion::get_version()
   return c->get_version();
 }
 
+uint64_t librados::AioCompletion::AioCompletion::get_version64()
+{
+  AioCompletionImpl *c = (AioCompletionImpl *)pc;
+  return c->get_version();
+}
+
 void librados::AioCompletion::AioCompletion::release()
 {
   AioCompletionImpl *c = (AioCompletionImpl *)pc;
@@ -944,6 +972,8 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
     op_flags |= CEPH_OSD_FLAG_BALANCE_READS;
   if (flags & OPERATION_LOCALIZE_READS)
     op_flags |= CEPH_OSD_FLAG_LOCALIZE_READS;
+  if (flags & OPERATION_ORDER_READS_WRITES)
+    op_flags |= CEPH_OSD_FLAG_RWORDERED;
 
   return io_ctx_impl->aio_operate_read(obj, (::ObjectOperation*)o->impl, c->pc,
 				       op_flags, pbl);
@@ -1108,8 +1138,7 @@ const librados::ObjectIterator& librados::IoCtx::objects_end() const
 
 uint64_t librados::IoCtx::get_last_version()
 {
-  eversion_t ver = io_ctx_impl->last_version();
-  return ver.version;
+  return io_ctx_impl->last_version();
 }
 
 int librados::IoCtx::aio_read(const std::string& oid, librados::AioCompletion *c,
@@ -1871,6 +1900,22 @@ static void do_out_buffer(string& outbl, char **outbuf, size_t *outbuflen)
     *outbuflen = outbl.length();
 }
 
+extern "C" int rados_ping_monitor(rados_t cluster, const char *mon_id,
+                                  char **outstr, size_t *outstrlen)
+{
+  librados::RadosClient *client = (librados::RadosClient *)cluster;
+  string str;
+
+  if (!mon_id)
+    return -EINVAL;
+
+  int ret = client->ping_monitor(mon_id, &str);
+  if (ret == 0 && !str.empty() && outstr && outstrlen) {
+    do_out_buffer(str, outstr, outstrlen);
+  }
+  return ret;
+}
+
 extern "C" int rados_mon_command(rados_t cluster, const char **cmd,
 				 size_t cmdlen,
 				 const char *inbuf, size_t inbuflen,
@@ -2142,8 +2187,7 @@ extern "C" int rados_read(rados_ioctx_t io, const char *o, char *buf, size_t len
 extern "C" uint64_t rados_get_last_version(rados_ioctx_t io)
 {
   librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
-  eversion_t ver = ctx->last_version();
-  return ver.version;
+  return ctx->last_version();
 }
 
 extern "C" int rados_pool_create(rados_t cluster, const char *name)
diff --git a/src/librbd/AioRequest.h b/src/librbd/AioRequest.h
index ac74a99..cf50ee2 100644
--- a/src/librbd/AioRequest.h
+++ b/src/librbd/AioRequest.h
@@ -3,9 +3,9 @@
 #ifndef CEPH_LIBRBD_AIOREQUEST_H
 #define CEPH_LIBRBD_AIOREQUEST_H
 
-#include <map>
+#include "include/int_types.h"
 
-#include "inttypes.h"
+#include <map>
 
 #include "common/snap_types.h"
 #include "include/buffer.h"
@@ -14,8 +14,8 @@
 
 namespace librbd {
 
-  class AioCompletion;
-  class ImageCtx;
+  struct AioCompletion;
+  struct ImageCtx;
 
   /**
    * This class represents an I/O operation to a single RBD data object.
diff --git a/src/librbd/ImageCtx.h b/src/librbd/ImageCtx.h
index 29ca2f1..c9e7439 100644
--- a/src/librbd/ImageCtx.h
+++ b/src/librbd/ImageCtx.h
@@ -3,7 +3,7 @@
 #ifndef CEPH_LIBRBD_IMAGECTX_H
 #define CEPH_LIBRBD_IMAGECTX_H
 
-#include <inttypes.h>
+#include "include/int_types.h"
 
 #include <map>
 #include <set>
diff --git a/src/librbd/LibrbdWriteback.cc b/src/librbd/LibrbdWriteback.cc
index a7ab048..da02a34 100644
--- a/src/librbd/LibrbdWriteback.cc
+++ b/src/librbd/LibrbdWriteback.cc
@@ -32,8 +32,7 @@ namespace librbd {
   void context_cb(rados_completion_t c, void *arg)
   {
     Context *con = reinterpret_cast<Context *>(arg);
-    con->finish(rados_aio_get_return_value(c));
-    delete con;
+    con->complete(rados_aio_get_return_value(c));
   }
 
   /**
diff --git a/src/librbd/LibrbdWriteback.h b/src/librbd/LibrbdWriteback.h
index ba8ff1f..4f35aa4 100644
--- a/src/librbd/LibrbdWriteback.h
+++ b/src/librbd/LibrbdWriteback.h
@@ -15,7 +15,7 @@ class Mutex;
 
 namespace librbd {
 
-  class ImageCtx;
+  struct ImageCtx;
 
   class LibrbdWriteback : public WritebackHandler {
   public:
diff --git a/src/librbd/Makefile.am b/src/librbd/Makefile.am
new file mode 100644
index 0000000..d4e2455
--- /dev/null
+++ b/src/librbd/Makefile.am
@@ -0,0 +1,24 @@
+librbd_la_SOURCES = \
+	librbd/librbd.cc \
+	librbd/AioCompletion.cc \
+	librbd/AioRequest.cc \
+	librbd/ImageCtx.cc \
+	librbd/internal.cc \
+	librbd/LibrbdWriteback.cc \
+	librbd/WatchCtx.cc
+librbd_la_LIBADD = \
+	$(LIBRADOS) $(LIBOSDC) \
+	libcls_rbd_client.la libcls_lock_client.la \
+	$(PTHREAD_LIBS) $(EXTRALIBS)
+librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^rbd_.*'
+lib_LTLIBRARIES += librbd.la
+
+noinst_HEADERS += \
+	librbd/AioCompletion.h \
+	librbd/AioRequest.h \
+	librbd/ImageCtx.h \
+	librbd/internal.h \
+	librbd/LibrbdWriteback.h \
+	librbd/parent_types.h \
+	librbd/SnapInfo.h \
+	librbd/WatchCtx.h
diff --git a/src/librbd/SnapInfo.h b/src/librbd/SnapInfo.h
index 5a7852c..44dd4cf 100644
--- a/src/librbd/SnapInfo.h
+++ b/src/librbd/SnapInfo.h
@@ -3,7 +3,7 @@
 #ifndef CEPH_LIBRBD_SNAPINFO_H
 #define CEPH_LIBRBD_SNAPINFO_H
 
-#include <inttypes.h>
+#include "include/int_types.h"
 
 #include "include/rados/librados.hpp"
 
diff --git a/src/librbd/WatchCtx.h b/src/librbd/WatchCtx.h
index 0c0802a..9872c84 100644
--- a/src/librbd/WatchCtx.h
+++ b/src/librbd/WatchCtx.h
@@ -3,7 +3,7 @@
 #ifndef CEPH_LIBRBD_WATCHCTX_H
 #define CEPH_LIBRBD_WATCHCTX_H
 
-#include <inttypes.h>
+#include "include/int_types.h"
 
 #include "common/Mutex.h"
 #include "include/buffer.h"
diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc
index 1fd7942..4185f36 100644
--- a/src/librbd/internal.cc
+++ b/src/librbd/internal.cc
@@ -1,5 +1,7 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 // vim: ts=8 sw=2 smarttab
+#include "include/int_types.h"
+
 #include <errno.h>
 #include <limits.h>
 
@@ -8,7 +10,6 @@
 #include "common/errno.h"
 #include "common/Throttle.h"
 #include "cls/lock/cls_lock_client.h"
-#include "include/inttypes.h"
 #include "include/stringify.h"
 
 #include "cls/rbd/cls_rbd.h"
@@ -228,12 +229,6 @@ namespace librbd {
     return 0;
   }
 
-  uint64_t rbd_assign_bid(IoCtx& io_ctx)
-  {
-    Rados rados(io_ctx);
-    return rados.get_instance_id();
-  }
-
   int read_header_bl(IoCtx& io_ctx, const string& header_oid,
 		     bufferlist& header, uint64_t *ver)
   {
@@ -872,7 +867,8 @@ reprotect_and_return_err:
       return -EDOM;
     }
 
-    uint64_t bid = rbd_assign_bid(io_ctx);
+    Rados rados(io_ctx);
+    uint64_t bid = rados.get_instance_id();
 
     // if striping is enabled, use possibly custom defaults
     if (!old_format && (features & RBD_FEATURE_STRIPINGV2) &&
@@ -2825,7 +2821,9 @@ reprotect_and_return_err:
       return r;
 
     ictx->user_flushed();
-    return _flush(ictx);
+    r = _flush(ictx);
+    ictx->perfcounter->inc(l_librbd_flush);
+    return r;
   }
 
   int _flush(ImageCtx *ictx)
@@ -2850,7 +2848,7 @@ reprotect_and_return_err:
   {
     CephContext *cct = ictx->cct;
     ldout(cct, 20) << "aio_write " << ictx << " off = " << off << " len = "
-		   << len << " buf = " << &buf << dendl;
+		   << len << " buf = " << (void*)buf << dendl;
 
     if (!len)
       return 0;
diff --git a/src/librbd/internal.h b/src/librbd/internal.h
index 048e438..4345888 100644
--- a/src/librbd/internal.h
+++ b/src/librbd/internal.h
@@ -3,7 +3,7 @@
 #ifndef CEPH_LIBRBD_INTERNAL_H
 #define CEPH_LIBRBD_INTERNAL_H
 
-#include <inttypes.h>
+#include "include/int_types.h"
 
 #include <map>
 #include <set>
@@ -145,7 +145,6 @@ namespace librbd {
   int read_rbd_info(librados::IoCtx& io_ctx, const std::string& info_oid,
 		    struct rbd_info *info);
 
-  uint64_t rbd_assign_bid(librados::IoCtx& io_ctx);
   int read_header_bl(librados::IoCtx& io_ctx, const std::string& md_oid,
 		     ceph::bufferlist& header, uint64_t *ver);
   int notify_change(librados::IoCtx& io_ctx, const std::string& oid,
diff --git a/src/librbd/librbd.cc b/src/librbd/librbd.cc
index af413dd..cad0c5e 100644
--- a/src/librbd/librbd.cc
+++ b/src/librbd/librbd.cc
@@ -11,9 +11,9 @@
  * Foundation.	See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include <errno.h>
-#include <inttypes.h>
 
 #include "common/Cond.h"
 #include "common/dout.h"
diff --git a/src/log/Log.cc b/src/log/Log.cc
index e06afbf..afeb120 100644
--- a/src/log/Log.cc
+++ b/src/log/Log.cc
@@ -42,9 +42,6 @@ Log::Log(SubsystemMap *s)
 {
   int ret;
 
-  ret = pthread_spin_init(&m_lock, PTHREAD_PROCESS_SHARED);
-  assert(ret == 0);
-
   ret = pthread_mutex_init(&m_flush_mutex, NULL);
   assert(ret == 0);
 
@@ -73,7 +70,6 @@ Log::~Log()
   if (m_fd >= 0)
     TEMP_FAILURE_RETRY(::close(m_fd));
 
-  pthread_spin_destroy(&m_lock);
   pthread_mutex_destroy(&m_queue_mutex);
   pthread_mutex_destroy(&m_flush_mutex);
   pthread_cond_destroy(&m_cond_loggers);
diff --git a/src/log/Log.h b/src/log/Log.h
index f6a27dc..b5e16fd 100644
--- a/src/log/Log.h
+++ b/src/log/Log.h
@@ -21,7 +21,6 @@ class Log : private Thread
 
   SubsystemMap *m_subs;
   
-  pthread_spinlock_t m_lock;
   pthread_mutex_t m_queue_mutex;
   pthread_mutex_t m_flush_mutex;
   pthread_cond_t m_cond_loggers;
diff --git a/src/log/Makefile.am b/src/log/Makefile.am
new file mode 100644
index 0000000..b66e6cf
--- /dev/null
+++ b/src/log/Makefile.am
@@ -0,0 +1,11 @@
+liblog_la_SOURCES = \
+	log/Log.cc \
+	log/SubsystemMap.cc
+noinst_LTLIBRARIES += liblog.la
+
+noinst_HEADERS += \
+	log/Entry.h \
+	log/EntryQueue.h \
+	log/Log.h \
+	log/SubsystemMap.h
+
diff --git a/src/mds/AnchorClient.cc b/src/mds/AnchorClient.cc
index bcc8710..30cbfd3 100644
--- a/src/mds/AnchorClient.cc
+++ b/src/mds/AnchorClient.cc
@@ -51,8 +51,7 @@ void AnchorClient::handle_query_result(class MMDSTableRequest *m)
   for (list<_pending_lookup>::iterator q = ls.begin(); q != ls.end(); ++q) {
     *q->trace = trace;
     if (q->onfinish) {
-      q->onfinish->finish(0);
-      delete q->onfinish;
+      q->onfinish->complete(0);
     }
   }
 }
diff --git a/src/mds/CDentry.cc b/src/mds/CDentry.cc
index 5ff6e61..0576658 100644
--- a/src/mds/CDentry.cc
+++ b/src/mds/CDentry.cc
@@ -567,4 +567,14 @@ void CDentry::remove_client_lease(ClientLease *l, Locker *locker)
     locker->eval_gather(&lock);
 }
 
-
+void CDentry::_put()
+{
+  if (get_num_ref() <= (int)is_dirty() + 1) {
+    CDentry::linkage_t *dnl = get_projected_linkage();
+    if (dnl->is_primary()) {
+      CInode *in = dnl->get_inode();
+      if (get_num_ref() == (int)is_dirty() + !!in->get_num_ref())
+	in->mdcache->maybe_eval_stray(in, true);
+    }
+  }
+}
diff --git a/src/mds/CDentry.h b/src/mds/CDentry.h
index 7990b0c..e40854a 100644
--- a/src/mds/CDentry.h
+++ b/src/mds/CDentry.h
@@ -33,7 +33,7 @@ using namespace std;
 
 class CInode;
 class CDir;
-class MDRequest;
+struct MDRequest;
 
 class Message;
 class Anchor;
@@ -76,6 +76,8 @@ public:
   static const int STATE_FRAGMENTING =  (1<<1);
   static const int STATE_PURGING =      (1<<2);
   static const int STATE_BADREMOTEINO = (1<<3);
+  // stray dentry needs notification of releasing reference
+  static const int STATE_STRAY =	STATE_NOTIFYREF;
 
   // -- pins --
   static const int PIN_INODEPIN =     1;  // linked inode is pinned
@@ -146,6 +148,7 @@ protected:
 
 public:
   elist<CDentry*>::item item_dirty;
+  elist<CDentry*>::item item_stray;
 
 protected:
   int auth_pins, nested_auth_pins;
@@ -254,6 +257,7 @@ public:
   void last_put() {
     lru_unpin();
   }
+  void _put();
 
   // auth pins
   bool can_auth_pin();
diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc
index 2b991d7..2c985e4 100644
--- a/src/mds/CDir.cc
+++ b/src/mds/CDir.cc
@@ -27,7 +27,7 @@
 #include "MDLog.h"
 #include "LogSegment.h"
 
-#include "include/bloom_filter.hpp"
+#include "common/bloom_filter.hpp"
 #include "include/Context.h"
 #include "common/Clock.h"
 
@@ -655,6 +655,14 @@ void CDir::remove_null_dentries() {
   assert(get_num_any() == items.size());
 }
 
+void CDir::touch_dentries_bottom() {
+  dout(12) << "touch_dentries_bottom " << *this << dendl;
+
+  for (CDir::map_t::iterator p = items.begin();
+       p != items.end();
+       ++p)
+    inode->mdcache->touch_dentry_bottom(p->second);
+}
 
 bool CDir::try_trim_snap_dentry(CDentry *dn, const set<snapid_t>& snaps)
 {
@@ -778,8 +786,10 @@ void CDir::prepare_old_fragment(bool replay)
 
 void CDir::prepare_new_fragment(bool replay)
 {
-  if (!replay && is_auth())
+  if (!replay && is_auth()) {
     _freeze_dir();
+    mark_complete();
+  }
 }
 
 void CDir::finish_old_fragment(list<Context*>& waiters, bool replay)
@@ -848,11 +858,16 @@ void CDir::split(int bits, list<CDir*>& subs, list<Context*>& waiters, bool repl
   
   double fac = 1.0 / (double)(1 << bits);  // for scaling load vecs
 
-  nest_info_t olddiff;  // old += f - af;
-  dout(10) << "           rstat " << fnode.rstat << dendl;
-  dout(10) << " accounted_rstat " << fnode.accounted_rstat << dendl;
-  olddiff.add_delta(fnode.rstat, fnode.accounted_rstat);
-  dout(10) << "         olddiff " << olddiff << dendl;
+  dout(15) << "           rstat " << fnode.rstat << dendl;
+  dout(15) << " accounted_rstat " << fnode.accounted_rstat << dendl;
+  nest_info_t rstatdiff;
+  rstatdiff.add_delta(fnode.accounted_rstat, fnode.rstat);
+  dout(15) << "           fragstat " << fnode.fragstat << dendl;
+  dout(15) << " accounted_fragstat " << fnode.accounted_fragstat << dendl;
+  frag_info_t fragstatdiff;
+  bool touched_mtime;
+  fragstatdiff.add_delta(fnode.accounted_fragstat, fnode.fragstat, touched_mtime);
+  dout(10) << " rstatdiff " << rstatdiff << " fragstatdiff " << fragstatdiff << dendl;
 
   prepare_old_fragment(replay);
 
@@ -897,27 +912,24 @@ void CDir::split(int bits, list<CDir*>& subs, list<Context*>& waiters, bool repl
     f->steal_dentry(dn);
   }
 
+  // FIXME: handle dirty old rstat
+
   // fix up new frag fragstats
-  bool stale_fragstat = fnode.fragstat.version != fnode.accounted_fragstat.version;
-  bool stale_rstat = fnode.rstat.version != fnode.accounted_rstat.version;
   for (int i=0; i<n; i++) {
-    subfrags[i]->fnode.fragstat.version = fnode.fragstat.version;
-    subfrags[i]->fnode.accounted_fragstat = subfrags[i]->fnode.fragstat;
-    if (i == 0) {
-      if (stale_fragstat)
-	subfrags[0]->fnode.accounted_fragstat.version--;
-      if (stale_rstat)
-	subfrags[0]->fnode.accounted_rstat.version--;
-    }
-    dout(10) << "      fragstat " << subfrags[i]->fnode.fragstat << " on " << *subfrags[i] << dendl;
+    CDir *f = subfrags[i];
+    f->fnode.rstat.version = fnode.rstat.version;
+    f->fnode.accounted_rstat = f->fnode.rstat;
+    f->fnode.fragstat.version = fnode.fragstat.version;
+    f->fnode.accounted_fragstat = f->fnode.fragstat;
+    dout(10) << " rstat " << f->fnode.rstat << " fragstat " << f->fnode.fragstat
+	     << " on " << *f << dendl;
   }
 
   // give any outstanding frag stat differential to first frag
-  //   af[0] -= olddiff
-  dout(10) << "giving olddiff " << olddiff << " to " << *subfrags[0] << dendl;
-  nest_info_t zero;
-  subfrags[0]->fnode.accounted_rstat.add_delta(zero, olddiff);
-  dout(10) << "               " << subfrags[0]->fnode.accounted_fragstat << dendl;
+  dout(10) << " giving rstatdiff " << rstatdiff << " fragstatdiff" << fragstatdiff
+           << " to " << *subfrags[0] << dendl;
+  subfrags[0]->fnode.accounted_rstat.add(rstatdiff);
+  subfrags[0]->fnode.accounted_fragstat.add(fragstatdiff);
 
   finish_old_fragment(waiters, replay);
 }
@@ -928,15 +940,23 @@ void CDir::merge(list<CDir*>& subs, list<Context*>& waiters, bool replay)
 
   prepare_new_fragment(replay);
 
-  // see if _any_ of the source frags have stale fragstat or rstat
-  int stale_rstat = 0;
-  int stale_fragstat = 0;
+  nest_info_t rstatdiff;
+  frag_info_t fragstatdiff;
+  bool touched_mtime;
+  version_t rstat_version = inode->get_projected_inode()->rstat.version;
+  version_t dirstat_version = inode->get_projected_inode()->dirstat.version;
 
   for (list<CDir*>::iterator p = subs.begin(); p != subs.end(); ++p) {
     CDir *dir = *p;
     dout(10) << " subfrag " << dir->get_frag() << " " << *dir << dendl;
     assert(!dir->is_auth() || dir->is_complete() || replay);
-    
+
+    if (dir->fnode.accounted_rstat.version == rstat_version)
+      rstatdiff.add_delta(dir->fnode.accounted_rstat, dir->fnode.rstat);
+    if (dir->fnode.accounted_fragstat.version == dirstat_version)
+      fragstatdiff.add_delta(dir->fnode.accounted_fragstat, dir->fnode.fragstat,
+			     touched_mtime);
+
     dir->prepare_old_fragment(replay);
 
     // steal dentries
@@ -956,21 +976,6 @@ void CDir::merge(list<CDir*>& subs, list<Context*>& waiters, bool replay)
     if (dir->get_version() > get_version())
       set_version(dir->get_version());
 
-    // *stat versions
-    if (fnode.fragstat.version < dir->fnode.fragstat.version)
-      fnode.fragstat.version = dir->fnode.fragstat.version;
-    if (fnode.rstat.version < dir->fnode.rstat.version)
-      fnode.rstat.version = dir->fnode.rstat.version;
-
-    if (dir->fnode.accounted_fragstat.version != dir->fnode.fragstat.version)
-      stale_fragstat = 1;
-    if (dir->fnode.accounted_rstat.version != dir->fnode.rstat.version)
-      stale_rstat = 1;
-
-    // sum accounted_*
-    fnode.accounted_fragstat.add(dir->fnode.accounted_fragstat);
-    fnode.accounted_rstat.add(dir->fnode.accounted_rstat, 1);
-
     // merge state
     state_set(dir->get_state() & MASK_STATE_FRAGMENT_KEPT);
     dir_auth = dir->dir_auth;
@@ -979,9 +984,14 @@ void CDir::merge(list<CDir*>& subs, list<Context*>& waiters, bool replay)
     inode->close_dirfrag(dir->get_frag());
   }
 
-  // offset accounted_* version by -1 if any source frag was stale
-  fnode.accounted_fragstat.version = fnode.fragstat.version - stale_fragstat;
-  fnode.accounted_rstat.version = fnode.rstat.version - stale_rstat;
+  // FIXME: merge dirty old rstat
+  fnode.rstat.version = rstat_version;
+  fnode.accounted_rstat = fnode.rstat;
+  fnode.accounted_rstat.add(rstatdiff);
+
+  fnode.fragstat.version = dirstat_version;
+  fnode.accounted_fragstat = fnode.fragstat;
+  fnode.accounted_fragstat.add(fragstatdiff);
 
   init_fragment_pins();
 }
@@ -1404,7 +1414,7 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
     log_mark_dirty();
 
     // mark complete, !fetching
-    state_set(STATE_COMPLETE);
+    mark_complete();
     state_clear(STATE_FETCHING);
     auth_unpin(this);
     
@@ -1461,6 +1471,7 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
   }
   bool purged_any = false;
 
+  bool stray = inode->is_stray();
 
   //int num_new_inodes_loaded = 0;
   loff_t baseoff = p.get_off();
@@ -1605,6 +1616,12 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
 	  if (in->inode.is_dirty_rstat())
 	    in->mark_dirty_rstat();
 
+	  if (stray) {
+	    dn->state_set(CDentry::STATE_STRAY);
+	    if (in->inode.nlink == 0)
+	      in->state_set(CInode::STATE_ORPHAN);
+	  }
+
 	  //in->hack_accessed = false;
 	  //in->hack_load_stamp = ceph_clock_now(g_ceph_context);
 	  //num_new_inodes_loaded++;
@@ -1672,7 +1689,7 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
     log_mark_dirty();
 
   // mark complete, !fetching
-  state_set(STATE_COMPLETE);
+  mark_complete();
   state_clear(STATE_FETCHING);
   auth_unpin(this);
 
@@ -1836,7 +1853,8 @@ CDir::map_t::iterator CDir::_commit_partial(ObjectOperation& m,
 	try_trim_snap_dentry(dn, *snaps))
       continue;
 
-    if (!dn->is_dirty())
+    if (!dn->is_dirty() &&
+	(!dn->state_test(CDentry::STATE_FRAGMENTING) || dn->get_linkage()->is_null()))
       continue;  // skip clean dentries
 
     if (dn->get_linkage()->is_null()) {
@@ -1980,7 +1998,8 @@ void CDir::_commit(version_t want)
   unsigned max_write_size = cache->max_dir_commit_size;
 
   if (is_complete() &&
-      (num_dirty > (num_head_items*g_conf->mds_dir_commit_ratio))) {
+      ((num_dirty > (num_head_items*g_conf->mds_dir_commit_ratio)) ||
+       state_test(CDir::STATE_FRAGMENTING))) {
     fnode.snap_purged_thru = realm->get_last_destroyed();
     committed_dn = _commit_full(m, snaps, max_write_size);
   } else {
diff --git a/src/mds/CDir.h b/src/mds/CDir.h
index 11f4a76..f131d83 100644
--- a/src/mds/CDir.h
+++ b/src/mds/CDir.h
@@ -40,7 +40,7 @@ class MDCluster;
 class Context;
 class bloom_filter;
 
-class ObjectOperation;
+struct ObjectOperation;
 
 ostream& operator<<(ostream& out, class CDir& dir);
 class CDir : public MDSCacheObject {
@@ -286,6 +286,7 @@ protected:
  public:
   CDir(CInode *in, frag_t fg, MDCache *mdcache, bool auth);
   ~CDir() {
+    remove_bloom();
     g_num_dir--;
     g_num_dirs++;
   }
@@ -357,6 +358,7 @@ private:
   void remove_null_dentries();
   void purge_stale_snap_data(const set<snapid_t>& snaps);
 public:
+  void touch_dentries_bottom();
   bool try_trim_snap_dentry(CDentry *dn, const set<snapid_t>& snaps);
 
 
diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc
index 4852994..1fc57fe 100644
--- a/src/mds/CInode.cc
+++ b/src/mds/CInode.cc
@@ -12,7 +12,8 @@
  * 
  */
 
-#include <inttypes.h>
+#include "include/int_types.h"
+
 #include <string>
 #include <stdio.h>
 
@@ -457,13 +458,6 @@ frag_t CInode::pick_dirfrag(const string& dn)
 bool CInode::get_dirfrags_under(frag_t fg, list<CDir*>& ls)
 {
   bool all = true;
-  for (map<frag_t,CDir*>::iterator p = dirfrags.begin(); p != dirfrags.end(); ++p) {
-    if (fg.contains(p->first))
-      ls.push_back(p->second);
-    else
-      all = false;
-  }
-  /*
   list<frag_t> fglist;
   dirfragtree.get_leaves_under(fg, fglist);
   for (list<frag_t>::iterator p = fglist.begin();
@@ -473,7 +467,6 @@ bool CInode::get_dirfrags_under(frag_t fg, list<CDir*>& ls)
       ls.push_back(dirfrags[*p]);
     else 
       all = false;
-  */
   return all;
 }
 
@@ -681,6 +674,12 @@ void CInode::last_put()
     parent->put(CDentry::PIN_INODEPIN);
 }
 
+void CInode::_put()
+{
+  if (get_num_ref() == (int)is_dirty() + (int)is_dirty_parent())
+    mdcache->maybe_eval_stray(this, true);
+}
+
 void CInode::add_remote_parent(CDentry *p) 
 {
   if (remote_parents.empty())
@@ -914,8 +913,7 @@ void CInode::_stored(version_t v, Context *fin)
   if (v == get_projected_version())
     mark_clean();
 
-  fin->finish(0);
-  delete fin;
+  fin->complete(0);
 }
 
 struct C_Inode_Fetched : public Context {
@@ -964,13 +962,12 @@ void CInode::_fetched(bufferlist& bl, bufferlist& bl2, Context *fin)
   if (magic != CEPH_FS_ONDISK_MAGIC) {
     dout(0) << "on disk magic '" << magic << "' != my magic '" << CEPH_FS_ONDISK_MAGIC
 	    << "'" << dendl;
-    fin->finish(-EINVAL);
+    fin->complete(-EINVAL);
   } else {
     decode_store(p);
     dout(10) << "_fetched " << *this << dendl;
-    fin->finish(0);
+    fin->complete(0);
   }
-  delete fin;
 }
 
 void CInode::build_backtrace(int64_t pool, inode_backtrace_t& bt)
@@ -1074,7 +1071,6 @@ void CInode::_stored_backtrace(version_t v, Context *fin)
     clear_dirty_parent();
   if (fin)
     fin->complete(0);
-  mdcache->maybe_eval_stray(this);
 }
 
 void CInode::_mark_dirty_parent(LogSegment *ls, bool dirty_pool)
@@ -1772,7 +1768,7 @@ void CInode::finish_scatter_gather_update(int type)
 	CDir *dir = p->second;
 	dout(20) << fg << " " << *dir << dendl;
 
-	bool update = dir->is_auth() && !dir->is_frozen();
+	bool update = dir->is_auth() && dir->get_version() != 0 &&  !dir->is_frozen();
 
 	fnode_t *pf = dir->get_projected_fnode();
 	if (update)
@@ -1853,7 +1849,7 @@ void CInode::finish_scatter_gather_update(int type)
 	CDir *dir = p->second;
 	dout(20) << fg << " " << *dir << dendl;
 
-	bool update = dir->is_auth() && !dir->is_frozen();
+	bool update = dir->is_auth() && dir->get_version() != 0 && !dir->is_frozen();
 
 	fnode_t *pf = dir->get_projected_fnode();
 	if (update)
@@ -1940,7 +1936,7 @@ void CInode::finish_scatter_gather_update_accounted(int type, Mutation *mut, EMe
        p != dirfrags.end();
        ++p) {
     CDir *dir = p->second;
-    if (!dir->is_auth() || dir->is_frozen())
+    if (!dir->is_auth() || dir->get_version() == 0 || dir->is_frozen())
       continue;
     
     if (type == CEPH_LOCK_IDFT)
@@ -2076,7 +2072,7 @@ void CInode::clear_ambiguous_auth()
 
 // auth_pins
 bool CInode::can_auth_pin() {
-  if (is_freezing_inode() || is_frozen_inode() || is_frozen_auth_pin())
+  if (!is_auth() || is_freezing_inode() || is_frozen_inode() || is_frozen_auth_pin())
     return false;
   if (parent)
     return parent->can_auth_pin();
@@ -2735,10 +2731,12 @@ int CInode::encode_inodestat(bufferlist& bl, Session *session,
 
   // do not issue caps if inode differs from readdir snaprealm
   SnapRealm *realm = find_snaprealm();
-  bool no_caps = (realm && dir_realm && realm != dir_realm) ||
+  bool no_caps = session->is_stale() ||
+		 (realm && dir_realm && realm != dir_realm) ||
 		 is_frozen() || state_test(CInode::STATE_EXPORTINGCAPS);
   if (no_caps)
     dout(20) << "encode_inodestat no caps"
+	     << (session->is_stale()?", session stale ":"")
 	     << ((realm && dir_realm && realm != dir_realm)?", snaprealm differs ":"")
 	     << (state_test(CInode::STATE_EXPORTINGCAPS)?", exporting caps":"")
 	     << (is_frozen()?", frozen inode":"") << dendl;
diff --git a/src/mds/CInode.h b/src/mds/CInode.h
index 82c2347..1c2a933 100644
--- a/src/mds/CInode.h
+++ b/src/mds/CInode.h
@@ -47,10 +47,10 @@ class Message;
 class CInode;
 class MDCache;
 class LogSegment;
-class SnapRealm;
+struct SnapRealm;
 class Session;
 class MClientCaps;
-class ObjectOperation;
+struct ObjectOperation;
 class EMetaBlob;
 
 ostream& operator<<(ostream& out, CInode& in);
@@ -156,6 +156,8 @@ public:
   static const int STATE_STRAYPINNED = (1<<16);
   static const int STATE_FROZENAUTHPIN = (1<<17);
   static const int STATE_DIRTYPOOL =   (1<<18);
+  // orphan inode needs notification of releasing reference
+  static const int STATE_ORPHAN =	STATE_NOTIFYREF;
 
   static const int MASK_STATE_EXPORTED =
     (STATE_DIRTY|STATE_NEEDSRECOVER|STATE_DIRTYPARENT|STATE_DIRTYPOOL);
@@ -812,6 +814,7 @@ public:
   }
   void first_get();
   void last_put();
+  void _put();
 
 
   // -- hierarchy stuff --
diff --git a/src/mds/Capability.h b/src/mds/Capability.h
index fdecb90..fb6b3dc 100644
--- a/src/mds/Capability.h
+++ b/src/mds/Capability.h
@@ -171,14 +171,16 @@ public:
   }
   void confirm_receipt(ceph_seq_t seq, unsigned caps) {
     if (seq == last_sent) {
-      _pending = caps;
       _revokes.clear();
       _issued = caps;
+      // don't add bits
+      _pending &= caps;
     } else {
       // can i forget any revocations?
-      while (!_revokes.empty() &&
-	     _revokes.front().seq <= seq)
+      while (!_revokes.empty() && _revokes.front().seq < seq)
 	_revokes.pop_front();
+      if (!_revokes.empty() && _revokes.front().seq == seq)
+	_revokes.begin()->before = caps;
       _calc_issued();
     }
     //check_rdcaps_list();
diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc
index 30e014a..7f85251 100644
--- a/src/mds/Locker.cc
+++ b/src/mds/Locker.cc
@@ -543,15 +543,16 @@ void Locker::cancel_locking(Mutation *mut, set<CInode*> *pneed_issue)
   dout(10) << "cancel_locking " << *lock << " on " << *mut << dendl;
 
   if (lock->get_parent()->is_auth()) {
-    if (lock->get_type() != CEPH_LOCK_DN) {
-      bool need_issue = false;
-      if (lock->get_state() == LOCK_PREXLOCK)
-	_finish_xlock(lock, &need_issue);
-      if (lock->is_stable())
-	eval(lock, &need_issue);
-      if (need_issue)
-	pneed_issue->insert(static_cast<CInode *>(lock->get_parent()));
+    bool need_issue = false;
+    if (lock->get_state() == LOCK_PREXLOCK) {
+      _finish_xlock(lock, -1, &need_issue);
+    } else if (lock->get_state() == LOCK_LOCK_XLOCK &&
+	       lock->get_num_xlocks() == 0) {
+      lock->set_state(LOCK_XLOCKDONE);
+      eval_gather(lock, true, &need_issue);
     }
+    if (need_issue)
+      pneed_issue->insert(static_cast<CInode *>(lock->get_parent()));
   }
   mut->finish_locking(lock);
 }
@@ -1458,19 +1459,29 @@ bool Locker::xlock_start(SimpleLock *lock, MDRequest *mut)
   }
 }
 
-void Locker::_finish_xlock(SimpleLock *lock, bool *pneed_issue)
+void Locker::_finish_xlock(SimpleLock *lock, client_t xlocker, bool *pneed_issue)
 {
   assert(!lock->is_stable());
-  if (lock->get_type() != CEPH_LOCK_DN && (static_cast<CInode*>(lock->get_parent())->get_loner()) >= 0)
-    lock->set_state(LOCK_EXCL);
-  else
-    lock->set_state(LOCK_LOCK);
-  if (lock->get_type() == CEPH_LOCK_DN && lock->get_parent()->is_replicated() &&
-      !lock->is_waiter_for(SimpleLock::WAIT_WR))
-    simple_sync(lock, pneed_issue);
-  if (lock->get_cap_shift())
-    *pneed_issue = true;
-  lock->get_parent()->auth_unpin(lock);
+  if (lock->get_num_rdlocks() == 0 &&
+      lock->get_num_wrlocks() == 0 &&
+      lock->get_num_client_lease() == 0 &&
+      lock->get_type() != CEPH_LOCK_DN) {
+    CInode *in = static_cast<CInode*>(lock->get_parent());
+    client_t loner = in->get_target_loner();
+    if (loner >= 0 && (xlocker < 0 || xlocker == loner)) {
+      lock->set_state(LOCK_EXCL);
+      lock->get_parent()->auth_unpin(lock);
+      lock->finish_waiters(SimpleLock::WAIT_STABLE|SimpleLock::WAIT_WR|SimpleLock::WAIT_RD);
+      if (lock->get_cap_shift())
+	*pneed_issue = true;
+      if (lock->get_parent()->is_auth() &&
+	  lock->is_stable())
+	try_eval(lock, pneed_issue);
+      return;
+    }
+  }
+  // the xlocker may have CEPH_CAP_GSHARED, need to revoke it if next state is LOCK_LOCK
+  eval_gather(lock, true, pneed_issue);
 }
 
 void Locker::xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue)
@@ -1481,6 +1492,8 @@ void Locker::xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue)
 
   dout(10) << "xlock_finish on " << *lock << " " << *lock->get_parent() << dendl;
 
+  client_t xlocker = lock->get_xlock_by_client();
+
   // drop ref
   lock->put_xlock();
   assert(mut);
@@ -1508,24 +1521,12 @@ void Locker::xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue)
 			 SimpleLock::WAIT_WR | 
 			 SimpleLock::WAIT_RD, 0); 
   } else {
-    if (lock->get_num_xlocks() == 0 &&
-	lock->get_num_rdlocks() == 0 &&
-	lock->get_num_wrlocks() == 0 &&
-	lock->get_num_client_lease() == 0) {
-      _finish_xlock(lock, &do_issue);
+    if (lock->get_num_xlocks() == 0) {
+      if (lock->get_state() == LOCK_LOCK_XLOCK)
+	lock->set_state(LOCK_XLOCKDONE);
+      _finish_xlock(lock, xlocker, &do_issue);
     }
-
-    // others waiting?
-    lock->finish_waiters(SimpleLock::WAIT_STABLE |
-			 SimpleLock::WAIT_WR | 
-			 SimpleLock::WAIT_RD, 0); 
   }
-    
-  // eval?
-  if (!lock->is_stable())
-    eval_gather(lock, false, &do_issue);
-  else if (lock->get_parent()->is_auth())
-    try_eval(lock, &do_issue);
   
   if (do_issue) {
     CInode *in = static_cast<CInode*>(lock->get_parent());
@@ -1639,9 +1640,6 @@ void Locker::file_update_finish(CInode *in, Mutation *mut, bool share, client_t
       share_inode_max_size(in);
   }
   issue_caps_set(need_issue);
-
-  // unlinked stray?  may need to purge (e.g., after all caps are released)
-  mdcache->maybe_eval_stray(in);
 }
 
 Capability* Locker::issue_new_caps(CInode *in,
@@ -1776,6 +1774,10 @@ bool Locker::issue_caps(CInode *in, Capability *only_cap)
       continue;
     }
 
+    // notify clients about deleted inode, to make sure they release caps ASAP.
+    if (in->inode.nlink == 0)
+      wanted |= CEPH_CAP_LINK_SHARED;
+
     // are there caps that the client _wants_ and can have, but aren't pending?
     // or do we need to revoke?
     if (((wanted & allowed) & ~pending) ||  // missing wanted+allowed caps
@@ -2040,10 +2042,15 @@ bool Locker::check_inode_max_size(CInode *in, bool force_wrlock,
   inode_t *latest = in->get_projected_inode();
   map<client_t, client_writeable_range_t> new_ranges;
   uint64_t size = latest->size;
-  if (update_size)
-    size = new_size;
   bool new_max = update_max;
 
+  if (update_size) {
+    new_size = size = MAX(size, new_size);
+    new_mtime = MAX(new_mtime, latest->mtime);
+    if (latest->size == new_size && latest->mtime == new_mtime)
+      update_size = false;
+  }
+
   uint64_t client_range_size = update_max ? new_max_size : size;
 
   calc_new_client_ranges(in, client_range_size, new_ranges);
@@ -3006,8 +3013,6 @@ void Locker::remove_client_cap(CInode *in, client_t client)
   }
   
   try_eval(in, CEPH_CAP_LOCKS);
-
-  mds->mdcache->maybe_eval_stray(in);
 }
 
 
@@ -3440,7 +3445,6 @@ bool Locker::simple_sync(SimpleLock *lock, bool *need_issue)
 
     switch (lock->get_state()) {
     case LOCK_MIX: lock->set_state(LOCK_MIX_SYNC); break;
-    case LOCK_SCAN:
     case LOCK_LOCK: lock->set_state(LOCK_LOCK_SYNC); break;
     case LOCK_XSYN: lock->set_state(LOCK_XSYN_SYNC); break;
     case LOCK_EXCL: lock->set_state(LOCK_EXCL_SYNC); break;
@@ -3517,7 +3521,6 @@ void Locker::simple_excl(SimpleLock *lock, bool *need_issue)
     in = static_cast<CInode *>(lock->get_parent());
 
   switch (lock->get_state()) {
-  case LOCK_SCAN:
   case LOCK_LOCK: lock->set_state(LOCK_LOCK_EXCL); break;
   case LOCK_SYNC: lock->set_state(LOCK_SYNC_EXCL); break;
   case LOCK_XSYN: lock->set_state(LOCK_XSYN_EXCL); break;
@@ -3576,7 +3579,6 @@ void Locker::simple_lock(SimpleLock *lock, bool *need_issue)
   int old_state = lock->get_state();
 
   switch (lock->get_state()) {
-  case LOCK_SCAN: lock->set_state(LOCK_SCAN_LOCK); break;
   case LOCK_SYNC: lock->set_state(LOCK_SYNC_LOCK); break;
   case LOCK_XSYN:
     file_excl(static_cast<ScatterLock*>(lock), need_issue);
@@ -4162,10 +4164,6 @@ void Locker::file_eval(ScatterLock *lock, bool *need_issue)
   if (lock->get_parent()->is_freezing_or_frozen())
     return;
 
-  // wait for scan
-  if (lock->get_state() == LOCK_SCAN)
-    return;
-
   // excl -> *?
   if (lock->get_state() == LOCK_EXCL) {
     dout(20) << " is excl" << dendl;
@@ -4352,7 +4350,6 @@ void Locker::file_excl(ScatterLock *lock, bool *need_issue)
   switch (lock->get_state()) {
   case LOCK_SYNC: lock->set_state(LOCK_SYNC_EXCL); break;
   case LOCK_MIX: lock->set_state(LOCK_MIX_EXCL); break;
-  case LOCK_SCAN:
   case LOCK_LOCK: lock->set_state(LOCK_LOCK_EXCL); break;
   case LOCK_XSYN: lock->set_state(LOCK_XSYN_EXCL); break;
   default: assert(0);
@@ -4463,12 +4460,12 @@ void Locker::file_recover(ScatterLock *lock)
     issue_caps(in);
     gather++;
   }
-  if (gather) {
-    lock->get_parent()->auth_pin(lock);
-  } else {
-    lock->set_state(LOCK_SCAN);
+
+  lock->set_state(LOCK_SCAN);
+  if (gather)
+    in->state_set(CInode::STATE_NEEDSRECOVER);
+  else
     mds->mdcache->queue_file_recover(in);
-  }
 }
 
 
diff --git a/src/mds/Locker.h b/src/mds/Locker.h
index b97307d..0c9931a 100644
--- a/src/mds/Locker.h
+++ b/src/mds/Locker.h
@@ -29,10 +29,10 @@ class Session;
 class CDir;
 class CInode;
 class CDentry;
-class Mutation;
-class MDRequest;
+struct Mutation;
+struct MDRequest;
 class EMetaBlob;
-class SnapRealm;
+struct SnapRealm;
 
 class Message;
 
@@ -143,7 +143,7 @@ public:
   void remote_wrlock_finish(SimpleLock *lock, int target, Mutation *mut);
 
   bool xlock_start(SimpleLock *lock, MDRequest *mut);
-  void _finish_xlock(SimpleLock *lock, bool *pneed_issue);
+  void _finish_xlock(SimpleLock *lock, client_t xlocker, bool *pneed_issue);
   void xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue);
 
   void xlock_export(SimpleLock *lock, Mutation *mut);
@@ -284,13 +284,13 @@ public:
 private:
   friend class C_MDL_CheckMaxSize;
   friend class C_MDL_RequestInodeFileCaps;
-  friend class C_Locker_FileUpdate_finish;
+  friend struct C_Locker_FileUpdate_finish;
   friend class C_Locker_RetryCapRelease;
 
   
   // -- client leases --
 public:
-  void handle_client_lease(class MClientLease *m);
+  void handle_client_lease(struct MClientLease *m);
 
   void issue_client_lease(CDentry *dn, client_t client, bufferlist &bl, utime_t now, Session *session);
   void revoke_client_leases(SimpleLock *lock);
diff --git a/src/mds/LogEvent.cc b/src/mds/LogEvent.cc
index b775b6d..16e7f80 100644
--- a/src/mds/LogEvent.cc
+++ b/src/mds/LogEvent.cc
@@ -46,10 +46,16 @@ LogEvent *LogEvent::decode(bufferlist& bl)
   ::decode(type, p);
 
   if (EVENT_NEW_ENCODING == type) {
-    DECODE_START(1, p);
-    ::decode(type, p);
-    event = decode_event(bl, p, type);
-    DECODE_FINISH(p);
+    try {
+      DECODE_START(1, p);
+      ::decode(type, p);
+      event = decode_event(bl, p, type);
+      DECODE_FINISH(p);
+    }
+    catch (const buffer::error &e) {
+      generic_dout(0) << "failed to decode LogEvent (type maybe " << type << ")" << dendl;
+      return NULL;
+    }
   } else { // we are using classic encoding
     event = decode_event(bl, p, type);
   }
diff --git a/src/mds/LogSegment.h b/src/mds/LogSegment.h
index 44c7942..624c3bc 100644
--- a/src/mds/LogSegment.h
+++ b/src/mds/LogSegment.h
@@ -31,7 +31,7 @@ class CDir;
 class CInode;
 class CDentry;
 class MDS;
-class MDSlaveUpdate;
+struct MDSlaveUpdate;
 
 class LogSegment {
  public:
@@ -56,6 +56,7 @@ class LogSegment {
 
   map<int, hash_set<version_t> > pending_commit_tids;  // mdstable
   set<metareqid_t> uncommitted_masters;
+  set<dirfrag_t> uncommitted_fragments;
 
   // client request ids
   map<int, tid_t> last_client_tids;
diff --git a/src/mds/MDBalancer.cc b/src/mds/MDBalancer.cc
index 8d7f91d..6a404c4 100644
--- a/src/mds/MDBalancer.cc
+++ b/src/mds/MDBalancer.cc
@@ -351,7 +351,7 @@ void MDBalancer::do_fragmenting()
   }
 
   if (!split_queue.empty()) {
-    dout(0) << "do_fragmenting " << split_queue.size() << " dirs marked for possible splitting" << dendl;
+    dout(10) << "do_fragmenting " << split_queue.size() << " dirs marked for possible splitting" << dendl;
 
     set<dirfrag_t> q;
     q.swap(split_queue);
@@ -364,13 +364,13 @@ void MDBalancer::do_fragmenting()
 	  !dir->is_auth())
 	continue;
 
-      dout(0) << "do_fragmenting splitting " << *dir << dendl;
+      dout(10) << "do_fragmenting splitting " << *dir << dendl;
       mds->mdcache->split_dir(dir, g_conf->mds_bal_split_bits);
     }
   }
 
   if (!merge_queue.empty()) {
-    dout(0) << "do_fragmenting " << merge_queue.size() << " dirs marked for possible merging" << dendl;
+    dout(10) << "do_fragmenting " << merge_queue.size() << " dirs marked for possible merging" << dendl;
 
     set<dirfrag_t> q;
     q.swap(merge_queue);
@@ -384,7 +384,7 @@ void MDBalancer::do_fragmenting()
 	  dir->get_frag() == frag_t())  // ok who's the joker?
 	continue;
 
-      dout(0) << "do_fragmenting merging " << *dir << dendl;
+      dout(10) << "do_fragmenting merging " << *dir << dendl;
 
       CInode *diri = dir->get_inode();
 
@@ -1007,7 +1007,7 @@ void MDBalancer::hit_dir(utime_t now, CDir *dir, int type, int who, double amoun
 	 (v > g_conf->mds_bal_split_rd && type == META_POP_IRD) ||
 	 (v > g_conf->mds_bal_split_wr && type == META_POP_IWR)) &&
 	split_queue.count(dir->dirfrag()) == 0) {
-      dout(1) << "hit_dir " << type << " pop is " << v << ", putting in split_queue: " << *dir << dendl;
+      dout(10) << "hit_dir " << type << " pop is " << v << ", putting in split_queue: " << *dir << dendl;
       split_queue.insert(dir->dirfrag());
     }
 
@@ -1015,7 +1015,7 @@ void MDBalancer::hit_dir(utime_t now, CDir *dir, int type, int who, double amoun
     if (dir->get_frag() != frag_t() &&
 	(dir->get_num_head_items() < (unsigned)g_conf->mds_bal_merge_size) &&
 	merge_queue.count(dir->dirfrag()) == 0) {
-      dout(1) << "hit_dir " << type << " pop is " << v << ", putting in merge_queue: " << *dir << dendl;
+      dout(10) << "hit_dir " << type << " pop is " << v << ", putting in merge_queue: " << *dir << dendl;
       merge_queue.insert(dir->dirfrag());
     }
   }
diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc
index e592dde..ae59c26 100644
--- a/src/mds/MDCache.cc
+++ b/src/mds/MDCache.cc
@@ -127,7 +127,8 @@ long g_num_caps = 0;
 set<int> SimpleLock::empty_gather_set;
 
 
-MDCache::MDCache(MDS *m)
+MDCache::MDCache(MDS *m) :
+  delayed_eval_stray(member_offset(CDentry, item_stray))
 {
   mds = m;
   migrator = new Migrator(mds, this);
@@ -510,8 +511,7 @@ void MDCache::_create_system_file_finish(Mutation *mut, CDentry *dn, version_t d
   mut->cleanup();
   delete mut;
 
-  fin->finish(0);
-  delete fin;
+  fin->complete(0);
 
   //if (dir && MDS_INO_IS_MDSDIR(in->ino()))
   //migrator->export_dir(dir, (int)in->ino() - MDS_INO_MDSDIR_OFFSET);
@@ -632,7 +632,7 @@ void MDCache::populate_mydir()
       CDir *dir = strays[i]->get_dirfrag(fg);
       if (!dir)
 	dir = strays[i]->get_or_open_dirfrag(this, fg);
-      if (!dir->is_complete()) {
+      if (dir->get_version() == 0) {
 	dir->fetch(new C_MDS_RetryOpenRoot(this));
 	return;
       }
@@ -653,6 +653,8 @@ void MDCache::populate_mydir()
   assert(!open);    
   open = true;
   mds->queue_waiters(waiting_for_open);
+
+  scan_stray_dir();
 }
 
 void MDCache::open_foreign_mdsdir(inodeno_t ino, Context *fin)
@@ -677,6 +679,7 @@ CDentry *MDCache::get_or_create_stray_dentry(CInode *in)
   } else 
     assert(straydn->get_projected_linkage()->is_null());
 
+  straydn->state_set(CDentry::STATE_STRAY);
   return straydn;
 }
 
@@ -1981,8 +1984,8 @@ void MDCache::predirty_journal_parents(Mutation *mut, EMetaBlob *blob,
     }
 
     bool stop = false;
-    if (!pin->is_auth() || pin->is_ambiguous_auth()) {
-      dout(10) << "predirty_journal_parents !auth or ambig on " << *pin << dendl;
+    if (!pin->can_auth_pin() || pin->is_ambiguous_auth()) {
+      dout(10) << "predirty_journal_parents can't auth pin or ambig on " << *pin << dendl;
       stop = true;
     }
 
@@ -2007,8 +2010,7 @@ void MDCache::predirty_journal_parents(Mutation *mut, EMetaBlob *blob,
 
     if (!stop &&
 	mut->wrlocks.count(&pin->nestlock) == 0 &&
-	(!pin->can_auth_pin() ||
-	 !pin->versionlock.can_wrlock() ||                   // make sure we can take versionlock, too
+	(!pin->versionlock.can_wrlock() ||                   // make sure we can take versionlock, too
 	 //true
 	 !mds->locker->wrlock_start(&pin->nestlock, static_cast<MDRequest*>(mut), true) // can cast only because i'm passing nowait=true
 	 )) {  // ** do not initiate.. see above comment **
@@ -3093,8 +3095,7 @@ void MDCache::handle_resolve_ack(MMDSResolveAck *ack)
       if (mdr->more()->slave_commit) {
 	Context *fin = mdr->more()->slave_commit;
 	mdr->more()->slave_commit = 0;
-	fin->finish(-1);
-	delete fin;
+	fin->complete(-1);
       } else {
 	if (mdr->slave_request) 
 	  mdr->aborted = true;
@@ -5720,6 +5721,7 @@ void MDCache::identify_files_to_recover(vector<CInode*>& recover_q, vector<CInod
     }
 
     if (recover) {
+      in->auth_pin(&in->filelock);
       in->filelock.set_state(LOCK_PRE_SCAN);
       recover_q.push_back(in);
       
@@ -5786,21 +5788,15 @@ void MDCache::do_file_recover()
       dout(10) << "do_file_recover skipping " << in->inode.size
 	       << " " << *in << dendl;
       in->state_clear(CInode::STATE_RECOVERING);
+      mds->locker->eval(in, CEPH_LOCK_IFILE);
       in->auth_unpin(this);
-      if (in->filelock.is_stable()) {
-	bool need_issue = false;
-	mds->locker->eval(&in->filelock, &need_issue);
-	if (in->is_head() && need_issue)
-	  mds->locker->issue_caps(in);
-      } else
-	mds->locker->eval_gather(&in->filelock);
     }
   }
 }
 
 void MDCache::_recovered(CInode *in, int r, uint64_t size, utime_t mtime)
 {
-  dout(10) << "_recovered r=" << r << " size=" << in->inode.size << " mtime=" << in->inode.mtime
+  dout(10) << "_recovered r=" << r << " size=" << size << " mtime=" << mtime
 	   << " for " << *in << dendl;
 
   if (r != 0) {
@@ -5822,6 +5818,7 @@ void MDCache::_recovered(CInode *in, int r, uint64_t size, utime_t mtime)
   } else {
     // journal
     mds->locker->check_inode_max_size(in, true, true, size, false, 0, mtime);
+    mds->locker->eval(in, CEPH_LOCK_IFILE);
     in->auth_unpin(this);
   }
 
@@ -5935,8 +5932,9 @@ void MDCache::truncate_inode_finish(CInode *in, LogSegment *ls)
 
   EUpdate *le = new EUpdate(mds->mdlog, "truncate finish");
   mds->mdlog->start_entry(le);
-  le->metablob.add_dir_context(in->get_parent_dir());
-  le->metablob.add_primary_dentry(in->get_projected_parent_dn(), in, true);
+  CDentry *dn = in->get_projected_parent_dn();
+  le->metablob.add_dir_context(dn->get_dir());
+  le->metablob.add_primary_dentry(dn, in, true);
   le->metablob.add_truncate_finish(in->ino(), ls->offset);
 
   journal_dirty_inode(mut, &le->metablob, in);
@@ -6018,8 +6016,15 @@ bool MDCache::trim(int max)
   }
   dout(7) << "trim max=" << max << "  cur=" << lru.lru_get_size() << dendl;
 
-  map<int, MCacheExpire*> expiremap;
+  // process delayed eval_stray()
+  for (elist<CDentry*>::iterator p = delayed_eval_stray.begin(); !p.end(); ) {
+    CDentry *dn = *p;
+    ++p;
+    dn->item_stray.remove_myself();
+    eval_stray(dn);
+  }
 
+  map<int, MCacheExpire*> expiremap;
   bool is_standby_replay = mds->is_standby_replay();
   int unexpirable = 0;
   list<CDentry*> unexpirables;
@@ -6027,13 +6032,12 @@ bool MDCache::trim(int max)
   while (lru.lru_get_size() + unexpirable > (unsigned)max) {
     CDentry *dn = static_cast<CDentry*>(lru.lru_expire());
     if (!dn) break;
-    if (is_standby_replay && dn->get_linkage() &&
-        dn->get_linkage()->inode->item_open_file.is_on_list()) {
+    if ((is_standby_replay && dn->get_linkage() &&
+        dn->get_linkage()->inode->item_open_file.is_on_list()) ||
+	trim_dentry(dn, expiremap)) {
       unexpirables.push_back(dn);
       ++unexpirable;
-      continue;
     }
-    trim_dentry(dn, expiremap);
   }
   for(list<CDentry*>::iterator i = unexpirables.begin();
       i != unexpirables.end();
@@ -6088,7 +6092,7 @@ void MDCache::send_expire_messages(map<int, MCacheExpire*>& expiremap)
 }
 
 
-void MDCache::trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap)
+bool MDCache::trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap)
 {
   dout(12) << "trim_dentry " << *dn << dendl;
   
@@ -6143,6 +6147,9 @@ void MDCache::trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap)
     CInode *in = dnl->get_inode();
     assert(in);
     trim_inode(dn, in, con, expiremap);
+    // purging stray instead of trimming ?
+    if (dn->get_num_ref() > 0)
+      return true;
   } 
   else {
     assert(dnl->is_null());
@@ -6161,6 +6168,7 @@ void MDCache::trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap)
     migrator->export_empty_import(dir);
   
   if (mds->logger) mds->logger->inc(l_mds_iex);
+  return false;
 }
 
 
@@ -6223,7 +6231,14 @@ void MDCache::trim_inode(CDentry *dn, CInode *in, CDir *con, map<int, MCacheExpi
     trim_dirfrag(*p, con ? con:*p, expiremap);  // if no container (e.g. root dirfrag), use *p
   
   // INODE
-  if (!in->is_auth()) {
+  if (in->is_auth()) {
+    // eval stray after closing dirfrags
+    if (dn) {
+      maybe_eval_stray(in);
+      if (dn->get_num_ref() > 0)
+	return;
+    }
+  } else {
     pair<int,int> auth = in->authority();
     
     dirfrag_t df;
@@ -6306,6 +6321,12 @@ void MDCache::trim_non_auth()
       // add back into lru (at the top)
       lru.lru_insert_top(dn);
 
+      if (dn->get_dir()->get_inode()->is_stray()) {
+	dn->state_set(CDentry::STATE_STRAY);
+	if (dnl->is_primary() && dnl->get_inode()->inode.nlink == 0)
+	  dnl->get_inode()->state_set(CInode::STATE_ORPHAN);
+      }
+
       if (!first_auth) {
 	first_auth = dn;
       } else {
@@ -6726,9 +6747,6 @@ void MDCache::inode_remove_replica(CInode *in, int from, set<SimpleLock *>& gath
   if (in->nestlock.remove_replica(from)) gather_locks.insert(&in->nestlock);
   if (in->flocklock.remove_replica(from)) gather_locks.insert(&in->flocklock);
   if (in->policylock.remove_replica(from)) gather_locks.insert(&in->policylock);
-
-  // trim?
-  maybe_eval_stray(in);
 }
 
 void MDCache::dentry_remove_replica(CDentry *dn, int from, set<SimpleLock *>& gather_locks)
@@ -6738,10 +6756,6 @@ void MDCache::dentry_remove_replica(CDentry *dn, int from, set<SimpleLock *>& ga
   // fix lock
   if (dn->lock.remove_replica(from))
     gather_locks.insert(&dn->lock);
-
-  CDentry::linkage_t *dnl = dn->get_projected_linkage();
-  if (dnl->is_primary())
-    maybe_eval_stray(dnl->get_inode());
 }
 
 void MDCache::trim_client_leases()
@@ -7675,8 +7689,7 @@ public:
     mdcache(mdc), ino(i), want_xlocked(wx), onfinish(c) {}
   void finish(int r) {
     if (mdcache->get_inode(ino)) {
-      onfinish->finish(0);
-      delete onfinish;
+      onfinish->complete(0);
     } else
       mdcache->open_remote_ino(ino, onfinish, want_xlocked);
   }
@@ -7703,8 +7716,7 @@ public:
     if (r == 0)
       mdcache->open_remote_ino_2(ino, anchortrace, want_xlocked, hadino, hadv, onfinish);
     else {
-      onfinish->finish(r);
-      delete onfinish;
+      onfinish->complete(r);
     }
   }
 };
@@ -7753,8 +7765,7 @@ void MDCache::open_remote_ino_2(inodeno_t ino, vector<Anchor>& anchortrace, bool
   if (in->ino() == ino) {
     // success
     dout(10) << "open_remote_ino_2 have " << *in << dendl;
-    onfinish->finish(0);
-    delete onfinish;
+    onfinish->complete(0);
     return;
   } 
 
@@ -7795,8 +7806,7 @@ void MDCache::open_remote_ino_2(inodeno_t ino, vector<Anchor>& anchortrace, bool
 	dout(10) << "expected ino " << anchortrace[i].ino
 		 << " in complete dir " << *dir
 		 << ", got same anchor " << anchortrace[i] << " 2x in a row" << dendl;
-	onfinish->finish(-ENOENT);
-	delete onfinish;
+	onfinish->complete(-ENOENT);
       } else {
 	// hrm.  requery anchor table.
 	dout(10) << "expected ino " << anchortrace[i].ino
@@ -7940,7 +7950,7 @@ void MDCache::_open_ino_backtrace_fetched(inodeno_t ino, bufferlist& bl, int err
   inode_backtrace_t backtrace;
   if (err == 0) {
     ::decode(backtrace, bl);
-    if (backtrace.pool != info.pool) {
+    if (backtrace.pool != info.pool && backtrace.pool != -1) {
       dout(10) << " old object in pool " << info.pool
 	       << ", retrying pool " << backtrace.pool << dendl;
       info.pool = backtrace.pool;
@@ -8408,8 +8418,7 @@ void MDCache::_do_find_ino_peer(find_ino_peer_info_t& fip)
       dout(10) << "_do_find_ino_peer waiting for more peers to be active" << dendl;
     } else {
       dout(10) << "_do_find_ino_peer failed on " << fip.ino << dendl;
-      fip.fin->finish(-ESTALE);
-      delete fip.fin;
+      fip.fin->complete(-ESTALE);
       find_ino_peer.erase(fip.tid);
     }
   } else {
@@ -8521,8 +8530,7 @@ void MDCache::_find_ino_dir(inodeno_t ino, Context *fin, bufferlist& bl, int r)
 {
   dout(10) << "_find_ino_dir " << ino << " got " << r << " " << bl.length() << " bytes" << dendl;
   if (r < 0) {
-    fin->finish(r);
-    delete fin;
+    fin->complete(r);
     return;
   }
 
@@ -8539,8 +8547,7 @@ void MDCache::_find_ino_dir(inodeno_t ino, Context *fin, bufferlist& bl, int r)
     return;
   delete c;  // path_traverse doesn't clean it up for us for r <= 0
   
-  fin->finish(r);
-  delete fin;
+  fin->complete(r);
 }
 
 
@@ -8619,8 +8626,7 @@ void MDCache::request_finish(MDRequest *mdr)
   if (mdr->more()->slave_commit) {
     Context *fin = mdr->more()->slave_commit;
     mdr->more()->slave_commit = 0;
-    fin->finish(0);   // this must re-call request_finish.
-    delete fin;
+    fin->complete(0);   // this must re-call request_finish.
     return; 
   }
 
@@ -8656,9 +8662,9 @@ void MDCache::dispatch_request(MDRequest *mdr)
     mds->server->dispatch_slave_request(mdr);
   } else {
     switch (mdr->internal_op) {
-      
-      // ...
-      
+    case CEPH_MDS_OP_FRAGMENTDIR:
+      dispatch_fragment_dir(mdr);
+      break;
     default:
       assert(0);
     }
@@ -9125,19 +9131,34 @@ void MDCache::_snaprealm_create_finish(MDRequest *mdr, Mutation *mut, CInode *in
 // -------------------------------------------------------------------------------
 // STRAYS
 
-void MDCache::scan_stray_dir()
+struct C_MDC_RetryScanStray : public Context {
+  MDCache *cache;
+  dirfrag_t next;
+  C_MDC_RetryScanStray(MDCache *c,  dirfrag_t n) : cache(c), next(n) { }
+  void finish(int r) {
+    cache->scan_stray_dir(next);
+  }
+};
+
+void MDCache::scan_stray_dir(dirfrag_t next)
 {
-  dout(10) << "scan_stray_dir" << dendl;
-  
+  dout(10) << "scan_stray_dir " << next << dendl;
+
   list<CDir*> ls;
   for (int i = 0; i < NUM_STRAY; ++i) {
-    if (strays[i]) {
-      strays[i]->get_dirfrags(ls);
-    }
+    if (strays[i]->ino() < next.ino)
+      continue;
+    strays[i]->get_dirfrags(ls);
   }
 
   for (list<CDir*>::iterator p = ls.begin(); p != ls.end(); ++p) {
     CDir *dir = *p;
+    if (dir->dirfrag() < next)
+      continue;
+    if (!dir->is_complete()) {
+      dir->fetch(new C_MDC_RetryScanStray(this, dir->dirfrag()));
+      return;
+    }
     for (CDir::map_t::iterator q = dir->items.begin(); q != dir->items.end(); ++q) {
       CDentry *dn = q->second;
       CDentry::linkage_t *dnl = dn->get_projected_linkage();
@@ -9156,7 +9177,7 @@ struct C_MDC_EvalStray : public Context {
   }
 };
 
-void MDCache::eval_stray(CDentry *dn)
+void MDCache::eval_stray(CDentry *dn, bool delay)
 {
   dout(10) << "eval_stray " << *dn << dendl;
   CDentry::linkage_t *dnl = dn->get_projected_linkage();
@@ -9220,9 +9241,13 @@ void MDCache::eval_stray(CDentry *dn)
       dout(20) << " too many dn refs" << dendl;
       return;
     }
-    purge_stray(dn);
+    if (delay) {
+      if (!dn->item_stray.is_on_list())
+	delayed_eval_stray.push_back(&dn->item_stray);
+    } else
+      purge_stray(dn);
   }
-  else if (in->inode.nlink == 1) {
+  else if (in->inode.nlink >= 1) {
     // trivial reintegrate?
     if (!in->remote_parents.empty()) {
       CDentry *rlink = *in->remote_parents.begin();
@@ -9266,14 +9291,6 @@ void MDCache::fetch_backtrace(inodeno_t ino, int64_t pool, bufferlist& bl, Conte
   mds->objecter->getxattr(oid, object_locator_t(pool), "parent", CEPH_NOSNAP, &bl, 0, fin);
 }
 
-void MDCache::remove_backtrace(inodeno_t ino, int64_t pool, Context *fin)
-{
-  SnapContext snapc;
-  object_t oid = CInode::get_object_name(ino, frag_t(), "");
-  mds->objecter->removexattr(oid, object_locator_t(pool), "parent", snapc,
-			     ceph_clock_now(g_ceph_context), 0, NULL, fin);
-}
-
 class C_MDC_PurgeStrayPurged : public Context {
   MDCache *cache;
   CDentry *dn;
@@ -9285,94 +9302,6 @@ public:
   }
 };
 
-class C_MDC_PurgeForwardingPointers : public Context {
-  MDCache *cache;
-  CDentry *dn;
-public:
-  bufferlist bl;
-  C_MDC_PurgeForwardingPointers(MDCache *c, CDentry *d) :
-    cache(c), dn(d) {}
-  void finish(int r) {
-    cache->_purge_forwarding_pointers(bl, dn, r);
-  }
-};
-
-class C_MDC_PurgeStray : public Context {
-  MDCache *cache;
-  CDentry *dn;
-public:
-  C_MDC_PurgeStray(MDCache *c, CDentry *d) :
-    cache(c), dn(d) {}
-  void finish(int r) {
-    cache->_purge_stray(dn, r);
-  }
-};
-
-void MDCache::_purge_forwarding_pointers(bufferlist& bl, CDentry *dn, int r)
-{
-  assert(r == 0 || r == -ENOENT || r == -ENODATA);
-  inode_backtrace_t backtrace;
-  if (r == 0)
-    ::decode(backtrace, bl);
-
-  // setup gathering context
-  C_GatherBuilder gather_bld(g_ceph_context);
-
-  // remove all the objects with forwarding pointer backtraces (aka sentinels)
-  for (set<int64_t>::const_iterator i = backtrace.old_pools.begin();
-       i != backtrace.old_pools.end();
-       ++i) {
-    SnapContext snapc;
-    object_t oid = CInode::get_object_name(backtrace.ino, frag_t(), "");
-    object_locator_t oloc(*i);
-
-    mds->objecter->remove(oid, oloc, snapc, ceph_clock_now(g_ceph_context), 0,
-                         NULL, gather_bld.new_sub());
-  }
-
-  if (gather_bld.has_subs()) {
-    gather_bld.set_finisher(new C_MDC_PurgeStray(this, dn));
-    gather_bld.activate();
-  } else {
-    _purge_stray(dn, r);
-  }
-}
-
-void MDCache::_purge_stray(CDentry *dn, int r)
-{
-  // purge the strays
-  CDentry::linkage_t *dnl = dn->get_projected_linkage();
-  CInode *in = dnl->get_inode();
-  dout(10) << "_purge_stray " << *dn << " " << *in << dendl;
-
-  SnapRealm *realm = in->find_snaprealm();
-  SnapContext nullsnap;
-  const SnapContext *snapc;
-  if (realm) {
-    dout(10) << " realm " << *realm << dendl;
-    snapc = &realm->get_snap_context();
-  } else {
-    dout(10) << " NO realm, using null context" << dendl;
-    snapc = &nullsnap;
-    assert(in->last == CEPH_NOSNAP);
-  }
-
-  uint64_t period = (uint64_t)in->inode.layout.fl_object_size * (uint64_t)in->inode.layout.fl_stripe_count;
-  uint64_t cur_max_size = in->inode.get_max_size();
-  uint64_t to = MAX(in->inode.size, cur_max_size);
-  if (to && period) {
-    uint64_t num = (to + period - 1) / period;
-    dout(10) << "purge_stray 0~" << to << " objects 0~" << num << " snapc " << snapc << " on " << *in << dendl;
-    mds->filer->purge_range(in->inode.ino, &in->inode.layout, *snapc,
-                           0, num, ceph_clock_now(g_ceph_context), 0,
-			   new C_MDC_PurgeStrayPurged(this, dn));
-
-  } else {
-    dout(10) << "purge_stray 0 objects snapc " << snapc << " on " << *in << dendl;
-    _purge_stray_purged(dn);
-  }
-}
-
 void MDCache::purge_stray(CDentry *dn)
 {
   CDentry::linkage_t *dnl = dn->get_projected_linkage();
@@ -9390,24 +9319,90 @@ void MDCache::purge_stray(CDentry *dn)
   dn->get(CDentry::PIN_PURGING);
   in->state_set(CInode::STATE_PURGING);
 
-  
+  if (dn->item_stray.is_on_list())
+    dn->item_stray.remove_myself();
+
+  if (in->is_dirty_parent())
+    in->clear_dirty_parent();
+
   // CHEAT.  there's no real need to journal our intent to purge, since
   // that is implicit in the dentry's presence and non-use in the stray
   // dir.  on recovery, we'll need to re-eval all strays anyway.
   
+  SnapContext nullsnapc;
+  C_GatherBuilder gather(g_ceph_context, new C_MDC_PurgeStrayPurged(this, dn));
+
   if (in->is_dir()) {
-    dout(10) << "purge_stray dir ... implement me!" << dendl;  // FIXME XXX
-    // remove the backtrace
-    remove_backtrace(in->ino(), mds->mdsmap->get_metadata_pool(),
-		     new C_MDC_PurgeStrayPurged(this, dn));
-  } else if (in->is_file()) {
-    // get the backtrace before blowing away the object
-    C_MDC_PurgeForwardingPointers *fin = new C_MDC_PurgeForwardingPointers(this, dn);
-    fetch_backtrace(in->ino(), in->get_inode().layout.fl_pg_pool, fin->bl, fin);
+    object_locator_t oloc(mds->mdsmap->get_metadata_pool());
+    list<frag_t> ls;
+    if (!in->dirfragtree.is_leaf(frag_t()))
+      in->dirfragtree.get_leaves(ls);
+    ls.push_back(frag_t());
+    for (list<frag_t>::iterator p = ls.begin();
+         p != ls.end();
+         ++p) {
+      object_t oid = CInode::get_object_name(in->inode.ino, *p, "");
+      dout(10) << "purge_stray remove dirfrag " << oid << dendl;
+      mds->objecter->remove(oid, oloc, nullsnapc, ceph_clock_now(g_ceph_context),
+                            0, NULL, gather.new_sub());
+    }
+    assert(gather.has_subs());
+    gather.activate();
+    return;
+  }
+
+  const SnapContext *snapc;
+  SnapRealm *realm = in->find_snaprealm();
+  if (realm) {
+    dout(10) << " realm " << *realm << dendl;
+    snapc = &realm->get_snap_context();
   } else {
-    // not a dir or file; purged!
-    _purge_stray_purged(dn);
+    dout(10) << " NO realm, using null context" << dendl;
+    snapc = &nullsnapc;
+    assert(in->last == CEPH_NOSNAP);
   }
+
+  if (in->is_file()) {
+    uint64_t period = (uint64_t)in->inode.layout.fl_object_size *
+		      (uint64_t)in->inode.layout.fl_stripe_count;
+    uint64_t to = in->inode.get_max_size();
+    to = MAX(in->inode.size, to);
+    // when truncating a file, the filer does not delete stripe objects that are
+    // truncated to zero. so we need to purge stripe objects up to the max size
+    // the file has ever been.
+    to = MAX(in->inode.max_size_ever, to);
+    if (to && period) {
+      uint64_t num = (to + period - 1) / period;
+      dout(10) << "purge_stray 0~" << to << " objects 0~" << num
+	       << " snapc " << snapc << " on " << *in << dendl;
+      mds->filer->purge_range(in->inode.ino, &in->inode.layout, *snapc,
+			      0, num, ceph_clock_now(g_ceph_context), 0,
+			      gather.new_sub());
+    }
+  }
+
+  inode_t *pi = in->get_projected_inode();
+  object_t oid = CInode::get_object_name(pi->ino, frag_t(), "");
+  // remove the backtrace object if it was not purged
+  if (!gather.has_subs()) {
+    object_locator_t oloc(pi->layout.fl_pg_pool);
+    dout(10) << "purge_stray remove backtrace object " << oid
+	     << " pool " << oloc.pool << " snapc " << snapc << dendl;
+    mds->objecter->remove(oid, oloc, *snapc, ceph_clock_now(g_ceph_context), 0,
+			  NULL, gather.new_sub());
+  }
+  // remove old backtrace objects
+  for (vector<int64_t>::iterator p = pi->old_pools.begin();
+       p != pi->old_pools.end();
+       ++p) {
+    object_locator_t oloc(*p);
+    dout(10) << "purge_stray remove backtrace object " << oid
+	     << " old pool " << *p << " snapc " << snapc << dendl;
+    mds->objecter->remove(oid, oloc, *snapc, ceph_clock_now(g_ceph_context), 0,
+			  NULL, gather.new_sub());
+  }
+  assert(gather.has_subs());
+  gather.activate();
 }
 
 class C_MDC_PurgeStrayLogged : public Context {
@@ -9489,9 +9484,6 @@ void MDCache::_purge_stray_logged(CDentry *dn, version_t pdv, LogSegment *ls)
   CInode *in = dn->get_linkage()->get_inode();
   dout(10) << "_purge_stray_logged " << *dn << " " << *in << dendl;
 
-  dn->state_clear(CDentry::STATE_PURGING);
-  dn->put(CDentry::PIN_PURGING);
-
   assert(!in->state_test(CInode::STATE_RECOVERING));
 
   // unlink
@@ -9502,11 +9494,13 @@ void MDCache::_purge_stray_logged(CDentry *dn, version_t pdv, LogSegment *ls)
 
   dn->dir->pop_and_dirty_projected_fnode(ls);
 
+  in->state_clear(CInode::STATE_ORPHAN);
+  dn->state_clear(CDentry::STATE_PURGING);
+  dn->put(CDentry::PIN_PURGING);
+
   // drop inode
   if (in->is_dirty())
     in->mark_clean();
-  if (in->is_dirty_parent())
-    in->clear_dirty_parent();
 
   remove_inode(in);
 
@@ -10648,7 +10642,7 @@ void MDCache::handle_dentry_unlink(MDentryUnlink *m)
 	    !in->state_test(CInode::STATE_EXPORTINGCAPS))
 	  migrator->export_caps(in);
 	
-	lru.lru_bottouch(straydn);  // move stray to end of lru
+	touch_dentry_bottom(straydn); // move stray to end of lru
 	straydn = NULL;
       } else {
 	assert(!straydn);
@@ -10658,7 +10652,7 @@ void MDCache::handle_dentry_unlink(MDentryUnlink *m)
       assert(dnl->is_null());
       
       // move to bottom of lru
-      lru.lru_bottouch(dn);
+      touch_dentry_bottom(dn);
     }
   }
 
@@ -10883,17 +10877,6 @@ public:
   }
 };
 
-
-bool MDCache::can_fragment_lock(CInode *diri)
-{
-  if (!diri->dirfragtreelock.can_wrlock(-1)) {
-    dout(7) << "can_fragment: can't wrlock dftlock" << dendl;
-    mds->locker->scatter_nudge(&diri->dirfragtreelock, NULL);
-    return false;
-  }
-  return true;
-}
-
 bool MDCache::can_fragment(CInode *diri, list<CDir*>& dirs)
 {
   if (mds->mdsmap->is_degraded()) {
@@ -10905,8 +10888,8 @@ bool MDCache::can_fragment(CInode *diri, list<CDir*>& dirs)
     dout(7) << "can_fragment: i won't merge|split anything in stray" << dendl;
     return false;
   }
-  if (diri->is_mdsdir() || diri->ino() == MDS_INO_CEPH) {
-    dout(7) << "can_fragment: i won't fragment the mdsdir or .ceph" << dendl;
+  if (diri->is_mdsdir() || diri->is_stray() || diri->ino() == MDS_INO_CEPH) {
+    dout(7) << "can_fragment: i won't fragment the mdsdir or straydir or .ceph" << dendl;
     return false;
   }
 
@@ -10941,11 +10924,6 @@ void MDCache::split_dir(CDir *dir, int bits)
 
   if (!can_fragment(diri, dirs))
     return;
-  if (!can_fragment_lock(diri)) {
-    dout(10) << " requeuing dir " << dir->dirfrag() << dendl;
-    mds->balancer->queue_split(dir);
-    return;
-  }
 
   C_GatherBuilder gather(g_ceph_context, 
 	  new C_MDC_FragmentFrozen(this, dirs, dir->get_frag(), bits));
@@ -10973,18 +10951,13 @@ void MDCache::merge_dir(CInode *diri, frag_t frag)
 
   if (!can_fragment(diri, dirs))
     return;
-  if (!can_fragment_lock(diri)) {
-    //dout(10) << " requeuing dir " << dir->dirfrag() << dendl;
-    //mds->mdbalancer->split_queue.insert(dir->dirfrag());
-    return;
-  }
 
   CDir *first = dirs.front();
   int bits = first->get_frag().bits() - frag.bits();
   dout(10) << " we are merginb by " << bits << " bits" << dendl;
 
   C_GatherBuilder gather(g_ceph_context,
-	  new C_MDC_FragmentFrozen(this, dirs, frag, bits));
+	  new C_MDC_FragmentFrozen(this, dirs, frag, -bits));
   fragment_freeze_dirs(dirs, gather);
   gather.activate();
 
@@ -11083,66 +11056,144 @@ void MDCache::fragment_unmark_unfreeze_dirs(list<CDir*>& dirs)
   }
 }
 
-class C_MDC_FragmentLoggedAndStored : public Context {
+class C_MDC_FragmentPrep : public Context {
   MDCache *mdcache;
-  Mutation *mut;
+  MDRequest *mdr;
+public:
+  C_MDC_FragmentPrep(MDCache *m, MDRequest *r) : mdcache(m), mdr(r) {}
+  virtual void finish(int r) {
+    mdcache->_fragment_logged(mdr);
+  }
+};
+
+class C_MDC_FragmentStore : public Context {
+  MDCache *mdcache;
+  MDRequest *mdr;
+public:
+  C_MDC_FragmentStore(MDCache *m, MDRequest *r) : mdcache(m), mdr(r) {}
+  virtual void finish(int r) {
+    mdcache->_fragment_stored(mdr);
+  }
+};
+
+class C_MDC_FragmentCommit : public Context {
+  MDCache *mdcache;
+  dirfrag_t basedirfrag;
   list<CDir*> resultfrags;
-  frag_t basefrag;
-  int bits;
 public:
-  C_MDC_FragmentLoggedAndStored(MDCache *m, Mutation *mu, list<CDir*>& r, frag_t bf, int bi) : 
-    mdcache(m), mut(mu), resultfrags(r), basefrag(bf), bits(bi) {}
+  C_MDC_FragmentCommit(MDCache *m, inodeno_t ino, frag_t f, list<CDir*>& l) :
+    mdcache(m), basedirfrag(ino, f) {
+    resultfrags.swap(l);
+  }
+  virtual void finish(int r) {
+    mdcache->_fragment_committed(basedirfrag, resultfrags);
+  }
+};
+
+class C_MDC_FragmentFinish : public Context {
+  MDCache *mdcache;
+  dirfrag_t basedirfrag;
+  list<CDir*> resultfrags;
+public:
+  C_MDC_FragmentFinish(MDCache *m, dirfrag_t f, list<CDir*>& l) :
+    mdcache(m), basedirfrag(f) {
+    resultfrags.swap(l);
+  }
   virtual void finish(int r) {
-    mdcache->fragment_logged_and_stored(mut, resultfrags, basefrag, bits);
+    mdcache->_fragment_finish(basedirfrag, resultfrags);
   }
 };
 
 void MDCache::fragment_frozen(list<CDir*>& dirs, frag_t basefrag, int bits)
 {
-  CInode *diri = dirs.front()->get_inode();
+  dout(10) << "fragment_frozen " << dirs << " " << basefrag << " by " << bits
+	   << " on " << dirs.front()->get_inode() << dendl;
 
-  if (bits > 0) {
+  if (bits > 0)
     assert(dirs.size() == 1);
-  } else {
-    assert(bits < 0);
-  }
+  else if (bits < 0)
+    assert(dirs.size() > 1);
+  else
+    assert(0);
 
-  dout(10) << "fragment_frozen " << dirs << " " << basefrag << " by " << bits 
-	   << " on " << *diri << dendl;
+  MDRequest *mdr = request_start_internal(CEPH_MDS_OP_FRAGMENTDIR);
+  fragment_info_t &info = fragment_requests[mdr->reqid];
+  info.basefrag = basefrag;
+  info.bits = bits;
+  info.dirs = dirs;
 
-  // wrlock dirfragtreelock
-  if (!diri->dirfragtreelock.can_wrlock(-1)) {
-    dout(10) << " can't wrlock " << diri->dirfragtreelock << " on " << *diri << dendl;
-    fragment_unmark_unfreeze_dirs(dirs);
-    return;
+  dispatch_fragment_dir(mdr);
+}
+
+void MDCache::dispatch_fragment_dir(MDRequest *mdr)
+{
+  map<metareqid_t, fragment_info_t>::iterator it = fragment_requests.find(mdr->reqid);
+  assert(it != fragment_requests.end());
+  fragment_info_t &info = it->second;
+  CInode *diri = info.dirs.front()->get_inode();
+
+  dout(10) << "dispatch_fragment_dir " << info.resultfrags << " "
+	   << info.basefrag << " bits " << info.bits << " on " << *diri << dendl;
+
+  // avoid freeze dir deadlock
+  if (!mdr->is_auth_pinned(diri)) {
+    if (!diri->can_auth_pin()) {
+      dout(10) << " can't auth_pin " << *diri << ", requeuing dir "
+	       << info.dirs.front()->dirfrag() << dendl;
+      if (info.bits > 0)
+	mds->balancer->queue_split(info.dirs.front());
+      else
+	mds->balancer->queue_merge(info.dirs.front());
+      fragment_unmark_unfreeze_dirs(info.dirs);
+      fragment_requests.erase(mdr->reqid);
+      request_finish(mdr);
+      return;
+    }
+    mdr->auth_pin(diri);
   }
-  diri->dirfragtreelock.get_wrlock(true);
 
+  set<SimpleLock*> rdlocks, wrlocks, xlocks;
+  wrlocks.insert(&diri->dirfragtreelock);
   // prevent a racing gather on any other scatterlocks too
-  diri->nestlock.get_wrlock(true);
-  diri->filelock.get_wrlock(true);
+  wrlocks.insert(&diri->nestlock);
+  wrlocks.insert(&diri->filelock);
+  if (!mds->locker->acquire_locks(mdr, rdlocks, wrlocks, xlocks))
+    return;
+
+  mdr->ls = mds->mdlog->get_current_segment();
+  EFragment *le = new EFragment(mds->mdlog, EFragment::OP_PREPARE, diri->ino(),
+			        info.basefrag, info.bits);
+  mds->mdlog->start_entry(le);
+
+  for (list<CDir*>::iterator p = info.dirs.begin(); p != info.dirs.end(); ++p) {
+    CDir *dir = *p;
+    dirfrag_rollback rollback;
+    rollback.fnode = dir->fnode;
+    le->add_orig_frag(dir->get_frag(), &rollback);
+  }
 
   // refragment
-  list<CDir*> resultfrags;
   list<Context*> waiters;
-  adjust_dir_fragments(diri, dirs, basefrag, bits, resultfrags, waiters, false);
+  adjust_dir_fragments(diri, info.dirs, info.basefrag, info.bits,
+		       info.resultfrags, waiters, false);
   if (g_conf->mds_debug_frag)
     diri->verify_dirfrags();
   mds->queue_waiters(waiters);
 
-  // journal
-  Mutation *mut = new Mutation;
+  for (list<frag_t>::iterator p = le->orig_frags.begin(); p != le->orig_frags.end(); ++p)
+    assert(!diri->dirfragtree.is_leaf(*p));
 
-  mut->ls = mds->mdlog->get_current_segment();
-  EFragment *le = new EFragment(mds->mdlog, EFragment::OP_PREPARE, diri->ino(), basefrag, bits);
-  mds->mdlog->start_entry(le);
-
-  le->metablob.add_dir_context(*resultfrags.begin());
+  le->metablob.add_dir_context(*info.resultfrags.begin());
+  for (list<CDir*>::iterator p = info.resultfrags.begin();
+       p != info.resultfrags.end();
+       ++p) {
+    le->metablob.add_dir(*p, false);
+  }
 
   // dft lock
   mds->locker->mark_updated_scatterlock(&diri->dirfragtreelock);
-  mut->ls->dirty_dirfrag_dirfragtree.push_back(&diri->item_dirty_dirfrag_dirfragtree);
-  mut->add_updated_lock(&diri->dirfragtreelock);
+  mdr->ls->dirty_dirfrag_dirfragtree.push_back(&diri->item_dirty_dirfrag_dirfragtree);
+  mdr->add_updated_lock(&diri->dirfragtreelock);
 
   /*
   // filelock
@@ -11156,48 +11207,57 @@ void MDCache::fragment_frozen(list<CDir*>& dirs, frag_t basefrag, int bits)
   mut->add_updated_lock(&diri->nestlock);
   */
 
-  // freeze, journal, and store resulting frags
-  C_GatherBuilder gather(g_ceph_context,
-		      new C_MDC_FragmentLoggedAndStored(this, mut,
-				  resultfrags, basefrag, bits));
+  add_uncommitted_fragment(dirfrag_t(diri->ino(), info.basefrag), info.bits, le->orig_frags, mdr->ls);
+  mds->mdlog->submit_entry(le, new C_MDC_FragmentPrep(this, mdr));
+  mds->mdlog->flush();
+}
 
-  for (list<CDir*>::iterator p = resultfrags.begin();
-       p != resultfrags.end();
+void MDCache::_fragment_logged(MDRequest *mdr)
+{
+  map<metareqid_t, fragment_info_t>::iterator it = fragment_requests.find(mdr->reqid);
+  assert(it != fragment_requests.end());
+  fragment_info_t &info = it->second;
+  CInode *diri = info.resultfrags.front()->get_inode();
+
+  dout(10) << "fragment_logged " << info.resultfrags << " " << info.basefrag
+	   << " bits " << info.bits << " on " << *diri << dendl;
+
+  // store resulting frags
+  C_GatherBuilder gather(g_ceph_context, new C_MDC_FragmentStore(this, mdr));
+
+  for (list<CDir*>::iterator p = info.resultfrags.begin();
+       p != info.resultfrags.end();
        ++p) {
     CDir *dir = *p;
-    dout(10) << " result frag " << *dir << dendl;
-    le->metablob.add_dir(dir, false);
+    dout(10) << " storing result frag " << *dir << dendl;
 
     // freeze and store them too
+    dir->auth_pin(this);
     dir->state_set(CDir::STATE_FRAGMENTING);
     dir->commit(0, gather.new_sub(), true);  // ignore authpinnability
   }
 
-  mds->mdlog->submit_entry(le, gather.new_sub());
-  mds->mdlog->flush();
   gather.activate();
 }
 
-void MDCache::fragment_logged_and_stored(Mutation *mut, list<CDir*>& resultfrags, frag_t basefrag, int bits)
+void MDCache::_fragment_stored(MDRequest *mdr)
 {
-  CInode *diri = resultfrags.front()->get_inode();
+  map<metareqid_t, fragment_info_t>::iterator it = fragment_requests.find(mdr->reqid);
+  assert(it != fragment_requests.end());
+  fragment_info_t &info = it->second;
+  CInode *diri = info.resultfrags.front()->get_inode();
 
-  dout(10) << "fragment_logged_and_stored " << resultfrags << " " << basefrag << " bits " << bits 
-	   << " on " << *diri << dendl;
-  
-  // journal commit
-  EFragment *le = new EFragment(mds->mdlog, EFragment::OP_COMMIT, diri->ino(), basefrag, bits);
-  mds->mdlog->start_entry(le);
-  mds->mdlog->submit_entry(le);
+  dout(10) << "fragment_stored " << info.resultfrags << " " << info.basefrag
+	   << " bits " << info.bits << " on " << *diri << dendl;
 
   // tell peers
-  CDir *first = *resultfrags.begin();
+  CDir *first = *info.resultfrags.begin();
   for (map<int,int>::iterator p = first->replica_map.begin();
        p != first->replica_map.end();
        ++p) {
     if (mds->mdsmap->get_state(p->first) <= MDSMap::STATE_REJOIN)
       continue;
-    MMDSFragmentNotify *notify = new MMDSFragmentNotify(diri->ino(), basefrag, bits);
+    MMDSFragmentNotify *notify = new MMDSFragmentNotify(diri->ino(), info.basefrag, info.bits);
 
     /*
     // freshly replicate new dirs to peers
@@ -11208,26 +11268,15 @@ void MDCache::fragment_logged_and_stored(Mutation *mut, list<CDir*>& resultfrags
     mds->send_message_mds(notify, p->first);
   } 
   
-  mut->apply();  // mark scatterlock
-  mds->locker->drop_locks(mut);
-  mut->cleanup();
-  delete mut;
-
-  // drop dft wrlock
-  bool need_issue = false;
-  mds->locker->wrlock_finish(&diri->dirfragtreelock, NULL, &need_issue);
-  mds->locker->wrlock_finish(&diri->nestlock, NULL, &need_issue);
-  mds->locker->wrlock_finish(&diri->filelock, NULL, &need_issue);
+  mdr->apply();  // mark scatterlock
+  mds->locker->drop_locks(mdr);
 
   // unfreeze resulting frags
-  for (list<CDir*>::iterator p = resultfrags.begin();
-       p != resultfrags.end();
+  for (list<CDir*>::iterator p = info.resultfrags.begin();
+       p != info.resultfrags.end();
        ++p) {
     CDir *dir = *p;
     dout(10) << " result frag " << *dir << dendl;
-    
-    // unmark, unfreeze
-    dir->state_clear(CDir::STATE_FRAGMENTING);  
 
     for (CDir::map_t::iterator p = dir->items.begin();
 	 p != dir->items.end();
@@ -11238,13 +11287,72 @@ void MDCache::fragment_logged_and_stored(Mutation *mut, list<CDir*>& resultfrags
       dn->put(CDentry::PIN_FRAGMENTING);
     }
 
+    // unfreeze
     dir->unfreeze_dir();
   }
 
-  if (need_issue)
-    mds->locker->issue_caps(diri);
+  // journal commit
+  EFragment *le = new EFragment(mds->mdlog, EFragment::OP_COMMIT,
+				diri->ino(), info.basefrag, info.bits);
+  mds->mdlog->start_submit_entry(le, new C_MDC_FragmentCommit(this, diri->ino(), info.basefrag,
+							      info.resultfrags));
+
+  fragment_requests.erase(it);
+  request_finish(mdr);
 }
 
+void MDCache::_fragment_committed(dirfrag_t basedirfrag, list<CDir*>& resultfrags)
+{
+  dout(10) << "fragment_committed " << basedirfrag << dendl;
+  map<dirfrag_t, ufragment>::iterator it = uncommitted_fragments.find(basedirfrag);
+  assert(it != uncommitted_fragments.end());
+  ufragment &uf = it->second;
+
+  // remove old frags
+  C_GatherBuilder gather(g_ceph_context, new C_MDC_FragmentFinish(this, basedirfrag, resultfrags));
+
+  SnapContext nullsnapc;
+  object_locator_t oloc(mds->mdsmap->get_metadata_pool());
+  for (list<frag_t>::iterator p = uf.old_frags.begin();
+       p != uf.old_frags.end();
+       ++p) {
+    object_t oid = CInode::get_object_name(basedirfrag.ino, *p, "");
+    ObjectOperation op;
+    if (*p == frag_t()) {
+      // backtrace object
+      dout(10) << " truncate orphan dirfrag " << oid << dendl;
+      op.truncate(0);
+    } else {
+      dout(10) << " removing orphan dirfrag " << oid << dendl;
+      op.remove();
+    }
+    mds->objecter->mutate(oid, oloc, op, nullsnapc, ceph_clock_now(g_ceph_context),
+			  0, NULL, gather.new_sub());
+  }
+
+  assert(gather.has_subs());
+  gather.activate();
+}
+
+void MDCache::_fragment_finish(dirfrag_t basedirfrag, list<CDir*>& resultfrags)
+{
+  dout(10) << "fragment_finish " << basedirfrag << dendl;
+  map<dirfrag_t, ufragment>::iterator it = uncommitted_fragments.find(basedirfrag);
+  assert(it != uncommitted_fragments.end());
+  ufragment &uf = it->second;
+
+  // unmark & auth_unpin
+  for (list<CDir*>::iterator p = resultfrags.begin(); p != resultfrags.end(); ++p) {
+    (*p)->state_clear(CDir::STATE_FRAGMENTING);
+    (*p)->auth_unpin(this);
+  }
+
+  EFragment *le = new EFragment(mds->mdlog, EFragment::OP_FINISH,
+			        basedirfrag.ino, basedirfrag.frag, uf.bits);
+  mds->mdlog->start_submit_entry(le);
+
+  finish_uncommitted_fragment(basedirfrag, EFragment::OP_FINISH);
+}
 
 /* This function DOES put the passed message before returning */
 void MDCache::handle_fragment_notify(MMDSFragmentNotify *notify)
@@ -11290,26 +11398,140 @@ void MDCache::handle_fragment_notify(MMDSFragmentNotify *notify)
   notify->put();
 }
 
+void MDCache::add_uncommitted_fragment(dirfrag_t basedirfrag, int bits, list<frag_t>& old_frags,
+				       LogSegment *ls, bufferlist *rollback)
+{
+  dout(10) << "add_uncommitted_fragment: base dirfrag " << basedirfrag << " bits " << bits << dendl;
+  assert(!uncommitted_fragments.count(basedirfrag));
+  ufragment& uf = uncommitted_fragments[basedirfrag];
+  uf.old_frags = old_frags;
+  uf.bits = bits;
+  uf.ls = ls;
+  ls->uncommitted_fragments.insert(basedirfrag);
+  if (rollback)
+    uf.rollback.swap(*rollback);
+}
+
+void MDCache::finish_uncommitted_fragment(dirfrag_t basedirfrag, int op)
+{
+  dout(10) << "finish_uncommitted_fragments: base dirfrag " << basedirfrag
+	   << " op " << EFragment::op_name(op) << dendl;
+  map<dirfrag_t, ufragment>::iterator it = uncommitted_fragments.find(basedirfrag);
+  if (it != uncommitted_fragments.end()) {
+    ufragment& uf = it->second;
+    if (op != EFragment::OP_FINISH && !uf.old_frags.empty()) {
+      uf.committed = true;
+    } else {
+      uf.ls->uncommitted_fragments.erase(basedirfrag);
+      mds->queue_waiters(uf.waiters);
+      uncommitted_fragments.erase(it);
+    }
+  }
+}
+
+void MDCache::rollback_uncommitted_fragment(dirfrag_t basedirfrag, list<frag_t>& old_frags)
+{
+  dout(10) << "rollback_uncommitted_fragment: base dirfrag " << basedirfrag
+           << " old_frags (" << old_frags << ")" << dendl;
+  map<dirfrag_t, ufragment>::iterator it = uncommitted_fragments.find(basedirfrag);
+  if (it != uncommitted_fragments.end()) {
+    ufragment& uf = it->second;
+    if (!uf.old_frags.empty()) {
+      uf.old_frags.swap(old_frags);
+      uf.committed = true;
+    } else {
+      uf.ls->uncommitted_fragments.erase(basedirfrag);
+      uncommitted_fragments.erase(it);
+    }
+  }
+}
 
 void MDCache::rollback_uncommitted_fragments()
 {
   dout(10) << "rollback_uncommitted_fragments: " << uncommitted_fragments.size() << " pending" << dendl;
-  for (set< pair<dirfrag_t,int> >::iterator p = uncommitted_fragments.begin();
+  for (map<dirfrag_t, ufragment>::iterator p = uncommitted_fragments.begin();
        p != uncommitted_fragments.end();
        ++p) {
+    ufragment &uf = p->second;
     CInode *diri = get_inode(p->first.ino);
     assert(diri);
-    dout(10) << " rolling back " << p->first << " refragment by " << p->second << " bits" << dendl;
+
+    if (uf.committed) {
+      list<CDir*> frags;
+      diri->get_dirfrags_under(p->first.frag, frags);
+      for (list<CDir*>::iterator q = frags.begin(); q != frags.end(); ++q) {
+	CDir *dir = *q;
+	dir->auth_pin(this);
+	dir->state_set(CDir::STATE_FRAGMENTING);
+      }
+      _fragment_committed(p->first, frags);
+      continue;
+    }
+
+    dout(10) << " rolling back " << p->first << " refragment by " << uf.bits << " bits" << dendl;
+
+    LogSegment *ls = mds->mdlog->get_current_segment();
+    EFragment *le = new EFragment(mds->mdlog, EFragment::OP_ROLLBACK, diri->ino(), p->first.frag, uf.bits);
+    mds->mdlog->start_entry(le);
+
+    list<frag_t> old_frags;
+    diri->dirfragtree.get_leaves_under(p->first.frag, old_frags);
+
     list<CDir*> resultfrags;
-    list<Context*> waiters;
-    adjust_dir_fragments(diri, p->first.frag, -p->second, resultfrags, waiters, true);
+    if (uf.old_frags.empty()) {
+      // created by old format EFragment
+      list<Context*> waiters;
+      adjust_dir_fragments(diri, p->first.frag, -uf.bits, resultfrags, waiters, true);
+    } else {
+      bufferlist::iterator bp = uf.rollback.begin();
+      for (list<frag_t>::iterator q = uf.old_frags.begin(); q != uf.old_frags.end(); ++q) {
+	CDir *dir = force_dir_fragment(diri, *q);
+	resultfrags.push_back(dir);
+
+	dirfrag_rollback rollback;
+	::decode(rollback, bp);
+
+	dir->set_version(rollback.fnode.version);
+	dir->fnode = rollback.fnode;
+
+	dir->_mark_dirty(ls);
+
+	if (!(dir->fnode.rstat == dir->fnode.accounted_rstat)) {
+	  dout(10) << "    dirty nestinfo on " << *dir << dendl;
+	  mds->locker->mark_updated_scatterlock(&dir->inode->nestlock);
+	  ls->dirty_dirfrag_nest.push_back(&dir->inode->item_dirty_dirfrag_nest);
+	  dir->get_inode()->nestlock.mark_dirty();
+	}
+	if (!(dir->fnode.fragstat == dir->fnode.accounted_fragstat)) {
+	  dout(10) << "    dirty fragstat on " << *dir << dendl;
+	  mds->locker->mark_updated_scatterlock(&dir->inode->filelock);
+	  ls->dirty_dirfrag_dir.push_back(&dir->inode->item_dirty_dirfrag_dir);
+	  dir->get_inode()->filelock.mark_dirty();
+	}
+
+	le->add_orig_frag(dir->get_frag());
+	le->metablob.add_dir_context(dir);
+	le->metablob.add_dir(dir, true);
+      }
+    }
+
     if (g_conf->mds_debug_frag)
       diri->verify_dirfrags();
 
-    EFragment *le = new EFragment(mds->mdlog, EFragment::OP_ROLLBACK, diri->ino(), p->first.frag, p->second);
-    mds->mdlog->start_submit_entry(le);
+    for (list<frag_t>::iterator q = old_frags.begin(); q != old_frags.end(); ++q)
+      assert(!diri->dirfragtree.is_leaf(*q));
+
+    for (list<CDir*>::iterator q = resultfrags.begin(); q != resultfrags.end(); ++q) {
+      CDir *dir = *q;
+      dir->auth_pin(this);
+      dir->state_set(CDir::STATE_FRAGMENTING);
+    }
+
+    mds->mdlog->submit_entry(le);
+
+    uf.old_frags.swap(old_frags);
+    _fragment_committed(p->first, resultfrags);
   }
-  uncommitted_fragments.clear();
 }
 
 
diff --git a/src/mds/MDCache.h b/src/mds/MDCache.h
index 36a322c..87b1098 100644
--- a/src/mds/MDCache.h
+++ b/src/mds/MDCache.h
@@ -19,6 +19,7 @@
 
 #include "include/types.h"
 #include "include/filepath.h"
+#include "include/elist.h"
 
 #include "CInode.h"
 #include "CDentry.h"
@@ -51,23 +52,23 @@ class MDirUpdate;
 class MDentryLink;
 class MDentryUnlink;
 class MLock;
-class MMDSFindIno;
-class MMDSFindInoReply;
-class MMDSOpenIno;
-class MMDSOpenInoReply;
+struct MMDSFindIno;
+struct MMDSFindInoReply;
+struct MMDSOpenIno;
+struct MMDSOpenInoReply;
 
 class Message;
 class MClientRequest;
 class MMDSSlaveRequest;
-class MClientSnap;
+struct MClientSnap;
 
 class MMDSFragmentNotify;
 
 class ESubtreeMap;
 
-class Mutation;
-class MDRequest;
-class MDSlaveUpdate;
+struct Mutation;
+struct MDRequest;
+struct MDSlaveUpdate;
 
 
 // flags for predirty_journal_parents()
@@ -564,7 +565,7 @@ public:
 
   // trimming
   bool trim(int max = -1);   // trim cache
-  void trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap);
+  bool trim_dentry(CDentry *dn, map<int, MCacheExpire*>& expiremap);
   void trim_dirfrag(CDir *dir, CDir *con,
 		    map<int, MCacheExpire*>& expiremap);
   void trim_inode(CDentry *dn, CInode *in, CDir *con,
@@ -646,6 +647,15 @@ public:
   }
   void touch_dentry_bottom(CDentry *dn) {
     lru.lru_bottouch(dn);
+    if (dn->get_projected_linkage()->is_primary()) {
+      CInode *in = dn->get_projected_linkage()->get_inode();
+      if (in->has_dirfrags()) {
+	list<CDir*> ls;
+	in->get_dirfrags(ls);
+	for (list<CDir*>::iterator p = ls.begin(); p != ls.end(); ++p)
+	  (*p)->touch_dentries_bottom();
+      }
+    }
   }
 protected:
 
@@ -801,8 +811,8 @@ protected:
   void handle_open_ino(MMDSOpenIno *m);
   void handle_open_ino_reply(MMDSOpenInoReply *m);
   friend class C_MDC_OpenInoBacktraceFetched;
-  friend class C_MDC_OpenInoTraverseDir;
-  friend class C_MDC_OpenInoParentOpened;
+  friend struct C_MDC_OpenInoTraverseDir;
+  friend struct C_MDC_OpenInoParentOpened;
 
 public:
   void kick_open_ino_peers(int who);
@@ -858,31 +868,29 @@ public:
 
   // -- stray --
 public:
-  void scan_stray_dir();
-  void eval_stray(CDentry *dn);
+  elist<CDentry*> delayed_eval_stray;
+
+  void eval_stray(CDentry *dn, bool delay=false);
   void eval_remote(CDentry *dn);
 
-  void maybe_eval_stray(CInode *in) {
+  void maybe_eval_stray(CInode *in, bool delay=false) {
     if (in->inode.nlink > 0 || in->is_base())
       return;
     CDentry *dn = in->get_projected_parent_dn();
-    if (dn->get_projected_linkage()->is_primary() &&
-	dn->get_dir()->get_inode()->is_stray() &&
-	!dn->is_replicated())
-      eval_stray(dn);
+    if (!dn->state_test(CDentry::STATE_PURGING) &&
+	dn->get_projected_linkage()->is_primary() &&
+	dn->get_dir()->get_inode()->is_stray())
+      eval_stray(dn, delay);
   }
 protected:
+  void scan_stray_dir(dirfrag_t next=dirfrag_t());
   void fetch_backtrace(inodeno_t ino, int64_t pool, bufferlist& bl, Context *fin);
-  void remove_backtrace(inodeno_t ino, int64_t pool, Context *fin);
-  void _purge_forwarding_pointers(bufferlist& bl, CDentry *dn, int r);
-  void _purge_stray(CDentry *dn, int r);
   void purge_stray(CDentry *dn);
   void _purge_stray_purged(CDentry *dn, int r=0);
   void _purge_stray_logged(CDentry *dn, version_t pdv, LogSegment *ls);
   void _purge_stray_logged_truncate(CDentry *dn, LogSegment *ls);
+  friend class C_MDC_RetryScanStray;
   friend class C_MDC_FetchedBacktrace;
-  friend class C_MDC_PurgeForwardingPointers;
-  friend class C_MDC_PurgeStray;
   friend class C_MDC_PurgeStrayLogged;
   friend class C_MDC_PurgeStrayLoggedTruncate;
   friend class C_MDC_PurgeStrayPurged;
@@ -935,10 +943,26 @@ protected:
 
 
   // -- fragmenting --
-public:
-  set< pair<dirfrag_t,int> > uncommitted_fragments;  // prepared but uncommitted refragmentations
-
 private:
+  struct ufragment {
+    int bits;
+    bool committed;
+    LogSegment *ls;
+    list<Context*> waiters;
+    list<frag_t> old_frags;
+    bufferlist rollback;
+    ufragment() : bits(0), committed(false), ls(NULL) {}
+  };
+  map<dirfrag_t, ufragment> uncommitted_fragments;
+
+  struct fragment_info_t {
+    frag_t basefrag;
+    int bits;
+    list<CDir*> dirs;
+    list<CDir*> resultfrags;
+  };
+  map<metareqid_t, fragment_info_t> fragment_requests;
+
   void adjust_dir_fragments(CInode *diri, frag_t basefrag, int bits,
 			    list<CDir*>& frags, list<Context*>& waiters, bool replay);
   void adjust_dir_fragments(CInode *diri,
@@ -950,32 +974,39 @@ private:
   CDir *force_dir_fragment(CInode *diri, frag_t fg);
   void get_force_dirfrag_bound_set(vector<dirfrag_t>& dfs, set<CDir*>& bounds);
 
-
-  friend class EFragment;
-
-  bool can_fragment_lock(CInode *diri);
   bool can_fragment(CInode *diri, list<CDir*>& dirs);
-
-public:
-  void split_dir(CDir *dir, int byn);
-  void merge_dir(CInode *diri, frag_t fg);
-
-private:
   void fragment_freeze_dirs(list<CDir*>& dirs, C_GatherBuilder &gather);
   void fragment_mark_and_complete(list<CDir*>& dirs);
   void fragment_frozen(list<CDir*>& dirs, frag_t basefrag, int bits);
   void fragment_unmark_unfreeze_dirs(list<CDir*>& dirs);
-  void fragment_logged_and_stored(Mutation *mut, list<CDir*>& resultfrags, frag_t basefrag, int bits);
-public:
-  void rollback_uncommitted_fragments();
-private:
+  void dispatch_fragment_dir(MDRequest *mdr);
+  void _fragment_logged(MDRequest *mdr);
+  void _fragment_stored(MDRequest *mdr);
+  void _fragment_committed(dirfrag_t f, list<CDir*>& resultfrags);
+  void _fragment_finish(dirfrag_t f, list<CDir*>& resultfrags);
 
+  friend class EFragment;
   friend class C_MDC_FragmentFrozen;
   friend class C_MDC_FragmentMarking;
-  friend class C_MDC_FragmentLoggedAndStored;
+  friend class C_MDC_FragmentPrep;
+  friend class C_MDC_FragmentStore;
+  friend class C_MDC_FragmentCommit;
+  friend class C_MDC_FragmentFinish;
 
   void handle_fragment_notify(MMDSFragmentNotify *m);
 
+  void add_uncommitted_fragment(dirfrag_t basedirfrag, int bits, list<frag_t>& old_frag,
+				LogSegment *ls, bufferlist *rollback=NULL);
+  void finish_uncommitted_fragment(dirfrag_t basedirfrag, int op);
+  void rollback_uncommitted_fragment(dirfrag_t basedirfrag, list<frag_t>& old_frags);
+public:
+  void wait_for_uncommitted_fragment(dirfrag_t dirfrag, Context *c) {
+    assert(uncommitted_fragments.count(dirfrag));
+    uncommitted_fragments[dirfrag].waiters.push_back(c);
+  }
+  void split_dir(CDir *dir, int byn);
+  void merge_dir(CInode *diri, frag_t fg);
+  void rollback_uncommitted_fragments();
 
   // -- updates --
   //int send_inode_updates(CInode *in);
diff --git a/src/mds/MDLog.cc b/src/mds/MDLog.cc
index b293c4c..cacbebf 100644
--- a/src/mds/MDLog.cc
+++ b/src/mds/MDLog.cc
@@ -173,8 +173,7 @@ void MDLog::submit_entry(LogEvent *le, Context *c)
   if (!g_conf->mds_log) {
     // hack: log is disabled.
     if (c) {
-      c->finish(0);
-      delete c;
+      c->complete(0);
     }
     return;
   }
@@ -245,8 +244,7 @@ void MDLog::wait_for_safe(Context *c)
     journaler->wait_for_flush(c);
   } else {
     // hack: bypass.
-    c->finish(0);
-    delete c;
+    c->complete(0);
   }
 }
 
@@ -269,16 +267,19 @@ void MDLog::cap()
 
 void MDLog::start_new_segment(Context *onsync)
 {
-  dout(7) << "start_new_segment at " << journaler->get_write_pos() << dendl;
-
-  segments[journaler->get_write_pos()] = new LogSegment(journaler->get_write_pos());
-
-  ESubtreeMap *le = mds->mdcache->create_subtree_map();
-  submit_entry(le);
+  prepare_new_segment();
+  journal_segment_subtree_map();
   if (onsync) {
-    wait_for_safe(onsync);  
+    wait_for_safe(onsync);
     flush();
   }
+}
+
+void MDLog::prepare_new_segment()
+{
+  dout(7) << __func__ << " at " << journaler->get_write_pos() << dendl;
+
+  segments[journaler->get_write_pos()] = new LogSegment(journaler->get_write_pos());
 
   logger->inc(l_mdl_segadd);
   logger->set(l_mdl_seg, segments.size());
@@ -289,6 +290,12 @@ void MDLog::start_new_segment(Context *onsync)
   mds->mdcache->advance_stray();
 }
 
+void MDLog::journal_segment_subtree_map()
+{
+  dout(7) << __func__ << dendl;
+  submit_entry(mds->mdcache->create_subtree_map());
+}
+
 void MDLog::trim(int m)
 {
   int max_segments = g_conf->mds_log_max_segments;
@@ -442,8 +449,7 @@ void MDLog::replay(Context *c)
   if (journaler->get_read_pos() == journaler->get_write_pos()) {
     dout(10) << "replay - journal empty, done." << dendl;
     if (c) {
-      c->finish(0);
-      delete c;
+      c->complete(0);
     }
     return;
   }
@@ -493,7 +499,11 @@ void MDLog::_replay_thread()
     if (journaler->get_error()) {
       r = journaler->get_error();
       dout(0) << "_replay journaler got error " << r << ", aborting" << dendl;
-      if (r == -EINVAL) {
+      if (r == -ENOENT) {
+	// journal has been trimmed by somebody else?
+	assert(journaler->is_readonly());
+	r = -EAGAIN;
+      } else if (r == -EINVAL) {
         if (journaler->get_read_pos() < journaler->get_expire_pos()) {
           // this should only happen if you're following somebody else
           assert(journaler->is_readonly());
@@ -599,7 +609,7 @@ void MDLog::_replay_thread()
   }
 
   dout(10) << "_replay_thread kicking waiters" << dendl;
-  finish_contexts(g_ceph_context, waitfor_replay, 0);  
+  finish_contexts(g_ceph_context, waitfor_replay, r);  
 
   dout(10) << "_replay_thread finish" << dendl;
   mds->mds_lock.Unlock();
diff --git a/src/mds/MDLog.h b/src/mds/MDLog.h
index 46b34d2..82d51c3 100644
--- a/src/mds/MDLog.h
+++ b/src/mds/MDLog.h
@@ -161,6 +161,8 @@ public:
 
   // -- segments --
   void start_new_segment(Context *onsync=0);
+  void prepare_new_segment();
+  void journal_segment_subtree_map();
 
   LogSegment *peek_current_segment() {
     return segments.empty() ? NULL : segments.rbegin()->second;
diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc
index e70d6fd..8372227 100644
--- a/src/mds/MDS.cc
+++ b/src/mds/MDS.cc
@@ -800,7 +800,9 @@ void MDS::handle_command(MMonCommand *m)
      clog.info() << "tcmalloc not enabled, can't use heap profiler commands\n";
    else {
      ostringstream ss;
-     ceph_heap_profiler_handle_command(m->cmd, ss);
+     vector<std::string> cmdargs;
+     cmdargs.insert(cmdargs.begin(), m->cmd.begin()+1, m->cmd.end());
+     ceph_heap_profiler_handle_command(cmdargs, ss);
      clog.info() << ss.str();
    }
  } else dout(0) << "unrecognized command! " << m->cmd << dendl;
@@ -1140,7 +1142,9 @@ void MDS::boot_create()
   // start with a fresh journal
   dout(10) << "boot_create creating fresh journal" << dendl;
   mdlog->create(fin.new_sub());
-  mdlog->start_new_segment(fin.new_sub());
+
+  // open new journal segment, but do not journal subtree map (yet)
+  mdlog->prepare_new_segment();
 
   if (whoami == mdsmap->get_root()) {
     dout(3) << "boot_create creating fresh hierarchy" << dendl;
@@ -1170,6 +1174,12 @@ void MDS::boot_create()
     snapserver->save(fin.new_sub());
     snapserver->handle_mds_recovery(whoami);
   }
+
+  // ok now journal it
+  mdlog->journal_segment_subtree_map();
+  mdlog->wait_for_safe(fin.new_sub());
+  mdlog->flush();
+
   fin.activate();
 }
 
@@ -1177,9 +1187,6 @@ void MDS::creating_done()
 {
   dout(1)<< "creating_done" << dendl;
   request_state(MDSMap::STATE_ACTIVE);
-
-  // start new segment
-  mdlog->start_new_segment(0);
 }
 
 
@@ -1518,7 +1525,6 @@ void MDS::active_start()
     mdcache->open_root();
 
   mdcache->clean_open_file_lists();
-  mdcache->scan_stray_dir();
   mdcache->export_remaining_imported_caps();
   finish_contexts(g_ceph_context, waiting_for_replay);  // kick waiters
   finish_contexts(g_ceph_context, waiting_for_active);  // kick waiters
@@ -1889,8 +1895,7 @@ bool MDS::_dispatch(Message *m)
     ls.swap(finished_queue);
     while (!ls.empty()) {
       dout(10) << " finish " << ls.front() << dendl;
-      ls.front()->finish(0);
-      delete ls.front();
+      ls.front()->complete(0);
       ls.pop_front();
       
       // give other threads (beacon!) a chance
@@ -2176,10 +2181,10 @@ bool MDS::ms_verify_authorizer(Connection *con, int peer_type,
 
 void MDS::ms_handle_accept(Connection *con)
 {
+  Mutex::Locker l(mds_lock);
   Session *s = static_cast<Session *>(con->get_priv());
   dout(10) << "ms_handle_accept " << con->get_peer_addr() << " con " << con << " session " << s << dendl;
   if (s) {
-    s->put();
     if (s->connection != con) {
       dout(10) << " session connection " << s->connection << " -> " << con << dendl;
       s->connection = con;
@@ -2190,5 +2195,6 @@ void MDS::ms_handle_accept(Connection *con)
 	s->preopen_out_queue.pop_front();
       }
     }
+    s->put();
   }
 }
diff --git a/src/mds/MDSMap.cc b/src/mds/MDSMap.cc
index 1646a13..05b0c42 100644
--- a/src/mds/MDSMap.cc
+++ b/src/mds/MDSMap.cc
@@ -114,7 +114,7 @@ void MDSMap::dump(Formatter *f) const
   f->close_section();
   f->open_object_section("info");
   for (map<uint64_t,mds_info_t>::const_iterator p = mds_info.begin(); p != mds_info.end(); ++p) {
-    char s[10];
+    char s[25]; // 'gid_' + len(str(ULLONG_MAX)) + '\0'
     sprintf(s, "gid_%llu", (long long unsigned)p->first);
     f->open_object_section(s);
     p->second.dump(f);
@@ -470,7 +470,7 @@ void MDSMap::encode(bufferlist& bl, uint64_t features) const
     ::encode(cas_pool, bl);
 
     // kclient ignores everything from here
-    __u16 ev = 5;
+    __u16 ev = 6;
     ::encode(ev, bl);
     ::encode(compat, bl);
     ::encode(metadata_pool, bl);
@@ -483,6 +483,8 @@ void MDSMap::encode(bufferlist& bl, uint64_t features) const
     ::encode(failed, bl);
     ::encode(stopped, bl);
     ::encode(last_failure_osd_epoch, bl);
+    ::encode(ever_allowed_snaps, bl);
+    ::encode(explicitly_allowed_snaps, bl);
     ENCODE_FINISH(bl);
   }
 }
@@ -540,5 +542,12 @@ void MDSMap::decode(bufferlist::iterator& p)
   ::decode(stopped, p);
   if (ev >= 4)
     ::decode(last_failure_osd_epoch, p);
+  if (ev >= 6) {
+    ::decode(ever_allowed_snaps, p);
+    ::decode(explicitly_allowed_snaps, p);
+  } else {
+    ever_allowed_snaps = true;
+    explicitly_allowed_snaps = false;
+  }
   DECODE_FINISH(p);
 }
diff --git a/src/mds/MDSMap.h b/src/mds/MDSMap.h
index 5bfc7cc..5eadf15 100644
--- a/src/mds/MDSMap.h
+++ b/src/mds/MDSMap.h
@@ -175,6 +175,9 @@ protected:
   map<int32_t,uint64_t> up;        // who is in those roles
   map<uint64_t,mds_info_t> mds_info;
 
+  bool ever_allowed_snaps; //< the cluster has ever allowed snap creation
+  bool explicitly_allowed_snaps; //< the user has explicitly enabled snap creation
+
 public:
   CompatSet compat;
 
@@ -188,7 +191,9 @@ public:
       max_file_size(0),
       cas_pool(-1),
       metadata_pool(0),
-      max_mds(0)
+      max_mds(0),
+      ever_allowed_snaps(false),
+      explicitly_allowed_snaps(false)
   { }
 
   utime_t get_session_timeout() {
@@ -201,6 +206,14 @@ public:
   void set_flag(int f) { flags |= f; }
   void clear_flag(int f) { flags &= ~f; }
 
+  void set_snaps_allowed() {
+    set_flag(CEPH_MDSMAP_ALLOW_SNAPS);
+    ever_allowed_snaps = true;
+    explicitly_allowed_snaps = true;
+  }
+  bool allows_snaps() { return test_flag(CEPH_MDSMAP_ALLOW_SNAPS); }
+  void clear_snaps_allowed() { clear_flag(CEPH_MDSMAP_ALLOW_SNAPS); }
+
   epoch_t get_epoch() const { return epoch; }
   void inc_epoch() { epoch++; }
 
diff --git a/src/mds/MDSTable.cc b/src/mds/MDSTable.cc
index 4b21f4f..ef0326d 100644
--- a/src/mds/MDSTable.cc
+++ b/src/mds/MDSTable.cc
@@ -160,7 +160,6 @@ void MDSTable::load_2(int r, bufferlist& bl, Context *onfinish)
   decode_state(p);
 
   if (onfinish) {
-    onfinish->finish(0);
-    delete onfinish;
+    onfinish->complete(0);
   }
 }
diff --git a/src/mds/MDSTableClient.cc b/src/mds/MDSTableClient.cc
index b478149..cc3152f 100644
--- a/src/mds/MDSTableClient.cc
+++ b/src/mds/MDSTableClient.cc
@@ -61,8 +61,7 @@ void MDSTableClient::handle_request(class MMDSTableRequest *m)
       pending_prepare.erase(reqid);
       prepared_update[tid] = reqid;
       if (onfinish) {
-        onfinish->finish(0);
-        delete onfinish;
+        onfinish->complete(0);
       }
     }
     else if (prepared_update.count(tid)) {
diff --git a/src/mds/Makefile.am b/src/mds/Makefile.am
new file mode 100644
index 0000000..05d0e1a
--- /dev/null
+++ b/src/mds/Makefile.am
@@ -0,0 +1,92 @@
+libmds_la_SOURCES = \
+	mds/Anchor.cc \
+	mds/Capability.cc \
+	mds/Dumper.cc \
+	mds/Resetter.cc \
+	mds/MDS.cc \
+	mds/flock.cc \
+	mds/locks.c \
+	mds/journal.cc \
+	mds/Server.cc \
+	mds/Mutation.cc \
+	mds/MDCache.cc \
+	mds/Locker.cc \
+	mds/Migrator.cc \
+	mds/MDBalancer.cc \
+	mds/CDentry.cc \
+	mds/CDir.cc \
+	mds/CInode.cc \
+	mds/LogEvent.cc \
+	mds/MDSTable.cc \
+	mds/InoTable.cc \
+	mds/MDSTableClient.cc \
+	mds/MDSTableServer.cc \
+	mds/AnchorServer.cc \
+	mds/AnchorClient.cc \
+	mds/SnapRealm.cc \
+	mds/SnapServer.cc \
+	mds/snap.cc \
+	mds/SessionMap.cc \
+	mds/MDLog.cc 
+libmds_la_LIBADD = $(LIBOSDC)
+noinst_LTLIBRARIES += libmds.la
+
+noinst_HEADERS += \
+	mds/inode_backtrace.h \
+	mds/flock.h \
+	mds/locks.c \
+	mds/locks.h \
+	mds/Anchor.h \
+	mds/AnchorClient.h \
+	mds/AnchorServer.h \
+	mds/CDentry.h \
+	mds/CDir.h \
+	mds/CInode.h \
+	mds/Capability.h \
+	mds/Dumper.h \
+	mds/InoTable.h \
+	mds/LocalLock.h \
+	mds/Locker.h \
+	mds/LogEvent.h \
+	mds/LogSegment.h \
+	mds/MDBalancer.h \
+	mds/MDCache.h \
+	mds/MDLog.h \
+	mds/MDS.h \
+	mds/MDSMap.h \
+	mds/MDSTable.h \
+	mds/MDSTableServer.h \
+	mds/MDSTableClient.h \
+	mds/Mutation.h \
+	mds/Migrator.h \
+	mds/Resetter.h \
+	mds/ScatterLock.h \
+	mds/Server.h \
+	mds/SessionMap.h \
+	mds/SimpleLock.h \
+	mds/SnapClient.h \
+	mds/SnapRealm.h \
+	mds/SnapServer.h \
+	mds/inode_backtrace.h \
+	mds/mds_table_types.h \
+	mds/mdstypes.h \
+	mds/snap.h
+
+noinst_HEADERS += \
+	mds/events/ECommitted.h \
+	mds/events/EExport.h \
+	mds/events/EFragment.h \
+	mds/events/EImportFinish.h \
+	mds/events/EImportStart.h \
+	mds/events/EMetaBlob.h \
+	mds/events/EOpen.h \
+	mds/events/EResetJournal.h \
+	mds/events/ESession.h \
+	mds/events/ESessions.h \
+	mds/events/ESlaveUpdate.h \
+	mds/events/ESubtreeMap.h \
+	mds/events/ETableClient.h \
+	mds/events/ETableServer.h \
+	mds/events/EUpdate.h
+
+
diff --git a/src/mds/Mutation.h b/src/mds/Mutation.h
index c0bea19..b50a03c 100644
--- a/src/mds/Mutation.h
+++ b/src/mds/Mutation.h
@@ -330,8 +330,7 @@ struct MDSlaveUpdate {
   ~MDSlaveUpdate() {
     item.remove_myself();
     if (waiter)
-      waiter->finish(0);
-    delete waiter;
+      waiter->complete(0);
   }
 };
 
diff --git a/src/mds/Server.cc b/src/mds/Server.cc
index 466d481..0c500cd 100644
--- a/src/mds/Server.cc
+++ b/src/mds/Server.cc
@@ -1167,10 +1167,11 @@ void Server::dispatch_client_request(MDRequest *mdr)
 
     // inodes ops.
   case CEPH_MDS_OP_LOOKUP:
-  case CEPH_MDS_OP_LOOKUPSNAP:
     handle_client_getattr(mdr, true);
     break;
 
+  case CEPH_MDS_OP_LOOKUPSNAP:
+    // lookupsnap does not reference a CDentry; treat it as a getattr
   case CEPH_MDS_OP_GETATTR:
     handle_client_getattr(mdr, false);
     break;
@@ -2734,13 +2735,15 @@ void Server::handle_client_readdir(MDRequest *mdr)
 
   // which frag?
   frag_t fg = (__u32)req->head.args.readdir.frag;
-  dout(10) << " frag " << fg << dendl;
+  string offset_str = req->get_path2();
+  dout(10) << " frag " << fg << " offset '" << offset_str << "'" << dendl;
 
   // does the frag exist?
   if (diri->dirfragtree[fg.value()] != fg) {
-    dout(10) << "frag " << fg << " doesn't appear in fragtree " << diri->dirfragtree << dendl;
-    reply_request(mdr, -EAGAIN);
-    return;
+    frag_t newfg = diri->dirfragtree[fg.value()];
+    dout(10) << " adjust frag " << fg << " -> " << newfg << " " << diri->dirfragtree << dendl;
+    fg = newfg;
+    offset_str.clear();
   }
   
   CDir *dir = try_open_auth_dirfrag(diri, fg, mdr);
@@ -2769,12 +2772,7 @@ void Server::handle_client_readdir(MDRequest *mdr)
   mdr->now = ceph_clock_now(g_ceph_context);
 
   snapid_t snapid = mdr->snapid;
-
-  string offset_str = req->get_path2();
-  const char *offset = offset_str.length() ? offset_str.c_str() : 0;
-
-  dout(10) << "snapid " << snapid << " offset '" << offset_str << "'" << dendl;
-
+  dout(10) << "snapid " << snapid << dendl;
 
   // purge stale snap data?
   const set<snapid_t> *snaps = 0;
@@ -2830,7 +2828,7 @@ void Server::handle_client_readdir(MDRequest *mdr)
       continue;
     }
 
-    if (offset && strcmp(dn->get_name().c_str(), offset) <= 0)
+    if (!offset_str.empty() && dn->get_name().compare(offset_str) <= 0)
       continue;
 
     CInode *in = dnl->get_inode();
@@ -2900,7 +2898,7 @@ void Server::handle_client_readdir(MDRequest *mdr)
   }
   
   __u8 end = (it == dir->end());
-  __u8 complete = (end && !offset);  // FIXME: what purpose does this serve
+  __u8 complete = (end && offset_str.empty());  // FIXME: what purpose does this serve
   
   // finish final blob
   ::encode(numfiles, dirbl);
@@ -3085,6 +3083,7 @@ void Server::handle_client_file_readlock(MDRequest *mdr)
   checking_lock.length = req->head.args.filelock_change.length;
   checking_lock.client = req->get_orig_source().num();
   checking_lock.pid = req->head.args.filelock_change.pid;
+  checking_lock.pid_namespace = req->head.args.filelock_change.pid_namespace;
   checking_lock.type = req->head.args.filelock_change.type;
 
   // get the appropriate lock state
@@ -4909,8 +4908,10 @@ void Server::_unlink_local(MDRequest *mdr, CDentry *dn, CDentry *straydn)
   inode_t *pi = in->project_inode();
   mdr->add_projected_inode(in); // do this _after_ my dn->pre_dirty().. we apply that one manually.
   pi->version = in->pre_dirty();
-  pi->nlink--;
   pi->ctime = mdr->now;
+  pi->nlink--;
+  if (pi->nlink == 0)
+    in->state_set(CInode::STATE_ORPHAN);
 
   if (dnl->is_primary()) {
     // primary link.  add stray dentry.
@@ -6054,8 +6055,10 @@ void Server::_rename_prepare(MDRequest *mdr,
 	pi->nlink--;
     }
     if (tpi) {
-      tpi->nlink--;
       tpi->ctime = mdr->now;
+      tpi->nlink--;
+      if (tpi->nlink == 0)
+	oldin->state_set(CInode::STATE_ORPHAN);
     }
   }
 
@@ -7157,6 +7160,12 @@ struct C_MDS_mksnap_finish : public Context {
 /* This function takes responsibility for the passed mdr*/
 void Server::handle_client_mksnap(MDRequest *mdr)
 {
+  if (!mds->mdsmap->allows_snaps()) {
+    // you can't make snapshots until you set an option right now
+    reply_request(mdr, -EPERM);
+    return;
+  }
+
   MClientRequest *req = mdr->client_request;
   CInode *diri = mdcache->get_inode(req->get_filepath().get_ino());
   if (!diri || diri->state_test(CInode::STATE_PURGING)) {
diff --git a/src/mds/Server.h b/src/mds/Server.h
index 6e8f275..cf1ef5b 100644
--- a/src/mds/Server.h
+++ b/src/mds/Server.h
@@ -19,8 +19,8 @@
 
 class PerfCounters;
 class LogEvent;
-class MDRequest;
-class Mutation;
+struct MDRequest;
+struct Mutation;
 class EMetaBlob;
 class EUpdate;
 class MMDSSlaveRequest;
diff --git a/src/mds/SessionMap.h b/src/mds/SessionMap.h
index f3e7e09..e960ac5 100644
--- a/src/mds/SessionMap.h
+++ b/src/mds/SessionMap.h
@@ -28,7 +28,7 @@ using __gnu_cxx::hash_map;
 #include "mdstypes.h"
 
 class CInode;
-class MDRequest;
+struct MDRequest;
 
 #include "CInode.h"
 #include "Capability.h"
diff --git a/src/mds/SimpleLock.h b/src/mds/SimpleLock.h
index 0eff040..7684e9a 100644
--- a/src/mds/SimpleLock.h
+++ b/src/mds/SimpleLock.h
@@ -38,7 +38,7 @@ inline const char *get_lock_type_name(int t) {
   }
 }
 
-class Mutation;
+struct Mutation;
 
 extern "C" {
 #include "locks.h"
diff --git a/src/mds/events/EFragment.h b/src/mds/events/EFragment.h
index bdbbd33..a9ddd54 100644
--- a/src/mds/events/EFragment.h
+++ b/src/mds/events/EFragment.h
@@ -18,6 +18,14 @@
 #include "../LogEvent.h"
 #include "EMetaBlob.h"
 
+struct dirfrag_rollback {
+  fnode_t fnode;
+  dirfrag_rollback() { }
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+};
+WRITE_CLASS_ENCODER(dirfrag_rollback)
+
 class EFragment : public LogEvent {
 public:
   EMetaBlob metablob;
@@ -25,6 +33,8 @@ public:
   inodeno_t ino;
   frag_t basefrag;
   __s32 bits;         // positive for split (from basefrag), negative for merge (to basefrag)
+  list<frag_t> orig_frags;
+  bufferlist rollback;
 
   EFragment() : LogEvent(EVENT_FRAGMENT) { }
   EFragment(MDLog *mdlog, int o, inodeno_t i, frag_t bf, int b) : 
@@ -39,17 +49,25 @@ public:
     OP_PREPARE = 1,
     OP_COMMIT = 2,
     OP_ROLLBACK = 3,
-    OP_ONESHOT = 4,  // (legacy) PREPARE+COMMIT
+    OP_FINISH = 4, // finish deleting orphan dirfrags
+    OP_ONESHOT = 5,  // (legacy) PREPARE+COMMIT
   };
-  const char *op_name(int o) const {
+  static const char *op_name(int o) {
     switch (o) {
     case OP_PREPARE: return "prepare";
     case OP_COMMIT: return "commit";
     case OP_ROLLBACK: return "rollback";
+    case OP_FINISH: return "finish";
     default: return "???";
     }
   }
 
+  void add_orig_frag(frag_t df, dirfrag_rollback *drb=NULL) {
+    orig_frags.push_back(df);
+    if (drb)
+      ::encode(*drb, rollback);
+  }
+
   void encode(bufferlist &bl) const;
   void decode(bufferlist::iterator &bl);
   void dump(Formatter *f) const;
diff --git a/src/mds/events/EMetaBlob.h b/src/mds/events/EMetaBlob.h
index b91303a..6edcf96 100644
--- a/src/mds/events/EMetaBlob.h
+++ b/src/mds/events/EMetaBlob.h
@@ -27,7 +27,7 @@
 class MDS;
 class MDLog;
 class LogSegment;
-class MDSlaveUpdate;
+struct MDSlaveUpdate;
 
 /*
  * a bunch of metadata in the journal
diff --git a/src/mds/flock.cc b/src/mds/flock.cc
index e83c5ee..5e329af 100644
--- a/src/mds/flock.cc
+++ b/src/mds/flock.cc
@@ -75,12 +75,14 @@ bool ceph_lock_state_t::add_lock(ceph_filelock& new_lock,
       } else {
         //yay, we can insert a shared lock
         dout(15) << "inserting shared lock" << dendl;
+        remove_waiting(new_lock);
         adjust_locks(self_overlapping_locks, new_lock, neighbor_locks);
         held_locks.insert(pair<uint64_t, ceph_filelock>(new_lock.start, new_lock));
         ret = true;
       }
     }
   } else { //no overlapping locks except our own
+    remove_waiting(new_lock);
     adjust_locks(self_overlapping_locks, new_lock, neighbor_locks);
     dout(15) << "no conflicts, inserting " << new_lock << dendl;
     held_locks.insert(pair<uint64_t, ceph_filelock>
@@ -89,7 +91,6 @@ bool ceph_lock_state_t::add_lock(ceph_filelock& new_lock,
   }
   if (ret) {
     ++client_held_lock_counts[(client_t)new_lock.client];
-    remove_waiting(new_lock);
   }
   else if (wait_on_fail && !replay)
     ++client_waiting_lock_counts[(client_t)new_lock.client];
@@ -306,7 +307,7 @@ void ceph_lock_state_t::adjust_locks(list<multimap<uint64_t, ceph_filelock>::ite
     old_lock = &(*iter)->second;
     old_lock_client = old_lock->client;
     dout(15) << "lock to coalesce: " << *old_lock << dendl;
-    /* because if it's a neibhoring lock there can't be any self-overlapping
+    /* because if it's a neighboring lock there can't be any self-overlapping
        locks that covered it */
     if (old_lock->type == new_lock.type) { //merge them
       if (0 == new_lock.length) {
diff --git a/src/mds/flock.h b/src/mds/flock.h
index ae93d16..b767fe5 100644
--- a/src/mds/flock.h
+++ b/src/mds/flock.h
@@ -12,7 +12,7 @@
 inline ostream& operator<<(ostream& out, ceph_filelock& l) {
   out << "start: " << l.start << ", length: " << l.length
       << ", client: " << l.client << ", pid: " << l.pid
-      << ", type: " << (int)l.type
+      << ", pid_ns: " << l.pid_namespace << ", type: " << (int)l.type
       << std::endl;
   return out;
 }
diff --git a/src/mds/journal.cc b/src/mds/journal.cc
index aeff07e..41a79f9 100644
--- a/src/mds/journal.cc
+++ b/src/mds/journal.cc
@@ -119,6 +119,14 @@ void LogSegment::try_to_expire(MDS *mds, C_GatherBuilder &gather_bld)
     mds->mdcache->wait_for_uncommitted_master(*p, gather_bld.new_sub());
   }
 
+  // uncommitted fragments
+  for (set<dirfrag_t>::iterator p = uncommitted_fragments.begin();
+       p != uncommitted_fragments.end();
+       ++p) {
+    dout(10) << "try_to_expire waiting for uncommitted fragment " << *p << dendl;
+    mds->mdcache->wait_for_uncommitted_fragment(*p, gather_bld.new_sub());
+  }
+
   // nudge scatterlocks
   for (elist<CInode*>::iterator p = dirty_dirfrag_dir.begin(); !p.end(); ++p) {
     CInode *in = *p;
@@ -2381,7 +2389,7 @@ void EFragment::replay(MDS *mds)
 
   list<CDir*> resultfrags;
   list<Context*> waiters;
-  pair<dirfrag_t,int> desc(dirfrag_t(ino,basefrag), bits);
+  list<frag_t> old_frags;
 
   // in may be NULL if it wasn't in our cache yet.  if it's a prepare
   // it will be once we replay the metablob , but first we need to
@@ -2390,45 +2398,56 @@ void EFragment::replay(MDS *mds)
 
   switch (op) {
   case OP_PREPARE:
-    mds->mdcache->uncommitted_fragments.insert(desc);
+    mds->mdcache->add_uncommitted_fragment(dirfrag_t(ino, basefrag), bits, orig_frags, _segment, &rollback);
     // fall-thru
   case OP_ONESHOT:
     if (in)
       mds->mdcache->adjust_dir_fragments(in, basefrag, bits, resultfrags, waiters, true);
     break;
 
-  case OP_COMMIT:
-    mds->mdcache->uncommitted_fragments.erase(desc);
-    break;
-
   case OP_ROLLBACK:
-    if (mds->mdcache->uncommitted_fragments.count(desc)) {
-      mds->mdcache->uncommitted_fragments.erase(desc);
-      assert(in);
-      mds->mdcache->adjust_dir_fragments(in, basefrag, -bits, resultfrags, waiters, true);
-    } else {
-      dout(10) << " no record of prepare for " << desc << dendl;
+    if (in) {
+      in->dirfragtree.get_leaves_under(basefrag, old_frags);
+      if (orig_frags.empty()) {
+	// old format EFragment
+	mds->mdcache->adjust_dir_fragments(in, basefrag, -bits, resultfrags, waiters, true);
+      } else {
+	for (list<frag_t>::iterator p = orig_frags.begin(); p != orig_frags.end(); ++p)
+	  mds->mdcache->force_dir_fragment(in, *p);
+      }
     }
+    mds->mdcache->rollback_uncommitted_fragment(dirfrag_t(ino, basefrag), old_frags);
+    break;
+
+  case OP_COMMIT:
+  case OP_FINISH:
+    mds->mdcache->finish_uncommitted_fragment(dirfrag_t(ino, basefrag), op);
     break;
+
+  default:
+    assert(0);
   }
+
   metablob.replay(mds, _segment);
   if (in && g_conf->mds_debug_frag)
     in->verify_dirfrags();
 }
 
 void EFragment::encode(bufferlist &bl) const {
-  ENCODE_START(4, 4, bl);
+  ENCODE_START(5, 4, bl);
   ::encode(stamp, bl);
   ::encode(op, bl);
   ::encode(ino, bl);
   ::encode(basefrag, bl);
   ::encode(bits, bl);
   ::encode(metablob, bl);
+  ::encode(orig_frags, bl);
+  ::encode(rollback, bl);
   ENCODE_FINISH(bl);
 }
 
 void EFragment::decode(bufferlist::iterator &bl) {
-  DECODE_START_LEGACY_COMPAT_LEN(4, 4, 4, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(5, 4, 4, bl);
   if (struct_v >= 2)
     ::decode(stamp, bl);
   if (struct_v >= 3)
@@ -2439,6 +2458,10 @@ void EFragment::decode(bufferlist::iterator &bl) {
   ::decode(basefrag, bl);
   ::decode(bits, bl);
   ::decode(metablob, bl);
+  if (struct_v >= 5) {
+    ::decode(orig_frags, bl);
+    ::decode(rollback, bl);
+  }
   DECODE_FINISH(bl);
 }
 
@@ -2462,7 +2485,19 @@ void EFragment::generate_test_instances(list<EFragment*>& ls)
   ls.back()->bits = 5;
 }
 
+void dirfrag_rollback::encode(bufferlist &bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(fnode, bl);
+  ENCODE_FINISH(bl);
+}
 
+void dirfrag_rollback::decode(bufferlist::iterator &bl)
+{
+  DECODE_START(1, bl);
+  ::decode(fnode, bl);
+  DECODE_FINISH(bl);
+}
 
 
 
diff --git a/src/mds/locks.c b/src/mds/locks.c
index 9031087..f367eda 100644
--- a/src/mds/locks.c
+++ b/src/mds/locks.c
@@ -1,15 +1,15 @@
-
 // there must be a better way?
 typedef char bool;
 #define false 0
 #define true  1
 
+#include "include/int_types.h"
+
 #include <netinet/in.h>
 #if defined(__linux__)
 #include <linux/types.h>
 #elif defined(__FreeBSD__)
 #include <sys/types.h>
-#include "include/inttypes.h"
 #endif
 #include <string.h>
 #include <fcntl.h>
@@ -122,8 +122,7 @@ const struct sm_state_t filelock[LOCK_MAX] = {
     [LOCK_EXCL_XSYN] = { LOCK_XSYN, false, LOCK_LOCK, 0,    0,   XCL, 0,   0,   0,   0,   0,CEPH_CAP_GCACHE|CEPH_CAP_GBUFFER,0,0 },
 
     [LOCK_PRE_SCAN]  = { LOCK_SCAN, false, LOCK_LOCK, 0,    0,   0,   0,   0,   0,   0,   0,0,0,0 },
-    [LOCK_SCAN]      = { 0,         false, LOCK_LOCK, 0,    0,   0,   0,   0,   0,   0,   0,0,0,0 },
-    [LOCK_SCAN_LOCK] = { LOCK_LOCK, false, LOCK_LOCK, 0,    0,   0,   0,   0,   0,   0,   0,0,0,0 },
+    [LOCK_SCAN]      = { LOCK_LOCK, false, LOCK_LOCK, 0,    0,   0,   0,   0,   0,   0,   0,0,0,0 },
 };
 
 const struct sm_t sm_filelock = {
diff --git a/src/mds/locks.h b/src/mds/locks.h
index 2adcbf2..d1585ce 100644
--- a/src/mds/locks.h
+++ b/src/mds/locks.h
@@ -86,7 +86,6 @@ enum {
 
   LOCK_PRE_SCAN,
   LOCK_SCAN,
-  LOCK_SCAN_LOCK,
 
   LOCK_SNAP_SYNC,
 
diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc
index 6886786..362f747 100644
--- a/src/mds/mdstypes.cc
+++ b/src/mds/mdstypes.cc
@@ -204,7 +204,7 @@ ostream& operator<<(ostream& out, const client_writeable_range_t& r)
  */
 void inode_t::encode(bufferlist &bl) const
 {
-  ENCODE_START(7, 6, bl);
+  ENCODE_START(8, 6, bl);
 
   ::encode(ino, bl);
   ::encode(rdev, bl);
@@ -238,6 +238,7 @@ void inode_t::encode(bufferlist &bl) const
   ::encode(xattr_version, bl);
   ::encode(backtrace_version, bl);
   ::encode(old_pools, bl);
+  ::encode(max_size_ever, bl);
 
   ENCODE_FINISH(bl);
 }
@@ -294,6 +295,8 @@ void inode_t::decode(bufferlist::iterator &p)
     ::decode(backtrace_version, p);
   if (struct_v >= 7)
     ::decode(old_pools, p);
+  if (struct_v >= 8)
+    ::decode(max_size_ever, p);
 
   DECODE_FINISH(p);
 }
diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h
index 5537407..bd53c85 100644
--- a/src/mds/mdstypes.h
+++ b/src/mds/mdstypes.h
@@ -3,7 +3,8 @@
 #ifndef CEPH_MDSTYPES_H
 #define CEPH_MDSTYPES_H
 
-#include <inttypes.h>
+#include "include/int_types.h"
+
 #include <math.h>
 #include <ostream>
 #include <set>
@@ -328,6 +329,7 @@ struct inode_t {
   ceph_file_layout layout;
   vector <int64_t> old_pools;
   uint64_t   size;        // on directory, # dentries
+  uint64_t   max_size_ever; // max size the file has ever been
   uint32_t   truncate_seq;
   uint64_t   truncate_size, truncate_from;
   uint32_t   truncate_pending;
@@ -352,7 +354,8 @@ struct inode_t {
   inode_t() : ino(0), rdev(0),
 	      mode(0), uid(0), gid(0),
 	      nlink(0), anchored(false),
-	      size(0), truncate_seq(0), truncate_size(0), truncate_from(0),
+	      size(0), max_size_ever(0),
+	      truncate_seq(0), truncate_size(0), truncate_from(0),
 	      truncate_pending(0),
 	      time_warp_seq(0),
 	      version(0), file_data_version(0), xattr_version(0), backtrace_version(0) {
@@ -368,6 +371,8 @@ struct inode_t {
   bool is_truncating() const { return (truncate_pending > 0); }
   void truncate(uint64_t old_size, uint64_t new_size) {
     assert(new_size < old_size);
+    if (old_size > max_size_ever)
+      max_size_ever = old_size;
     truncate_from = old_size;
     size = new_size;
     rstat.rbytes = new_size;
@@ -474,6 +479,7 @@ struct fnode_t {
   void decode(bufferlist::iterator& bl);
   void dump(Formatter *f) const;
   static void generate_test_instances(list<fnode_t*>& ls);
+  fnode_t() : version(0) {};
 };
 WRITE_CLASS_ENCODER(fnode_t)
 
@@ -1132,8 +1138,9 @@ class MDSCacheObject {
   // -- state --
   const static int STATE_AUTH      = (1<<30);
   const static int STATE_DIRTY     = (1<<29);
-  const static int STATE_REJOINING = (1<<28);  // replica has not joined w/ primary copy
-  const static int STATE_REJOINUNDEF = (1<<27);  // contents undefined.
+  const static int STATE_NOTIFYREF = (1<<28); // notify dropping ref drop through _put()
+  const static int STATE_REJOINING = (1<<27);  // replica has not joined w/ primary copy
+  const static int STATE_REJOINUNDEF = (1<<26);  // contents undefined.
 
 
   // -- wait --
@@ -1219,6 +1226,7 @@ protected:
 #endif
     assert(ref > 0);
   }
+  virtual void _put() {}
   void put(int by) {
 #ifdef MDS_REF_SET
     if (ref == 0 || ref_map[by] == 0) {
@@ -1234,6 +1242,8 @@ protected:
 #endif
       if (ref == 0)
 	last_put();
+      if (state_test(STATE_NOTIFYREF))
+	_put();
     }
   }
 
diff --git a/src/mds/snap.h b/src/mds/snap.h
index 068b6f1..0216e62 100644
--- a/src/mds/snap.h
+++ b/src/mds/snap.h
@@ -48,7 +48,7 @@ struct SnapRealm;
 struct CapabilityGroup;
 class CInode;
 class MDCache;
-class MDRequest;
+struct MDRequest;
 
 
 
diff --git a/src/messages/MOSDOpReply.h b/src/messages/MOSDOpReply.h
index 65f7b23..c0e989f 100644
--- a/src/messages/MOSDOpReply.h
+++ b/src/messages/MOSDOpReply.h
@@ -31,7 +31,7 @@
 
 class MOSDOpReply : public Message {
 
-  static const int HEAD_VERSION = 4;
+  static const int HEAD_VERSION = 6;
   static const int COMPAT_VERSION = 2;
 
   object_t oid;
@@ -39,9 +39,12 @@ class MOSDOpReply : public Message {
   vector<OSDOp> ops;
   int64_t flags;
   int32_t result;
-  eversion_t reassert_version;
+  eversion_t bad_replay_version;
+  eversion_t replay_version;
+  version_t user_version;
   epoch_t osdmap_epoch;
   int32_t retry_attempt;
+  request_redirect_t redirect;
 
 public:
   object_t get_oid() const { return oid; }
@@ -52,10 +55,42 @@ public:
   bool     is_onnvram() const { return get_flags() & CEPH_OSD_FLAG_ONNVRAM; }
   
   int get_result() const { return result; }
-  eversion_t get_version() { return reassert_version; }
+  eversion_t get_replay_version() const { return replay_version; }
+  version_t get_user_version() const { return user_version; }
   
   void set_result(int r) { result = r; }
-  void set_version(eversion_t v) { reassert_version = v; }
+
+  void set_reply_versions(eversion_t v, version_t uv) {
+    replay_version = v;
+    user_version = uv;
+    /* We go through some shenanigans here for backwards compatibility
+     * with old clients, who do not look at our replay_version and
+     * user_version but instead see what we now call the
+     * bad_replay_version. On pools without caching
+     * the user_version infrastructure is a slightly-laggy copy of
+     * the regular pg version/at_version infrastructure; the difference
+     * being it is not updated on watch ops like that is -- but on updates
+     * it is set equal to at_version. This means that for non-watch write ops
+     * on classic pools, all three of replay_version, user_version, and
+     * bad_replay_version are identical. But for watch ops the replay_version
+     * has been updated, while the user_at_version has not, and the semantics
+     * we promised old clients are that the version they see is not an update.
+     * So set the bad_replay_version to be the same as the user_at_version. */
+    bad_replay_version = v;
+    if (uv) {
+      bad_replay_version.version = uv;
+    }
+  }
+
+  /* Don't fill in replay_version for non-write ops */
+  void set_enoent_reply_versions(eversion_t v, version_t uv) {
+    user_version = uv;
+    bad_replay_version = v;
+  }
+
+  void set_redirect(const request_redirect_t& redir) { redirect = redir; }
+  const request_redirect_t& get_redirect() const { return redirect; }
+  bool is_redirect_reply() const { return !redirect.empty(); }
 
   void add_flags(int f) { flags |= f; }
 
@@ -79,7 +114,7 @@ public:
   }
   
   // osdmap
-  epoch_t get_map_epoch() { return osdmap_epoch; }
+  epoch_t get_map_epoch() const { return osdmap_epoch; }
 
   /*osd_reqid_t get_reqid() { return osd_reqid_t(get_dest(),
 					       head.client_inc,
@@ -99,7 +134,7 @@ public:
     oid = req->oid;
     pgid = req->pgid;
     osdmap_epoch = e;
-    reassert_version = req->reassert_version;
+    user_version = 0;
     retry_attempt = req->get_retry_attempt();
 
     // zero out ops payload_len
@@ -121,6 +156,7 @@ public:
       head.layout.ol_pgid = pgid.get_old_pg().v;
       head.flags = flags;
       head.osdmap_epoch = osdmap_epoch;
+      head.reassert_version = bad_replay_version;
       head.result = result;
       head.num_ops = ops.size();
       head.object_len = oid.name.length();
@@ -134,7 +170,7 @@ public:
       ::encode(pgid, payload);
       ::encode(flags, payload);
       ::encode(result, payload);
-      ::encode(reassert_version, payload);
+      ::encode(bad_replay_version, payload);
       ::encode(osdmap_epoch, payload);
 
       __u32 num_ops = ops.size();
@@ -146,6 +182,10 @@ public:
 
       for (unsigned i = 0; i < num_ops; i++)
 	::encode(ops[i].rval, payload);
+
+      ::encode(replay_version, payload);
+      ::encode(user_version, payload);
+      ::encode(redirect, payload);
     }
   }
   virtual void decode_payload() {
@@ -161,7 +201,8 @@ public:
       pgid = pg_t(head.layout.ol_pgid);
       result = head.result;
       flags = head.flags;
-      reassert_version = head.reassert_version;
+      replay_version = head.reassert_version;
+      user_version = replay_version.version;
       osdmap_epoch = head.osdmap_epoch;
       retry_attempt = -1;
     } else {
@@ -169,7 +210,7 @@ public:
       ::decode(pgid, p);
       ::decode(flags, p);
       ::decode(result, p);
-      ::decode(reassert_version, p);
+      ::decode(bad_replay_version, p);
       ::decode(osdmap_epoch, p);
 
       __u32 num_ops = ops.size();
@@ -189,6 +230,17 @@ public:
 
 	OSDOp::split_osd_op_vector_out_data(ops, data);
       }
+
+      if (header.version >= 5) {
+	::decode(replay_version, p);
+	::decode(user_version, p);
+      } else {
+	replay_version = bad_replay_version;
+	user_version = replay_version.version;
+      }
+
+      if (header.version >= 6)
+	::decode(redirect, p);
     }
   }
 
@@ -196,7 +248,9 @@ public:
   
   void print(ostream& out) const {
     out << "osd_op_reply(" << get_tid()
-	<< " " << oid << " " << ops;
+	<< " " << oid << " " << ops
+	<< " v" << get_replay_version()
+	<< " uv" << get_user_version();
     if (is_ondisk())
       out << " ondisk";
     else if (is_onnvram())
@@ -208,6 +262,9 @@ public:
       char buf[80];
       out << " (" << strerror_r(-get_result(), buf, sizeof(buf)) << ")";
     }
+    if (is_redirect_reply()) {
+      out << " redirect: { " << redirect << " }";
+    }
     out << ")";
   }
 
diff --git a/src/messages/MOSDSubOp.h b/src/messages/MOSDSubOp.h
index 50b1a92..4169e01 100644
--- a/src/messages/MOSDSubOp.h
+++ b/src/messages/MOSDSubOp.h
@@ -25,7 +25,7 @@
 
 class MOSDSubOp : public Message {
 
-  static const int HEAD_VERSION = 7;
+  static const int HEAD_VERSION = 8;
   static const int COMPAT_VERSION = 1;
 
 public:
@@ -86,6 +86,9 @@ public:
   // indicates that we must fix hobject_t encoding
   bool hobject_incorrect_pool;
 
+  hobject_t new_temp_oid;      ///< new temp object that we must now start tracking
+  hobject_t discard_temp_oid;  ///< previously used temp object that we can now stop tracking
+
   int get_cost() const {
     if (ops.size() == 1 && ops[0].op.op == CEPH_OSD_OP_PULL)
       return ops[0].op.extent.length;
@@ -150,6 +153,11 @@ public:
 	poid.pool = pgid.pool();
       hobject_incorrect_pool = true;
     }
+
+    if (header.version >= 8) {
+      ::decode(new_temp_oid, p);
+      ::decode(discard_temp_oid, p);
+    }
   }
 
   virtual void encode_payload(uint64_t features) {
@@ -194,6 +202,8 @@ public:
     ::encode(current_progress, payload);
     ::encode(omap_entries, payload);
     ::encode(omap_header, payload);
+    ::encode(new_temp_oid, payload);
+    ::encode(discard_temp_oid, payload);
   }
 
   MOSDSubOp()
diff --git a/src/messages/Makefile.am b/src/messages/Makefile.am
new file mode 100644
index 0000000..c503d3f
--- /dev/null
+++ b/src/messages/Makefile.am
@@ -0,0 +1,113 @@
+
+noinst_HEADERS += \
+	messages/MAuth.h \
+	messages/MAuthReply.h \
+	messages/MCacheExpire.h \
+	messages/MClientCaps.h \
+	messages/MClientCapRelease.h \
+	messages/MClientLease.h \
+	messages/MClientReconnect.h \
+	messages/MClientReply.h \
+	messages/MClientRequest.h \
+	messages/MClientRequestForward.h \
+	messages/MClientSession.h \
+	messages/MClientSnap.h \
+	messages/MCommand.h \
+	messages/MCommandReply.h \
+	messages/MDentryLink.h \
+	messages/MDentryUnlink.h \
+	messages/MDirUpdate.h \
+	messages/MDiscover.h \
+	messages/MDiscoverReply.h \
+	messages/MExportCaps.h \
+	messages/MExportCapsAck.h \
+	messages/MExportDir.h \
+	messages/MExportDirAck.h \
+	messages/MExportDirCancel.h \
+	messages/MExportDirDiscover.h \
+	messages/MExportDirDiscoverAck.h \
+	messages/MExportDirFinish.h \
+	messages/MExportDirNotify.h \
+	messages/MExportDirNotifyAck.h \
+	messages/MExportDirPrep.h \
+	messages/MExportDirPrepAck.h \
+	messages/MGenericMessage.h \
+	messages/MGetPoolStats.h \
+	messages/MGetPoolStatsReply.h \
+	messages/MHeartbeat.h \
+	messages/MInodeFileCaps.h \
+	messages/MLock.h \
+	messages/MLog.h \
+	messages/MLogAck.h \
+	messages/MMDSBeacon.h \
+	messages/MMDSCacheRejoin.h \
+	messages/MMDSLoadTargets.h \
+	messages/MMDSFindIno.h \
+	messages/MMDSFindInoReply.h \
+	messages/MMDSFragmentNotify.h \
+	messages/MMDSMap.h \
+	messages/MMDSOpenIno.h \
+	messages/MMDSOpenInoReply.h \
+	messages/MMDSResolve.h \
+	messages/MMDSResolveAck.h \
+	messages/MMDSSlaveRequest.h \
+	messages/MMDSTableRequest.h \
+	messages/MMonCommand.h \
+	messages/MMonCommandAck.h \
+	messages/MMonElection.h \
+	messages/MMonGetMap.h \
+	messages/MMonGetVersion.h \
+	messages/MMonGetVersionReply.h \
+	messages/MMonGlobalID.h \
+	messages/MMonHealth.h \
+	messages/MMonJoin.h \
+	messages/MMonMap.h \
+	messages/MMonPaxos.h \
+	messages/MMonProbe.h \
+	messages/MMonScrub.h \
+	messages/MMonSubscribe.h \
+	messages/MMonSubscribeAck.h \
+	messages/MMonSync.h \
+	messages/MOSDAlive.h \
+	messages/MOSDBoot.h \
+	messages/MOSDFailure.h \
+	messages/MOSDMarkMeDown.h \
+	messages/MOSDMap.h \
+	messages/MOSDOp.h \
+	messages/MOSDOpReply.h \
+	messages/MOSDPGBackfill.h \
+	messages/MOSDPGCreate.h \
+	messages/MOSDPGPush.h \
+	messages/MOSDPGPull.h \
+	messages/MOSDPGPushReply.h \
+	messages/MOSDPGInfo.h \
+	messages/MOSDPGLog.h \
+	messages/MOSDPGMissing.h \
+	messages/MOSDPGNotify.h \
+	messages/MOSDPGQuery.h \
+	messages/MOSDPGRemove.h \
+	messages/MOSDPGScan.h \
+	messages/MBackfillReserve.h \
+	messages/MRecoveryReserve.h \
+	messages/MMonQuorumService.h \
+	messages/MOSDPGTemp.h \
+	messages/MOSDPGTrim.h \
+	messages/MOSDPing.h \
+	messages/MOSDRepScrub.h \
+	messages/MOSDScrub.h \
+	messages/MOSDSubOp.h \
+	messages/MOSDSubOpReply.h \
+	messages/MPGStats.h \
+	messages/MPGStatsAck.h \
+	messages/MPing.h \
+	messages/MPoolOp.h \
+	messages/MPoolOpReply.h \
+	messages/MRemoveSnaps.h \
+	messages/MRoute.h \
+	messages/MForward.h \
+	messages/MStatfs.h \
+	messages/MStatfsReply.h \
+	messages/MTimeCheck.h \
+	messages/MWatchNotify.h \
+	messages/PaxosServiceMessage.h
+
diff --git a/src/mon/AuthMonitor.cc b/src/mon/AuthMonitor.cc
index f165b8c..9f88558 100644
--- a/src/mon/AuthMonitor.cc
+++ b/src/mon/AuthMonitor.cc
@@ -65,13 +65,13 @@ bool AuthMonitor::check_rotate()
  Tick function to update the map based on performance every N seconds
 */
 
-void AuthMonitor::tick() 
+void AuthMonitor::tick()
 {
   if (!is_active()) return;
 
   dout(10) << *this << dendl;
 
-  if (!mon->is_leader()) return; 
+  if (!mon->is_leader()) return;
 
   if (check_rotate())
     propose_pending();
@@ -84,9 +84,6 @@ void AuthMonitor::on_active()
   if (!mon->is_leader())
     return;
   mon->key_server.start_server();
-/*
-  check_rotate();
-*/
 }
 
 void AuthMonitor::create_initial()
@@ -159,7 +156,7 @@ void AuthMonitor::update_from_paxos(bool *need_bootstrap)
     // reset if we are moving to initial state.  we will normally have
     // keys in here temporarily for bootstrapping that we need to
     // clear out.
-    if (keys_ver == 0) 
+    if (keys_ver == 0)
       mon->key_server.clear_secrets();
 
     dout(20) << __func__ << " walking through version " << (keys_ver+1)
@@ -204,16 +201,6 @@ void AuthMonitor::update_from_paxos(bool *need_bootstrap)
 	   << " max_global_id=" << max_global_id
 	   << " format_version " << format_version
 	   << dendl;
- 
-  /*
-  bufferlist bl;
-  __u8 v = 1;
-  ::encode(v, bl);
-  ::encode(max_global_id, bl);
-  Mutex::Locker l(mon->key_server.get_lock());
-  ::encode(mon->key_server, bl);
-  paxos->stash_latest(version, bl);
-  */
 }
 
 void AuthMonitor::increase_max_global_id()
@@ -385,7 +372,7 @@ bool AuthMonitor::prep_auth(MAuth *m, bool paxos_writable)
   // set up handler?
   if (m->protocol == 0 && !s->auth_handler) {
     set<__u32> supported;
-    
+
     try {
       __u8 struct_v = 1;
       ::decode(struct_v, indata);
@@ -406,13 +393,19 @@ bool AuthMonitor::prep_auth(MAuth *m, bool paxos_writable)
 	  entity_name.get_type() == CEPH_ENTITY_TYPE_MDS) {
 	if (g_conf->cephx_cluster_require_signatures ||
 	    g_conf->cephx_require_signatures) {
-	  dout(1) << m->get_source_inst() << " supports cephx but not signatures and 'cephx [cluster] require signatures = true'; disallowing cephx" << dendl;
+	  dout(1) << m->get_source_inst()
+                  << " supports cephx but not signatures and"
+                  << " 'cephx [cluster] require signatures = true';"
+                  << " disallowing cephx" << dendl;
 	  supported.erase(CEPH_AUTH_CEPHX);
 	}
       } else {
 	if (g_conf->cephx_service_require_signatures ||
 	    g_conf->cephx_require_signatures) {
-	  dout(1) << m->get_source_inst() << " supports cephx but not signatures and 'cephx [service] require signatures = true'; disallowing cephx" << dendl;
+	  dout(1) << m->get_source_inst()
+                  << " supports cephx but not signatures and"
+                  << " 'cephx [service] require signatures = true';"
+                  << " disallowing cephx" << dendl;
 	  supported.erase(CEPH_AUTH_CEPHX);
 	}
       }
@@ -491,7 +484,6 @@ bool AuthMonitor::prep_auth(MAuth *m, bool paxos_writable)
     }
     if (ret == -EIO) {
       wait_for_active(new C_RetryMessage(this,m));
-      //paxos->wait_for_active(new C_RetryMessage(this, m));
       goto done;
     }
     if (caps_info.caps.length()) {
@@ -546,8 +538,7 @@ bool AuthMonitor::preprocess_command(MMonCommand *m)
   }
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -660,7 +651,7 @@ void AuthMonitor::import_keyring(KeyRing& keyring)
        ++p) {
     KeyServerData::Incremental auth_inc;
     auth_inc.name = p->first;
-    auth_inc.auth = p->second; 
+    auth_inc.auth = p->second;
     auth_inc.op = KeyServerData::AUTH_INC_ADD;
     dout(10) << " importing " << auth_inc.name << dendl;
     dout(30) << "    " << auth_inc.auth << dendl;
@@ -695,8 +686,7 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
   boost::scoped_ptr<Formatter> f(new_formatter(format));
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -737,39 +727,120 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
     getline(ss, rs);
     err = 0;
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-    //paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
     return true;
-  } else if (prefix == "auth add") {
+  } else if (prefix == "auth add" && !entity_name.empty()) {
+    /* expected behavior:
+     *  - if command reproduces current state, return 0.
+     *  - if command adds brand new entity, handle it.
+     *  - if command adds new state to existing entity, return error.
+     */
     KeyServerData::Incremental auth_inc;
     auth_inc.name = entity;
     bufferlist bl = m->get_data();
-    dout(10) << "AuthMonitor::prepare_command bl.length()=" << bl.length() << dendl;
-    if (bl.length()) {
+    bool has_keyring = (bl.length() > 0);
+    map<string,bufferlist> new_caps;
+
+    KeyRing new_keyring;
+    if (has_keyring) {
       bufferlist::iterator iter = bl.begin();
-      KeyRing keyring;
       try {
-	::decode(keyring, iter);
+        ::decode(new_keyring, iter);
       } catch (const buffer::error &ex) {
-	ss << "error decoding keyring";
+        ss << "error decoding keyring";
+        err = -EINVAL;
+        goto done;
+      }
+    }
+
+    // are we about to have it?
+    for (vector<Incremental>::iterator p = pending_auth.begin();
+        p != pending_auth.end();
+        ++p) {
+      if (p->inc_type == AUTH_DATA) {
+        KeyServerData::Incremental inc;
+        bufferlist::iterator q = p->auth_data.begin();
+        ::decode(inc, q);
+        if (inc.op == KeyServerData::AUTH_INC_ADD &&
+            inc.name == entity) {
+          wait_for_finished_proposal(
+              new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
+          return true;
+        }
+      }
+    }
+
+    // build new caps from provided arguments (if available)
+    for (vector<string>::iterator it = caps_vec.begin();
+	 it != caps_vec.end() && (it + 1) != caps_vec.end();
+	 it += 2) {
+      string sys = *it;
+      bufferlist cap;
+      ::encode(*(it+1), cap);
+      new_caps[sys] = cap;
+    }
+
+    // pull info out of provided keyring
+    EntityAuth new_inc;
+    if (has_keyring) {
+      if (!new_keyring.get_auth(auth_inc.name, new_inc)) {
+	ss << "key for " << auth_inc.name
+	   << " not found in provided keyring";
 	err = -EINVAL;
 	goto done;
       }
-      if (!keyring.get_auth(auth_inc.name, auth_inc.auth)) {
-	ss << "key for " << auth_inc.name << " not found in provided keyring";
+      if (!new_caps.empty() && !new_inc.caps.empty()) {
+	ss << "caps cannot be specified both in keyring and in command";
 	err = -EINVAL;
 	goto done;
       }
-    } else {
-      // generate a new random key
-      dout(10) << "AuthMonitor::prepare_command generating random key for " << auth_inc.name << dendl;
-      auth_inc.auth.key.create(g_ceph_context, CEPH_CRYPTO_AES);
+      if (new_caps.empty()) {
+	new_caps = new_inc.caps;
+      }
     }
 
-    auth_inc.op = KeyServerData::AUTH_INC_ADD;
+    // does entry already exist?
+    if (mon->key_server.get_auth(auth_inc.name, auth_inc.auth)) {
+      // key match?
+      if (has_keyring) {
+        if (auth_inc.auth.key.get_secret().cmp(new_inc.key.get_secret())) {
+	  ss << "entity " << auth_inc.name << " exists but key does not match";
+	  err = -EINVAL;
+	  goto done;
+	}
+      }
 
-    for (vector<string>::iterator it = caps_vec.begin();
-	 it != caps_vec.end(); it += 2)
-      ::encode(*(it+1), auth_inc.auth.caps[*it]);
+      // caps match?
+      if (new_caps.size() != auth_inc.auth.caps.size()) {
+	ss << "entity " << auth_inc.name << " exists but caps do not match";
+	err = -EINVAL;
+	goto done;
+      }
+      for (map<string,bufferlist>::iterator it = new_caps.begin();
+	   it != new_caps.end(); ++it) {
+        if (auth_inc.auth.caps.count(it->first) == 0 ||
+            !auth_inc.auth.caps[it->first].contents_equal(it->second)) {
+          ss << "entity " << auth_inc.name << " exists but cap "
+	     << it->first << " does not match";
+          err = -EINVAL;
+          goto done;
+        }
+      }
+
+      // they match, no-op
+      err = 0;
+      goto done;
+    }
+
+    // okay, add it.
+    auth_inc.op = KeyServerData::AUTH_INC_ADD;
+    auth_inc.auth.caps = new_caps;
+    if (has_keyring) {
+      auth_inc.auth.key = new_inc.key;
+    } else {
+      dout(10) << "AuthMonitor::prepare_command generating random key for "
+               << auth_inc.name << dendl;
+      auth_inc.auth.key.create(g_ceph_context, CEPH_CRYPTO_AES);
+    }
 
     dout(10) << " importing " << auth_inc.name << dendl;
     dout(30) << "    " << auth_inc.auth << dendl;
@@ -778,7 +849,6 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
     ss << "added key for " << auth_inc.name;
     getline(ss, rs);
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-    //paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
     return true;
   } else if ((prefix == "auth get-or-create-key" ||
 	     prefix == "auth get-or-create") &&
@@ -831,7 +901,6 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
 	if (auth_inc.op == KeyServerData::AUTH_INC_ADD &&
 	    auth_inc.name == entity) {
 	  wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-	  //paxos->wait_for_commit(new C_RetryMessage(this, m));
 	  return true;
 	}
       }
@@ -867,7 +936,6 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
     rdata.append(ds);
     getline(ss, rs);
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, rdata, get_last_committed()));
-    //paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
     return true;
   } else if (prefix == "auth caps" && !entity_name.empty()) {
     KeyServerData::Incremental auth_inc;
@@ -890,7 +958,6 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
     ss << "updated caps for " << auth_inc.name;
     getline(ss, rs);
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-    //paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
     return true;
   } else if (prefix == "auth del" && !entity_name.empty()) {
     KeyServerData::Incremental auth_inc;
@@ -906,7 +973,6 @@ bool AuthMonitor::prepare_command(MMonCommand *m)
     ss << "updated";
     getline(ss, rs);
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-    //paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
     return true;
   }
 
diff --git a/src/mon/AuthMonitor.h b/src/mon/AuthMonitor.h
index 30d567a..130616a 100644
--- a/src/mon/AuthMonitor.h
+++ b/src/mon/AuthMonitor.h
@@ -27,9 +27,9 @@ using namespace std;
 #include "mon/MonitorDBStore.h"
 
 class MMonCommand;
-class MAuth;
+struct MAuth;
 class MAuthMon;
-class MMonGlobalID;
+struct MMonGlobalID;
 class KeyRing;
 
 #define MIN_GLOBAL_ID 0x1000
diff --git a/src/mon/DataHealthService.cc b/src/mon/DataHealthService.cc
index 6e8aa31..5fc745c 100644
--- a/src/mon/DataHealthService.cc
+++ b/src/mon/DataHealthService.cc
@@ -81,6 +81,18 @@ health_status_t DataHealthService::get_health(
       health_detail = "low disk space!";
     }
 
+    if (stats.store_stats.bytes_total >= g_conf->mon_leveldb_size_warn) {
+      if (health_status > HEALTH_WARN)
+        health_status = HEALTH_WARN;
+      if (!health_detail.empty())
+        health_detail.append("; ");
+      stringstream ss;
+      ss << "store is getting too big! "
+         << prettybyte_t(stats.store_stats.bytes_total)
+         << " >= " << prettybyte_t(g_conf->mon_leveldb_size_warn);
+      health_detail.append(ss.str());
+    }
+
     if (overall_status > health_status)
       overall_status = health_status;
 
@@ -95,18 +107,15 @@ health_status_t DataHealthService::get_health(
     if (f) {
       f->open_object_section("mon");
       f->dump_string("name", mon_name.c_str());
-      f->dump_int("kb_total", stats.kb_total);
-      f->dump_int("kb_used", stats.kb_used);
-      f->dump_int("kb_avail", stats.kb_avail);
-      f->dump_int("avail_percent", stats.latest_avail_percent);
-      f->dump_stream("last_updated") << stats.last_update;
+      // leave this unenclosed by an object section to avoid breaking backward-compatibility
+      stats.dump(f);
       f->dump_stream("health") << health_status;
       if (health_status != HEALTH_OK)
-	f->dump_string("health_detail", health_detail);
+        f->dump_string("health_detail", health_detail);
       f->close_section();
     }
   }
-  
+
   if (f) {
     f->close_section(); // mons
     f->close_section(); // data_health
@@ -115,6 +124,22 @@ health_status_t DataHealthService::get_health(
   return overall_status;
 }
 
+int DataHealthService::update_store_stats(DataStats &ours)
+{
+  map<string,uint64_t> extra;
+  uint64_t store_size = mon->store->get_estimated_size(extra);
+  assert(store_size > 0);
+
+  ours.store_stats.bytes_total = store_size;
+  ours.store_stats.bytes_sst = extra["sst"];
+  ours.store_stats.bytes_log = extra["log"];
+  ours.store_stats.bytes_misc = extra["misc"];
+  ours.last_update = ceph_clock_now(g_ceph_context);
+
+  return 0;
+}
+
+
 int DataHealthService::update_stats()
 {
   struct statfs stbuf;
@@ -135,7 +160,8 @@ int DataHealthService::update_stats()
           << " total " << ours.kb_total << " used " << ours.kb_used << " avail " << ours.kb_avail
           << dendl;
   ours.last_update = ceph_clock_now(g_ceph_context);
-  return 0;
+
+  return update_store_stats(ours);
 }
 
 void DataHealthService::share_stats()
diff --git a/src/mon/DataHealthService.h b/src/mon/DataHealthService.h
index a171715..750c58e 100644
--- a/src/mon/DataHealthService.h
+++ b/src/mon/DataHealthService.h
@@ -25,7 +25,7 @@
 #include "common/config.h"
 #include "global/signal_handler.h"
 
-class MMonHealth;
+struct MMonHealth;
 
 class DataHealthService :
   public HealthService
@@ -34,6 +34,7 @@ class DataHealthService :
   int last_warned_percent;
 
   void handle_tell(MMonHealth *m);
+  int update_store_stats(DataStats &ours);
   int update_stats();
   void share_stats();
 
diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
index 29e23eb..a545242 100644
--- a/src/mon/LogMonitor.cc
+++ b/src/mon/LogMonitor.cc
@@ -130,16 +130,18 @@ void LogMonitor::update_from_paxos(bool *need_bootstrap)
       le.decode(p);
       dout(7) << "update_from_paxos applying incremental log " << summary.version+1 <<  " " << le << dendl;
 
-      stringstream ss;
-      ss << le;
-      string s = ss.str();
-
       if (g_conf->mon_cluster_log_to_syslog) {
 	le.log_to_syslog(g_conf->mon_cluster_log_to_syslog_level,
 			 g_conf->mon_cluster_log_to_syslog_facility);
       }
       if (g_conf->mon_cluster_log_file.length()) {
-	blog.append(s + "\n");
+	int min = string_to_syslog_level(g_conf->mon_cluster_log_file_level);
+	int l = clog_type_to_syslog_level(le.type);
+	if (l <= min) {
+	  stringstream ss;
+	  ss << le << "\n";
+	  blog.append(ss.str());
+	}
       }
 
       summary.add(le);
@@ -363,9 +365,7 @@ bool LogMonitor::prepare_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("log", MON_CAP_W) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", get_last_committed());
     return true;
   }
diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc
index d89cc41..b865c37 100644
--- a/src/mon/MDSMonitor.cc
+++ b/src/mon/MDSMonitor.cc
@@ -554,9 +554,7 @@ bool MDSMonitor::preprocess_command(MMonCommand *m)
   boost::scoped_ptr<Formatter> f(new_formatter(format));
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("mds", MON_CAP_R) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -768,9 +766,7 @@ bool MDSMonitor::prepare_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("mds", MON_CAP_W) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -924,22 +920,75 @@ bool MDSMonitor::prepare_command(MMonCommand *m)
       r = 0;
     }
 
+  } else if (prefix == "mds set") {
+    string key;
+    cmd_getval(g_ceph_context, cmdmap, "key", key);
+    string sure;
+    cmd_getval(g_ceph_context, cmdmap, "sure", sure);
+    if (key == "allow_new_snaps") {
+      if (sure != "--yes-i-really-mean-it") {
+	ss << "Snapshots are unstable and will probably break your FS! Add --yes-i-really-mean-it if you are sure";
+	r = -EPERM;
+      } else {
+	pending_mdsmap.set_snaps_allowed();
+	ss << "turned on snaps";
+	r = 0;
+      }
+    }
+  } else if (prefix == "mds unset") {
+    string key;
+    cmd_getval(g_ceph_context, cmdmap, "key", key);
+    string sure;
+    cmd_getval(g_ceph_context, cmdmap, "sure", sure);
+    if (key == "allow_new_snaps") {
+      if (sure != "--yes-i-really-mean-it") {
+	ss << "this won't get rid of snapshots or restore the cluster if it's broken. Add --yes-i-really-mean-it if you are sure";
+	r = -EPERM;
+      } else {
+	pending_mdsmap.clear_snaps_allowed();
+	ss << "disabled new snapshots";
+	r = 0;
+      }
+    }
   } else if (prefix == "mds add_data_pool") {
-    int64_t poolid;
-    cmd_getval(g_ceph_context, cmdmap, "poolid", poolid);
-    pending_mdsmap.add_data_pool(poolid);
-    ss << "added data pool " << poolid << " to mdsmap";
-    r = 0;
-
-  } else if (prefix == "mds remove_data_pool") {
-    int64_t poolid;
-    cmd_getval(g_ceph_context, cmdmap, "poolid", poolid);
-    r = pending_mdsmap.remove_data_pool(poolid);
-    if (r == -ENOENT)
+    string poolname;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolname);
+    int64_t poolid = mon->osdmon()->osdmap.lookup_pg_pool_name(poolname);
+    if (poolid < 0) {
+      string err;
+      poolid = strict_strtol(poolname.c_str(), 10, &err);
+      if (err.length()) {
+	r = -ENOENT;
+	poolid = -1;
+	ss << "pool '" << poolname << "' does not exist";
+      }
+    }
+    if (poolid >= 0) {
+      pending_mdsmap.add_data_pool(poolid);
+      ss << "added data pool " << poolid << " to mdsmap";
       r = 0;
-    if (r == 0)
-      ss << "removed data pool " << poolid << " from mdsmap";
-
+    }
+  } else if (prefix == "mds remove_data_pool") {
+    string poolname;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolname);
+    int64_t poolid = mon->osdmon()->osdmap.lookup_pg_pool_name(poolname);
+    if (poolid < 0) {
+      string err;
+      poolid = strict_strtol(poolname.c_str(), 10, &err);
+      if (err.length()) {
+	r = -ENOENT;
+	poolid = -1;
+	ss << "pool '" << poolname << "' does not exist";
+      }
+    }
+    if (poolid >= 0) {
+      cmd_getval(g_ceph_context, cmdmap, "poolid", poolid);
+      r = pending_mdsmap.remove_data_pool(poolid);
+      if (r == -ENOENT)
+	r = 0;
+      if (r == 0)
+	ss << "removed data pool " << poolid << " from mdsmap";
+    }
   } else if (prefix == "mds newfs") {
     MDSMap newmap;
     int64_t metadata, data;
@@ -951,6 +1000,7 @@ bool MDSMonitor::prepare_command(MMonCommand *m)
       ss << "this is DANGEROUS and will wipe out the mdsmap's fs, and may clobber data in the new pools you specify.  add --yes-i-really-mean-it if you do.";
       r = -EPERM;
     } else {
+      newmap.inc = pending_mdsmap.inc;
       pending_mdsmap = newmap;
       pending_mdsmap.epoch = mdsmap.epoch + 1;
       create_new_fs(pending_mdsmap, metadata, data);
diff --git a/src/mon/Makefile.am b/src/mon/Makefile.am
new file mode 100644
index 0000000..d9094a8
--- /dev/null
+++ b/src/mon/Makefile.am
@@ -0,0 +1,45 @@
+libmon_la_SOURCES = \
+	mon/Monitor.cc \
+	mon/Paxos.cc \
+	mon/PaxosService.cc \
+	mon/OSDMonitor.cc \
+	mon/MDSMonitor.cc \
+	mon/MonmapMonitor.cc \
+	mon/PGMonitor.cc \
+	mon/PGMap.cc \
+	mon/LogMonitor.cc \
+	mon/AuthMonitor.cc \
+	mon/Elector.cc \
+	mon/MonitorStore.cc \
+	mon/HealthMonitor.cc \
+	mon/DataHealthService.cc \
+	mon/ConfigKeyService.cc
+libmon_la_LIBADD = $(LIBAUTH) $(LIBCOMMON) $(LIBOS)
+noinst_LTLIBRARIES += libmon.la
+
+noinst_HEADERS += \
+	mon/AuthMonitor.h \
+	mon/DataHealthService.h \
+	mon/Elector.h \
+	mon/LogMonitor.h \
+	mon/ConfigKeyService.h \
+	mon/HealthMonitor.h \
+	mon/HealthService.h \
+	mon/MDSMonitor.h \
+	mon/MonmapMonitor.h \
+	mon/MonCap.h \
+	mon/MonClient.h \
+	mon/MonCommands.h \
+	mon/MonMap.h \
+	mon/Monitor.h \
+	mon/MonitorStore.h \
+	mon/MonitorDBStore.h \
+	mon/OSDMonitor.h \
+	mon/PGMap.h \
+	mon/PGMonitor.h \
+	mon/Paxos.h \
+	mon/PaxosService.h \
+	mon/QuorumService.h \
+	mon/Session.h \
+	mon/mon_types.h
+
diff --git a/src/mon/MonCap.cc b/src/mon/MonCap.cc
index b03873a..644d614 100644
--- a/src/mon/MonCap.cc
+++ b/src/mon/MonCap.cc
@@ -148,7 +148,6 @@ void MonCapGrant::expand_profile(entity_name_t name) const
     profile_grants.push_back(MonCapGrant("osd", MON_CAP_R));  // read osdmap
     profile_grants.push_back(MonCapGrant("mon getmap"));
     profile_grants.push_back(MonCapGrant("osd create"));
-    profile_grants.push_back(MonCapGrant("osd crush set"));  // FIXME: constraint this further?
     profile_grants.push_back(MonCapGrant("auth add"));
     profile_grants.back().command_args["entity"] = StringConstraint("", "osd.");
     profile_grants.back().command_args["caps_mon"] = StringConstraint("allow profile osd", "");
@@ -347,7 +346,7 @@ struct MonCapParser : qi::grammar<Iterator, MonCap()>
     quoted_string %=
       lexeme['"' >> +(char_ - '"') >> '"'] | 
       lexeme['\'' >> +(char_ - '\'') >> '\''];
-    unquoted_word %= +char_("a-zA-Z0-9_-");
+    unquoted_word %= +char_("a-zA-Z0-9_.-");
     str %= quoted_string | unquoted_word;
 
     spaces = +lit(' ');
diff --git a/src/mon/MonClient.cc b/src/mon/MonClient.cc
index 299379a..f35a0da 100644
--- a/src/mon/MonClient.cc
+++ b/src/mon/MonClient.cc
@@ -22,6 +22,7 @@
 #include "messages/MAuthReply.h"
 #include "messages/MMonCommand.h"
 #include "messages/MMonCommandAck.h"
+#include "messages/MPing.h"
 
 #include "messages/MMonSubscribe.h"
 #include "messages/MMonSubscribeAck.h"
@@ -107,32 +108,31 @@ int MonClient::get_monmap_privately()
 {
   ldout(cct, 10) << "get_monmap_privately" << dendl;
   Mutex::Locker l(monc_lock);
-  
+
   bool temp_msgr = false;
   SimpleMessenger* smessenger = NULL;
   if (!messenger) {
     messenger = smessenger = new SimpleMessenger(cct,
                                                  entity_name_t::CLIENT(-1),
-						 "temp_mon_client",
-                                                 getpid());
+                                                 "temp_mon_client", getpid());
     messenger->add_dispatcher_head(this);
     smessenger->start();
-    temp_msgr = true; 
+    temp_msgr = true;
   }
-  
+
   int attempt = 10;
-  
+
   ldout(cct, 10) << "have " << monmap.epoch << " fsid " << monmap.fsid << dendl;
-  
+
   while (monmap.fsid.is_zero()) {
     cur_mon = _pick_random_mon();
     cur_con = messenger->get_connection(monmap.get_inst(cur_mon));
     ldout(cct, 10) << "querying mon." << cur_mon << " " << cur_con->get_peer_addr() << dendl;
     messenger->send_message(new MMonGetMap, cur_con);
-    
+
     if (--attempt == 0)
       break;
-    
+
     utime_t interval;
     interval.set_from_double(cct->_conf->mon_client_hunt_interval);
     map_cond.WaitInterval(cct, monc_lock, interval);
@@ -153,7 +153,7 @@ int MonClient::get_monmap_privately()
     messenger = 0;
     monc_lock.Lock();
   }
- 
+
   hunting = true;  // reset this to true!
   cur_mon.clear();
 
@@ -165,6 +165,78 @@ int MonClient::get_monmap_privately()
 }
 
 
+/**
+ * Ping the monitor with id @p mon_id and set the resulting reply in
+ * the provided @p result_reply, if this last parameter is not NULL.
+ *
+ * So that we don't rely on the MonClient's default messenger, set up
+ * during connect(), we create our own messenger to comunicate with the
+ * specified monitor.  This is advantageous in the following ways:
+ *
+ * - Isolate the ping procedure from the rest of the MonClient's operations,
+ *   allowing us to not acquire or manage the big monc_lock, thus not
+ *   having to block waiting for some other operation to finish before we
+ *   can proceed.
+ *   * for instance, we can ping mon.FOO even if we are currently hunting
+ *     or blocked waiting for auth to complete with mon.BAR.
+ *
+ * - Ping a monitor prior to establishing a connection (using connect())
+ *   and properly establish the MonClient's messenger.  This frees us
+ *   from dealing with the complex foo that happens in connect().
+ *
+ * We also don't rely on MonClient as a dispatcher for this messenger,
+ * unlike what happens with the MonClient's default messenger.  This allows
+ * us to sandbox the whole ping, having it much as a separate entity in
+ * the MonClient class, considerably simplifying the handling and dispatching
+ * of messages without needing to consider monc_lock.
+ *
+ * Current drawback is that we will establish a messenger for each ping
+ * we want to issue, instead of keeping a single messenger instance that
+ * would be used for all pings.
+ */
+int MonClient::ping_monitor(const string &mon_id, string *result_reply)
+{
+  ldout(cct, 10) << __func__ << dendl;
+
+  if (mon_id.empty()) {
+    ldout(cct, 10) << __func__ << " specified mon id is empty!" << dendl;
+    return -EINVAL;
+  } else if (!monmap.contains(mon_id)) {
+    ldout(cct, 10) << __func__ << " no such monitor 'mon." << mon_id << "'"
+                   << dendl;
+    return -ENOENT;
+  }
+
+  MonClientPinger *pinger = new MonClientPinger(cct, result_reply);
+
+  Messenger *smsgr = new SimpleMessenger(cct,
+                                         entity_name_t::CLIENT(-1),
+                                         "temp_ping_client", getpid());
+  smsgr->add_dispatcher_head(pinger);
+  smsgr->start();
+
+  ConnectionRef con = smsgr->get_connection(monmap.get_inst(mon_id));
+  ldout(cct, 10) << __func__ << " ping mon." << mon_id
+                 << " " << con->get_peer_addr() << dendl;
+  smsgr->send_message(new MPing, con);
+
+  pinger->lock.Lock();
+  int ret = pinger->wait_for_reply(cct->_conf->client_mount_timeout);
+  if (ret == 0) {
+    ldout(cct,10) << __func__ << " got ping reply" << dendl;
+  } else {
+    ret = -ret;
+  }
+  pinger->lock.Unlock();
+
+  smsgr->mark_down(con);
+  smsgr->shutdown();
+  smsgr->wait();
+  delete smsgr;
+  delete pinger;
+  return ret;
+}
+
 bool MonClient::ms_dispatch(Message *m)
 {
   if (my_addr == entity_addr_t())
@@ -328,6 +400,12 @@ void MonClient::shutdown()
     version_requests.erase(version_requests.begin());
   }
 
+  while (!waiting_for_session.empty()) {
+    ldout(cct, 20) << __func__ << " discarding pending message " << *waiting_for_session.front() << dendl;
+    waiting_for_session.front()->put();
+    waiting_for_session.pop_front();
+  }
+
   monc_lock.Unlock();
 
   if (initialized) {
diff --git a/src/mon/MonClient.h b/src/mon/MonClient.h
index f82714e..0246050 100644
--- a/src/mon/MonClient.h
+++ b/src/mon/MonClient.h
@@ -37,11 +37,12 @@ class MonMap;
 class MMonMap;
 class MMonGetVersion;
 class MMonGetVersionReply;
-class MMonSubscribeAck;
+struct MMonSubscribeAck;
 class MMonCommandAck;
 class MCommandReply;
-class MAuthReply;
+struct MAuthReply;
 class MAuthRotating;
+class MPing;
 class LogClient;
 class AuthSupported;
 class AuthAuthorizeHandlerRegistry;
@@ -54,6 +55,58 @@ enum MonClientState {
   MC_STATE_HAVE_SESSION,
 };
 
+struct MonClientPinger : public Dispatcher {
+
+  Mutex lock;
+  Cond ping_recvd_cond;
+  string *result;
+  bool done;
+
+  MonClientPinger(CephContext *cct_, string *res_) :
+    Dispatcher(cct_),
+    lock("MonClientPinger::lock"),
+    result(res_),
+    done(false)
+  { }
+
+  int wait_for_reply(double timeout = 0.0) {
+    utime_t until = ceph_clock_now(cct);
+    until += (timeout > 0 ? timeout : cct->_conf->client_mount_timeout);
+    done = false;
+
+    int ret = 0;
+    while (!done) {
+      ret = ping_recvd_cond.WaitUntil(lock, until);
+      if (ret == -ETIMEDOUT)
+        break;
+    }
+    return ret;
+  }
+
+  bool ms_dispatch(Message *m) {
+    Mutex::Locker l(lock);
+    if (m->get_type() != CEPH_MSG_PING)
+      return false;
+
+    bufferlist &payload = m->get_payload();
+    if (result && payload.length() > 0) {
+      bufferlist::iterator p = payload.begin();
+      ::decode(*result, p);
+    }
+    done = true;
+    ping_recvd_cond.SignalAll();
+    m->put();
+    return true;
+  }
+  bool ms_handle_reset(Connection *con) {
+    Mutex::Locker l(lock);
+    done = true;
+    ping_recvd_cond.SignalAll();
+    return true;
+  }
+  void ms_handle_remote_reset(Connection *con) {}
+};
+
 class MonClient : public Dispatcher {
 public:
   MonMap monmap;
@@ -211,6 +264,17 @@ public:
   int build_initial_monmap();
   int get_monmap();
   int get_monmap_privately();
+  /**
+   * Ping monitor with ID @p mon_id and record the resulting
+   * reply in @p result_reply.
+   *
+   * @param[in]  mon_id Target monitor's ID
+   * @param[out] Resulting reply from mon.ID, if param != NULL
+   * @returns    0 in case of success; < 0 in case of error,
+   *             -ETIMEDOUT if monitor didn't reply before timeout
+   *             expired (default: conf->client_mount_timeout).
+   */
+  int ping_monitor(const string &mon_id, string *result_reply);
 
   void send_mon_message(Message *m) {
     Mutex::Locker l(monc_lock);
diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h
index 8e9c2bb..5a6ca6a 100644
--- a/src/mon/MonCommands.h
+++ b/src/mon/MonCommands.h
@@ -59,7 +59,7 @@
  * CephString: optional badchars
  * CephSocketpath: validation involves "is it S_ISSOCK"
  * CephIPAddr: v4 or v6 addr with optional port, syntax validated
- * CephEntityAddr: CephIPAddr + '/nonce'
+ * CephEntityAddr: CephIPAddr + optional '/nonce'
  * CephPoolname: Plainold string
  * CephObjectname: Another plainold string
  * CephPgid: n.xxx where n is an int > 0, xxx is a hex number > 0
@@ -111,8 +111,8 @@ COMMAND("pg getmap", "get binary pg map to -o/stdout", "pg", "r", "cli,rest")
 COMMAND("pg send_pg_creates", "trigger pg creates to be issued",\
 	"pg", "rw", "cli,rest")
 COMMAND("pg dump " \
-	"name=dumpcontents,type=CephChoices,strings=all|summary|sum|pools|osds|pgs|pgs_brief,n=N,req=false", \
-	"show human-readable versions of pg map", "pg", "r", "cli,rest")
+	"name=dumpcontents,type=CephChoices,strings=all|summary|sum|delta|pools|osds|pgs|pgs_brief,n=N,req=false", \
+	"show human-readable versions of pg map (only 'all' valid with plain)", "pg", "r", "cli,rest")
 COMMAND("pg dump_json " \
 	"name=dumpcontents,type=CephChoices,strings=all|summary|sum|pools|osds|pgs,n=N,req=false", \
 	"show human-readable version of pg map in json only",\
@@ -210,8 +210,8 @@ COMMAND("quorum_status", "report status of monitor quorum", \
 	"mon", "r", "cli,rest")
 COMMAND("mon_status", "report status of monitors", "mon", "r", "cli,rest")
 COMMAND("sync force " \
-	"name=validate1,type=CephChoices,strings=--yes-i-really-mean-it " \
-	"name=validate2,type=CephChoices,strings=--i-know-what-i-am-doing", \
+	"name=validate1,type=CephChoices,strings=--yes-i-really-mean-it,req=false " \
+	"name=validate2,type=CephChoices,strings=--i-know-what-i-am-doing,req=false", \
 	"force sync of and clear monitor store", "mon", "rw", "cli,rest")
 COMMAND("heap " \
 	"name=heapcmd,type=CephChoices,strings=dump|start_profiler|stop_profiler|release|stats", \
@@ -274,23 +274,32 @@ COMMAND("mds compat rm_compat " \
 COMMAND("mds compat rm_incompat " \
 	"name=feature,type=CephInt,range=0", \
 	"remove incompatible feature", "mds", "rw", "cli,rest")
+COMMAND("mds set " \
+        "name=key,type=CephChoices,strings=allow_new_snaps " \
+        "name=sure,type=CephString,req=false", \
+        "set <key>", \
+        "mds", "w", "cli,rest")
+COMMAND("mds unset " \
+        "name=key,type=CephChoices,strings=allow_new_snaps " \
+        "name=sure,type=CephString,req=false", \
+        "unset <key>", "mds", "w", "cli,rest")
 COMMAND("mds add_data_pool " \
-	"name=poolid,type=CephInt,range=0", \
-	"add data pool <poolid>", "mds", "rw", "cli,rest")
+	"name=pool,type=CephString", \
+	"add data pool <pool>", "mds", "rw", "cli,rest")
 COMMAND("mds remove_data_pool " \
-	"name=poolid,type=CephInt,range=0", \
-	"remove data pool <poolid>", "mds", "rw", "cli,rest")
+	"name=pool,type=CephString", \
+	"remove data pool <pool>", "mds", "rw", "cli,rest")
 COMMAND("mds newfs " \
 	"name=metadata,type=CephInt,range=0 " \
 	"name=data,type=CephInt,range=0 " \
-	"name=sure,type=CephChoices,strings=--yes-i-really-mean-it", \
+	"name=sure,type=CephChoices,strings=--yes-i-really-mean-it,req=false", \
 	"make new filesystom using pools <metadata> and <data>", \
 	"mds", "rw", "cli,rest")
 /*
  * Monmap commands
  */
 COMMAND("mon dump " \
-	"name=epoch,type=CephInt,req=false", \
+	"name=epoch,type=CephInt,range=0,req=false", \
 	"dump formatted monmap (optionally from epoch)", \
 	"mon", "r", "cli,rest")
 COMMAND("mon stat", "summarize monitor status", "mon", "r", "cli,rest")
@@ -325,6 +334,11 @@ COMMAND("osd getmap " \
 COMMAND("osd getcrushmap " \
 	"name=epoch,type=CephInt,range=0,req=false", \
 	"get CRUSH map", "osd", "r", "cli,rest")
+COMMAND("osd perf", \
+        "print dump of OSD perf summary stats", \
+        "osd", \
+        "r", \
+        "cli,rest")
 COMMAND("osd getmaxosd", "show largest OSD id", "osd", "r", "cli,rest")
 COMMAND("osd find " \
 	"name=id,type=CephInt,range=0", \
@@ -364,13 +378,13 @@ COMMAND("osd crush set " \
 	"name=id,type=CephOsdName " \
 	"name=weight,type=CephFloat,range=0.0 " \
 	"name=args,type=CephString,n=N,goodchars=[A-Za-z0-9-_.=]", \
-	"set crushmap entry for <name> to <weight> with location <args>", \
+	"update crushmap position and weight for <name> to <weight> with location <args>", \
 	"osd", "rw", "cli,rest")
 COMMAND("osd crush add " \
 	"name=id,type=CephOsdName " \
 	"name=weight,type=CephFloat,range=0.0 " \
 	"name=args,type=CephString,n=N,goodchars=[A-Za-z0-9-_.=]", \
-	"add crushmap entry for <name> with <weight> and location <args>", \
+	"add or update crushmap position and weight for <name> with <weight> and location <args>", \
 	"osd", "rw", "cli,rest")
 COMMAND("osd crush create-or-move " \
 	"name=id,type=CephOsdName " \
@@ -379,7 +393,7 @@ COMMAND("osd crush create-or-move " \
 	"create entry or move existing entry for <name> <weight> at/to location <args>", \
 	"osd", "rw", "cli,rest")
 COMMAND("osd crush move " \
-	"name=id,type=CephOsdName " \
+	"name=name,type=CephString,goodchars=[A-Za-z0-9-_.] " \
 	"name=args,type=CephString,n=N,goodchars=[A-Za-z0-9-_.=]", \
 	"move existing entry for <name> to location <args>", \
 	"osd", "rw", "cli,rest")
@@ -451,7 +465,7 @@ COMMAND("osd reweight " \
 	"reweight osd to 0.0 < <weight> < 1.0", "osd", "rw", "cli,rest")
 COMMAND("osd lost " \
 	"name=id,type=CephInt,range=0 " \
-	"name=sure,type=CephChoices,strings=--yes-i-really-mean-it", \
+	"name=sure,type=CephChoices,strings=--yes-i-really-mean-it,req=false", \
 	"mark osd as permanently lost. THIS DESTROYS DATA IF NO MORE REPLICAS EXIST, BE CAREFUL", \
 	"osd", "rw", "cli,rest")
 COMMAND("osd create " \
@@ -474,13 +488,14 @@ COMMAND("osd pool rmsnap " \
 COMMAND("osd pool create " \
 	"name=pool,type=CephPoolname " \
 	"name=pg_num,type=CephInt,range=0 " \
-	"name=pgp_num,type=CephInt,range=0,req=false", \
+	"name=pgp_num,type=CephInt,range=0,req=false " \
+	"name=properties,type=CephString,n=N,req=false,goodchars=[A-Za-z0-9-_.=]", \
 	"create pool", "osd", "rw", "cli,rest")
 COMMAND("osd pool delete " \
 	"name=pool,type=CephPoolname " \
-	"name=pool2,type=CephPoolname " \
-	"name=sure,type=CephChoices,strings=--yes-i-really-really-mean-it", \
-	"delete pool (say pool twice, add --yes-i-really-really-mean-it)", \
+	"name=pool2,type=CephPoolname,req=false " \
+	"name=sure,type=CephChoices,strings=--yes-i-really-really-mean-it,req=false", \
+	"delete pool", \
 	"osd", "rw", "cli,rest")
 COMMAND("osd pool rename " \
 	"name=srcpool,type=CephPoolname " \
@@ -492,8 +507,8 @@ COMMAND("osd pool get " \
 	"get pool parameter <var>", "osd", "r", "cli,rest")
 COMMAND("osd pool set " \
 	"name=pool,type=CephPoolname " \
-	"name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset " \
-	"name=val,type=CephInt", \
+	"name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool " \
+	"name=val,type=CephString", \
 	"set pool parameter <var> to <val>", "osd", "rw", "cli,rest")
 // 'val' is a CephString because it can include a unit.  Perhaps
 // there should be a Python type for validation/conversion of strings
@@ -503,6 +518,10 @@ COMMAND("osd pool set-quota " \
 	"name=field,type=CephChoices,strings=max_objects|max_bytes " \
 	"name=val,type=CephString",
 	"set object or byte limit on pool", "osd", "rw", "cli,rest")
+COMMAND("osd pool stats " \
+        "name=name,type=CephString,req=false",
+        "obtain stats from all pools, or from specified pool",
+        "osd", "r", "cli,rest")
 COMMAND("osd reweight-by-utilization " \
 	"name=oload,type=CephInt,range=100,req=false", \
 	"reweight OSDs by utilization [overload-percentage-for-consideration, default 120]", \
@@ -511,6 +530,27 @@ COMMAND("osd thrash " \
 	"name=num_epochs,type=CephInt,range=0", \
 	"thrash OSDs for <num_epochs>", "osd", "rw", "cli,rest")
 
+// tiering
+COMMAND("osd tier add " \
+	"name=pool,type=CephPoolname " \
+	"name=tierpool,type=CephPoolname",
+	"add the tier <tierpool> to base pool <pool>", "osd", "rw", "cli,rest")
+COMMAND("osd tier remove " \
+	"name=pool,type=CephPoolname " \
+	"name=tierpool,type=CephPoolname",
+	"remove the tier <tierpool> from base pool <pool>", "osd", "rw", "cli,rest")
+COMMAND("osd tier cache-mode " \
+	"name=pool,type=CephPoolname " \
+	"name=mode,type=CephChoices,strings=none|writeback|invalidate+forward|readonly", \
+	"specify the caching mode for cache tier <pool>", "osd", "rw", "cli,rest")
+COMMAND("osd tier set-overlay " \
+	"name=pool,type=CephPoolname " \
+	"name=overlaypool,type=CephPoolname", \
+	"set the overlay pool for base pool <pool> to be <overlaypool>", "osd", "rw", "cli,rest")
+COMMAND("osd tier remove-overlay " \
+	"name=pool,type=CephPoolname ", \
+	"remove the overlay pool for base pool <pool>", "osd", "rw", "cli,rest")
+
 /*
  * mon/ConfigKeyService.cc
  */
diff --git a/src/mon/MonMap.cc b/src/mon/MonMap.cc
index d3978af..7012e05 100644
--- a/src/mon/MonMap.cc
+++ b/src/mon/MonMap.cc
@@ -329,8 +329,7 @@ int MonMap::build_initial(CephContext *cct, ostream& errout)
   }
 
   if (size() == 0) {
-    errout << "unable to find any monitors in conf. "
-	 << "please specify monitors via -m monaddr or -c ceph.conf" << std::endl;
+    errout << "no monitors specified to connect to." << std::endl;
     return -ENOENT;
   }
   return 0;
diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
index 601cdba..cd541f6 100644
--- a/src/mon/Monitor.cc
+++ b/src/mon/Monitor.cc
@@ -52,6 +52,7 @@
 
 #include "messages/MTimeCheck.h"
 #include "messages/MMonHealth.h"
+#include "messages/MPing.h"
 
 #include "common/strtol.h"
 #include "common/ceph_argparse.h"
@@ -241,9 +242,11 @@ void Monitor::do_admin_command(string command, cmdmap_t& cmdmap, string format,
 
   boost::scoped_ptr<Formatter> f(new_formatter(format));
 
-  if (command == "mon_status")
+  if (command == "mon_status") {
     _mon_status(f.get(), ss);
-  else if (command == "quorum_status")
+    if (f)
+      f->flush(ss);
+  } else if (command == "quorum_status")
     _quorum_status(f.get(), ss);
   else if (command == "sync_force") {
     string validate;
@@ -1292,7 +1295,8 @@ void Monitor::handle_probe_reply(MMonProbe *m)
   dout(10) << "handle_probe_reply " << m->get_source_inst() << *m << dendl;
   dout(10) << " monmap is " << *monmap << dendl;
 
-  if (!is_probing()) {
+  // discover name and addrs during probing or electing states.
+  if (!is_probing() && !is_electing()) {
     m->put();
     return;
   }
@@ -1326,6 +1330,12 @@ void Monitor::handle_probe_reply(MMonProbe *m)
 	     << peer_name << " -> " << m->name << " in my monmap"
 	     << dendl;
     monmap->rename(peer_name, m->name);
+
+    if (is_electing()) {
+      m->put();
+      bootstrap();
+      return;
+    }
   } else {
     dout(10) << " peer name is " << peer_name << dendl;
   }
@@ -1342,6 +1352,12 @@ void Monitor::handle_probe_reply(MMonProbe *m)
     }
   }
 
+  // end discover phase
+  if (!is_probing()) {
+    m->put();
+    return;
+  }
+
   assert(paxos != NULL);
 
   if (is_synchronizing()) {
@@ -1535,47 +1551,6 @@ void Monitor::finish_election()
 }
 
 
-bool Monitor::_allowed_command(MonSession *s, map<string, cmd_vartype>& cmd)
-{
-  bool retval = false;
-
-  if (s->caps.is_allow_all()) {
-    dout(10) << __func__ << " allow_all" << dendl;
-    return true;
-  }
-
-  string prefix;
-  cmd_getval(g_ceph_context, cmd, "prefix", prefix);
-
-  map<string,string> strmap;
-  for (map<string, cmd_vartype>::const_iterator p = cmd.begin();
-       p != cmd.end(); ++p) {
-    if (p->first == "prefix")
-      continue;
-    if (p->first == "caps") {
-      vector<string> cv;
-      if (cmd_getval(g_ceph_context, cmd, "caps", cv) &&
-	  cv.size() % 2 == 0) {
-	for (unsigned i = 0; i < cv.size(); i += 2) {
-	  string k = string("caps_") + cv[i];
-	  strmap[k] = cv[i + 1];
-	}
-	continue;
-      }
-    }
-    strmap[p->first] = cmd_vartype_stringify(p->second);
-  }
-
-  dout(20) << __func__ << " strmap " << strmap << dendl;
-  if (s->caps.is_capable(g_ceph_context, s->inst.name,
-			 "", prefix, strmap, false, false, true)) {
-    retval = true; 
-  }
-
-  dout(10) << __func__ << " = " << retval << dendl;
-  return retval;
-}
-
 void Monitor::sync_force(Formatter *f, ostream& ss)
 {
   bool free_formatter = false;
@@ -1701,9 +1676,11 @@ void Monitor::_mon_status(Formatter *f, ostream& ss)
 
   f->close_section(); // mon_status
 
-  f->flush(ss);
-  if (free_formatter)
+  if (free_formatter) {
+    // flush formatter to ss and delete it iff we created the formatter
+    f->flush(ss);
     delete f;
+  }
 }
 
 void Monitor::get_health(string& status, bufferlist *detailbl, Formatter *f)
@@ -1870,29 +1847,88 @@ void Monitor::get_status(stringstream &ss, Formatter *f)
     f->close_section();
     f->close_section();
   } else {
-    ss << "  cluster " << monmap->get_fsid() << "\n";
-    ss << "   health " << health << "\n";
-    ss << "   monmap " << *monmap << ", election epoch " << get_epoch()
+    ss << "    cluster " << monmap->get_fsid() << "\n";
+    ss << "     health " << health << "\n";
+    ss << "     monmap " << *monmap << ", election epoch " << get_epoch()
       << ", quorum " << get_quorum() << " " << get_quorum_names() << "\n";
-    ss << "   osdmap " << osdmon()->osdmap << "\n";
-    ss << "    pgmap " << pgmon()->pg_map << "\n";
-    ss << "   mdsmap " << mdsmon()->mdsmap << "\n";
+    if (mdsmon()->mdsmap.get_epoch() > 1)
+      ss << "     mdsmap " << mdsmon()->mdsmap << "\n";
+    osdmon()->osdmap.print_summary(NULL, ss);
+    pgmon()->pg_map.print_summary(NULL, &ss);
   }
 }
 
 #undef COMMAND
-struct MonCommand {
-  string cmdstring;
-  string helpstring;
-  string module;
-  string req_perms;
-  string availability;
-} mon_commands[] = {
+MonCommand mon_commands[] = {
 #define COMMAND(parsesig, helptext, modulename, req_perms, avail) \
   {parsesig, helptext, modulename, req_perms, avail},
 #include <mon/MonCommands.h>
 };
 
+bool Monitor::_allowed_command(MonSession *s, string &module, string &prefix,
+                               map<string,cmd_vartype>& cmdmap) {
+
+  map<string,string> strmap;
+  for (map<string,cmd_vartype>::const_iterator p = cmdmap.begin();
+       p != cmdmap.end(); ++p) {
+    if (p->first == "prefix")
+      continue;
+    if (p->first == "caps") {
+      vector<string> cv;
+      if (cmd_getval(g_ceph_context, cmdmap, "caps", cv) &&
+	  cv.size() % 2 == 0) {
+	for (unsigned i = 0; i < cv.size(); i += 2) {
+	  string k = string("caps_") + cv[i];
+	  strmap[k] = cv[i + 1];
+	}
+	continue;
+      }
+    }
+    strmap[p->first] = cmd_vartype_stringify(p->second);
+  }
+
+  MonCommand *this_cmd = NULL;
+  for (MonCommand *cp = mon_commands;
+       cp < &mon_commands[ARRAY_SIZE(mon_commands)]; cp++) {
+    if (cp->cmdstring.find(prefix) != string::npos) {
+      this_cmd = cp;
+      break;
+    }
+  }
+  assert(this_cmd != NULL);
+  bool cmd_r = (this_cmd->req_perms.find('r') != string::npos);
+  bool cmd_w = (this_cmd->req_perms.find('w') != string::npos);
+  bool cmd_x = (this_cmd->req_perms.find('x') != string::npos);
+
+  bool capable = s->caps.is_capable(g_ceph_context, s->inst.name,
+                                    module, prefix, strmap,
+                                    cmd_r, cmd_w, cmd_x);
+
+  dout(10) << __func__ << " " << (capable ? "" : "not ") << "capable" << dendl;
+  return capable;
+}
+
+void get_command_descriptions(const MonCommand *commands,
+			      unsigned commands_size,
+			      Formatter *f,
+			      bufferlist *rdata) {
+  int cmdnum = 0;
+  f->open_object_section("command_descriptions");
+  for (const MonCommand *cp = commands;
+       cp < &commands[commands_size]; cp++) {
+
+    ostringstream secname;
+    secname << "cmd" << setfill('0') << std::setw(3) << cmdnum;
+    dump_cmddesc_to_json(f, secname.str(),
+			 cp->cmdstring, cp->helpstring, cp->module,
+			 cp->req_perms, cp->availability);
+    cmdnum++;
+  }
+  f->close_section();	// command_descriptions
+
+  f->flush(*rdata);
+}
+
 void Monitor::handle_command(MMonCommand *m)
 {
   if (m->fsid != monmap->fsid) {
@@ -1936,32 +1972,14 @@ void Monitor::handle_command(MMonCommand *m)
 
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
   if (prefix == "get_command_descriptions") {
-    int cmdnum = 0;
-    Formatter *f = new_formatter("json");
-    f->open_object_section("command_descriptions");
-    for (MonCommand *cp = mon_commands;
-	 cp < &mon_commands[ARRAY_SIZE(mon_commands)]; cp++) {
-
-      ostringstream secname;
-      secname << "cmd" << setfill('0') << std::setw(3) << cmdnum;
-      dump_cmddesc_to_json(f, secname.str(),
-			   cp->cmdstring, cp->helpstring, cp->module,
-			   cp->req_perms, cp->availability);
-      cmdnum++;
-    }
-    f->close_section();	// command_descriptions
-
     bufferlist rdata;
-    f->flush(rdata);
+    Formatter *f = new_formatter("json");
+    get_command_descriptions(mon_commands, ARRAY_SIZE(mon_commands), f, &rdata);
     delete f;
     reply_command(m, 0, "", rdata, 0);
     return;
   }
 
-  bool access_cmd;
-  bool access_r;
-  bool access_all;
-
   string module;
   string err;
 
@@ -1974,9 +1992,11 @@ void Monitor::handle_command(MMonCommand *m)
   get_str_vec(prefix, fullcmd);
   module = fullcmd[0];
 
-  access_cmd = _allowed_command(session, cmdmap);
-  access_r = (session->is_capable("mon", MON_CAP_R) || access_cmd);
-  access_all = (session->caps.is_allow_all() || access_cmd);
+  if (!_allowed_command(session, module, prefix, cmdmap)) {
+    dout(1) << __func__ << " access denied" << dendl;
+    reply_command(m, -EACCES, "access denied", 0);
+    return;
+  }
 
   if (module == "mds") {
     mdsmon()->dispatch(m);
@@ -2005,11 +2025,6 @@ void Monitor::handle_command(MMonCommand *m)
   }
 
   if (module == "config-key") {
-    if (!access_all) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     config_key_service->dispatch(m);
     return;
   }
@@ -2041,11 +2056,6 @@ void Monitor::handle_command(MMonCommand *m)
   }
 
   if (prefix == "compact") {
-    if (!access_all) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     dout(1) << "triggering manual compaction" << dendl;
     utime_t start = ceph_clock_now(g_ceph_context);
     store->compact();
@@ -2058,11 +2068,6 @@ void Monitor::handle_command(MMonCommand *m)
     r = 0;
   }
   else if (prefix == "injectargs") {
-    if (!access_all) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     vector<string> injected_args;
     cmd_getval(g_ceph_context, cmdmap, "injected_args", injected_args);
     if (!injected_args.empty()) {
@@ -2079,12 +2084,6 @@ void Monitor::handle_command(MMonCommand *m)
   } else if (prefix == "status" ||
 	     prefix == "health" ||
 	     prefix == "df") {
-    if (!access_r) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
-
     string detail;
     cmd_getval(g_ceph_context, cmdmap, "detail", detail);
 
@@ -2135,11 +2134,6 @@ void Monitor::handle_command(MMonCommand *m)
     rs = "";
     r = 0;
   } else if (prefix == "report") {
-    if (!access_r) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
 
     // this must be formatted, in its current form
     if (!f)
@@ -2175,11 +2169,6 @@ void Monitor::handle_command(MMonCommand *m)
     rs = ss2.str();
     r = 0;
   } else if (prefix == "quorum_status") {
-    if (!access_r) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     // make sure our map is readable and up to date
     if (!is_leader() && !is_peon()) {
       dout(10) << " waiting for quorum" << dendl;
@@ -2191,12 +2180,9 @@ void Monitor::handle_command(MMonCommand *m)
     rs = "";
     r = 0;
   } else if (prefix == "mon_status") {
-    if (!access_r) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     _mon_status(f.get(), ds);
+    if (f)
+      f->flush(ds);
     rdata.append(ds);
     rs = "";
     r = 0;
@@ -2216,11 +2202,6 @@ void Monitor::handle_command(MMonCommand *m)
     rs = ds.str();
     r = 0;
   } else if (prefix == "heap") {
-    if (!access_all) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     if (!ceph_using_tcmalloc())
       rs = "tcmalloc not enabled, can't use heap profiler commands\n";
     else {
@@ -2235,11 +2216,6 @@ void Monitor::handle_command(MMonCommand *m)
       r = 0;
     }
   } else if (prefix == "quorum") {
-    if (!access_all) {
-      r = -EACCES;
-      rs = "access denied";
-      goto out;
-    }
     string quorumcmd;
     cmd_getval(g_ceph_context, cmdmap, "quorumcmd", quorumcmd);
     if (quorumcmd == "exit") {
@@ -2253,9 +2229,6 @@ void Monitor::handle_command(MMonCommand *m)
       rs = "started responding to quorum, initiated new election";
       r = 0;
     }
-  } else if (!access_cmd) {
-    r = -EACCES;
-    rs = "access denied";
   }
 
  out:
@@ -2595,67 +2568,102 @@ bool Monitor::_ms_dispatch(Message *m)
   EntityName entity_name;
   bool src_is_mon;
 
-  src_is_mon = !connection || (connection->get_peer_type() & CEPH_ENTITY_TYPE_MON);
-
-  if (connection) {
-    bool reuse_caps = false;
-    dout(20) << "have connection" << dendl;
-    s = static_cast<MonSession *>(connection->get_priv());
-    if (s && s->closed) {
-      caps = s->caps;
-      reuse_caps = true;
-      s->put();
-      s = NULL;
-    }
-    if (!s) {
-      if (!exited_quorum.is_zero() && !src_is_mon) {
-	waitlist_or_zap_client(m);
-	return true;
-      }
-      dout(10) << "do not have session, making new one" << dendl;
-      s = session_map.new_session(m->get_source_inst(), m->get_connection().get());
-      m->get_connection()->set_priv(s->get());
-      dout(10) << "ms_dispatch new session " << s << " for " << s->inst << dendl;
-
-      if (m->get_connection()->get_peer_type() != CEPH_ENTITY_TYPE_MON) {
-	dout(10) << "setting timeout on session" << dendl;
-	// set an initial timeout here, so we will trim this session even if they don't
-	// do anything.
-	s->until = ceph_clock_now(g_ceph_context);
-	s->until += g_conf->mon_subscribe_interval;
-      } else {
-	//give it monitor caps; the peer type has been authenticated
-	reuse_caps = false;
-	dout(5) << "setting monitor caps on this connection" << dendl;
-	if (!s->caps.is_allow_all()) //but no need to repeatedly copy
-	  s->caps = *mon_caps;
+  // regardless of who we are or who the sender is, the message must
+  // have a connection associated.  If it doesn't then something fishy
+  // is going on.
+  assert(connection);
+
+  src_is_mon = (connection->get_peer_type() & CEPH_ENTITY_TYPE_MON);
+
+  bool reuse_caps = false;
+  dout(20) << "have connection" << dendl;
+  s = static_cast<MonSession *>(connection->get_priv());
+  if (s && s->closed) {
+    caps = s->caps;
+    reuse_caps = true;
+    s->put();
+    s = NULL;
+  }
+  if (!s) {
+    // if the sender is not a monitor, make sure their first message for a
+    // session is an MAuth.  If it is not, assume it's a stray message,
+    // and considering that we are creating a new session it is safe to
+    // assume that the sender hasn't authenticated yet, so we have no way
+    // of assessing whether we should handle it or not.
+    if (!src_is_mon && (m->get_type() != CEPH_MSG_AUTH &&
+			m->get_type() != CEPH_MSG_MON_GET_MAP)) {
+      if (m->get_type() == CEPH_MSG_PING) {
+        // let it go through and be dispatched immediately!
+        return dispatch(s, m, false);
       }
-      if (reuse_caps)
-        s->caps = caps;
+      dout(1) << __func__ << " dropping stray message " << *m
+        << " from " << m->get_source_inst() << dendl;
+      return false;
+    }
+
+    if (!exited_quorum.is_zero() && !src_is_mon) {
+      waitlist_or_zap_client(m);
+      return true;
+    }
+
+    dout(10) << "do not have session, making new one" << dendl;
+    s = session_map.new_session(m->get_source_inst(), m->get_connection().get());
+    m->get_connection()->set_priv(s->get());
+    dout(10) << "ms_dispatch new session " << s << " for " << s->inst << dendl;
+
+    if (!src_is_mon) {
+      dout(10) << "setting timeout on session" << dendl;
+      // set an initial timeout here, so we will trim this session even if they don't
+      // do anything.
+      s->until = ceph_clock_now(g_ceph_context);
+      s->until += g_conf->mon_subscribe_interval;
     } else {
-      dout(20) << "ms_dispatch existing session " << s << " for " << s->inst << dendl;
+      //give it monitor caps; the peer type has been authenticated
+      reuse_caps = false;
+      dout(5) << "setting monitor caps on this connection" << dendl;
+      if (!s->caps.is_allow_all()) //but no need to repeatedly copy
+        s->caps = *mon_caps;
     }
+    if (reuse_caps)
+      s->caps = caps;
+  } else {
+    dout(20) << "ms_dispatch existing session " << s << " for " << s->inst << dendl;
+  }
+
+  if (s) {
     if (s->auth_handler) {
       entity_name = s->auth_handler->get_entity_name();
     }
-  }
-
-  if (s)
     dout(20) << " caps " << s->caps.get_str() << dendl;
+  }
 
   if (is_synchronizing() && !src_is_mon) {
     waitlist_or_zap_client(m);
     return true;
   }
 
-  {
-    switch (m->get_type()) {
-      
+  ret = dispatch(s, m, src_is_mon);
+
+  if (s) {
+    s->put();
+  }
+
+  return ret;
+}
+
+bool Monitor::dispatch(MonSession *s, Message *m, const bool src_is_mon)
+{
+  bool ret = true;
+
+  assert(m != NULL);
+
+  switch (m->get_type()) {
+
     case MSG_ROUTE:
       handle_route(static_cast<MRoute*>(m));
       break;
 
-      // misc
+    // misc
     case CEPH_MSG_MON_GET_MAP:
       handle_mon_get_map(static_cast<MMonGetMap*>(m));
       break;
@@ -2681,12 +2689,11 @@ bool Monitor::_ms_dispatch(Message *m)
     case MSG_MON_SYNC:
       handle_sync(static_cast<MMonSync*>(m));
       break;
-
     case MSG_MON_SCRUB:
       handle_scrub(static_cast<MMonScrub*>(m));
       break;
 
-      // OSDs
+    // OSDs
     case MSG_OSD_MARK_ME_DOWN:
     case MSG_OSD_FAILURE:
     case MSG_OSD_BOOT:
@@ -2699,20 +2706,20 @@ bool Monitor::_ms_dispatch(Message *m)
       paxos_service[PAXOS_OSDMAP]->dispatch((PaxosServiceMessage*)m);
       break;
 
-      // MDSs
+    // MDSs
     case MSG_MDS_BEACON:
     case MSG_MDS_OFFLOAD_TARGETS:
       paxos_service[PAXOS_MDSMAP]->dispatch((PaxosServiceMessage*)m);
       break;
 
-      // auth
+    // auth
     case MSG_MON_GLOBAL_ID:
     case CEPH_MSG_AUTH:
       /* no need to check caps here */
       paxos_service[PAXOS_AUTH]->dispatch((PaxosServiceMessage*)m);
       break;
 
-      // pg
+    // pg
     case CEPH_MSG_STATFS:
     case MSG_PGSTATS:
     case MSG_GETPOOLSTATS:
@@ -2723,7 +2730,7 @@ bool Monitor::_ms_dispatch(Message *m)
       paxos_service[PAXOS_OSDMAP]->dispatch((PaxosServiceMessage*)m);
       break;
 
-      // log
+    // log
     case MSG_LOG:
       paxos_service[PAXOS_LOG]->dispatch((PaxosServiceMessage*)m);
       break;
@@ -2732,60 +2739,60 @@ bool Monitor::_ms_dispatch(Message *m)
       clog.handle_log_ack((MLogAck*)m);
       break;
 
-      // monmap
+    // monmap
     case MSG_MON_JOIN:
       paxos_service[PAXOS_MONMAP]->dispatch((PaxosServiceMessage*)m);
       break;
 
-      // paxos
+    // paxos
     case MSG_MON_PAXOS:
       {
-	MMonPaxos *pm = static_cast<MMonPaxos*>(m);
-	if (!src_is_mon && 
-	    !s->is_capable("mon", MON_CAP_X)) {
-	  //can't send these!
-	  pm->put();
-	  break;
-	}
+        MMonPaxos *pm = static_cast<MMonPaxos*>(m);
+        if (!src_is_mon ||
+            !s->is_capable("mon", MON_CAP_X)) {
+          //can't send these!
+          pm->put();
+          break;
+        }
 
-	if (state == STATE_SYNCHRONIZING) {
-	  // we are synchronizing. These messages would do us no
-	  // good, thus just drop them and ignore them.
-	  dout(10) << __func__ << " ignore paxos msg from "
-		   << pm->get_source_inst() << dendl;
-	  pm->put();
-	  break;
-	}
+        if (state == STATE_SYNCHRONIZING) {
+          // we are synchronizing. These messages would do us no
+          // good, thus just drop them and ignore them.
+          dout(10) << __func__ << " ignore paxos msg from "
+            << pm->get_source_inst() << dendl;
+          pm->put();
+          break;
+        }
 
-	// sanitize
-	if (pm->epoch > get_epoch()) {
-	  bootstrap();
-	  pm->put();
-	  break;
-	}
-	if (pm->epoch != get_epoch()) {
-	  pm->put();
-	  break;
-	}
+        // sanitize
+        if (pm->epoch > get_epoch()) {
+          bootstrap();
+          pm->put();
+          break;
+        }
+        if (pm->epoch != get_epoch()) {
+          pm->put();
+          break;
+        }
 
-	paxos->dispatch((PaxosServiceMessage*)m);
+        paxos->dispatch((PaxosServiceMessage*)m);
       }
       break;
 
-      // elector messages
+    // elector messages
     case MSG_MON_ELECTION:
       //check privileges here for simplicity
       if (s &&
-	  !s->is_capable("mon", MON_CAP_X)) {
-	dout(0) << "MMonElection received from entity without enough caps!"
-		<< s->caps << dendl;
-	m->put();
-	break;
+          !s->is_capable("mon", MON_CAP_X)) {
+        dout(0) << "MMonElection received from entity without enough caps!"
+          << s->caps << dendl;
+        m->put();
+        break;
       }
       if (!is_probing() && !is_synchronizing()) {
-	elector.dispatch(m);
+        elector.dispatch(m);
       } else {
-	m->put();
+        m->put();
       }
       break;
 
@@ -2801,17 +2808,43 @@ bool Monitor::_ms_dispatch(Message *m)
       health_monitor->dispatch(static_cast<MMonHealth *>(m));
       break;
 
+    case CEPH_MSG_PING:
+      handle_ping(static_cast<MPing*>(m));
+      break;
+
     default:
       ret = false;
-    }
-  }
-  if (s) {
-    s->put();
   }
 
   return ret;
 }
 
+void Monitor::handle_ping(MPing *m)
+{
+  dout(10) << __func__ << " " << *m << dendl;
+  MPing *reply = new MPing;
+  entity_inst_t inst = m->get_source_inst();
+  bufferlist payload;
+  Formatter *f = new JSONFormatter(true);
+  f->open_object_section("pong");
+
+  string health_str;
+  get_health(health_str, NULL, f);
+  {
+    stringstream ss;
+    _mon_status(f, ss);
+  }
+
+  f->close_section();
+  stringstream ss;
+  f->flush(ss);
+  ::encode(ss.str(), payload);
+  reply->set_payload(payload);
+  dout(10) << __func__ << " reply payload len " << reply->get_payload().length() << dendl;
+  messenger->send_message(reply, inst);
+  m->put();
+}
+
 void Monitor::timecheck_start()
 {
   dout(10) << __func__ << dendl;
diff --git a/src/mon/Monitor.h b/src/mon/Monitor.h
index cb1f413..2c066f6 100644
--- a/src/mon/Monitor.h
+++ b/src/mon/Monitor.h
@@ -46,6 +46,7 @@
 #include "perfglue/heap_profiler.h"
 
 #include "messages/MMonCommand.h"
+#include "messages/MPing.h"
 #include "mon/MonitorStore.h"
 #include "mon/MonitorDBStore.h"
 
@@ -95,12 +96,12 @@ class MMonGetVersion;
 class MMonSync;
 class MMonScrub;
 class MMonProbe;
-class MMonSubscribe;
+struct MMonSubscribe;
 class MAuthRotating;
-class MRoute;
-class MForward;
-class MTimeCheck;
-class MMonHealth;
+struct MRoute;
+struct MForward;
+struct MTimeCheck;
+struct MMonHealth;
 
 #define COMPAT_SET_LOC "feature_set"
 
@@ -485,6 +486,10 @@ private:
   /**
    * @}
    */
+  /**
+   * Handle ping messages from others.
+   */
+  void handle_ping(MPing *m);
 
   Context *probe_timeout_event;  // for probing
 
@@ -583,7 +588,8 @@ public:
   void handle_get_version(MMonGetVersion *m);
   void handle_subscribe(MMonSubscribe *m);
   void handle_mon_get_map(MMonGetMap *m);
-  bool _allowed_command(MonSession *s, map<std::string, cmd_vartype>& cmd);
+  bool _allowed_command(MonSession *s, string &module, string& prefix,
+                        map<string,cmd_vartype>& cmdmap);
   void _mon_status(Formatter *f, ostream& ss);
   void _quorum_status(Formatter *f, ostream& ss);
   void _add_bootstrap_peer_hint(string cmd, cmdmap_t& cmdmap, ostream& ss);
@@ -699,6 +705,8 @@ public:
     lock.Unlock();
     return ret;
   }
+  // dissociate message handling from session and connection logic
+  bool dispatch(MonSession *s, Message *m, const bool src_is_mon);
   //mon_caps is used for un-connected messages from monitors
   MonCap * mon_caps;
   bool ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool force_new);
@@ -843,5 +851,17 @@ public:
 
 long parse_pos_long(const char *s, ostream *pss = NULL);
 
+struct MonCommand {
+  string cmdstring;
+  string helpstring;
+  string module;
+  string req_perms;
+  string availability;
+};
+
+void get_command_descriptions(const MonCommand *commands,
+			      unsigned commands_size,
+			      Formatter *f,
+			      bufferlist *rdata);
 
 #endif
diff --git a/src/mon/MonitorDBStore.h b/src/mon/MonitorDBStore.h
index 276620f..eda5aaf 100644
--- a/src/mon/MonitorDBStore.h
+++ b/src/mon/MonitorDBStore.h
@@ -41,7 +41,8 @@ class MonitorDBStore
     string key, endkey;
     bufferlist bl;
 
-    Op() { }
+    Op()
+      : type(0) { }
     Op(int t, string p, string k)
       : type(t), prefix(p), key(k) { }
     Op(int t, const string& p, string k, bufferlist& b)
@@ -509,6 +510,10 @@ class MonitorDBStore
     db->compact_prefix(prefix);
   }
 
+  uint64_t get_estimated_size(map<string, uint64_t> &extras) {
+    return db->get_estimated_size(extras);
+  }
+
   MonitorDBStore(const string& path) :
     db(0), do_dump(false), dump_fd(-1) {
     string::const_reverse_iterator rit;
@@ -523,8 +528,8 @@ class MonitorDBStore
 
     LevelDBStore *db_ptr = new LevelDBStore(g_ceph_context, full_path);
     if (!db_ptr) {
-      std::cout << __func__ << " error initializing level db back storage in "
-		<< full_path << std::endl;
+      derr << __func__ << " error initializing level db back storage in "
+		<< full_path << dendl;
       assert(0 != "MonitorDBStore: error initializing level db back storage");
     }
     db.reset(db_ptr);
diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc
index 5ec1583..ca85559 100644
--- a/src/mon/MonmapMonitor.cc
+++ b/src/mon/MonmapMonitor.cc
@@ -164,9 +164,7 @@ bool MonmapMonitor::preprocess_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("mon", MON_CAP_R) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", get_last_committed());
     return true;
   }
@@ -276,9 +274,7 @@ bool MonmapMonitor::prepare_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("mon", MON_CAP_R) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", get_last_committed());
     return true;
   }
@@ -302,20 +298,45 @@ bool MonmapMonitor::prepare_command(MMonCommand *m)
       addr.set_port(CEPH_MON_PORT);
     }
 
-    if (pending_map.contains(addr) ||
-	pending_map.contains(name)) {
+    /**
+     * If we have a monitor with the same name and different addr, then EEXIST
+     * If we have a monitor with the same addr and different name, then EEXIST
+     * If we have a monitor with the same addr and same name, then return as if
+     * we had just added the monitor.
+     * If we don't have the monitor, add it.
+     */
+
+    err = 0;
+    if (!ss.str().empty())
+      ss << "; ";
+
+    do {
+      if (pending_map.contains(addr)) {
+        string n = pending_map.get_name(addr);
+        if (n == name)
+          break;
+      } else if (pending_map.contains(name)) {
+        entity_addr_t tmp_addr = pending_map.get_addr(name);
+        if (tmp_addr == addr)
+          break;
+      } else {
+        break;
+      }
       err = -EEXIST;
-      if (!ss.str().empty())
-	ss << "; ";
-      ss << "mon " << name << " " << addr << " already exists";
+      ss << "mon." << name << " at " << addr << " already exists";
+      goto out;
+    } while (false);
+
+    ss << "added mon." << name << " at " << addr;
+    if (pending_map.contains(name)) {
       goto out;
     }
 
     pending_map.add(name, addr);
     pending_map.last_changed = ceph_clock_now(g_ceph_context);
-    ss << "added mon." << name << " at " << addr;
     getline(ss, rs);
-    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs,
+                                                      get_last_committed()));
     return true;
 
   } else if (prefix == "mon remove") {
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
index 07022ae..07775fc 100644
--- a/src/mon/OSDMonitor.cc
+++ b/src/mon/OSDMonitor.cc
@@ -120,7 +120,12 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
    * We will possibly have a stashed latest that *we* wrote, and we will
    * always be sure to have the oldest full map in the first..last range
    * due to encode_trim_extra(), which includes the oldest full map in the trim
-   * transaction.  Start with whichever is newer.
+   * transaction.
+   *
+   * encode_trim_extra() does not however write the full map's
+   * version to 'full_latest'.  This is only done when we are building the
+   * full maps from the incremental versions.  But don't panic!  We make sure
+   * that the following conditions find whichever full map version is newer.
    */
   version_t latest_full = get_version_latest_full();
   if (latest_full == 0 && get_first_committed() > 1)
@@ -179,32 +184,49 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
   }
 
   // walk through incrementals
-  MonitorDBStore::Transaction t;
+  MonitorDBStore::Transaction *t = NULL;
+  size_t tx_size = 0;
   while (version > osdmap.epoch) {
     bufferlist inc_bl;
     int err = get_version(osdmap.epoch+1, inc_bl);
     assert(err == 0);
     assert(inc_bl.length());
-    
+
     dout(7) << "update_from_paxos  applying incremental " << osdmap.epoch+1 << dendl;
     OSDMap::Incremental inc(inc_bl);
     err = osdmap.apply_incremental(inc);
     assert(err == 0);
 
+    if (t == NULL)
+      t = new MonitorDBStore::Transaction;
+
     // write out the full map for all past epochs
     bufferlist full_bl;
     osdmap.encode(full_bl);
-    put_version_full(&t, osdmap.epoch, full_bl);
+    tx_size += full_bl.length();
+
+    put_version_full(t, osdmap.epoch, full_bl);
+    put_version_latest_full(t, osdmap.epoch);
 
     // share
     dout(1) << osdmap << dendl;
 
     if (osdmap.epoch == 1) {
-      t.erase("mkfs", "osdmap");
+      t->erase("mkfs", "osdmap");
+    }
+
+    if (tx_size > g_conf->mon_sync_max_payload_size*2) {
+      mon->store->apply_transaction(*t);
+      delete t;
+      t = NULL;
+      tx_size = 0;
     }
   }
-  if (!t.empty())
-    mon->store->apply_transaction(t);
+
+  if (t != NULL) {
+    mon->store->apply_transaction(*t);
+    delete t;
+  }
 
   for (int o = 0; o < osdmap.get_max_osd(); o++) {
     if (osdmap.is_down(o)) {
@@ -620,7 +642,6 @@ void OSDMonitor::encode_trim_extra(MonitorDBStore::Transaction *tx, version_t fi
   bufferlist bl;
   get_version_full(first, bl);
   put_version_full(tx, first, bl);
-  put_version_latest_full(tx, first);
 }
 
 // -------------
@@ -1457,17 +1478,15 @@ bool OSDMonitor::prepare_remove_snaps(MRemoveSnaps *m)
       if (!pi.removed_snaps.contains(*q) &&
 	  (!pending_inc.new_pools.count(p->first) ||
 	   !pending_inc.new_pools[p->first].removed_snaps.contains(*q))) {
-	if (pending_inc.new_pools.count(p->first) == 0)
-	  pending_inc.new_pools[p->first] = pi;
-	pg_pool_t& newpi = pending_inc.new_pools[p->first];
-	newpi.removed_snaps.insert(*q);
+	pg_pool_t *newpi = pending_inc.get_new_pool(p->first, &pi);
+	newpi->removed_snaps.insert(*q);
 	dout(10) << " pool " << p->first << " removed_snaps added " << *q
-		 << " (now " << newpi.removed_snaps << ")" << dendl;
-	if (*q > newpi.get_snap_seq()) {
-	  dout(10) << " pool " << p->first << " snap_seq " << newpi.get_snap_seq() << " -> " << *q << dendl;
-	  newpi.set_snap_seq(*q);
+		 << " (now " << newpi->removed_snaps << ")" << dendl;
+	if (*q > newpi->get_snap_seq()) {
+	  dout(10) << " pool " << p->first << " snap_seq " << newpi->get_snap_seq() << " -> " << *q << dendl;
+	  newpi->set_snap_seq(*q);
 	}
-	newpi.set_snap_epoch(pending_inc.epoch);
+	newpi->set_snap_epoch(pending_inc.epoch);
       }
     }
   }
@@ -1949,9 +1968,7 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
   }
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("osd", MON_CAP_R) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -1974,7 +1991,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
 	   prefix == "osd tree" ||
 	   prefix == "osd ls" ||
 	   prefix == "osd getmap" ||
-	   prefix == "osd getcrushmap") {
+	   prefix == "osd getcrushmap" ||
+	   prefix == "osd perf") {
     string val;
 
     epoch_t epoch = 0;
@@ -2046,6 +2064,17 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
     } else if (prefix == "osd getcrushmap") {
       p->crush->encode(rdata);
       ss << "got crush map from osdmap epoch " << p->get_epoch();
+    } else if (prefix == "osd perf") {
+      const PGMap &pgm = mon->pgmon()->pg_map;
+      if (f) {
+	f->open_object_section("osdstats");
+	pgm.dump_osd_perf_stats(f.get());
+	f->close_section();
+	f->flush(ds);
+      } else {
+	pgm.print_osd_perf_stats(&ds);
+      }
+      rdata.append(ds);
     }
     if (p != &osdmap)
       delete p;
@@ -2146,7 +2175,7 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
 				osdmap.get_inst(i));
 	}
       r = 0;
-      ss << " instructed to " << whostr;
+      ss << " instructed to " << pvec.back();
     } else {
       long osd = parse_osd_id(whostr.c_str(), &ss);
       if (osd < 0) {
@@ -2267,6 +2296,105 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
     }
     r = 0;
 
+  } else if (prefix == "osd pool stats") {
+    string pool_name;
+    cmd_getval(g_ceph_context, cmdmap, "name", pool_name);
+
+    PGMap& pg_map = mon->pgmon()->pg_map;
+
+    int64_t poolid = -ENOENT;
+    bool one_pool = false;
+    if (!pool_name.empty()) {
+      poolid = osdmap.lookup_pg_pool_name(pool_name);
+      if (poolid < 0) {
+        assert(poolid == -ENOENT);
+        ss << "unrecognized pool '" << pool_name << "'";
+        r = -ENOENT;
+        goto reply;
+      }
+      one_pool = true;
+    }
+
+    stringstream rs;
+
+    if (f)
+      f->open_array_section("pool_stats");
+    if (osdmap.get_pools().size() == 0) {
+      if (!f)
+        ss << "there are no pools!";
+      goto stats_out;
+    }
+
+    for (map<int64_t,pg_pool_t>::const_iterator it = osdmap.get_pools().begin();
+         it != osdmap.get_pools().end();
+         ++it) {
+
+      if (!one_pool)
+        poolid = it->first;
+
+      pool_name = osdmap.get_pool_name(poolid);
+
+      if (f) {
+        f->open_object_section("pool");
+        f->dump_string("pool_name", pool_name.c_str());
+        f->dump_int("pool_id", poolid);
+        f->open_object_section("recovery");
+      }
+
+      stringstream rss, tss;
+      pg_map.pool_recovery_summary(f.get(), &rss, poolid);
+      if (!f && !rss.str().empty())
+        tss << "  " << rss.str() << "\n";
+
+      if (f) {
+        f->close_section();
+        f->open_object_section("recovery_rate");
+      }
+
+      rss.clear();
+      rss.str("");
+
+      pg_map.pool_recovery_rate_summary(f.get(), &rss, poolid);
+      if (!f && !rss.str().empty())
+        tss << "  recovery io " << rss.str() << "\n";
+
+      if (f) {
+        f->close_section();
+        f->open_object_section("client_io_rate");
+      }
+
+      rss.clear();
+      rss.str("");
+
+      pg_map.pool_client_io_rate_summary(f.get(), &rss, poolid);
+      if (!f && !rss.str().empty())
+        tss << "  client io " << rss.str() << "\n";
+
+      if (f) {
+        f->close_section();
+        f->close_section();
+      } else {
+        rs << "pool " << pool_name << " id " << poolid << "\n";
+        if (!tss.str().empty())
+          rs << tss.str() << "\n";
+        else
+          rs << "  nothing is going on\n\n";
+      }
+
+      if (one_pool)
+        break;
+    }
+
+stats_out:
+    if (f) {
+      f->close_section();
+      f->flush(rdata);
+    } else {
+      rdata.append(rs.str());
+    }
+    rdata.append("\n");
+    r = 0;
+
   } else if (prefix == "osd crush rule list" ||
 	     prefix == "osd crush rule ls") {
     string format;
@@ -2316,9 +2444,7 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
 void OSDMonitor::update_pool_flags(int64_t pool_id, uint64_t flags)
 {
   const pg_pool_t *pool = osdmap.get_pg_pool(pool_id);
-  if (pending_inc.new_pools.count(pool_id) == 0)
-    pending_inc.new_pools[pool_id] = *pool;
-  pending_inc.new_pools[pool_id].flags = flags;
+  pending_inc.get_new_pool(pool_id, pool)->flags = flags;
 }
 
 bool OSDMonitor::update_pools_status()
@@ -2467,10 +2593,11 @@ int OSDMonitor::prepare_new_pool(MPoolOp *m)
   MonSession *session = m->get_session();
   if (!session)
     return -EPERM;
+  vector<string> properties;
   if (m->auid)
-    return prepare_new_pool(m->name, m->auid, m->crush_rule, 0, 0);
+    return prepare_new_pool(m->name, m->auid, m->crush_rule, 0, 0, properties);
   else
-    return prepare_new_pool(m->name, session->auid, m->crush_rule, 0, 0);
+    return prepare_new_pool(m->name, session->auid, m->crush_rule, 0, 0, properties);
 }
 
 /**
@@ -2479,11 +2606,13 @@ int OSDMonitor::prepare_new_pool(MPoolOp *m)
  * @param crush_rule The crush rule to use. If <0, will use the system default
  * @param pg_num The pg_num to use. If set to 0, will use the system default
  * @param pgp_num The pgp_num to use. If set to 0, will use the system default
+ * @param properties An opaque list of key[=value] pairs for pool configuration
  *
  * @return 0 in all cases. That's silly.
  */
 int OSDMonitor::prepare_new_pool(string& name, uint64_t auid, int crush_rule,
-                                 unsigned pg_num, unsigned pgp_num)
+                                 unsigned pg_num, unsigned pgp_num,
+				 const vector<string> &properties)
 {
   for (map<int64_t,string>::iterator p = pending_inc.new_pool_names.begin();
        p != pending_inc.new_pool_names.end();
@@ -2495,22 +2624,36 @@ int OSDMonitor::prepare_new_pool(string& name, uint64_t auid, int crush_rule,
   if (-1 == pending_inc.new_pool_max)
     pending_inc.new_pool_max = osdmap.pool_max;
   int64_t pool = ++pending_inc.new_pool_max;
-  pending_inc.new_pools[pool].type = pg_pool_t::TYPE_REP;
-  pending_inc.new_pools[pool].flags = g_conf->osd_pool_default_flags;
+  pg_pool_t empty;
+  pg_pool_t *pi = pending_inc.get_new_pool(pool, &empty);
+  pi->type = pg_pool_t::TYPE_REP;
+  pi->flags = g_conf->osd_pool_default_flags;
   if (g_conf->osd_pool_default_flag_hashpspool)
-    pending_inc.new_pools[pool].flags |= pg_pool_t::FLAG_HASHPSPOOL;
+    pi->flags |= pg_pool_t::FLAG_HASHPSPOOL;
 
-  pending_inc.new_pools[pool].size = g_conf->osd_pool_default_size;
-  pending_inc.new_pools[pool].min_size = g_conf->get_osd_pool_default_min_size();
+  pi->size = g_conf->osd_pool_default_size;
+  pi->min_size = g_conf->get_osd_pool_default_min_size();
   if (crush_rule >= 0)
-    pending_inc.new_pools[pool].crush_ruleset = crush_rule;
+    pi->crush_ruleset = crush_rule;
   else
-    pending_inc.new_pools[pool].crush_ruleset = g_conf->osd_pool_default_crush_rule;
-  pending_inc.new_pools[pool].object_hash = CEPH_STR_HASH_RJENKINS;
-  pending_inc.new_pools[pool].set_pg_num(pg_num ? pg_num : g_conf->osd_pool_default_pg_num);
-  pending_inc.new_pools[pool].set_pgp_num(pgp_num ? pgp_num : g_conf->osd_pool_default_pgp_num);
-  pending_inc.new_pools[pool].last_change = pending_inc.epoch;
-  pending_inc.new_pools[pool].auid = auid;
+    pi->crush_ruleset = g_conf->osd_pool_default_crush_rule;
+  pi->object_hash = CEPH_STR_HASH_RJENKINS;
+  pi->set_pg_num(pg_num ? pg_num : g_conf->osd_pool_default_pg_num);
+  pi->set_pgp_num(pgp_num ? pgp_num : g_conf->osd_pool_default_pgp_num);
+  pi->last_change = pending_inc.epoch;
+  pi->auid = auid;
+  for (vector<string>::const_iterator i = properties.begin();
+       i != properties.end();
+       i++) {
+    size_t equal = i->find('=');
+    if (equal == string::npos)
+      pi->properties[*i] = string();
+    else {
+      const string key = i->substr(0, equal);
+      const string value = i->substr(equal);
+      pi->properties[key] = value;
+    }
+  }
   pending_inc.new_pool_names[pool] = name;
   return 0;
 }
@@ -2574,6 +2717,137 @@ void OSDMonitor::parse_loc_map(const vector<string>& args,  map<string,string> *
   }
 }
 
+int OSDMonitor::prepare_command_pool_set(map<string,cmd_vartype> &cmdmap,
+                                         stringstream& ss)
+{
+  string poolstr;
+  cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+  int64_t pool = osdmap.lookup_pg_pool_name(poolstr.c_str());
+  if (pool < 0) {
+    ss << "unrecognized pool '" << poolstr << "'";
+    return -ENOENT;
+  }
+  string var;
+  cmd_getval(g_ceph_context, cmdmap, "var", var);
+
+  pg_pool_t p = *osdmap.get_pg_pool(pool);
+  if (pending_inc.new_pools.count(pool))
+    p = pending_inc.new_pools[pool];
+
+  // accept val as a json string or int, and parse out int or float
+  // values from the string as needed
+  string val;
+  cmd_getval(g_ceph_context, cmdmap, "val", val);
+  string interr;
+  int64_t n = 0;
+  if (!cmd_getval(g_ceph_context, cmdmap, "val", n))
+    n = strict_strtoll(val.c_str(), 10, &interr);
+  string floaterr;
+  float f;
+  if (!cmd_getval(g_ceph_context, cmdmap, "val", f))
+    f = strict_strtod(val.c_str(), &floaterr);
+
+  if (var == "size") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    if (n == 0 || n > 10) {
+      ss << "pool size must be between 1 and 10";
+      return -EINVAL;
+    }
+    p.size = n;
+    if (n < p.min_size)
+      p.min_size = n;
+    ss << "set pool " << pool << " size to " << n;
+  } else if (var == "min_size") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    p.min_size = n;
+    ss << "set pool " << pool << " min_size to " << n;
+  } else if (var == "crash_replay_interval") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    p.crash_replay_interval = n;
+    ss << "set pool " << pool << " to crash_replay_interval to " << n;
+  } else if (var == "pg_num") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    if (n <= (int)p.get_pg_num()) {
+      ss << "specified pg_num " << n << " <= current " << p.get_pg_num();
+    } else {
+      for(set<pg_t>::iterator i = mon->pgmon()->pg_map.creating_pgs.begin();
+	  i != mon->pgmon()->pg_map.creating_pgs.end();
+	  ++i) {
+	if (i->m_pool == static_cast<uint64_t>(pool)) {
+	  ss << "currently creating pgs, wait";
+	  return -EAGAIN;
+	}
+      }
+      p.set_pg_num(n);
+      ss << "set pool " << pool << " pg_num to " << n;
+    }
+  } else if (var == "pgp_num") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    if (n <= 0) {
+      ss << "specified pgp_num must > 0, but you set to " << n;
+    } else if (n > (int)p.get_pg_num()) {
+      ss << "specified pgp_num " << n << " > pg_num " << p.get_pg_num();
+    } else {
+      for(set<pg_t>::iterator i = mon->pgmon()->pg_map.creating_pgs.begin();
+	  i != mon->pgmon()->pg_map.creating_pgs.end();
+	  ++i) {
+	if (i->m_pool == static_cast<uint64_t>(pool)) {
+	  ss << "currently creating pgs, wait";
+	  return -EAGAIN;
+	}
+      }
+      p.set_pgp_num(n);
+      ss << "set pool " << pool << " pgp_num to " << n;
+    }
+  } else if (var == "crush_ruleset") {
+    if (interr.length()) {
+      ss << "error parsing integer value '" << val << "': " << interr;
+      return -EINVAL;
+    }
+    if (osdmap.crush->rule_exists(n)) {
+      p.crush_ruleset = n;
+      ss << "set pool " << pool << " crush_ruleset to " << n;
+    } else {
+      ss << "crush ruleset " << n << " does not exist";
+      return -ENOENT;
+    }
+  } else if (var == "hashpspool") {
+    if (val == "true") {
+      p.flags |= pg_pool_t::FLAG_HASHPSPOOL;
+      ss << "set";
+    } else if (val == "false") {
+      p.flags ^= pg_pool_t::FLAG_HASHPSPOOL;
+      ss << "unset";
+    } else {
+      ss << "expecting value true or false";
+      return -EINVAL;
+    }
+    ss << " pool " << pool << " flag hashpspool";
+  } else {
+    ss << "unrecognized variable '" << var << "'";
+    return -EINVAL;
+  }
+
+  p.last_change = pending_inc.epoch;
+  pending_inc.new_pools[pool] = p;
+  return 0;
+}
+
 bool OSDMonitor::prepare_command(MMonCommand *m)
 {
   bool ret = false;
@@ -2594,9 +2868,7 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
   boost::scoped_ptr<Formatter> f(new_formatter(format));
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("osd", MON_CAP_W) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", get_last_committed());
     return true;
   }
@@ -2613,6 +2885,36 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
     name = oss.str();
   }
 
+  // Even if there's a pending state with changes that could affect
+  // a command, considering that said state isn't yet committed, we
+  // just don't care about those changes if the command currently being
+  // handled acts as a no-op against the current committed state.
+  // In a nutshell, we assume this command  happens *before*.
+  //
+  // Let me make this clearer:
+  //
+  //   - If we have only one client, and that client issues some
+  //     operation that would conflict with this operation  but is
+  //     still on the pending state, then we would be sure that said
+  //     operation wouldn't have returned yet, so the client wouldn't
+  //     issue this operation (unless the client didn't wait for the
+  //     operation to finish, and that would be the client's own fault).
+  //
+  //   - If we have more than one client, each client will observe
+  //     whatever is the state at the moment of the commit.  So, if we
+  //     have two clients, one issuing an unlink and another issuing a
+  //     link, and if the link happens while the unlink is still on the
+  //     pending state, from the link's point-of-view this is a no-op.
+  //     If different clients are issuing conflicting operations and
+  //     they care about that, then the clients should make sure they
+  //     enforce some kind of concurrency mechanism -- from our
+  //     perspective that's what Douglas Adams would call an SEP.
+  //
+  // This should be used as a general guideline for most commands handled
+  // in this function.  Adapt as you see fit, but please bear in mind that
+  // this is the expected behavior.
+
+
   if (prefix == "osd setcrushmap" ||
       (prefix == "osd crush set" && !osdid_present)) {
     dout(10) << "prepare_command setting new crush map" << dendl;
@@ -2663,9 +2965,15 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
       err = -EINVAL;
       goto reply;
     }
-    int bucketno = newcrush.add_bucket(0, CRUSH_BUCKET_STRAW,
+    int bucketno;
+    err = newcrush.add_bucket(0, CRUSH_BUCKET_STRAW,
 				       CRUSH_HASH_DEFAULT, type, 0, NULL,
-				       NULL);
+				       NULL, &bucketno);
+    if (err < 0) {
+      char buf[128];
+      ss << "add_bucket error: '" << strerror_r(-err, buf, sizeof(buf)) << "'";
+      goto reply;
+    }
     err = newcrush.set_item_name(bucketno, name);
     if (err < 0) {
       ss << "error setting bucket name to '" << name << "'";
@@ -2679,58 +2987,68 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
     goto update;
   } else if (osdid_present &&
 	     (prefix == "osd crush set" || prefix == "osd crush add")) {
-    do {
-      // <OsdName> is 'osd.<id>' or '<id>', passed as int64_t id
-      // osd crush set <OsdName> <weight> <loc1> [<loc2> ...]
-      // osd crush add <OsdName> <weight> <loc1> [<loc2> ...]
+    // <OsdName> is 'osd.<id>' or '<id>', passed as int64_t id
+    // osd crush set <OsdName> <weight> <loc1> [<loc2> ...]
+    // osd crush add <OsdName> <weight> <loc1> [<loc2> ...]
 
-      if (!osdmap.exists(id)) {
-	err = -ENOENT;
-	ss << name << " does not exist.  create it before updating the crush map";
-	goto reply;
-      }
+    if (!osdmap.exists(id)) {
+      err = -ENOENT;
+      ss << name << " does not exist.  create it before updating the crush map";
+      goto reply;
+    }
 
-      double weight;
-      cmd_getval(g_ceph_context, cmdmap, "weight", weight);
+    double weight;
+    cmd_getval(g_ceph_context, cmdmap, "weight", weight);
 
-      string args;
-      vector<string> argvec;
-      cmd_getval(g_ceph_context, cmdmap, "args", argvec);
-      map<string,string> loc;
-      parse_loc_map(argvec, &loc);
+    string args;
+    vector<string> argvec;
+    cmd_getval(g_ceph_context, cmdmap, "args", argvec);
+    map<string,string> loc;
+    parse_loc_map(argvec, &loc);
 
-      dout(0) << "adding/updating crush item id " << id << " name '"
-	      << name << "' weight " << weight << " at location "
-	      << loc << dendl;
-      CrushWrapper newcrush;
-      _get_pending_crush(newcrush);
+    if (prefix == "osd crush set"
+        && !_get_stable_crush().item_exists(id)) {
+      err = -ENOENT;
+      ss << "unable to set item id " << id << " name '" << name
+         << "' weight " << weight << " at location " << loc
+         << ": does not exist";
+      goto reply;
+    }
 
-      string action;
-      if (prefix == "osd crush set" ||
-	  newcrush.check_item_loc(g_ceph_context, id, loc, (int *)NULL)) {
-	action = "set";
-	err = newcrush.update_item(g_ceph_context, id, weight, name, loc);
-      } else {
-	action = "add";
-	err = newcrush.insert_item(g_ceph_context, id, weight, name, loc);
-	if (err == 0)
-	  err = 1;
-      }
-      if (err == 0) {
-	ss << action << " item id " << id << " name '" << name << "' weight "
-	   << weight << " at location " << loc << ": no change";
-	break;
-      }
-      if (err > 0) {
-	pending_inc.crush.clear();
-	newcrush.encode(pending_inc.crush);
-	ss << action << " item id " << id << " name '" << name << "' weight "
-	   << weight << " at location " << loc << " to crush map";
-	getline(ss, rs);
-	wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-	return true;
-      }
-    } while (false);
+    dout(5) << "adding/updating crush item id " << id << " name '"
+      << name << "' weight " << weight << " at location "
+      << loc << dendl;
+    CrushWrapper newcrush;
+    _get_pending_crush(newcrush);
+
+    string action;
+    if (prefix == "osd crush set" ||
+        newcrush.check_item_loc(g_ceph_context, id, loc, (int *)NULL)) {
+      action = "set";
+      err = newcrush.update_item(g_ceph_context, id, weight, name, loc);
+    } else {
+      action = "add";
+      err = newcrush.insert_item(g_ceph_context, id, weight, name, loc);
+      if (err == 0)
+        err = 1;
+    }
+
+    if (err < 0)
+      goto reply;
+
+    if (err == 0 && !_have_pending_crush()) {
+      ss << action << " item id " << id << " name '" << name << "' weight "
+        << weight << " at location " << loc << ": no change";
+      goto reply;
+    }
+
+    pending_inc.crush.clear();
+    newcrush.encode(pending_inc.crush);
+    ss << action << " item id " << id << " name '" << name << "' weight "
+      << weight << " at location " << loc << " to crush map";
+    getline(ss, rs);
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
+    return true;
 
   } else if (prefix == "osd crush create-or-move") {
     do {
@@ -2779,6 +3097,7 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
 
       string args;
       vector<string> argvec;
+      cmd_getval(g_ceph_context, cmdmap, "name", name);
       cmd_getval(g_ceph_context, cmdmap, "args", argvec);
       map<string,string> loc;
       parse_loc_map(argvec, &loc);
@@ -2811,41 +3130,51 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
     } while (false);
 
   } else if (prefix == "osd crush link") {
-    do {
-      // osd crush link <name> <loc1> [<loc2> ...]
-      string name;
-      cmd_getval(g_ceph_context, cmdmap, "name", name);
-      vector<string> argvec;
-      cmd_getval(g_ceph_context, cmdmap, "args", argvec);
-      map<string,string> loc;
-      parse_loc_map(argvec, &loc);
+    // osd crush link <name> <loc1> [<loc2> ...]
+    string name;
+    cmd_getval(g_ceph_context, cmdmap, "name", name);
+    vector<string> argvec;
+    cmd_getval(g_ceph_context, cmdmap, "args", argvec);
+    map<string,string> loc;
+    parse_loc_map(argvec, &loc);
 
-      dout(0) << "linking crush item name '" << name << "' at location " << loc << dendl;
-      CrushWrapper newcrush;
-      _get_pending_crush(newcrush);
+    if (!osdmap.crush->name_exists(name)) {
+      err = -ENOENT;
+      ss << "item " << name << " does not exist";
+      goto reply;
+    }
+    if (osdmap.crush->check_item_loc(g_ceph_context, id, loc, (int*) NULL)) {
+      ss << "no need to move item id " << id << " name '" << name
+	 << "' to location " << loc << " in crush map";
+      err = 0;
+      goto reply;
+    }
 
-      if (!newcrush.name_exists(name)) {
-	err = -ENOENT;
-	ss << "item " << name << " does not exist";
-	break;
-      }
-      int id = newcrush.get_item_id(name);
+    dout(5) << "linking crush item name '" << name << "' at location " << loc << dendl;
+    CrushWrapper newcrush;
+    _get_pending_crush(newcrush);
 
+    if (!newcrush.name_exists(name)) {
+      err = -ENOENT;
+      ss << "item " << name << " does not exist";
+    } else {
+      int id = newcrush.get_item_id(name);
       if (!newcrush.check_item_loc(g_ceph_context, id, loc, (int *)NULL)) {
 	err = newcrush.link_bucket(g_ceph_context, id, loc);
 	if (err >= 0) {
-	  ss << "linked item id " << id << " name '" << name << "' to location " << loc << " in crush map";
+	  ss << "linked item id " << id << " name '" << name
+             << "' to location " << loc << " in crush map";
 	  pending_inc.crush.clear();
 	  newcrush.encode(pending_inc.crush);
-	  getline(ss, rs);
-	  wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-	  return true;
 	}
       } else {
-	ss << "no need to move item id " << id << " name '" << name << "' to location " << loc << " in crush map";
+	ss << "no need to move item id " << id << " name '" << name
+           << "' to location " << loc << " in crush map";
 	err = 0;
       }
-    } while (false);
+    }
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, err, ss.str(), get_last_committed()));
+    return true;
   } else if (prefix == "osd crush rm" ||
 	     prefix == "osd crush remove" ||
 	     prefix == "osd crush unlink") {
@@ -2923,7 +3252,7 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
       cmd_getval(g_ceph_context, cmdmap, "weight", w);
 
       err = newcrush.adjust_item_weightf(g_ceph_context, id, w);
-      if (err == 0) {
+      if (err >= 0) {
 	pending_inc.crush.clear();
 	newcrush.encode(pending_inc.crush);
 	ss << "reweighted item id " << id << " name '" << name << "' to " << w
@@ -3325,7 +3654,11 @@ done:
     string snapname;
     cmd_getval(g_ceph_context, cmdmap, "snap", snapname);
     const pg_pool_t *p = osdmap.get_pg_pool(pool);
-    if (p->snap_exists(snapname.c_str())) {
+    if (p->is_unmanaged_snaps_mode()) {
+      ss << "pool " << poolstr << " is in unmanaged snaps mode";
+      err = -EINVAL;
+      goto reply;
+    } else if (p->snap_exists(snapname.c_str())) {
       ss << "pool " << poolstr << " snap " << snapname << " already exists";
       err = 0;
       goto reply;
@@ -3359,7 +3692,11 @@ done:
     string snapname;
     cmd_getval(g_ceph_context, cmdmap, "snap", snapname);
     const pg_pool_t *p = osdmap.get_pg_pool(pool);
-    if (!p->snap_exists(snapname.c_str())) {
+    if (p->is_unmanaged_snaps_mode()) {
+      ss << "pool " << poolstr << " is in unmanaged snaps mode";
+      err = -EINVAL;
+      goto reply;
+    } else if (!p->snap_exists(snapname.c_str())) {
       ss << "pool " << poolstr << " snap " << snapname << " does not exist";
       err = 0;
       goto reply;
@@ -3410,9 +3747,13 @@ done:
       goto reply;
     }
 
+    vector<string> properties;
+    cmd_getval(g_ceph_context, cmdmap, "properties", properties);
+
     err = prepare_new_pool(poolstr, 0, // auid=0 for admin created pool
 			   -1,         // default crush rule
-			   pg_num, pgp_num);
+			   pg_num, pgp_num,
+			   properties);
     if (err < 0 && err != -EEXIST) {
       goto reply;
     }
@@ -3455,91 +3796,226 @@ done:
     string srcpoolstr, destpoolstr;
     cmd_getval(g_ceph_context, cmdmap, "srcpool", srcpoolstr);
     cmd_getval(g_ceph_context, cmdmap, "destpool", destpoolstr);
-    int64_t pool = osdmap.lookup_pg_pool_name(srcpoolstr.c_str());
-    if (pool < 0) {
-      ss << "unrecognized pool '" << srcpoolstr << "'";
-      err = -ENOENT;
-    } else if (osdmap.lookup_pg_pool_name(destpoolstr.c_str()) >= 0) {
+    int64_t pool_src = osdmap.lookup_pg_pool_name(srcpoolstr.c_str());
+    int64_t pool_dst = osdmap.lookup_pg_pool_name(destpoolstr.c_str());
+
+    if (pool_src < 0) {
+      if (pool_dst >= 0) {
+        // src pool doesn't exist, dst pool does exist: to ensure idempotency
+        // of operations, assume this rename succeeded, as it is not changing
+        // the current state.  Make sure we output something understandable
+        // for whoever is issuing the command, if they are paying attention,
+        // in case it was not intentional; or to avoid a "wtf?" and a bug
+        // report in case it was intentional, while expecting a failure.
+        ss << "pool '" << srcpoolstr << "' does not exist; pool '"
+          << destpoolstr << "' does -- assuming successful rename";
+        err = 0;
+      } else {
+        ss << "unrecognized pool '" << srcpoolstr << "'";
+        err = -ENOENT;
+      }
+      goto reply;
+    } else if (pool_dst >= 0) {
+      // source pool exists and so does the destination pool
       ss << "pool '" << destpoolstr << "' already exists";
       err = -EEXIST;
+      goto reply;
+    }
+
+    int ret = _prepare_rename_pool(pool_src, destpoolstr);
+    if (ret == 0) {
+      ss << "pool '" << srcpoolstr << "' renamed to '" << destpoolstr << "'";
     } else {
-      int ret = _prepare_rename_pool(pool, destpoolstr);
-      if (ret == 0) {
-	ss << "pool '" << srcpoolstr << "' renamed to '" << destpoolstr << "'";
-      } else {
-	ss << "failed to rename pool '" << srcpoolstr << "' to '" << destpoolstr << "': "
-	   << cpp_strerror(ret);
-      }
-      getline(ss, rs);
-      wait_for_finished_proposal(new Monitor::C_Command(mon, m, ret, rs, get_last_committed()));
-      return true;
+      ss << "failed to rename pool '" << srcpoolstr << "' to '" << destpoolstr << "': "
+        << cpp_strerror(ret);
     }
+    getline(ss, rs);
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, ret, rs, get_last_committed()));
+    return true;
+
   } else if (prefix == "osd pool set") {
-    // set a pool variable to a positive int
+    err = prepare_command_pool_set(cmdmap, ss);
+    if (err < 0)
+      goto reply;
+
+    getline(ss, rs);
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
+    return true;
+  } else if (prefix == "osd tier add") {
     string poolstr;
     cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
-    int64_t pool = osdmap.lookup_pg_pool_name(poolstr.c_str());
-    if (pool < 0) {
+    int64_t pool_id = osdmap.lookup_pg_pool_name(poolstr);
+    if (pool_id < 0) {
       ss << "unrecognized pool '" << poolstr << "'";
       err = -ENOENT;
-    } else {
-      const pg_pool_t *p = osdmap.get_pg_pool(pool);
-      int64_t n;
-      cmd_getval(g_ceph_context, cmdmap, "val", n);
-      string var;
-      cmd_getval(g_ceph_context, cmdmap, "var", var);
-      if (pending_inc.new_pools.count(pool) == 0)
-	pending_inc.new_pools[pool] = *p;
-      if (var == "size") {
-	if (n == 0 || n > 10) {
-	  ss << "pool size must be between 1 and 10";
-	  err = -EINVAL;
-	  goto reply;
-	}
-	pending_inc.new_pools[pool].size = n;
-	if (n < p->min_size)
-	  pending_inc.new_pools[pool].min_size = n;
-	ss << "set pool " << pool << " size to " << n;
-      } else if (var == "min_size") {
-	pending_inc.new_pools[pool].min_size = n;
-	ss << "set pool " << pool << " min_size to " << n;
-      } else if (var == "crash_replay_interval") {
-	pending_inc.new_pools[pool].crash_replay_interval = n;
-	ss << "set pool " << pool << " to crash_replay_interval to " << n;
-      } else if (var == "pg_num") {
-	if (n <= p->get_pg_num()) {
-	  ss << "specified pg_num " << n << " <= current " << p->get_pg_num();
-	} else if (!mon->pgmon()->pg_map.creating_pgs.empty()) {
-	  ss << "currently creating pgs, wait";
-	  err = -EAGAIN;
-	} else {
-	  pending_inc.new_pools[pool].set_pg_num(n);
-	  ss << "set pool " << pool << " pg_num to " << n;
-	}
-      } else if (var == "pgp_num") {
-	if (n > p->get_pg_num()) {
-	  ss << "specified pgp_num " << n << " > pg_num " << p->get_pg_num();
-	} else if (!mon->pgmon()->pg_map.creating_pgs.empty()) {
-	  ss << "still creating pgs, wait";
-	  err = -EAGAIN;
-	} else {
-	  pending_inc.new_pools[pool].set_pgp_num(n);
-	  ss << "set pool " << pool << " pgp_num to " << n;
-	}
-      } else if (var == "crush_ruleset") {
-	if (osdmap.crush->rule_exists(n)) {
-	  pending_inc.new_pools[pool].crush_ruleset = n;
-	  ss << "set pool " << pool << " crush_ruleset to " << n;
-	} else {
-	  ss << "crush ruleset " << n << " does not exist";
-	  err = -ENOENT;
-	}
-      } 
-      pending_inc.new_pools[pool].last_change = pending_inc.epoch;
-      getline(ss, rs);
-      wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
-      return true;
+      goto reply;
+    }
+    string tierpoolstr;
+    cmd_getval(g_ceph_context, cmdmap, "tierpool", tierpoolstr);
+    int64_t tierpool_id = osdmap.lookup_pg_pool_name(tierpoolstr);
+    if (tierpool_id < 0) {
+      ss << "unrecognized pool '" << tierpoolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
+    assert(p);
+    const pg_pool_t *tp = osdmap.get_pg_pool(tierpool_id);
+    assert(tp);
+    if (p->tiers.count(tierpool_id)) {
+      assert(tp->tier_of == pool_id);
+      err = 0;
+      ss << "pool '" << tierpoolstr << "' is now (or already was) a tier of '" << poolstr << "'";
+      goto reply;
+    }
+    if (tp->is_tier()) {
+      ss << "tier pool '" << tierpoolstr << "' is already a tier of '"
+	 << osdmap.get_pool_name(tp->tier_of) << "'";
+      err = -EINVAL;
+      goto reply;
+    }
+    // go
+    pending_inc.get_new_pool(pool_id, p)->tiers.insert(tierpool_id);
+    pending_inc.get_new_pool(tierpool_id, p)->tier_of = pool_id;
+    ss << "pool '" << tierpoolstr << "' is now (or already was) a tier of '" << poolstr << "'";
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(), get_last_committed()));
+    return true;
+  } else if (prefix == "osd tier remove") {
+    string poolstr;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+    int64_t pool_id = osdmap.lookup_pg_pool_name(poolstr);
+    if (pool_id < 0) {
+      ss << "unrecognized pool '" << poolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    string tierpoolstr;
+    cmd_getval(g_ceph_context, cmdmap, "tierpool", tierpoolstr);
+    int64_t tierpool_id = osdmap.lookup_pg_pool_name(tierpoolstr);
+    if (tierpool_id < 0) {
+      ss << "unrecognized pool '" << tierpoolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
+    assert(p);
+    const pg_pool_t *tp = osdmap.get_pg_pool(tierpool_id);
+    assert(tp);
+    if (p->tiers.count(tierpool_id) == 0) {
+      ss << "pool '" << tierpoolstr << "' is now (or already was) not a tier of '" << poolstr << "'";
+      err = 0;
+      goto reply;
+    }
+    if (tp->tier_of != pool_id) {
+      ss << "tier pool '" << tierpoolstr << "' is a tier of '" << tp->tier_of << "'";
+      err = -EINVAL;
+      goto reply;
+    }
+    if (p->read_tier == tierpool_id) {
+      ss << "tier pool '" << tierpoolstr << "' is the overlay for '" << poolstr << "'; please remove-overlay first";
+      err = -EBUSY;
+      goto reply;
+    }
+    // go
+    pending_inc.get_new_pool(pool_id, p)->tiers.erase(tierpool_id);
+    pending_inc.get_new_pool(tierpool_id, tp)->clear_tier();
+    ss << "pool '" << tierpoolstr << "' is now (or already was) not a tier of '" << poolstr << "'";
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(), get_last_committed()));
+    return true;
+  } else if (prefix == "osd tier set-overlay") {
+    string poolstr;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+    int64_t pool_id = osdmap.lookup_pg_pool_name(poolstr);
+    if (pool_id < 0) {
+      ss << "unrecognized pool '" << poolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    string overlaypoolstr;
+    cmd_getval(g_ceph_context, cmdmap, "overlaypool", overlaypoolstr);
+    int64_t overlaypool_id = osdmap.lookup_pg_pool_name(overlaypoolstr);
+    if (overlaypool_id < 0) {
+      ss << "unrecognized pool '" << overlaypoolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
+    assert(p);
+    if (p->tiers.count(overlaypool_id) == 0) {
+      ss << "tier pool '" << overlaypoolstr << "' is not a tier of '" << poolstr << "'";
+      err = -EINVAL;
+      goto reply;
+    }
+    if (p->read_tier == overlaypool_id) {
+      err = 0;
+      ss << "overlay for '" << poolstr << "' is now (or already was) '" << overlaypoolstr << "'";
+      goto reply;
     }
+    if (p->has_read_tier()) {
+      ss << "pool '" << poolstr << "' has overlay '"
+	 << osdmap.get_pool_name(p->read_tier)
+	 << "'; please remove-overlay first";
+      err = -EINVAL;
+      goto reply;
+    }
+    // go
+    pending_inc.get_new_pool(pool_id, p)->read_tier = overlaypool_id;
+    pending_inc.get_new_pool(pool_id, p)->write_tier = overlaypool_id;
+    ss << "overlay for '" << poolstr << "' is now (or already was) '" << overlaypoolstr << "'";
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(), get_last_committed()));
+    return true;
+  } else if (prefix == "osd tier remove-overlay") {
+    string poolstr;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+    int64_t pool_id = osdmap.lookup_pg_pool_name(poolstr);
+    if (pool_id < 0) {
+      ss << "unrecognized pool '" << poolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
+    assert(p);
+    if (!p->has_read_tier()) {
+      err = 0;
+      ss << "there is now (or already was) no overlay for '" << poolstr << "'";
+      goto reply;
+    }
+    // go
+    pending_inc.get_new_pool(pool_id, p)->clear_read_tier();
+    pending_inc.get_new_pool(pool_id, p)->clear_write_tier();
+    ss << "there is now (or already was) no overlay for '" << poolstr << "'";
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(), get_last_committed()));
+    return true;
+  } else if (prefix == "osd tier cache-mode") {
+    string poolstr;
+    cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+    int64_t pool_id = osdmap.lookup_pg_pool_name(poolstr);
+    if (pool_id < 0) {
+      ss << "unrecognized pool '" << poolstr << "'";
+      err = -ENOENT;
+      goto reply;
+    }
+    const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
+    assert(p);
+    if (!p->is_tier()) {
+      ss << "pool '" << poolstr << "' is not a tier";
+      err = -EINVAL;
+      goto reply;
+    }
+    string modestr;
+    cmd_getval(g_ceph_context, cmdmap, "mode", modestr);
+    pg_pool_t::cache_mode_t mode = pg_pool_t::get_cache_mode_from_str(modestr);
+    if (mode < 0) {
+      ss << "'" << modestr << "' is not a valid cache mode";
+      err = -EINVAL;
+      goto reply;
+    }
+    // go
+    pending_inc.get_new_pool(pool_id, p)->cache_mode = mode;
+    ss << "set cache-mode for pool '" << poolstr
+	<< "' to " << pg_pool_t::get_cache_mode_name(mode);
+    wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(), get_last_committed()));
+    return true;
   } else if (prefix == "osd pool set-quota") {
     string poolstr;
     cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
@@ -3569,13 +4045,11 @@ done:
       goto reply;
     }
 
-    if (pending_inc.new_pools.count(pool_id) == 0)
-      pending_inc.new_pools[pool_id] = *osdmap.get_pg_pool(pool_id);
-
+    pg_pool_t *pi = pending_inc.get_new_pool(pool_id, osdmap.get_pg_pool(pool_id));
     if (field == "max_objects") {
-      pending_inc.new_pools[pool_id].quota_max_objects = value;
+      pi->quota_max_objects = value;
     } else if (field == "max_bytes") {
-      pending_inc.new_pools[pool_id].quota_max_bytes = value;
+      pi->quota_max_bytes = value;
     } else {
       assert(0 == "unrecognized option");
     }
@@ -3600,7 +4074,6 @@ done:
       wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed()));
       return true;
     }
-
   } else if (prefix == "osd thrash") {
     int64_t num_epochs;
     cmd_getval(g_ceph_context, cmdmap, "num_epochs", num_epochs, int64_t(0));
@@ -3636,7 +4109,7 @@ bool OSDMonitor::preprocess_pool_op(MPoolOp *m)
     _pool_op_reply(m, 0, osdmap.get_epoch());
     return true;
   }
-  
+
   // check if the snap and snapname exists
   bool snap_exists = false;
   const pg_pool_t *p = osdmap.get_pg_pool(m->pool);
@@ -3732,6 +4205,38 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m)
   int ret = 0;
   bool changed = false;
 
+  if (!osdmap.have_pg_pool(m->pool)) {
+    _pool_op_reply(m, -ENOENT, osdmap.get_epoch());
+    return false;
+  }
+
+  const pg_pool_t *pool = osdmap.get_pg_pool(m->pool);
+
+  switch (m->op) {
+    case POOL_OP_CREATE_SNAP:
+    case POOL_OP_DELETE_SNAP:
+      if (!pool->is_unmanaged_snaps_mode()) {
+        bool snap_exists = pool->snap_exists(m->name.c_str());
+        if ((m->op == POOL_OP_CREATE_SNAP && snap_exists)
+          || (m->op == POOL_OP_DELETE_SNAP && !snap_exists)) {
+          ret = 0;
+        } else {
+          break;
+        }
+      } else {
+        ret = -EINVAL;
+      }
+      _pool_op_reply(m, ret, osdmap.get_epoch());
+      return false;
+
+    case POOL_OP_CREATE_UNMANAGED_SNAP:
+    case POOL_OP_DELETE_UNMANAGED_SNAP:
+      if (pool->is_pool_snaps_mode()) {
+        _pool_op_reply(m, -EINVAL, osdmap.get_epoch());
+        return false;
+      }
+  }
+
   // projected pool info
   pg_pool_t pp;
   if (pending_inc.new_pools.count(m->pool))
@@ -3758,7 +4263,7 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m)
       goto out;
     }
   }
- 
+
   switch (m->op) {
   case POOL_OP_CREATE_SNAP:
     if (!pp.snap_exists(m->name.c_str())) {
@@ -3813,8 +4318,7 @@ bool OSDMonitor::prepare_pool_op(MPoolOp *m)
 
  out:
   wait_for_finished_proposal(new OSDMonitor::C_PoolOp(this, m, ret, pending_inc.epoch, &reply_data));
-  propose_pending();
-  return false;
+  return true;
 }
 
 bool OSDMonitor::prepare_pool_op_create(MPoolOp *m)
@@ -3846,7 +4350,7 @@ int OSDMonitor::_prepare_remove_pool(uint64_t pool)
   return 0;
 }
 
-int OSDMonitor::_prepare_rename_pool(uint64_t pool, string newname)
+int OSDMonitor::_prepare_rename_pool(int64_t pool, string newname)
 {
   dout(10) << "_prepare_rename_pool " << pool << dendl;
   if (pending_inc.old_pools.count(pool)) {
@@ -3856,7 +4360,7 @@ int OSDMonitor::_prepare_rename_pool(uint64_t pool, string newname)
   for (map<int64_t,string>::iterator p = pending_inc.new_pool_names.begin();
        p != pending_inc.new_pool_names.end();
        ++p) {
-    if (p->second == newname) {
+    if (p->second == newname && p->first != pool) {
       return -EEXIST;
     }
   }
diff --git a/src/mon/OSDMonitor.h b/src/mon/OSDMonitor.h
index f66c676..25a2061 100644
--- a/src/mon/OSDMonitor.h
+++ b/src/mon/OSDMonitor.h
@@ -227,7 +227,7 @@ private:
   bool prepare_pgtemp(class MOSDPGTemp *m);
 
   int _prepare_remove_pool(uint64_t pool);
-  int _prepare_rename_pool(uint64_t pool, string newname);
+  int _prepare_rename_pool(int64_t pool, string newname);
 
   bool preprocess_pool_op ( class MPoolOp *m);
   bool preprocess_pool_op_create ( class MPoolOp *m);
@@ -235,7 +235,8 @@ private:
   bool prepare_pool_op_create (MPoolOp *m);
   bool prepare_pool_op_delete(MPoolOp *m);
   int prepare_new_pool(string& name, uint64_t auid, int crush_rule,
-                       unsigned pg_num, unsigned pgp_num);
+                       unsigned pg_num, unsigned pgp_num,
+		       const vector<string> &properties);
   int prepare_new_pool(MPoolOp *m);
 
   void update_pool_flags(int64_t pool_id, uint64_t flags);
@@ -305,8 +306,8 @@ private:
     }
   };
 
-  bool preprocess_remove_snaps(class MRemoveSnaps *m);
-  bool prepare_remove_snaps(class MRemoveSnaps *m);
+  bool preprocess_remove_snaps(struct MRemoveSnaps *m);
+  bool prepare_remove_snaps(struct MRemoveSnaps *m);
 
  public:
   OSDMonitor(Monitor *mn, Paxos *p, string service_name)
@@ -323,6 +324,9 @@ private:
   bool preprocess_command(MMonCommand *m);
   bool prepare_command(MMonCommand *m);
 
+  int prepare_command_pool_set(map<string,cmd_vartype> &cmdmap,
+                               stringstream& ss);
+
   void handle_osd_timeouts(const utime_t &now,
 			   std::map<int,utime_t> &last_osd_report);
   void mark_all_down();
diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc
index f6b88fc..2ba8402 100644
--- a/src/mon/PGMap.cc
+++ b/src/mon/PGMap.cc
@@ -5,6 +5,7 @@
 
 #define dout_subsys ceph_subsys_mon
 #include "common/debug.h"
+#include "common/TextTable.h"
 #include "include/stringify.h"
 #include "common/Formatter.h"
 #include "include/ceph_features.h"
@@ -29,7 +30,7 @@ void PGMap::Incremental::encode(bufferlist &bl, uint64_t features) const
     return;
   }
 
-  ENCODE_START(6, 5, bl);
+  ENCODE_START(7, 5, bl);
   ::encode(version, bl);
   ::encode(pg_stat_updates, bl);
   ::encode(osd_stat_updates, bl);
@@ -40,6 +41,7 @@ void PGMap::Incremental::encode(bufferlist &bl, uint64_t features) const
   ::encode(nearfull_ratio, bl);
   ::encode(pg_remove, bl);
   ::encode(stamp, bl);
+  ::encode(osd_epochs, bl);
   ENCODE_FINISH(bl);
 }
 
@@ -88,6 +90,17 @@ void PGMap::Incremental::decode(bufferlist::iterator &bl)
   }
   if (struct_v >= 6)
     ::decode(stamp, bl);
+  if (struct_v >= 7) {
+    ::decode(osd_epochs, bl);
+  } else {
+    for (map<int32_t, osd_stat_t>::iterator i = osd_stat_updates.begin();
+	 i != osd_stat_updates.end();
+	 ++i) {
+      // This isn't accurate, but will cause trimming to behave like
+      // previously.
+      osd_epochs.insert(make_pair(i->first, osdmap_epoch));
+    }
+  }
   DECODE_FINISH(bl);
 }
 
@@ -139,6 +152,7 @@ void PGMap::Incremental::generate_test_instances(list<PGMap::Incremental*>& o)
   o.back()->version = 2;
   o.back()->pg_stat_updates[pg_t(1,2,3)] = pg_stat_t();
   o.back()->osd_stat_updates[5] = osd_stat_t();
+  o.back()->osd_epochs[5] = 12;
   o.push_back(new Incremental);
   o.back()->version = 3;
   o.back()->osdmap_epoch = 1;
@@ -147,6 +161,7 @@ void PGMap::Incremental::generate_test_instances(list<PGMap::Incremental*>& o)
   o.back()->nearfull_ratio = .3;
   o.back()->pg_stat_updates[pg_t(4,5,6)] = pg_stat_t();
   o.back()->osd_stat_updates[6] = osd_stat_t();
+  o.back()->osd_epochs[6] = 12;
   o.back()->pg_remove.insert(pg_t(1,2,3));
   o.back()->osd_stat_rm.insert(5);
 }
@@ -165,6 +180,7 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
   stamp = inc.stamp;
 
   pool_stat_t pg_sum_old = pg_sum;
+  hash_map<uint64_t, pool_stat_t> pg_pool_sum_old;
 
   bool ratios_changed = false;
   if (inc.full_ratio != full_ratio && inc.full_ratio != -1) {
@@ -184,6 +200,9 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
     const pg_t &update_pg(p->first);
     const pg_stat_t &update_stat(p->second);
 
+    if (pg_pool_sum_old.count(update_pg.pool()) == 0)
+      pg_pool_sum_old[update_pg.pool()] = pg_pool_sum[update_pg.pool()];
+
     hash_map<pg_t,pg_stat_t>::iterator t = pg_stat.find(update_pg);
     if (t == pg_stat.end()) {
       hash_map<pg_t,pg_stat_t>::value_type v(update_pg, update_stat);
@@ -194,12 +213,14 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
     }
     stat_pg_add(update_pg, update_stat);
   }
-  for (map<int32_t,osd_stat_t>::const_iterator p = inc.osd_stat_updates.begin();
-       p != inc.osd_stat_updates.end();
+  assert(osd_stat.size() == osd_epochs.size());
+  for (map<int32_t,osd_stat_t>::const_iterator p =
+	 inc.get_osd_stat_updates().begin();
+       p != inc.get_osd_stat_updates().end();
        ++p) {
     int osd = p->first;
     const osd_stat_t &new_stats(p->second);
-    
+
     hash_map<int32_t,osd_stat_t>::iterator t = osd_stat.find(osd);
     if (t == osd_stat.end()) {
       hash_map<int32_t,osd_stat_t>::value_type v(osd, new_stats);
@@ -208,9 +229,11 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
       stat_osd_sub(t->second);
       t->second = new_stats;
     }
+    assert(inc.get_osd_epochs().find(osd) != inc.get_osd_epochs().end());
+    osd_epochs.insert(*(inc.get_osd_epochs().find(osd)));
 
     stat_osd_add(new_stats);
-    
+
     // adjust [near]full status
     register_nearfull_status(osd, new_stats);
   }
@@ -224,9 +247,9 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
       pg_stat.erase(s);
     }
   }
-  
-  for (set<int>::iterator p = inc.osd_stat_rm.begin();
-       p != inc.osd_stat_rm.end();
+
+  for (set<int>::iterator p = inc.get_osd_stat_rm().begin();
+       p != inc.get_osd_stat_rm().end();
        ++p) {
     hash_map<int32_t,osd_stat_t>::iterator t = osd_stat.find(*p);
     if (t != osd_stat.end()) {
@@ -251,7 +274,9 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc)
     stamp_delta -= pg_sum_deltas.front().second;
     pg_sum_deltas.pop_front();
   }
-  
+
+  update_pool_deltas(cct, inc.stamp, pg_pool_sum_old);
+
   if (inc.osdmap_epoch)
     last_osdmap_epoch = inc.osdmap_epoch;
   if (inc.pg_scan)
@@ -415,6 +440,14 @@ epoch_t PGMap::calc_min_last_epoch_clean() const
     if (lec < min)
       min = lec;
   }
+  // also scan osd epochs
+  // don't trim past the oldest reported osd epoch
+  for (hash_map<int32_t, epoch_t>::const_iterator i = osd_epochs.begin();
+       i != osd_epochs.end();
+       ++i) {
+    if (i->second < min)
+      min = i->second;
+  }
   return min;
 }
 
@@ -433,7 +466,7 @@ void PGMap::encode(bufferlist &bl, uint64_t features) const
     return;
   }
 
-  ENCODE_START(5, 4, bl);
+  ENCODE_START(6, 4, bl);
   ::encode(version, bl);
   ::encode(pg_stat, bl);
   ::encode(osd_stat, bl);
@@ -442,6 +475,7 @@ void PGMap::encode(bufferlist &bl, uint64_t features) const
   ::encode(full_ratio, bl);
   ::encode(nearfull_ratio, bl);
   ::encode(stamp, bl);
+  ::encode(osd_epochs, bl);
   ENCODE_FINISH(bl);
 }
 
@@ -471,6 +505,17 @@ void PGMap::decode(bufferlist::iterator &bl)
   }
   if (struct_v >= 5)
     ::decode(stamp, bl);
+  if (struct_v >= 6) {
+    ::decode(osd_epochs, bl);
+  } else {
+    for (hash_map<int32_t, osd_stat_t>::iterator i = osd_stat.begin();
+	 i != osd_stat.end();
+	 ++i) {
+      // This isn't accurate, but will cause trimming to behave like
+      // previously.
+      osd_epochs.insert(make_pair(i->first, last_osdmap_epoch));
+    }
+  }
   DECODE_FINISH(bl);
 
   calc_stats();
@@ -487,7 +532,10 @@ void PGMap::dirty_all(Incremental& inc)
     inc.pg_stat_updates[p->first] = p->second;
   }
   for (hash_map<int32_t, osd_stat_t>::const_iterator p = osd_stat.begin(); p != osd_stat.end(); ++p) {
-    inc.osd_stat_updates[p->first] = p->second;
+    assert(osd_epochs.count(p->first));
+    inc.update_stat(p->first,
+		   inc.get_osd_epochs().find(p->first)->second,
+		   p->second);
   }
 }
 
@@ -512,13 +560,18 @@ void PGMap::dump_basic(Formatter *f) const
   pg_sum.dump(f);
   f->close_section();
 
-  f->open_object_section("pg_stats_delta");
-  pg_sum_delta.dump(f);
-  f->close_section();
-  
   f->open_object_section("osd_stats_sum");
   osd_sum.dump(f);
   f->close_section();
+
+  dump_delta(f);
+}
+
+void PGMap::dump_delta(Formatter *f) const
+{
+  f->open_object_section("pg_stats_delta");
+  pg_sum_delta.dump(f);
+  f->close_section();
 }
 
 void PGMap::dump_pg_stats(Formatter *f, bool brief) const
@@ -695,88 +748,298 @@ void PGMap::dump_stuck_plain(ostream& ss, PGMap::StuckPG type, utime_t cutoff) c
 {
   hash_map<pg_t, pg_stat_t> stuck_pg_stats;
   get_stuck_stats(type, cutoff, stuck_pg_stats);
-  dump_pg_stats_plain(ss, stuck_pg_stats);
+  if (!stuck_pg_stats.empty())
+    dump_pg_stats_plain(ss, stuck_pg_stats);
+}
+
+void PGMap::dump_osd_perf_stats(Formatter *f) const
+{
+  f->open_array_section("osd_perf_infos");
+  for (hash_map<int32_t, osd_stat_t>::const_iterator i = osd_stat.begin();
+       i != osd_stat.end();
+       ++i) {
+    f->open_object_section("osd");
+    f->dump_int("id", i->first);
+    {
+      f->open_object_section("perf_stats");
+      i->second.fs_perf_stat.dump(f);
+      f->close_section();
+    }
+    f->close_section();
+  }
+  f->close_section();
+}
+void PGMap::print_osd_perf_stats(std::ostream *ss) const
+{
+  TextTable tab;
+  tab.define_column("osdid", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("fs_commit_latency(ms)", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("fs_apply_latency(ms)", TextTable::LEFT, TextTable::RIGHT);
+  for (hash_map<int32_t, osd_stat_t>::const_iterator i = osd_stat.begin();
+       i != osd_stat.end();
+       ++i) {
+    tab << i->first;
+    tab << i->second.fs_perf_stat.filestore_commit_latency;
+    tab << i->second.fs_perf_stat.filestore_apply_latency;
+    tab << TextTable::endrow;
+  }
+  (*ss) << tab;
 }
 
-void PGMap::recovery_summary(Formatter *f, ostream *out) const
+void PGMap::recovery_summary(Formatter *f, ostream *out,
+                             const pool_stat_t& delta_sum) const
 {
   bool first = true;
-  if (pg_sum.stats.sum.num_objects_degraded) {
-    double pc = (double)pg_sum.stats.sum.num_objects_degraded / (double)pg_sum.stats.sum.num_object_copies * (double)100.0;
+  if (delta_sum.stats.sum.num_objects_degraded) {
+    double pc = (double)delta_sum.stats.sum.num_objects_degraded /
+      (double)delta_sum.stats.sum.num_object_copies * (double)100.0;
     char b[20];
     snprintf(b, sizeof(b), "%.3lf", pc);
     if (f) {
-      f->dump_unsigned("degraded_objects", pg_sum.stats.sum.num_objects_degraded);
-      f->dump_unsigned("degraded_total", pg_sum.stats.sum.num_object_copies);
+      f->dump_unsigned("degraded_objects", delta_sum.stats.sum.num_objects_degraded);
+      f->dump_unsigned("degraded_total", delta_sum.stats.sum.num_object_copies);
       f->dump_string("degrated_ratio", b);
     } else {
-      *out << pg_sum.stats.sum.num_objects_degraded 
-	   << "/" << pg_sum.stats.sum.num_object_copies << " degraded (" << b << "%)";
+      *out << delta_sum.stats.sum.num_objects_degraded
+	   << "/" << delta_sum.stats.sum.num_object_copies << " objects degraded (" << b << "%)";
     }
     first = false;
   }
-  if (pg_sum.stats.sum.num_objects_unfound) {
-    double pc = (double)pg_sum.stats.sum.num_objects_unfound / (double)pg_sum.stats.sum.num_objects * (double)100.0;
+  if (delta_sum.stats.sum.num_objects_unfound) {
+    double pc = (double)delta_sum.stats.sum.num_objects_unfound /
+      (double)delta_sum.stats.sum.num_objects * (double)100.0;
     char b[20];
     snprintf(b, sizeof(b), "%.3lf", pc);
     if (f) {
-      f->dump_unsigned("unfound_objects", pg_sum.stats.sum.num_objects_unfound);
-      f->dump_unsigned("unfound_total", pg_sum.stats.sum.num_objects);
+      f->dump_unsigned("unfound_objects", delta_sum.stats.sum.num_objects_unfound);
+      f->dump_unsigned("unfound_total", delta_sum.stats.sum.num_objects);
       f->dump_string("unfound_ratio", b);
     } else {
       if (!first)
 	*out << "; ";
-      *out << pg_sum.stats.sum.num_objects_unfound
-	   << "/" << pg_sum.stats.sum.num_objects << " unfound (" << b << "%)";
+      *out << delta_sum.stats.sum.num_objects_unfound
+	   << "/" << delta_sum.stats.sum.num_objects << " unfound (" << b << "%)";
     }
     first = false;
   }
+}
 
+void PGMap::recovery_rate_summary(Formatter *f, ostream *out,
+                                  const pool_stat_t& delta_sum,
+                                  utime_t delta_stamp) const
+{
   // make non-negative; we can get negative values if osds send
   // uncommitted stats and then "go backward" or if they are just
   // buggy/wrong.
-  pool_stat_t pos_delta = pg_sum_delta;
+  pool_stat_t pos_delta = delta_sum;
   pos_delta.floor(0);
   if (pos_delta.stats.sum.num_objects_recovered ||
       pos_delta.stats.sum.num_bytes_recovered ||
       pos_delta.stats.sum.num_keys_recovered) {
-    int64_t objps = pos_delta.stats.sum.num_objects_recovered / (double)stamp_delta;
-    int64_t bps = pos_delta.stats.sum.num_bytes_recovered / (double)stamp_delta;
-    int64_t kps = pos_delta.stats.sum.num_keys_recovered / (double)stamp_delta;
+    int64_t objps = pos_delta.stats.sum.num_objects_recovered / (double)delta_stamp;
+    int64_t bps = pos_delta.stats.sum.num_bytes_recovered / (double)delta_stamp;
+    int64_t kps = pos_delta.stats.sum.num_keys_recovered / (double)delta_stamp;
     if (f) {
       f->dump_int("recovering_objects_per_sec", objps);
       f->dump_int("recovering_bytes_per_sec", bps);
       f->dump_int("recovering_keys_per_sec", kps);
     } else {
-      if (!first)
-	*out << "; ";
-      *out << " recovering "
-	   << si_t(objps) << " o/s, "
-	   << si_t(bps) << "B/s";
+      *out << pretty_si_t(bps) << "B/s";
       if (pos_delta.stats.sum.num_keys_recovered)
-	*out << ", " << si_t(kps) << " key/s";
+	*out << ", " << pretty_si_t(kps) << "keys/s";
+      *out << ", " << pretty_si_t(objps) << "objects/s";
     }
   }
 }
 
-void PGMap::update_delta(CephContext *cct, utime_t inc_stamp, pool_stat_t& pg_sum_old)
+void PGMap::overall_recovery_rate_summary(Formatter *f, ostream *out) const
 {
+  recovery_rate_summary(f, out, pg_sum_delta, stamp_delta);
+}
+
+void PGMap::overall_recovery_summary(Formatter *f, ostream *out) const
+{
+  recovery_summary(f, out, pg_sum);
+}
+
+void PGMap::pool_recovery_rate_summary(Formatter *f, ostream *out,
+                                       uint64_t poolid) const
+{
+  hash_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
+    per_pool_sum_delta.find(poolid);
+  if (p == per_pool_sum_delta.end())
+    return;
+  hash_map<uint64_t,utime_t>::const_iterator ts =
+    per_pool_sum_deltas_stamps.find(p->first);
+  assert(ts != per_pool_sum_deltas_stamps.end());
+  recovery_rate_summary(f, out, p->second.first, ts->second);
+}
+
+void PGMap::pool_recovery_summary(Formatter *f, ostream *out,
+                                  uint64_t poolid) const
+{
+  hash_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
+    per_pool_sum_delta.find(poolid);
+  if (p == per_pool_sum_delta.end())
+    return;
+  recovery_summary(f, out, p->second.first);
+}
+
+void PGMap::client_io_rate_summary(Formatter *f, ostream *out,
+                                   const pool_stat_t& delta_sum,
+                                   utime_t delta_stamp) const
+{
+  pool_stat_t pos_delta = delta_sum;
+  pos_delta.floor(0);
+  if (pos_delta.stats.sum.num_rd ||
+      pos_delta.stats.sum.num_wr) {
+    if (pos_delta.stats.sum.num_rd) {
+      int64_t rd = (pos_delta.stats.sum.num_rd_kb << 10) / (double)delta_stamp;
+      if (f) {
+	f->dump_int("read_bytes_sec", rd);
+      } else {
+	*out << pretty_si_t(rd) << "B/s rd, ";
+      }
+    }
+    if (pos_delta.stats.sum.num_wr) {
+      int64_t wr = (pos_delta.stats.sum.num_wr_kb << 10) / (double)delta_stamp;
+      if (f) {
+	f->dump_int("write_bytes_sec", wr);
+      } else {
+	*out << pretty_si_t(wr) << "B/s wr, ";
+      }
+    }
+    int64_t iops = (pos_delta.stats.sum.num_rd + pos_delta.stats.sum.num_wr) / (double)delta_stamp;
+    if (f) {
+      f->dump_int("op_per_sec", iops);
+    } else {
+      *out << pretty_si_t(iops) << "op/s";
+    }
+  }
+}
+
+void PGMap::overall_client_io_rate_summary(Formatter *f, ostream *out) const
+{
+  client_io_rate_summary(f, out, pg_sum_delta, stamp_delta);
+}
+
+void PGMap::pool_client_io_rate_summary(Formatter *f, ostream *out,
+                                        uint64_t poolid) const
+{
+  hash_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
+    per_pool_sum_delta.find(poolid);
+  if (p == per_pool_sum_delta.end())
+    return;
+  hash_map<uint64_t,utime_t>::const_iterator ts =
+    per_pool_sum_deltas_stamps.find(p->first);
+  assert(ts != per_pool_sum_deltas_stamps.end());
+  client_io_rate_summary(f, out, p->second.first, ts->second);
+}
+
+/**
+ * update aggregated delta
+ *
+ * @param cct               ceph context
+ * @param ts                Timestamp for the stats being delta'ed
+ * @param old_pool_sum      Previous stats sum
+ * @param last_ts           Last timestamp for pool
+ * @param result_pool_sum   Resulting stats
+ * @param result_ts_delta   Resulting timestamp delta
+ * @param delta_avg_list    List of last N computed deltas, used to average
+ */
+void PGMap::update_delta(CephContext *cct,
+                         const utime_t ts,
+                         const pool_stat_t& old_pool_sum,
+                         utime_t *last_ts,
+                         const pool_stat_t& current_pool_sum,
+                         pool_stat_t *result_pool_delta,
+                         utime_t *result_ts_delta,
+                         list<pair<pool_stat_t,utime_t> > *delta_avg_list)
+{
+  /* @p ts is the timestamp we want to associate with the data
+   * in @p old_pool_sum, and on which we will base ourselves to
+   * calculate the delta, stored in 'delta_t'.
+   */
   utime_t delta_t;
-  delta_t = inc_stamp;
-  delta_t -= stamp;
-  stamp = inc_stamp;
+  delta_t = ts;         // start with the provided timestamp
+  delta_t -= *last_ts;  // take the last timestamp we saw
+  *last_ts = ts;        // @p ts becomes the last timestamp we saw
 
   // calculate a delta, and average over the last 2 deltas.
-  pool_stat_t d = pg_sum;
-  d.stats.sub(pg_sum_old.stats);
-  pg_sum_deltas.push_back(make_pair(d, delta_t));
-  stamp_delta += delta_t;
+  /* start by taking a copy of our current @p result_pool_sum, and by
+   * taking out the stats from @p old_pool_sum.  This generates a stats
+   * delta.  Stash this stats delta in @p delta_avg_list, along with the
+   * timestamp delta for these results.
+   */
+  pool_stat_t d = current_pool_sum;
+  d.stats.sub(old_pool_sum.stats);
+  delta_avg_list->push_back(make_pair(d,delta_t));
+  *result_ts_delta += delta_t;
+
+  /* Aggregate current delta, and take out the last seen delta (if any) to
+   * average it out.
+   */
+  result_pool_delta->stats.add(d.stats);
+  size_t s = MAX(1, cct ? cct->_conf->mon_stat_smooth_intervals : 1);
+  if (delta_avg_list->size() > s) {
+    result_pool_delta->stats.sub(delta_avg_list->front().first.stats);
+    *result_ts_delta -= delta_avg_list->front().second;
+    delta_avg_list->pop_front();
+  }
+}
 
-  pg_sum_delta.stats.add(d.stats);
-  if (pg_sum_deltas.size() > (std::list< pair<pool_stat_t, utime_t> >::size_type)MAX(1, cct ? cct->_conf->mon_stat_smooth_intervals : 1)) {
-    pg_sum_delta.stats.sub(pg_sum_deltas.front().first.stats);
-    stamp_delta -= pg_sum_deltas.front().second;
-    pg_sum_deltas.pop_front();
+/**
+ * update aggregated delta
+ *
+ * @param cct            ceph context
+ * @param ts             Timestamp
+ * @param pg_sum_old     Old pg_sum
+ */
+void PGMap::update_global_delta(CephContext *cct,
+                         const utime_t ts, const pool_stat_t& pg_sum_old)
+{
+  update_delta(cct, ts, pg_sum_old, &stamp, pg_sum, &pg_sum_delta,
+               &stamp_delta, &pg_sum_deltas);
+}
+
+/**
+ * Update a given pool's deltas
+ *
+ * @param cct           Ceph Context
+ * @param ts            Timestamp for the stats being delta'ed
+ * @param pool          Pool's id
+ * @param old_pool_sum  Previous stats sum
+ */
+void PGMap::update_one_pool_delta(CephContext *cct,
+                                  const utime_t ts,
+                                  const uint64_t pool,
+                                  const pool_stat_t& old_pool_sum)
+{
+  if (per_pool_sum_deltas.count(pool) == 0) {
+    assert(per_pool_sum_deltas_stamps.count(pool) == 0);
+    assert(per_pool_sum_delta.count(pool) == 0);
+  }
+
+  pair<pool_stat_t,utime_t>& sum_delta = per_pool_sum_delta[pool];
+
+  update_delta(cct, ts, old_pool_sum, &sum_delta.second, pg_pool_sum[pool],
+               &sum_delta.first, &per_pool_sum_deltas_stamps[pool],
+               &per_pool_sum_deltas[pool]);
+}
+
+/**
+ * Update pools' deltas
+ *
+ * @param cct               CephContext
+ * @param ts                Timestamp for the stats being delta'ed
+ * @param pg_pool_sum_old   Map of pool stats for delta calcs.
+ */
+void PGMap::update_pool_deltas(CephContext *cct, const utime_t ts,
+                               const hash_map<uint64_t,pool_stat_t>& pg_pool_sum_old)
+{
+  for (hash_map<uint64_t,pool_stat_t>::const_iterator it = pg_pool_sum_old.begin();
+       it != pg_pool_sum_old.end(); ++it) {
+    update_one_pool_delta(cct, ts, it->first, it->second);
   }
 }
 
@@ -802,9 +1065,9 @@ void PGMap::print_summary(Formatter *f, ostream *out) const
       f->dump_unsigned("count", p->second);
       f->close_section();
     } else {
-      if (p != num_pg_by_state.begin())
-	ss << ", ";
-      ss << p->second << " " << pg_state_string(p->first);
+      ss.setf(std::ios::right);
+      ss << "             " << std::setw(7) << p->second << " " << pg_state_string(p->first) << "\n";
+      ss.unsetf(std::ios::right);
     }
   }
   if (f)
@@ -814,20 +1077,65 @@ void PGMap::print_summary(Formatter *f, ostream *out) const
     f->dump_unsigned("version", version);
     f->dump_unsigned("num_pgs", pg_stat.size());
     f->dump_unsigned("data_bytes", pg_sum.stats.sum.num_bytes);
-    f->dump_unsigned("bytes_used", osd_sum.kb_used * 4096ull);
-    f->dump_unsigned("bytes_avail", osd_sum.kb_avail * 4096ull);
-    f->dump_unsigned("bytes_total", osd_sum.kb * 4096ull);
+    f->dump_unsigned("bytes_used", osd_sum.kb_used * 1024ull);
+    f->dump_unsigned("bytes_avail", osd_sum.kb_avail * 1024ull);
+    f->dump_unsigned("bytes_total", osd_sum.kb * 1024ull);
   } else {
-    string states = ss.str();
-    *out << "v" << version << ": "
-	 << pg_stat.size() << " pgs: "
-	 << states << "; "
-	 << prettybyte_t(pg_sum.stats.sum.num_bytes) << " data, " 
+    *out << "      pgmap v" << version << ": "
+	 << pg_stat.size() << " pgs, " << pg_pool_sum.size() << " pools, "
+	 << prettybyte_t(pg_sum.stats.sum.num_bytes) << " data, "
+	 << pretty_si_t(pg_sum.stats.sum.num_objects) << "objects\n";
+    *out << "            "
 	 << kb_t(osd_sum.kb_used) << " used, "
 	 << kb_t(osd_sum.kb_avail) << " / "
-	 << kb_t(osd_sum.kb) << " avail";
+	 << kb_t(osd_sum.kb) << " avail\n";
+  }
+
+  std::stringstream ssr;
+  overall_recovery_summary(f, &ssr);
+  if (!f && ssr.str().length())
+    *out << "            " << ssr.str() << "\n";
+  ssr.clear();
+  ssr.str("");
+
+  if (!f)
+    *out << ss.str();   // pgs by state
+
+  overall_recovery_rate_summary(f, &ssr);
+  if (!f && ssr.str().length())
+    *out << "recovery io " << ssr.str() << "\n";
+
+  ssr.clear();
+  ssr.str("");
+
+  overall_client_io_rate_summary(f, &ssr);
+  if (!f && ssr.str().length())
+    *out << "  client io " << ssr.str() << "\n";
+
+
+}
+
+void PGMap::print_oneline_summary(ostream *out) const
+{
+  std::stringstream ss;
+
+  for (hash_map<int,int>::const_iterator p = num_pg_by_state.begin();
+       p != num_pg_by_state.end();
+       ++p) {
+    if (p != num_pg_by_state.begin())
+      ss << ", ";
+    ss << p->second << " " << pg_state_string(p->first);
   }
 
+  string states = ss.str();
+  *out << "v" << version << ": "
+       << pg_stat.size() << " pgs: "
+       << states << "; "
+       << prettybyte_t(pg_sum.stats.sum.num_bytes) << " data, "
+       << kb_t(osd_sum.kb_used) << " used, "
+       << kb_t(osd_sum.kb_avail) << " / "
+       << kb_t(osd_sum.kb) << " avail";
+
   // make non-negative; we can get negative values if osds send
   // uncommitted stats and then "go backward" or if they are just
   // buggy/wrong.
@@ -835,36 +1143,28 @@ void PGMap::print_summary(Formatter *f, ostream *out) const
   pos_delta.floor(0);
   if (pos_delta.stats.sum.num_rd ||
       pos_delta.stats.sum.num_wr) {
-    if (!f)
-      *out << "; ";
+    *out << "; ";
     if (pos_delta.stats.sum.num_rd) {
       int64_t rd = (pos_delta.stats.sum.num_rd_kb << 10) / (double)stamp_delta;
-      if (f) {
-	f->dump_int("read_bytes_sec", rd);
-      } else {
-	*out << si_t(rd) << "B/s rd, ";
-      }
+      *out << pretty_si_t(rd) << "B/s rd, ";
     }
     if (pos_delta.stats.sum.num_wr) {
       int64_t wr = (pos_delta.stats.sum.num_wr_kb << 10) / (double)stamp_delta;
-      if (f) {
-	f->dump_int("write_bytes_sec", wr);
-      } else {
-	*out << si_t(wr) << "B/s wr, ";
-      }
+      *out << pretty_si_t(wr) << "B/s wr, ";
     }
     int64_t iops = (pos_delta.stats.sum.num_rd + pos_delta.stats.sum.num_wr) / (double)stamp_delta;
-    if (f) {
-      f->dump_int("op_per_sec", iops);
-    } else {
-      *out << si_t(iops) << "op/s";
-    }
+    *out << pretty_si_t(iops) << "op/s";
   }
 
   std::stringstream ssr;
-  recovery_summary(f, &ssr);
-  if (!f && ssr.str().length())
+  overall_recovery_summary(NULL, &ssr);
+  if (ssr.str().length())
     *out << "; " << ssr.str();
+  ssr.clear();
+  ssr.str("");
+  overall_recovery_rate_summary(NULL, &ssr);
+  if (ssr.str().length())
+    *out << "; " << ssr.str() << " recovering";
 }
 
 void PGMap::generate_test_instances(list<PGMap*>& o)
diff --git a/src/mon/PGMap.h b/src/mon/PGMap.h
index e59d1b8..8a931ec 100644
--- a/src/mon/PGMap.h
+++ b/src/mon/PGMap.h
@@ -43,12 +43,13 @@ public:
   float full_ratio;
   float nearfull_ratio;
 
+  // mapping of osd to most recently reported osdmap epoch
+  hash_map<int32_t,epoch_t> osd_epochs;
+
   class Incremental {
   public:
     version_t version;
     map<pg_t,pg_stat_t> pg_stat_updates;
-    map<int32_t,osd_stat_t> osd_stat_updates;
-    set<int32_t> osd_stat_rm;
     epoch_t osdmap_epoch;
     epoch_t pg_scan;  // osdmap epoch
     set<pg_t> pg_remove;
@@ -56,6 +57,38 @@ public:
     float nearfull_ratio;
     utime_t stamp;
 
+  private:
+    map<int32_t,osd_stat_t> osd_stat_updates;
+    set<int32_t> osd_stat_rm;
+
+    // mapping of osd to most recently reported osdmap epoch
+    map<int32_t,epoch_t> osd_epochs;
+  public:
+
+    const map<int32_t, osd_stat_t> &get_osd_stat_updates() const {
+      return osd_stat_updates;
+    }
+    const set<int32_t> &get_osd_stat_rm() const {
+      return osd_stat_rm;
+    }
+    const map<int32_t, epoch_t> &get_osd_epochs() const {
+      return osd_epochs;
+    }
+
+    void update_stat(int32_t osd, epoch_t epoch, const osd_stat_t &stat) {
+      osd_stat_updates[osd] = stat;
+      osd_epochs[osd] = epoch;
+      assert(osd_epochs.size() == osd_stat_updates.size());
+    }
+    void stat_osd_out(int32_t osd) {
+      // 0 the stats for the osd
+      osd_stat_updates[osd] = osd_stat_t();
+    }
+    void rm_stat(int32_t osd) {
+      osd_stat_rm.insert(osd);
+      osd_epochs.erase(osd);
+      osd_stat_updates.erase(osd);
+    }
     void encode(bufferlist &bl, uint64_t features=-1) const;
     void decode(bufferlist::iterator &bl);
     void dump(Formatter *f) const;
@@ -76,13 +109,51 @@ public:
   utime_t stamp;
 
   // recent deltas, and summation
+  /**
+   * keep track of last deltas for each pool, calculated using
+   * @p pg_pool_sum as baseline.
+   */
+  hash_map<uint64_t, list< pair<pool_stat_t, utime_t> > > per_pool_sum_deltas;
+  /**
+   * keep track of per-pool timestamp deltas, according to last update on
+   * each pool.
+   */
+  hash_map<uint64_t, utime_t> per_pool_sum_deltas_stamps;
+  /**
+   * keep track of sum deltas, per-pool, taking into account any previous
+   * deltas existing in @p per_pool_sum_deltas.  The utime_t as second member
+   * of the pair is the timestamp refering to the last update (i.e., the first
+   * member of the pair) for a given pool.
+   */
+  hash_map<uint64_t, pair<pool_stat_t,utime_t> > per_pool_sum_delta;
+
   list< pair<pool_stat_t, utime_t> > pg_sum_deltas;
   pool_stat_t pg_sum_delta;
   utime_t stamp_delta;
 
-  void update_delta(CephContext *cct, utime_t inc_stamp, pool_stat_t& pg_sum_old);
+  void update_global_delta(CephContext *cct,
+                           const utime_t ts, const pool_stat_t& pg_sum_old);
+  void update_pool_deltas(CephContext *cct,
+                          const utime_t ts,
+                          const hash_map<uint64_t, pool_stat_t>& pg_pool_sum_old);
   void clear_delta();
 
+ private:
+  void update_delta(CephContext *cct,
+                    const utime_t ts,
+                    const pool_stat_t& old_pool_sum,
+                    utime_t *last_ts,
+                    const pool_stat_t& current_pool_sum,
+                    pool_stat_t *result_pool_delta,
+                    utime_t *result_ts_delta,
+                    list<pair<pool_stat_t,utime_t> > *delta_avg_list);
+
+  void update_one_pool_delta(CephContext *cct,
+                             const utime_t ts,
+                             const uint64_t pool,
+                             const pool_stat_t& old_pool_sum);
+ public:
+
   set<pg_t> creating_pgs;   // lru: front = new additions, back = recently pinged
   map<int,set<pg_t> > creating_pgs_by_osd;
 
@@ -158,6 +229,7 @@ public:
   void dump_pg_stats(Formatter *f, bool brief) const;
   void dump_pool_stats(Formatter *f) const;
   void dump_osd_stats(Formatter *f) const;
+  void dump_delta(Formatter *f) const;
 
   void dump_pg_stats_plain(ostream& ss,
 			   const hash_map<pg_t, pg_stat_t>& pg_stats) const;
@@ -168,8 +240,42 @@ public:
 
   void dump(ostream& ss) const;
 
-  void recovery_summary(Formatter *f, ostream *out) const;
+  void dump_osd_perf_stats(Formatter *f) const;
+  void print_osd_perf_stats(std::ostream *ss) const;
+
+  void recovery_summary(Formatter *f, ostream *out,
+                        const pool_stat_t& delta_sum) const;
+  void overall_recovery_summary(Formatter *f, ostream *out) const;
+  void pool_recovery_summary(Formatter *f, ostream *out,
+                             uint64_t poolid) const;
+  void recovery_rate_summary(Formatter *f, ostream *out,
+                             const pool_stat_t& delta_sum,
+                             utime_t delta_stamp) const;
+  void overall_recovery_rate_summary(Formatter *f, ostream *out) const;
+  void pool_recovery_rate_summary(Formatter *f, ostream *out,
+                                  uint64_t poolid) const;
+  /**
+   * Obtain a formatted/plain output for client I/O, source from stats for a
+   * given @p delta_sum pool over a given @p delta_stamp period of time.
+   */
+  void client_io_rate_summary(Formatter *f, ostream *out,
+                              const pool_stat_t& delta_sum,
+                              utime_t delta_stamp) const;
+  /**
+   * Obtain a formatted/plain output for the overall client I/O, which is
+   * calculated resorting to @p pg_sum_delta and @p stamp_delta.
+   */
+  void overall_client_io_rate_summary(Formatter *f, ostream *out) const;
+  /**
+   * Obtain a formatted/plain output for client I/O over a given pool
+   * with id @p pool_id.  We will then obtain pool-specific data
+   * from @p per_pool_sum_delta.
+   */
+  void pool_client_io_rate_summary(Formatter *f, ostream *out,
+                                   uint64_t poolid) const;
+
   void print_summary(Formatter *f, ostream *out) const;
+  void print_oneline_summary(ostream *out) const;
 
   epoch_t calc_min_last_epoch_clean() const;
 
@@ -179,7 +285,7 @@ WRITE_CLASS_ENCODER_FEATURES(PGMap::Incremental)
 WRITE_CLASS_ENCODER_FEATURES(PGMap)
 
 inline ostream& operator<<(ostream& out, const PGMap& m) {
-  m.print_summary(NULL, &out);
+  m.print_oneline_summary(&out);
   return out;
 }
 
diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc
index 29c77db..0ba7970 100644
--- a/src/mon/PGMonitor.cc
+++ b/src/mon/PGMonitor.cc
@@ -141,6 +141,31 @@ void PGMonitor::tick()
     }
   }
 
+  /* If we have deltas for pools, run through pgmap's 'per_pool_sum_delta' and
+   * clear any deltas that are old enough.
+   *
+   * Note that 'per_pool_sum_delta' keeps a pool id as key, and a pair containing
+   * the calc'ed stats delta and an absolute timestamp from when those stats were
+   * obtained -- the timestamp IS NOT a delta itself.
+   */
+  if (!pg_map.per_pool_sum_deltas.empty()) {
+    hash_map<uint64_t,pair<pool_stat_t,utime_t> >::iterator it;
+    for (it = pg_map.per_pool_sum_delta.begin();
+         it != pg_map.per_pool_sum_delta.end(); ) {
+      utime_t age = ceph_clock_now(g_ceph_context) - it->second.second;
+      if (age > 2*g_conf->mon_delta_reset_interval) {
+        dout(10) << " clearing pg_map delta for pool " << it->first
+                 << " (" << age << " > " << g_conf->mon_delta_reset_interval
+                 << " seconds old)" << dendl;
+        pg_map.per_pool_sum_deltas.erase(it->first);
+        pg_map.per_pool_sum_deltas_stamps.erase(it->first);
+        pg_map.per_pool_sum_delta.erase((it++)->first);
+      } else {
+        ++it;
+      }
+    }
+  }
+
   dout(10) << pg_map << dendl;
 }
 
@@ -281,6 +306,7 @@ void PGMonitor::post_paxos_update()
 {
   if (mon->osdmon()->osdmap.get_epoch()) {
     map_pg_creates();
+    send_pg_creates();
   }
 }
 
@@ -401,6 +427,7 @@ void PGMonitor::apply_pgmap_delta(bufferlist& bl)
   }
 
   pool_stat_t pg_sum_old = pg_map.pg_sum;
+  hash_map<uint64_t, pool_stat_t> pg_pool_sum_old;
 
   // pgs
   bufferlist::iterator p = dirty_pgs.begin();
@@ -410,6 +437,10 @@ void PGMonitor::apply_pgmap_delta(bufferlist& bl)
     dout(20) << " refreshing pg " << pgid << dendl;
     bufferlist bl;
     int r = mon->store->get(pgmap_pg_prefix, stringify(pgid), bl);
+
+    if (pg_pool_sum_old.count(pgid.pool()) == 0)
+      pg_pool_sum_old[pgid.pool()] = pg_map.pg_pool_sum[pgid.pool()];
+
     if (r >= 0) {
       pg_map.update_pg(pgid, bl);
     } else {
@@ -432,7 +463,8 @@ void PGMonitor::apply_pgmap_delta(bufferlist& bl)
     }
   }
 
-  pg_map.update_delta(g_ceph_context, inc_stamp, pg_sum_old);
+  pg_map.update_global_delta(g_ceph_context, inc_stamp, pg_sum_old);
+  pg_map.update_pool_deltas(g_ceph_context, inc_stamp, pg_pool_sum_old);
 
   // ok, we're now on the new version
   pg_map.version = v;
@@ -494,15 +526,19 @@ void PGMonitor::encode_pending(MonitorDBStore::Transaction *t)
   {
     bufferlist dirty;
     string prefix = pgmap_osd_prefix;
-    for (map<int32_t,osd_stat_t>::const_iterator p = pending_inc.osd_stat_updates.begin();
-	 p != pending_inc.osd_stat_updates.end();
+    for (map<int32_t,osd_stat_t>::const_iterator p =
+	   pending_inc.get_osd_stat_updates().begin();
+	 p != pending_inc.get_osd_stat_updates().end();
 	 ++p) {
       ::encode(p->first, dirty);
       bufferlist bl;
       ::encode(p->second, bl, features);
       t->put(prefix, stringify(p->first), bl);
     }
-    for (set<int32_t>::const_iterator p = pending_inc.osd_stat_rm.begin(); p != pending_inc.osd_stat_rm.end(); ++p) {
+    for (set<int32_t>::const_iterator p =
+	   pending_inc.get_osd_stat_rm().begin();
+	 p != pending_inc.get_osd_stat_rm().end();
+	 ++p) {
       ::encode(*p, dirty);
       t->erase(prefix, stringify(*p));
     }
@@ -725,7 +761,11 @@ bool PGMonitor::prepare_pg_stats(MPGStats *stats)
   }
 
   // osd stat
-  pending_inc.osd_stat_updates[from] = stats->osd_stat;
+  if (mon->osdmon()->osdmap.is_in(from)) {
+    pending_inc.update_stat(from, stats->epoch, stats->osd_stat);
+  } else {
+    pending_inc.update_stat(from, stats->epoch, osd_stat_t());
+  }
   
   if (pg_map.osd_stat.count(from))
     dout(10) << " got osd." << from << " " << stats->osd_stat << " (was " << pg_map.osd_stat[from] << ")" << dendl;
@@ -842,11 +882,7 @@ void PGMonitor::check_osd_map(epoch_t epoch)
 	 ++p)
       if (p->second == CEPH_OSD_OUT) {
 	dout(10) << "check_osd_map  osd." << p->first << " went OUT" << dendl;
-	pending_inc.osd_stat_rm.insert(p->first);
-      } else {
-	dout(10) << "check_osd_map  osd." << p->first << " is IN" << dendl;
-	pending_inc.osd_stat_rm.erase(p->first);
-	pending_inc.osd_stat_updates[p->first]; 
+	pending_inc.stat_osd_out(p->first);
       }
 
     // this is conservative: we want to know if any osds (maybe) got marked down.
@@ -867,7 +903,7 @@ void PGMonitor::check_osd_map(epoch_t epoch)
 	// whether it was created *or* destroyed, we can safely drop
 	// it's osd_stat_t record.
 	dout(10) << "check_osd_map  osd." << p->first << " created or destroyed" << dendl;
-	pending_inc.osd_stat_rm.insert(p->first);
+	pending_inc.rm_stat(p->first);
 
 	// and adjust full, nearfull set
 	pg_map.nearfull_osds.erase(p->first);
@@ -1323,9 +1359,7 @@ bool PGMonitor::preprocess_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("pg", MON_CAP_R) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed());
     return true;
   }
@@ -1408,6 +1442,11 @@ bool PGMonitor::preprocess_command(MMonCommand *m)
 	if (what.count("pgs_brief")) {
 	  pg_map.dump_pg_stats(f.get(), true);
 	}
+	if (what.count("delta")) {
+	  f->open_object_section("delta");
+	  pg_map.dump_delta(f.get());
+	  f->close_section();
+	}
       }
       f->flush(ds);
     } else {
@@ -1425,7 +1464,6 @@ bool PGMonitor::preprocess_command(MMonCommand *m)
     cmd_getval(g_ceph_context, cmdmap, "threshold", threshold,
 	       int64_t(g_conf->mon_pg_stuck_threshold));
 
-    boost::scoped_ptr<Formatter> f(new_formatter("json"));
     r = dump_stuck_pg_stats(ds, f.get(), (int)threshold, stuckop_vec);
     ss << "ok";
     r = 0;
@@ -1573,9 +1611,7 @@ bool PGMonitor::prepare_command(MMonCommand *m)
   cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
 
   MonSession *session = m->get_session();
-  if (!session ||
-      (!session->is_capable("pg", MON_CAP_W) &&
-       !mon->_allowed_command(session, cmdmap))) {
+  if (!session) {
     mon->reply_command(m, -EACCES, "access denied", get_last_committed());
     return true;
   }
@@ -1827,7 +1863,7 @@ void PGMonitor::get_health(list<pair<health_status_t,string> >& summary,
 
   // recovery
   stringstream rss;
-  pg_map.recovery_summary(NULL, &rss);
+  pg_map.overall_recovery_summary(NULL, &rss);
   if (!rss.str().empty()) {
     summary.push_back(make_pair(HEALTH_WARN, "recovery " + rss.str()));
     if (detail)
@@ -1847,6 +1883,56 @@ void PGMonitor::get_health(list<pair<health_status_t,string> >& summary,
       detail->push_back(make_pair(HEALTH_ERR, ss.str()));
     }
   }
+
+  // pg skew
+  int num_in = mon->osdmon()->osdmap.get_num_in_osds();
+  if (num_in && g_conf->mon_pg_warn_min_per_osd > 0) {
+    int per = pg_map.pg_stat.size() / num_in;
+    if (per < g_conf->mon_pg_warn_min_per_osd) {
+      ostringstream ss;
+      ss << "too few pgs per osd (" << per << " < min " << g_conf->mon_pg_warn_min_per_osd << ")";
+      summary.push_back(make_pair(HEALTH_WARN, ss.str()));
+      if (detail)
+	detail->push_back(make_pair(HEALTH_WARN, ss.str()));
+    }
+  }
+  if (!pg_map.pg_stat.empty()) {
+    for (hash_map<int,pool_stat_t>::const_iterator p = pg_map.pg_pool_sum.begin();
+	 p != pg_map.pg_pool_sum.end();
+	 ++p) {
+      const pg_pool_t *pi = mon->osdmon()->osdmap.get_pg_pool(p->first);
+      if (!pi)
+	continue;   // in case osdmap changes haven't propagated to PGMap yet
+      if (pi->get_pg_num() > pi->get_pgp_num()) {
+	ostringstream ss;
+	ss << "pool " << mon->osdmon()->osdmap.get_pool_name(p->first) << " pg_num "
+	   << pi->get_pg_num() << " > pgp_num " << pi->get_pgp_num();
+	summary.push_back(make_pair(HEALTH_WARN, ss.str()));
+	if (detail)
+	  detail->push_back(make_pair(HEALTH_WARN, ss.str()));
+      }
+      int average_objects_per_pg = pg_map.pg_sum.stats.sum.num_objects / pg_map.pg_stat.size();
+      if (average_objects_per_pg > 0 &&
+	  pg_map.pg_sum.stats.sum.num_objects >= g_conf->mon_pg_warn_min_objects &&
+	  p->second.stats.sum.num_objects >= g_conf->mon_pg_warn_min_pool_objects) {
+	int objects_per_pg = p->second.stats.sum.num_objects / pi->get_pg_num();
+	float ratio = (float)objects_per_pg / (float)average_objects_per_pg;
+	if (g_conf->mon_pg_warn_max_object_skew > 0 &&
+	    ratio > g_conf->mon_pg_warn_max_object_skew) {
+	  ostringstream ss;
+	  ss << "pool " << mon->osdmon()->osdmap.get_pool_name(p->first) << " has too few pgs";
+	  summary.push_back(make_pair(HEALTH_WARN, ss.str()));
+	  if (detail) {
+	    ostringstream ss;
+	    ss << "pool " << mon->osdmon()->osdmap.get_pool_name(p->first) << " objects per pg ("
+	       << objects_per_pg << ") is more than " << ratio << " times cluster average ("
+	       << average_objects_per_pg << ")";
+	    detail->push_back(make_pair(HEALTH_WARN, ss.str()));
+	  }
+	}
+      }
+    }
+  }
 }
 
 void PGMonitor::check_full_osd_health(list<pair<health_status_t,string> >& summary,
diff --git a/src/mon/PGMonitor.h b/src/mon/PGMonitor.h
index 4401539..d29f47c 100644
--- a/src/mon/PGMonitor.h
+++ b/src/mon/PGMonitor.h
@@ -28,6 +28,7 @@ using namespace std;
 #include "PaxosService.h"
 #include "include/types.h"
 #include "include/utime.h"
+#include "include/histogram.h"
 #include "msg/Messenger.h"
 #include "common/config.h"
 #include "mon/MonitorDBStore.h"
diff --git a/src/mon/Paxos.cc b/src/mon/Paxos.cc
index 445413d..495268f 100644
--- a/src/mon/Paxos.cc
+++ b/src/mon/Paxos.cc
@@ -282,10 +282,11 @@ void Paxos::share_state(MMonPaxos *m, version_t peer_first_committed,
  * be. All all this is done tightly wrapped in a transaction to ensure we
  * enjoy the atomicity guarantees given by our awesome k/v store.
  */
-void Paxos::store_state(MMonPaxos *m)
+bool Paxos::store_state(MMonPaxos *m)
 {
   MonitorDBStore::Transaction t;
   map<version_t,bufferlist>::iterator start = m->values.begin();
+  bool changed = false;
 
   // build map of values to store
   // we want to write the range [last_committed, m->last_committed] only.
@@ -327,6 +328,15 @@ void Paxos::store_state(MMonPaxos *m)
       // apply.
       decode_append_transaction(t, it->second);
     }
+
+    // discard obsolete uncommitted value?
+    if (uncommitted_v && uncommitted_v <= last_committed) {
+      dout(10) << " forgetting obsolete uncommitted value " << uncommitted_v
+	       << " pn " << uncommitted_pn << dendl;
+      uncommitted_v = 0;
+      uncommitted_pn = 0;
+      uncommitted_value.clear();
+    }
   }
   if (!t.empty()) {
     dout(30) << __func__ << " transaction dump:\n";
@@ -341,9 +351,12 @@ void Paxos::store_state(MMonPaxos *m)
     first_committed = get_store()->get(get_name(), "first_committed");
 
     _sanity_check_store();
+    changed = true;
   }
 
   remove_legacy_versions();
+
+  return changed;
 }
 
 void Paxos::remove_legacy_versions()
@@ -371,6 +384,8 @@ void Paxos::_sanity_check_store()
 // leader
 void Paxos::handle_last(MMonPaxos *last)
 {
+  bool need_refresh = false;
+
   dout(10) << "handle_last " << *last << dendl;
 
   if (!mon->is_leader()) {
@@ -397,7 +412,7 @@ void Paxos::handle_last(MMonPaxos *last)
   assert(g_conf->paxos_kill_at != 1);
 
   // store any committed values if any are specified in the message
-  store_state(last);
+  need_refresh = store_state(last);
 
   assert(g_conf->paxos_kill_at != 2);
 
@@ -419,7 +434,7 @@ void Paxos::handle_last(MMonPaxos *last)
 
     // did this person send back an accepted but uncommitted value?
     if (last->uncommitted_pn) {
-      if (last->uncommitted_pn > uncommitted_pn &&
+      if (last->uncommitted_pn >= uncommitted_pn &&
 	  last->last_committed >= last_committed &&
 	  last->last_committed + 1 >= uncommitted_v) {
 	uncommitted_v = last->last_committed+1;
@@ -473,6 +488,7 @@ void Paxos::handle_last(MMonPaxos *last)
 	dout(10) << "that's everyone.  active!" << dendl;
 	extend_lease();
 
+	need_refresh = false;
 	if (do_refresh()) {
 	  finish_round();
 
@@ -487,6 +503,9 @@ void Paxos::handle_last(MMonPaxos *last)
     dout(10) << "old pn, ignoring" << dendl;
   }
 
+  if (need_refresh)
+    (void)do_refresh();
+
   last->put();
 }
 
@@ -793,17 +812,11 @@ void Paxos::handle_commit(MMonPaxos *commit)
 
   store_state(commit);
 
-  commit->put();
-
-  bool need_bootstrap = false;
-  mon->refresh_from_paxos(&need_bootstrap);
-  if (need_bootstrap) {
-    dout(10) << " doing requested bootstrap" << dendl;
-    mon->bootstrap();
-    return;
+  if (do_refresh()) {
+    finish_contexts(g_ceph_context, waiting_for_commit);
   }
 
-  finish_contexts(g_ceph_context, waiting_for_commit);
+  commit->put();
 }
 
 void Paxos::extend_lease()
diff --git a/src/mon/Paxos.h b/src/mon/Paxos.h
index 69419e6..764c4fe 100644
--- a/src/mon/Paxos.h
+++ b/src/mon/Paxos.h
@@ -131,7 +131,7 @@ class Paxos;
  * This libary is based on the Paxos algorithm, but varies in a few key ways:
  *  1- Only a single new value is generated at a time, simplifying the recovery logic.
  *  2- Nodes track "committed" values, and share them generously (and trustingly)
- *  3- A 'leasing' mechism is built-in, allowing nodes to determine when it is 
+ *  3- A 'leasing' mechanism is built-in, allowing nodes to determine when it is 
  *     safe to "read" their copy of the last committed value.
  *
  * This provides a simple replication substrate that services can be built on top of.
@@ -325,8 +325,7 @@ private:
    *
    * Instead of performing a full commit each time a read is requested, we
    * keep leases. Each lease will have an expiration date, which may or may
-   * not be extended. This member variable will keep when is the lease 
-   * expiring.
+   * not be extended. 
    */
   utime_t lease_expire;
   /**
@@ -1091,12 +1090,13 @@ public:
    * onto paxos-related keys), and then we will decode those same bufferlists
    * we just wrote and apply the transactions they hold. We will also update
    * our first and last committed values to point to the new values, if need
-   * be. All all this is done tightly wrapped in a transaction to ensure we
+   * be. All this is done tightly wrapped in a transaction to ensure we
    * enjoy the atomicity guarantees given by our awesome k/v store.
    *
    * @param m A message
+   * @returns true if we stored something new; false otherwise
    */
-  void store_state(MMonPaxos *m);
+  bool store_state(MMonPaxos *m);
   void _sanity_check_store();
 
   /**
diff --git a/src/mon/mon_types.h b/src/mon/mon_types.h
index 0eae3b1..0ae1aaf 100644
--- a/src/mon/mon_types.h
+++ b/src/mon/mon_types.h
@@ -40,6 +40,52 @@ inline const char *get_paxos_name(int p) {
 
 #define CEPH_MON_ONDISK_MAGIC "ceph mon volume v012"
 
+/**
+ * leveldb store stats
+ *
+ * If we ever decide to support multiple backends for the monitor store,
+ * we should then create an abstract class 'MonitorStoreStats' of sorts
+ * and inherit it on LevelDBStoreStats.  I'm sure you'll figure something
+ * out.
+ */
+struct LevelDBStoreStats {
+  uint64_t bytes_total;
+  uint64_t bytes_sst;
+  uint64_t bytes_log;
+  uint64_t bytes_misc;
+  utime_t last_update;
+
+  void dump(Formatter *f) const {
+    assert(f != NULL);
+    f->dump_int("bytes_total", bytes_total);
+    f->dump_int("bytes_sst", bytes_sst);
+    f->dump_int("bytes_log", bytes_log);
+    f->dump_int("bytes_misc", bytes_misc);
+    f->dump_stream("last_updated") << last_update;
+  }
+
+  void encode(bufferlist &bl) const {
+    ENCODE_START(1, 1, bl);
+    ::encode(bytes_total, bl);
+    ::encode(bytes_sst, bl);
+    ::encode(bytes_log, bl);
+    ::encode(bytes_misc, bl);
+    ::encode(last_update, bl);
+    ENCODE_FINISH(bl);
+  }
+
+  void decode(bufferlist::iterator &p) {
+    DECODE_START(1, p);
+    ::decode(bytes_total, p);
+    ::decode(bytes_sst, p);
+    ::decode(bytes_log, p);
+    ::decode(bytes_misc, p);
+    ::decode(last_update, p);
+    DECODE_FINISH(p);
+  }
+};
+WRITE_CLASS_ENCODER(LevelDBStoreStats);
+
 // data stats
 
 struct DataStats {
@@ -50,13 +96,29 @@ struct DataStats {
   int latest_avail_percent;
   utime_t last_update;
 
+  LevelDBStoreStats store_stats;
+
+  void dump(Formatter *f) const {
+    assert(f != NULL);
+    f->dump_int("kb_total", kb_total);
+    f->dump_int("kb_used", kb_used);
+    f->dump_int("kb_avail", kb_avail);
+    f->dump_int("avail_percent", latest_avail_percent);
+    f->dump_stream("last_updated") << last_update;
+
+    f->open_object_section("store_stats");
+    store_stats.dump(f);
+    f->close_section();
+  }
+
   void encode(bufferlist &bl) const {
-    ENCODE_START(1, 1, bl);
+    ENCODE_START(2, 1, bl);
     ::encode(kb_total, bl);
     ::encode(kb_used, bl);
     ::encode(kb_avail, bl);
     ::encode(latest_avail_percent, bl);
     ::encode(last_update, bl);
+    ::encode(store_stats, bl);
     ENCODE_FINISH(bl);
   }
   void decode(bufferlist::iterator &p) {
@@ -66,10 +128,12 @@ struct DataStats {
     ::decode(kb_avail, p);
     ::decode(latest_avail_percent, p);
     ::decode(last_update, p);
+    if (struct_v > 1)
+      ::decode(store_stats, p);
+
     DECODE_FINISH(p);
   }
 };
-
 WRITE_CLASS_ENCODER(DataStats);
 
 struct ScrubResult {
diff --git a/src/msg/DispatchQueue.h b/src/msg/DispatchQueue.h
index 82d6ba1..df73130 100644
--- a/src/msg/DispatchQueue.h
+++ b/src/msg/DispatchQueue.h
@@ -31,7 +31,7 @@ class DispatchQueue;
 class Pipe;
 class SimpleMessenger;
 class Message;
-class Connection;
+struct Connection;
 
 /**
  * The DispatchQueue contains all the Pipes which have Messages
diff --git a/src/msg/Makefile.am b/src/msg/Makefile.am
new file mode 100644
index 0000000..a849a1c
--- /dev/null
+++ b/src/msg/Makefile.am
@@ -0,0 +1,20 @@
+libmsg_la_SOURCES = \
+	msg/Accepter.cc \
+	msg/DispatchQueue.cc \
+	msg/Message.cc \
+	msg/Messenger.cc \
+	msg/Pipe.cc \
+	msg/SimpleMessenger.cc \
+	msg/msg_types.cc
+
+noinst_HEADERS += \
+	msg/Accepter.h \
+	msg/DispatchQueue.h \
+	msg/Dispatcher.h \
+	msg/Message.h \
+	msg/Messenger.h \
+	msg/Pipe.h \
+	msg/SimpleMessenger.h \
+	msg/msg_types.h
+
+noinst_LTLIBRARIES += libmsg.la
diff --git a/src/msg/Message.h b/src/msg/Message.h
index 3ed8ee6..f345e7a 100644
--- a/src/msg/Message.h
+++ b/src/msg/Message.h
@@ -449,8 +449,8 @@ public:
   const utime_t& get_recv_complete_stamp() const { return recv_complete_stamp; }
 
   void calc_header_crc() {
-    header.crc = ceph_crc32c_le(0, (unsigned char*)&header,
-			   sizeof(header) - sizeof(header.crc));
+    header.crc = ceph_crc32c(0, (unsigned char*)&header,
+			     sizeof(header) - sizeof(header.crc));
   }
   void calc_front_crc() {
     footer.front_crc = payload.crc32c(0);
diff --git a/src/msg/Pipe.cc b/src/msg/Pipe.cc
index 6f271c8..66b64d0 100644
--- a/src/msg/Pipe.cc
+++ b/src/msg/Pipe.cc
@@ -1136,6 +1136,19 @@ void Pipe::unregister_pipe()
   }
 }
 
+void Pipe::join()
+{
+  ldout(msgr->cct, 20) << "join" << dendl;
+  if (writer_thread.is_started())
+    writer_thread.join();
+  if (reader_thread.is_started())
+    reader_thread.join();
+  if (delay_thread) {
+    ldout(msgr->cct, 20) << "joining delay_thread" << dendl;
+    delay_thread->stop();
+    delay_thread->join();
+  }
+}
 
 void Pipe::requeue_sent()
 {
@@ -1684,7 +1697,7 @@ int Pipe::read_message(Message **pm)
   if (connection_state->has_feature(CEPH_FEATURE_NOSRCADDR)) {
     if (tcp_read((char*)&header, sizeof(header)) < 0)
       return -1;
-    header_crc = ceph_crc32c_le(0, (unsigned char *)&header, sizeof(header) - sizeof(header.crc));
+    header_crc = ceph_crc32c(0, (unsigned char *)&header, sizeof(header) - sizeof(header.crc));
   } else {
     ceph_msg_header_old oldheader;
     if (tcp_read((char*)&oldheader, sizeof(oldheader)) < 0)
@@ -1694,7 +1707,7 @@ int Pipe::read_message(Message **pm)
     header.src = oldheader.src.name;
     header.reserved = oldheader.reserved;
     header.crc = oldheader.crc;
-    header_crc = ceph_crc32c_le(0, (unsigned char *)&oldheader, sizeof(oldheader) - sizeof(oldheader.crc));
+    header_crc = ceph_crc32c(0, (unsigned char *)&oldheader, sizeof(oldheader) - sizeof(oldheader.crc));
   }
 
   ldout(msgr->cct,20) << "reader got envelope type=" << header.type
@@ -2028,8 +2041,8 @@ int Pipe::write_message(ceph_msg_header& header, ceph_msg_footer& footer, buffer
     oldheader.src.addr = connection_state->get_peer_addr();
     oldheader.orig_src = oldheader.src;
     oldheader.reserved = header.reserved;
-    oldheader.crc = ceph_crc32c_le(0, (unsigned char*)&oldheader,
-			      sizeof(oldheader) - sizeof(oldheader.crc));
+    oldheader.crc = ceph_crc32c(0, (unsigned char*)&oldheader,
+				sizeof(oldheader) - sizeof(oldheader.crc));
     msgvec[msg.msg_iovlen].iov_base = (char*)&oldheader;
     msgvec[msg.msg_iovlen].iov_len = sizeof(oldheader);
     msglen += sizeof(oldheader);
diff --git a/src/msg/Pipe.h b/src/msg/Pipe.h
index 5f94305..6c91395 100644
--- a/src/msg/Pipe.h
+++ b/src/msg/Pipe.h
@@ -234,16 +234,7 @@ class DispatchQueue;
 
     void register_pipe();
     void unregister_pipe();
-    void join() {
-      if (writer_thread.is_started())
-        writer_thread.join();
-      if (reader_thread.is_started())
-        reader_thread.join();
-      if (delay_thread) {
-	delay_thread->stop();
-	delay_thread->join();
-      }
-    }
+    void join();
     void stop();
 
     void _send(Message *m) {
diff --git a/src/msg/msg_types.cc b/src/msg/msg_types.cc
index 38416ab..b02db76 100644
--- a/src/msg/msg_types.cc
+++ b/src/msg/msg_types.cc
@@ -135,7 +135,7 @@ bool entity_addr_t::parse(const char *s, const char **end)
 ostream& operator<<(ostream& out, const sockaddr_storage &ss)
 {
   char buf[NI_MAXHOST] = { 0 };
-  char serv[20] = { 0 };
+  char serv[NI_MAXSERV] = { 0 };
   size_t hostlen;
 
   if (ss.ss_family == AF_INET)
diff --git a/src/objclass/class_api.cc b/src/objclass/class_api.cc
index 64d61bd..bb26c75 100644
--- a/src/objclass/class_api.cc
+++ b/src/objclass/class_api.cc
@@ -2,6 +2,7 @@
 // vim: ts=8 sw=2 smarttab
 
 #include "common/config.h"
+#include "common/debug.h"
 
 #include "objclass/objclass.h"
 #include "osd/ReplicatedPG.h"
@@ -13,6 +14,8 @@
 
 static ClassHandler *ch;
 
+#define dout_subsys ceph_subsys_objclass
+
 void cls_initialize(ClassHandler *h)
 {
   ch = h;
@@ -174,7 +177,7 @@ int cls_read(cls_method_context_t hctx, int ofs, int len,
 int cls_get_request_origin(cls_method_context_t hctx, entity_inst_t *origin)
 {
   ReplicatedPG::OpContext **pctx = static_cast<ReplicatedPG::OpContext **>(hctx);
-  *origin = (*pctx)->op->request->get_orig_source_inst();
+  *origin = (*pctx)->op->get_req()->get_orig_source_inst();
   return 0;
 }
 
@@ -579,7 +582,7 @@ uint64_t cls_current_version(cls_method_context_t hctx)
 {
   ReplicatedPG::OpContext *ctx = *(ReplicatedPG::OpContext **)hctx;
 
-  return ctx->at_version.version;
+  return ctx->pg->info.last_user_version;
 }
 
 
@@ -602,3 +605,21 @@ void cls_cxx_subop_version(cls_method_context_t hctx, string *s)
 
   *s = buf;
 }
+
+int cls_log(int level, const char *format, ...)
+{
+   int size = 256;
+   va_list ap;
+   while (1) {
+     char buf[size];
+     va_start(ap, format);
+     int n = vsnprintf(buf, size, format, ap);
+     va_end(ap);
+#define MAX_SIZE 8196
+     if ((n > -1 && n < size) || size > MAX_SIZE) {
+       dout(level) << buf << dendl;
+       return n;
+     }
+     size *= 2;
+   }
+}
diff --git a/src/objclass/class_debug.cc b/src/objclass/class_debug.cc
deleted file mode 100644
index 1387736..0000000
--- a/src/objclass/class_debug.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#include "common/config.h"
-
-#include "common/debug.h"
-#include "objclass/objclass.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include <iostream>
-
-#define dout_subsys ceph_subsys_objclass
-
-int cls_log(int level, const char *format, ...)
-{
-   int size = 256;
-   va_list ap;
-   while (1) {
-     char buf[size];
-     va_start(ap, format);
-     int n = vsnprintf(buf, size, format, ap);
-     va_end(ap);
-#define MAX_SIZE 8196
-     if ((n > -1 && n < size) || size > MAX_SIZE) {
-       dout(level) << buf << dendl;
-       return n;
-     }
-     size *= 2;
-   }
-}
diff --git a/src/ocf/Makefile.in b/src/ocf/Makefile.in
index 90b0166..032e475 100644
--- a/src/ocf/Makefile.in
+++ b/src/ocf/Makefile.in
@@ -39,19 +39,17 @@ subdir = src/ocf
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(srcdir)/ceph.in $(srcdir)/rbd.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_class.m4 \
-	$(top_srcdir)/m4/ac_check_classpath.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
-	$(top_srcdir)/m4/ac_prog_java.m4 \
-	$(top_srcdir)/m4/ac_prog_java_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javac_works.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_try_compile_java.m4 \
-	$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -106,6 +104,9 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -140,7 +141,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 JAR = @JAR@
-JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
 JDK_CPPFLAGS = @JDK_CPPFLAGS@
@@ -153,6 +153,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTCMALLOC = @LIBTCMALLOC@
 LIBTOOL = @LIBTOOL@
+LIBZFS_CFLAGS = @LIBZFS_CFLAGS@
+LIBZFS_LIBS = @LIBZFS_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -258,7 +260,6 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-uudecode = @uudecode@
 EXTRA_DIST = ceph.in Makefile.in
 
 # The root of the OCF resource agent hierarchy
diff --git a/src/os/BtrfsFileStoreBackend.cc b/src/os/BtrfsFileStoreBackend.cc
new file mode 100644
index 0000000..bb11a45
--- /dev/null
+++ b/src/os/BtrfsFileStoreBackend.cc
@@ -0,0 +1,573 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include "include/int_types.h"
+#include "include/types.h"
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include "include/compat.h"
+#include "include/linux_fiemap.h"
+#include "include/color.h"
+#include "include/buffer.h"
+#include "include/assert.h"
+
+#ifndef __CYGWIN__
+#include "btrfs_ioctl.h"
+#endif
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+#include "BtrfsFileStoreBackend.h"
+
+#include "common/errno.h"
+#include "common/config.h"
+
+#if defined(__linux__)
+
+#define dout_subsys ceph_subsys_filestore
+#undef dout_prefix
+#define dout_prefix *_dout << "btrfsfilestorebackend(" << get_basedir_path() << ") "
+
+#define ALIGN_DOWN(x, by) ((x) - ((x) % (by)))
+#define ALIGNED(x, by) (!((x) % (by)))
+#define ALIGN_UP(x, by) (ALIGNED((x), (by)) ? (x) : (ALIGN_DOWN((x), (by)) + (by)))
+
+BtrfsFileStoreBackend::BtrfsFileStoreBackend(FileStore *fs):
+    GenericFileStoreBackend(fs), has_clone_range(false),
+    has_snap_create(false), has_snap_destroy(false),
+    has_snap_create_v2(false), has_wait_sync(false), stable_commits(false),
+    m_filestore_btrfs_clone_range(g_conf->filestore_btrfs_clone_range),
+    m_filestore_btrfs_snap (g_conf->filestore_btrfs_snap) { }
+
+int BtrfsFileStoreBackend::detect_features()
+{
+  int r;
+
+  r = GenericFileStoreBackend::detect_features();
+  if (r < 0)
+    return r;
+
+  // clone_range?
+  if (m_filestore_btrfs_clone_range) {
+    int fd = ::openat(get_basedir_fd(), "clone_range_test", O_CREAT|O_WRONLY, 0600);
+    if (fd >= 0) {
+      ::unlinkat(get_basedir_fd(), "clone_range_test", 0);
+      if (fd < 0) {
+	r = -errno;
+	dout(0) << "detect_feature: failed to unlink test file for CLONE_RANGE ioctl: "
+		<< cpp_strerror(r) << dendl;
+      }
+      btrfs_ioctl_clone_range_args clone_args;
+      memset(&clone_args, 0, sizeof(clone_args));
+      clone_args.src_fd = -1;
+      r = ::ioctl(fd, BTRFS_IOC_CLONE_RANGE, &clone_args);
+      if (r < 0 && errno == EBADF) {
+	dout(0) << "detect_feature: CLONE_RANGE ioctl is supported" << dendl;
+	has_clone_range = true;
+      } else {
+	r = -errno;
+	dout(0) << "detect_feature: CLONE_RANGE ioctl is NOT supported: " << cpp_strerror(r) << dendl;
+      }
+      TEMP_FAILURE_RETRY(::close(fd));
+    } else {
+      r = -errno;
+      dout(0) << "detect_feature: failed to create test file for CLONE_RANGE ioctl: "
+	      << cpp_strerror(r) << dendl;
+    }
+  } else {
+    dout(0) << "detect_feature: CLONE_RANGE ioctl is DISABLED via 'filestore btrfs clone range' option" << dendl;
+  }
+
+  struct btrfs_ioctl_vol_args vol_args;
+  memset(&vol_args, 0, sizeof(vol_args));
+
+  // create test source volume
+  vol_args.fd = 0;
+  strcpy(vol_args.name, "test_subvol");
+  r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SUBVOL_CREATE, &vol_args);
+  if (r != 0) {
+    r = -errno;
+    dout(0) << "detect_feature: failed to create simple subvolume " << vol_args.name << ": " << cpp_strerror(r) << dendl;
+  }
+  int srcfd = ::openat(get_basedir_fd(), vol_args.name, O_RDONLY);
+  if (srcfd < 0) {
+    r = -errno;
+    dout(0) << "detect_feature: failed to open " << vol_args.name << ": " << cpp_strerror(r) << dendl;
+  }
+
+  // snap_create and snap_destroy?
+  vol_args.fd = srcfd;
+  strcpy(vol_args.name, "sync_snap_test");
+  r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_CREATE, &vol_args);
+  int err = errno;
+  if (r == 0 || errno == EEXIST) {
+    dout(0) << "detect_feature: SNAP_CREATE is supported" << dendl;
+    has_snap_create = true;
+
+    r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+    if (r == 0) {
+      dout(0) << "detect_feature: SNAP_DESTROY is supported" << dendl;
+      has_snap_destroy = true;
+    } else {
+      err = -errno;
+      dout(0) << "detect_feature: SNAP_DESTROY failed: " << cpp_strerror(err) << dendl;
+
+      if (err == -EPERM && getuid() != 0) {
+	dout(0) << "detect_feature: failed with EPERM as non-root; remount with -o user_subvol_rm_allowed" << dendl;
+	cerr << TEXT_YELLOW
+	     << "btrfs SNAP_DESTROY failed as non-root; remount with -o user_subvol_rm_allowed"
+	     << TEXT_NORMAL << std::endl;
+      } else if (err == -EOPNOTSUPP) {
+	derr << "btrfs SNAP_DESTROY ioctl not supported; you need a kernel newer than 2.6.32" << dendl;
+      }
+    }
+  } else {
+    dout(0) << "detect_feature: SNAP_CREATE failed: " << cpp_strerror(err) << dendl;
+  }
+
+  if (m_filestore_btrfs_snap) {
+    if (has_snap_destroy)
+      stable_commits = true;
+    else
+      dout(0) << "detect_feature: snaps enabled, but no SNAP_DESTROY ioctl; DISABLING" << dendl;
+  }
+
+  // start_sync?
+  __u64 transid = 0;
+  r = ::ioctl(get_basedir_fd(), BTRFS_IOC_START_SYNC, &transid);
+  if (r < 0) {
+    int err = errno;
+    dout(0) << "detect_feature: START_SYNC got " << cpp_strerror(err) << dendl;
+  }
+  if (r == 0 && transid > 0) {
+    dout(0) << "detect_feature: START_SYNC is supported (transid " << transid << ")" << dendl;
+
+    // do we have wait_sync too?
+    r = ::ioctl(get_basedir_fd(), BTRFS_IOC_WAIT_SYNC, &transid);
+    if (r == 0 || errno == ERANGE) {
+      dout(0) << "detect_feature: WAIT_SYNC is supported" << dendl;
+      has_wait_sync = true;
+    } else {
+      int err = errno;
+      dout(0) << "detect_feature: WAIT_SYNC is NOT supported: " << cpp_strerror(err) << dendl;
+    }
+  } else {
+    int err = errno;
+    dout(0) << "detect_feature: START_SYNC is NOT supported: " << cpp_strerror(err) << dendl;
+  }
+
+  if (has_wait_sync) {
+    // async snap creation?
+    struct btrfs_ioctl_vol_args_v2 async_args;
+    memset(&async_args, 0, sizeof(async_args));
+    async_args.fd = srcfd;
+    async_args.flags = BTRFS_SUBVOL_CREATE_ASYNC;
+    strcpy(async_args.name, "async_snap_test");
+
+    // remove old one, first
+    struct stat st;
+    strcpy(vol_args.name, async_args.name);
+    if (::fstatat(get_basedir_fd(), vol_args.name, &st, 0) == 0) {
+      dout(0) << "detect_feature: removing old async_snap_test" << dendl;
+      r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+      if (r != 0) {
+	int err = errno;
+	dout(0) << "detect_feature: failed to remove old async_snap_test: " << cpp_strerror(err) << dendl;
+      }
+    }
+
+    r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_CREATE_V2, &async_args);
+    if (r == 0 || errno == EEXIST) {
+      dout(0) << "detect_feature: SNAP_CREATE_V2 is supported" << dendl;
+      has_snap_create_v2 = true;
+
+      // clean up
+      strcpy(vol_args.name, "async_snap_test");
+      r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+      if (r != 0) {
+	int err = errno;
+	dout(0) << "detect_feature: SNAP_DESTROY failed: " << cpp_strerror(err) << dendl;
+      }
+    } else {
+      int err = errno;
+      dout(0) << "detect_feature: SNAP_CREATE_V2 is NOT supported: " << cpp_strerror(err) << dendl;
+    }
+  }
+
+  // clean up test subvol
+  if (srcfd >= 0)
+    TEMP_FAILURE_RETRY(::close(srcfd));
+
+  strcpy(vol_args.name, "test_subvol");
+  r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+  if (r < 0) {
+    r = -errno;
+    dout(0) << "detect_feature: failed to remove " << vol_args.name << ": " << cpp_strerror(r) << dendl;
+  }
+
+  if (m_filestore_btrfs_snap && !has_snap_create_v2) {
+    dout(0) << "mount WARNING: btrfs snaps enabled, but no SNAP_CREATE_V2 ioctl (from kernel 2.6.37+)" << dendl;
+    cerr << TEXT_YELLOW
+      << " ** WARNING: 'filestore btrfs snap' is enabled (for safe transactions,\n"
+      << "             rollback), but btrfs does not support the SNAP_CREATE_V2 ioctl\n"
+      << "             (added in Linux 2.6.37).  Expect slow btrfs sync/commit\n"
+      << "             performance.\n"
+      << TEXT_NORMAL;
+  }
+
+  return 0;
+}
+
+bool BtrfsFileStoreBackend::can_checkpoint()
+{
+  return stable_commits;
+}
+
+int BtrfsFileStoreBackend::create_current()
+{
+  struct stat st;
+  int ret = ::stat(get_current_path().c_str(), &st);
+  if (ret == 0) {
+    // current/ exists
+    if (!S_ISDIR(st.st_mode)) {
+      dout(0) << "create_current: current/ exists but is not a directory" << dendl;
+      return -EINVAL;
+    }
+
+    struct stat basest;
+    struct statfs currentfs;
+    ret = ::fstat(get_basedir_fd(), &basest);
+    if (ret < 0) {
+      ret = -errno;
+      dout(0) << "create_current: cannot fstat basedir " << cpp_strerror(ret) << dendl;
+      return ret;
+    }
+    ret = ::statfs(get_current_path().c_str(), &currentfs);
+    if (ret < 0) {
+      ret = -errno;
+      dout(0) << "create_current: cannot statsf basedir " << cpp_strerror(ret) << dendl;
+      return ret;
+    }
+    if (currentfs.f_type == BTRFS_SUPER_MAGIC && basest.st_dev != st.st_dev) {
+      dout(2) << "create_current: current appears to be a btrfs subvolume" << dendl;
+      stable_commits = true;
+    }
+    return 0;
+  }
+
+  struct btrfs_ioctl_vol_args volargs;
+  memset(&volargs, 0, sizeof(volargs));
+
+  volargs.fd = 0;
+  strcpy(volargs.name, "current");
+  if (::ioctl(get_basedir_fd(), BTRFS_IOC_SUBVOL_CREATE, (unsigned long int)&volargs) < 0) {
+    ret = -errno;
+    dout(0) << "create_current: BTRFS_IOC_SUBVOL_CREATE failed with error "
+	    << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  dout(2) << "create_current: created btrfs subvol " << get_current_path() << dendl;
+  if (::chmod(get_current_path().c_str(), 0755) < 0) {
+    ret = -errno;
+    dout(0) << "create_current: failed to chmod " << get_current_path() << " to 0755: "
+	    << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  stable_commits = true;
+  return 0;
+}
+
+int BtrfsFileStoreBackend::list_checkpoints(list<string>& ls)
+{
+  int ret, err = 0;
+
+  struct stat basest;
+  ret = ::fstat(get_basedir_fd(), &basest);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "list_checkpoints: cannot fstat basedir " << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  // get snap list
+  DIR *dir = ::opendir(get_basedir_path().c_str());
+  if (!dir) {
+    ret = -errno;
+    dout(0) << "list_checkpoints: opendir '" << get_basedir_path() << "' failed: "
+	    << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  list<string> snaps;
+  char path[PATH_MAX];
+  char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
+  struct dirent *de;
+  while (::readdir_r(dir, (struct dirent *)&buf, &de) == 0) {
+    if (!de)
+      break;
+
+    snprintf(path, sizeof(path), "%s/%s", get_basedir_path().c_str(), de->d_name);
+
+    struct stat st;
+    ret = ::stat(path, &st);
+    if (ret < 0) {
+      err = -errno;
+      dout(0) << "list_checkpoints: stat '" << path << "' failed: "
+	      << cpp_strerror(err) << dendl;
+      break;
+    }
+
+    if (!S_ISDIR(st.st_mode))
+      continue;
+
+    struct statfs fs;
+    ret = ::statfs(path, &fs);
+    if (ret < 0) {
+      err = -errno;
+      dout(0) << "list_checkpoints: statfs '" << path << "' failed: "
+	      << cpp_strerror(err) << dendl;
+      break;
+    }
+
+    if (fs.f_type == BTRFS_SUPER_MAGIC && basest.st_dev != st.st_dev)
+      snaps.push_back(string(de->d_name));
+  }
+
+  if (::closedir(dir) < 0) {
+      ret = -errno;
+      dout(0) << "list_checkpoints: closedir failed: " << cpp_strerror(ret) << dendl;
+      if (!err)
+	err = ret;
+  }
+
+  if (err)
+    return err;
+
+  ls.swap(snaps);
+  return 0;
+}
+
+int BtrfsFileStoreBackend::create_checkpoint(const string& name, uint64_t *transid)
+{
+  dout(10) << "create_checkpoint: '" << name << "'" << dendl;
+  if (has_snap_create_v2 && transid) {
+    struct btrfs_ioctl_vol_args_v2 async_args;
+    memset(&async_args, 0, sizeof(async_args));
+    async_args.fd = get_current_fd();
+    async_args.flags = BTRFS_SUBVOL_CREATE_ASYNC;
+    strncpy(async_args.name, name.c_str(), sizeof(async_args.name));
+
+    int r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_CREATE_V2, &async_args);
+    if (r < 0) {
+      r = -errno;
+      dout(0) << "create_checkpoint: async snap create '" << name << "' got " << cpp_strerror(r) << dendl;
+      return r;
+    }
+    dout(20) << "create_checkpoint: async snap create '" << name << "' transid " << async_args.transid << dendl;
+    *transid = async_args.transid;
+  } else {
+    struct btrfs_ioctl_vol_args vol_args;
+    memset(&vol_args, 0, sizeof(vol_args));
+    vol_args.fd = get_current_fd();
+    strcpy(vol_args.name, name.c_str());
+
+    int r = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_CREATE, &vol_args);
+    if (r < 0) {
+      r = -errno;
+      dout(0) << "create_checkpoint: snap create '" << name << "' got " << cpp_strerror(r) << dendl;
+      return r;
+    }
+    if (transid)
+      *transid = 0;
+  }
+  return 0;
+}
+
+int BtrfsFileStoreBackend::sync_checkpoint(uint64_t transid)
+{
+  // wait for commit
+  dout(10) << "sync_checkpoint: transid " << transid << " to complete" << dendl;
+  int ret = ::ioctl(get_op_fd(), BTRFS_IOC_WAIT_SYNC, &transid);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "sync_checkpoint: ioctl WAIT_SYNC got " << cpp_strerror(ret) << dendl;
+    return -errno;
+  }
+  dout(20) << "sync_checkpoint: done waiting for transid " << transid << dendl;
+  return 0;
+}
+
+int BtrfsFileStoreBackend::rollback_to(const string& name)
+{
+  dout(10) << "rollback_to: to '" << name << "'" << dendl;
+  char s[PATH_MAX];
+  btrfs_ioctl_vol_args vol_args;
+
+  memset(&vol_args, 0, sizeof(vol_args));
+  vol_args.fd = 0;
+  strcpy(vol_args.name, "current");
+
+  int ret = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+  if (ret && errno != ENOENT) {
+    dout(0) << "rollback_to: error removing old current subvol: " << cpp_strerror(ret) << dendl;
+    snprintf(s, sizeof(s), "%s/current.remove.me.%d", get_basedir_path().c_str(), rand());
+    if (::rename(get_current_path().c_str(), s)) {
+      ret = -errno;
+      dout(0) << "rollback_to: error renaming old current subvol: "
+	      << cpp_strerror(ret) << dendl;
+      return ret;
+    }
+  }
+
+  snprintf(s, sizeof(s), "%s/%s", get_basedir_path().c_str(), name.c_str());
+
+  // roll back
+  vol_args.fd = ::open(s, O_RDONLY);
+  if (vol_args.fd < 0) {
+    ret = -errno;
+    dout(0) << "rollback_to: error opening '" << s << "': " << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+  ret = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_CREATE, &vol_args);
+  if (ret < 0 ) {
+    ret = -errno;
+    dout(0) << "rollback_to: ioctl SNAP_CREATE got " << cpp_strerror(ret) << dendl;
+  }
+  TEMP_FAILURE_RETRY(::close(vol_args.fd));
+  return ret;
+}
+
+int BtrfsFileStoreBackend::destroy_checkpoint(const string& name)
+{
+  dout(10) << "destroy_checkpoint: '" << name << "'" << dendl;
+  btrfs_ioctl_vol_args vol_args;
+  memset(&vol_args, 0, sizeof(vol_args));
+  vol_args.fd = 0;
+  strncpy(vol_args.name, name.c_str(), sizeof(vol_args.name));
+
+  int ret = ::ioctl(get_basedir_fd(), BTRFS_IOC_SNAP_DESTROY, &vol_args);
+  if (ret) {
+    ret = -errno;
+    dout(0) << "destroy_checkpoint: ioctl SNAP_DESTROY got " << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+  return 0;
+}
+
+int BtrfsFileStoreBackend::syncfs()
+{
+  dout(15) << "syncfs" << dendl;
+  // do a full btrfs commit
+  int ret = ::ioctl(get_op_fd(), BTRFS_IOC_SYNC);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "syncfs: btrfs IOC_SYNC got " << cpp_strerror(ret) << dendl;
+  }
+  return ret;
+}
+
+int BtrfsFileStoreBackend::clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff)
+{
+  dout(20) << "clone_range: " << srcoff << "~" << len << " to " << dstoff << dendl;
+  size_t blk_size = get_blksize();
+  if (!has_clone_range ||
+      srcoff % blk_size != dstoff % blk_size) {
+    dout(20) << "clone_range: using copy" << dendl;
+    return _copy_range(from, to, srcoff, len, dstoff);
+  }
+
+  int err = 0;
+  int r = 0;
+
+  uint64_t srcoffclone = ALIGN_UP(srcoff, blk_size);
+  uint64_t dstoffclone = ALIGN_UP(dstoff, blk_size);
+  if (srcoffclone >= srcoff + len) {
+    dout(20) << "clone_range: using copy, extent too short to align srcoff" << dendl;
+    return _copy_range(from, to, srcoff, len, dstoff);
+  }
+
+  uint64_t lenclone = len - (srcoffclone - srcoff);
+  if (!ALIGNED(lenclone, blk_size)) {
+    struct stat from_stat, to_stat;
+    err = ::fstat(from, &from_stat);
+    if (err) return -errno;
+    err = ::fstat(to , &to_stat);
+    if (err) return -errno;
+
+    if (srcoff + len != (uint64_t)from_stat.st_size ||
+	dstoff + len < (uint64_t)to_stat.st_size) {
+      // Not to the end of the file, need to align length as well
+      lenclone = ALIGN_DOWN(lenclone, blk_size);
+    }
+  }
+  if (lenclone == 0) {
+    // too short
+    return _copy_range(from, to, srcoff, len, dstoff);
+  }
+
+  dout(20) << "clone_range: cloning " << srcoffclone << "~" << lenclone
+	   << " to " << dstoffclone << " = " << r << dendl;
+  btrfs_ioctl_clone_range_args a;
+  a.src_fd = from;
+  a.src_offset = srcoffclone;
+  a.src_length = lenclone;
+  a.dest_offset = dstoffclone;
+  err = ::ioctl(to, BTRFS_IOC_CLONE_RANGE, &a);
+  if (err >= 0) {
+    r += err;
+  } else if (errno == EINVAL) {
+    // Still failed, might be compressed
+    dout(20) << "clone_range: failed CLONE_RANGE call with -EINVAL, using copy" << dendl;
+    return _copy_range(from, to, srcoff, len, dstoff);
+  } else {
+    return -errno;
+  }
+
+  // Take care any trimmed from front
+  if (srcoffclone != srcoff) {
+    err = _copy_range(from, to, srcoff, srcoffclone - srcoff, dstoff);
+    if (err >= 0) {
+      r += err;
+    } else {
+      return err;
+    }
+  }
+
+  // Copy end
+  if (srcoffclone + lenclone != srcoff + len) {
+    err = _copy_range(from, to,
+			 srcoffclone + lenclone,
+			 (srcoff + len) - (srcoffclone + lenclone),
+			 dstoffclone + lenclone);
+    if (err >= 0) {
+      r += err;
+    } else {
+      return err;
+    }
+  }
+  dout(20) << "clone_range: finished " << srcoff << "~" << len
+	   << " to " << dstoff << " = " << r << dendl;
+  return r;
+}
+#endif
diff --git a/src/os/BtrfsFileStoreBackend.h b/src/os/BtrfsFileStoreBackend.h
new file mode 100644
index 0000000..f63a2a8
--- /dev/null
+++ b/src/os/BtrfsFileStoreBackend.h
@@ -0,0 +1,46 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#ifndef CEPH_BTRFSFILESTOREBACKEDN_H
+#define CEPH_BTRFSFILESTOREBACKEDN_H
+
+#if defined(__linux__)
+#include "GenericFileStoreBackend.h"
+
+class BtrfsFileStoreBackend : public GenericFileStoreBackend {
+private:
+  bool has_clone_range;       ///< clone range ioctl is supported
+  bool has_snap_create;       ///< snap create ioctl is supported
+  bool has_snap_destroy;      ///< snap destroy ioctl is supported
+  bool has_snap_create_v2;    ///< snap create v2 ioctl (async!) is supported
+  bool has_wait_sync;         ///< wait sync ioctl is supported
+  bool stable_commits;
+  bool m_filestore_btrfs_clone_range;
+  bool m_filestore_btrfs_snap;
+public:
+  BtrfsFileStoreBackend(FileStore *fs);
+  ~BtrfsFileStoreBackend() {};
+  int detect_features();
+  bool can_checkpoint();
+  int create_current();
+  int list_checkpoints(list<string>& ls);
+  int create_checkpoint(const string& name, uint64_t *cid);
+  int sync_checkpoint(uint64_t cid);
+  int rollback_to(const string& name);
+  int destroy_checkpoint(const string& name);
+  int syncfs();
+  int clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff);
+};
+#endif
+#endif
diff --git a/src/os/CollectionIndex.h b/src/os/CollectionIndex.h
index 9b1ceae..89b7b86 100644
--- a/src/os/CollectionIndex.h
+++ b/src/os/CollectionIndex.h
@@ -23,7 +23,7 @@
 #include "include/object.h"
 
 /**
- * CollectionIndex provides an interface for manipulating indexed colelctions
+ * CollectionIndex provides an interface for manipulating indexed collections
  */
 class CollectionIndex {
 protected:
@@ -127,26 +127,26 @@ protected:
    * @return Error Code, 0 for success
    */
   virtual int created(
-    const hobject_t &hoid, ///< [in] Created object.
+    const ghobject_t &oid, ///< [in] Created object.
     const char *path       ///< [in] Path to created object.
     ) = 0;
 
   /**
-   * Removes hoid from the collection
+   * Removes oid from the collection
    *
    * @return Error Code, 0 for success
    */
   virtual int unlink(
-    const hobject_t &hoid ///< [in] Object to remove
+    const ghobject_t &oid ///< [in] Object to remove
     ) = 0;
 
   /**
-   * Gets the IndexedPath for hoid.
+   * Gets the IndexedPath for oid.
    *
    * @return Error Code, 0 for success
    */
   virtual int lookup(
-    const hobject_t &hoid, ///< [in] Object to lookup
+    const ghobject_t &oid, ///< [in] Object to lookup
     IndexedPath *path,	   ///< [out] Path to object
     int *exist	           ///< [out] True if the object exists, else false
     ) = 0;
@@ -167,17 +167,17 @@ protected:
 
   /// List contents of collection by hash
   virtual int collection_list_partial(
-    const hobject_t &start, ///< [in] object at which to start
+    const ghobject_t &start, ///< [in] object at which to start
     int min_count,          ///< [in] get at least min_count objects
     int max_count,          ///< [in] return at most max_count objects
     snapid_t seq,           ///< [in] list only objects with snap >= seq
-    vector<hobject_t> *ls,  ///< [out] Listed objects
-    hobject_t *next         ///< [out] Next object to list
+    vector<ghobject_t> *ls,  ///< [out] Listed objects
+    ghobject_t *next         ///< [out] Next object to list
     ) = 0;
 
   /// List contents of collection.
   virtual int collection_list(
-    vector<hobject_t> *ls ///< [out] Listed Objects
+    vector<ghobject_t> *ls ///< [out] Listed Objects
     ) = 0;
 
   /// Call prior to removing directory
diff --git a/src/os/DBObjectMap.cc b/src/os/DBObjectMap.cc
index 5142f4d..635870b 100644
--- a/src/os/DBObjectMap.cc
+++ b/src/os/DBObjectMap.cc
@@ -1,13 +1,13 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 
-#include <iostream>
-#include <inttypes.h>
+#include "include/int_types.h"
 #include "include/buffer.h"
+
+#include <iostream>
 #include <set>
 #include <map>
 #include <string>
 #include <tr1/memory>
-
 #include <vector>
 
 #include "ObjectMap.h"
@@ -130,61 +130,68 @@ bool DBObjectMap::check(std::ostream &out)
   return retval;
 }
 
-string DBObjectMap::hobject_key(const hobject_t &hoid)
+string DBObjectMap::ghobject_key(const ghobject_t &oid)
 {
   string out;
-  append_escaped(hoid.oid.name, &out);
+  append_escaped(oid.hobj.oid.name, &out);
   out.push_back('.');
-  append_escaped(hoid.get_key(), &out);
+  append_escaped(oid.hobj.get_key(), &out);
   out.push_back('.');
-  append_escaped(hoid.nspace, &out);
+  append_escaped(oid.hobj.nspace, &out);
   out.push_back('.');
 
   char snap_with_hash[1000];
   char *t = snap_with_hash;
   char *end = t + sizeof(snap_with_hash);
-  if (hoid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     t += snprintf(t, end - t, "head");
-  else if (hoid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     t += snprintf(t, end - t, "snapdir");
   else
-    t += snprintf(t, end - t, "%llx", (long long unsigned)hoid.snap);
+    t += snprintf(t, end - t, "%llx", (long long unsigned)oid.hobj.snap);
 
-  if (hoid.pool == -1)
+  if (oid.hobj.pool == -1)
     t += snprintf(t, end - t, ".none");
   else
-    t += snprintf(t, end - t, ".%llx", (long long unsigned)hoid.pool);
-  snprintf(t, end - t, ".%.*X", (int)(sizeof(hoid.hash)*2), hoid.hash);
+    t += snprintf(t, end - t, ".%llx", (long long unsigned)oid.hobj.pool);
+  snprintf(t, end - t, ".%.*X", (int)(sizeof(oid.hobj.hash)*2), oid.hobj.hash);
+
+  if (oid.generation != ghobject_t::NO_GEN) {
+    assert(oid.shard_id != ghobject_t::NO_SHARD);
+
+    t += snprintf(t, end - t, ".%llx", (long long unsigned)oid.generation);
+    t += snprintf(t, end - t, ".%x", (int)oid.shard_id);
+  }
   out += string(snap_with_hash);
   return out;
 }
 
-string DBObjectMap::hobject_key_v0(coll_t c, const hobject_t &hoid)
+string DBObjectMap::ghobject_key_v0(coll_t c, const ghobject_t &oid)
 {
   string out;
   append_escaped(c.to_str(), &out);
   out.push_back('.');
-  append_escaped(hoid.oid.name, &out);
+  append_escaped(oid.hobj.oid.name, &out);
   out.push_back('.');
-  append_escaped(hoid.get_key(), &out);
+  append_escaped(oid.hobj.get_key(), &out);
   out.push_back('.');
 
   char snap_with_hash[1000];
   char *t = snap_with_hash;
   char *end = t + sizeof(snap_with_hash);
-  if (hoid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     t += snprintf(t, end - t, ".head");
-  else if (hoid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     t += snprintf(t, end - t, ".snapdir");
   else
-    t += snprintf(t, end - t, ".%llx", (long long unsigned)hoid.snap);
-  snprintf(t, end - t, ".%.*X", (int)(sizeof(hoid.hash)*2), hoid.hash);
+    t += snprintf(t, end - t, ".%llx", (long long unsigned)oid.hobj.snap);
+  snprintf(t, end - t, ".%.*X", (int)(sizeof(oid.hobj.hash)*2), oid.hobj.hash);
   out += string(snap_with_hash);
   return out;
 }
 
-bool DBObjectMap::parse_hobject_key_v0(const string &in, coll_t *c,
-				       hobject_t *hoid)
+bool DBObjectMap::parse_ghobject_key_v0(const string &in, coll_t *c,
+				       ghobject_t *oid)
 {
   string coll;
   string name;
@@ -244,13 +251,13 @@ bool DBObjectMap::parse_hobject_key_v0(const string &in, coll_t *c,
   pg_t pg;
   if (c->is_pg_prefix(pg))
     pool = (int64_t)pg.pool();
-  (*hoid) = hobject_t(name, key, snap, hash, pool, "");
+  (*oid) = ghobject_t(hobject_t(name, key, snap, hash, pool, ""));
   return true;
 }
 
-string DBObjectMap::map_header_key(const hobject_t &hoid)
+string DBObjectMap::map_header_key(const ghobject_t &oid)
 {
-  return hobject_key(hoid);
+  return ghobject_key(oid);
 }
 
 string DBObjectMap::header_key(uint64_t seq)
@@ -311,9 +318,9 @@ int DBObjectMap::DBObjectMapIteratorImpl::init()
 }
 
 ObjectMap::ObjectMapIterator DBObjectMap::get_iterator(
-  const hobject_t &hoid)
+  const ghobject_t &oid)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return ObjectMapIterator(new EmptyIteratorImpl());
   return _get_iterator(header);
@@ -496,15 +503,15 @@ int DBObjectMap::DBObjectMapIteratorImpl::status()
   return r;
 }
 
-int DBObjectMap::set_keys(const hobject_t &hoid,
+int DBObjectMap::set_keys(const ghobject_t &oid,
 			  const map<string, bufferlist> &set,
 			  const SequencerPosition *spos)
 {
   KeyValueDB::Transaction t = db->get_transaction();
-  Header header = lookup_create_map_header(hoid, t);
+  Header header = lookup_create_map_header(oid, t);
   if (!header)
     return -EINVAL;
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
 
   t->set(user_prefix(header), set);
@@ -512,15 +519,15 @@ int DBObjectMap::set_keys(const hobject_t &hoid,
   return db->submit_transaction(t);
 }
 
-int DBObjectMap::set_header(const hobject_t &hoid,
+int DBObjectMap::set_header(const ghobject_t &oid,
 			    const bufferlist &bl,
 			    const SequencerPosition *spos)
 {
   KeyValueDB::Transaction t = db->get_transaction();
-  Header header = lookup_create_map_header(hoid, t);
+  Header header = lookup_create_map_header(oid, t);
   if (!header)
     return -EINVAL;
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
   _set_header(header, bl, t);
   return db->submit_transaction(t);
@@ -534,10 +541,10 @@ void DBObjectMap::_set_header(Header header, const bufferlist &bl,
   t->set(sys_prefix(header), to_set);
 }
 
-int DBObjectMap::get_header(const hobject_t &hoid,
+int DBObjectMap::get_header(const ghobject_t &oid,
 			    bufferlist *bl)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header) {
     return 0;
   }
@@ -568,16 +575,16 @@ int DBObjectMap::_get_header(Header header,
   return 0;
 }
 
-int DBObjectMap::clear(const hobject_t &hoid,
+int DBObjectMap::clear(const ghobject_t &oid,
 		       const SequencerPosition *spos)
 {
   KeyValueDB::Transaction t = db->get_transaction();
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
-  remove_map_header(hoid, header, t);
+  remove_map_header(oid, header, t);
   assert(header->num_children > 0);
   header->num_children--;
   int r = _clear(header, t);
@@ -688,15 +695,15 @@ int DBObjectMap::need_parent(DBObjectMapIterator iter)
   return 1;
 }
 
-int DBObjectMap::rm_keys(const hobject_t &hoid,
+int DBObjectMap::rm_keys(const ghobject_t &oid,
 			 const set<string> &to_clear,
 			 const SequencerPosition *spos)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   KeyValueDB::Transaction t = db->get_transaction();
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
   t->rmkeys(user_prefix(header), to_clear);
   if (!header->parent) {
@@ -756,17 +763,17 @@ int DBObjectMap::rm_keys(const hobject_t &hoid,
     parent->num_children--;
     _clear(parent, t);
     header->parent = 0;
-    set_map_header(hoid, *header, t);
+    set_map_header(oid, *header, t);
     t->rmkeys_by_prefix(complete_prefix(header));
   }
   return db->submit_transaction(t);
 }
 
-int DBObjectMap::get(const hobject_t &hoid,
+int DBObjectMap::get(const ghobject_t &oid,
 		     bufferlist *_header,
 		     map<string, bufferlist> *out)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   _get_header(header, _header);
@@ -779,13 +786,13 @@ int DBObjectMap::get(const hobject_t &hoid,
   return 0;
 }
 
-int DBObjectMap::get_keys(const hobject_t &hoid,
+int DBObjectMap::get_keys(const ghobject_t &oid,
 			  set<string> *keys)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
-  ObjectMapIterator iter = get_iterator(hoid);
+  ObjectMapIterator iter = get_iterator(oid);
   for (; iter->valid(); iter->next()) {
     if (iter->status())
       return iter->status();
@@ -816,40 +823,40 @@ int DBObjectMap::scan(Header header,
   return 0;
 }
 
-int DBObjectMap::get_values(const hobject_t &hoid,
+int DBObjectMap::get_values(const ghobject_t &oid,
 			    const set<string> &keys,
 			    map<string, bufferlist> *out)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   return scan(header, keys, 0, out);
 }
 
-int DBObjectMap::check_keys(const hobject_t &hoid,
+int DBObjectMap::check_keys(const ghobject_t &oid,
 			    const set<string> &keys,
 			    set<string> *out)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   return scan(header, keys, out, 0);
 }
 
-int DBObjectMap::get_xattrs(const hobject_t &hoid,
+int DBObjectMap::get_xattrs(const ghobject_t &oid,
 			    const set<string> &to_get,
 			    map<string, bufferlist> *out)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   return db->get(xattr_prefix(header), to_get, out);
 }
 
-int DBObjectMap::get_all_xattrs(const hobject_t &hoid,
+int DBObjectMap::get_all_xattrs(const ghobject_t &oid,
 				set<string> *out)
 {
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
   KeyValueDB::Iterator iter = db->get_iterator(xattr_prefix(header));
@@ -860,39 +867,39 @@ int DBObjectMap::get_all_xattrs(const hobject_t &hoid,
   return iter->status();
 }
 
-int DBObjectMap::set_xattrs(const hobject_t &hoid,
+int DBObjectMap::set_xattrs(const ghobject_t &oid,
 			    const map<string, bufferlist> &to_set,
 			    const SequencerPosition *spos)
 {
   KeyValueDB::Transaction t = db->get_transaction();
-  Header header = lookup_create_map_header(hoid, t);
+  Header header = lookup_create_map_header(oid, t);
   if (!header)
     return -EINVAL;
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
   t->set(xattr_prefix(header), to_set);
   return db->submit_transaction(t);
 }
 
-int DBObjectMap::remove_xattrs(const hobject_t &hoid,
+int DBObjectMap::remove_xattrs(const ghobject_t &oid,
 			       const set<string> &to_remove,
 			       const SequencerPosition *spos)
 {
   KeyValueDB::Transaction t = db->get_transaction();
-  Header header = lookup_map_header(hoid);
+  Header header = lookup_map_header(oid);
   if (!header)
     return -ENOENT;
-  if (check_spos(hoid, header, spos))
+  if (check_spos(oid, header, spos))
     return 0;
   t->rmkeys(xattr_prefix(header), to_remove);
   return db->submit_transaction(t);
 }
 
-int DBObjectMap::clone(const hobject_t &hoid,
-		       const hobject_t &target,
+int DBObjectMap::clone(const ghobject_t &oid,
+		       const ghobject_t &target,
 		       const SequencerPosition *spos)
 {
-  if (hoid == target)
+  if (oid == target)
     return 0;
 
   KeyValueDB::Transaction t = db->get_transaction();
@@ -907,18 +914,18 @@ int DBObjectMap::clone(const hobject_t &hoid,
     }
   }
 
-  Header parent = lookup_map_header(hoid);
+  Header parent = lookup_map_header(oid);
   if (!parent)
     return db->submit_transaction(t);
 
-  Header source = generate_new_header(hoid, parent);
+  Header source = generate_new_header(oid, parent);
   Header destination = generate_new_header(target, parent);
   if (spos)
     destination->spos = *spos;
 
   parent->num_children = 2;
   set_header(parent, t);
-  set_map_header(hoid, *source, t);
+  set_map_header(oid, *source, t);
   set_map_header(target, *destination, t);
 
   map<string, bufferlist> to_set;
@@ -973,9 +980,9 @@ int DBObjectMap::upgrade()
 		 to_get);
 
       coll_t coll;
-      hobject_t hoid;
-      assert(parse_hobject_key_v0(iter->key(), &coll, &hoid));
-      new_map_headers[hobject_key(hoid)] = got.begin()->second;
+      ghobject_t oid;
+      assert(parse_ghobject_key_v0(iter->key(), &coll, &oid));
+      new_map_headers[ghobject_key(oid)] = got.begin()->second;
     }
 
     t->rmkeys(LEAF_PREFIX, legacy_to_remove);
@@ -1038,18 +1045,18 @@ int DBObjectMap::init(bool do_upgrade)
   return 0;
 }
 
-int DBObjectMap::sync(const hobject_t *hoid,
+int DBObjectMap::sync(const ghobject_t *oid,
 		      const SequencerPosition *spos) {
   KeyValueDB::Transaction t = db->get_transaction();
   write_state(t);
-  if (hoid) {
+  if (oid) {
     assert(spos);
-    Header header = lookup_map_header(*hoid);
+    Header header = lookup_map_header(*oid);
     if (header) {
-      dout(10) << "hoid: " << *hoid << " setting spos to "
+      dout(10) << "oid: " << *oid << " setting spos to "
 	       << *spos << dendl;
       header->spos = *spos;
-      set_map_header(*hoid, *header, t);
+      set_map_header(*oid, *header, t);
     }
   }
   return db->submit_transaction_sync(t);
@@ -1067,27 +1074,27 @@ int DBObjectMap::write_state(KeyValueDB::Transaction _t) {
 }
 
 
-DBObjectMap::Header DBObjectMap::_lookup_map_header(const hobject_t &hoid)
+DBObjectMap::Header DBObjectMap::_lookup_map_header(const ghobject_t &oid)
 {
-  while (map_header_in_use.count(hoid))
+  while (map_header_in_use.count(oid))
     header_cond.Wait(header_lock);
 
   map<string, bufferlist> out;
   set<string> to_get;
-  to_get.insert(map_header_key(hoid));
+  to_get.insert(map_header_key(oid));
   int r = db->get(HOBJECT_TO_SEQ, to_get, &out);
   if (r < 0)
     return Header();
   if (out.empty())
     return Header();
   
-  Header ret(new _Header(), RemoveMapHeaderOnDelete(this, hoid));
+  Header ret(new _Header(), RemoveMapHeaderOnDelete(this, oid));
   bufferlist::iterator iter = out.begin()->second.begin();
   ret->decode(iter);
   return ret;
 }
 
-DBObjectMap::Header DBObjectMap::_generate_new_header(const hobject_t &hoid,
+DBObjectMap::Header DBObjectMap::_generate_new_header(const ghobject_t &oid,
 						      Header parent)
 {
   Header header = Header(new _Header(), RemoveOnDelete(this));
@@ -1097,7 +1104,7 @@ DBObjectMap::Header DBObjectMap::_generate_new_header(const hobject_t &hoid,
     header->spos = parent->spos;
   }
   header->num_children = 1;
-  header->hoid = hoid;
+  header->oid = oid;
   assert(!in_use.count(header->seq));
   in_use.insert(header->seq);
 
@@ -1137,14 +1144,14 @@ DBObjectMap::Header DBObjectMap::lookup_parent(Header input)
 }
 
 DBObjectMap::Header DBObjectMap::lookup_create_map_header(
-  const hobject_t &hoid,
+  const ghobject_t &oid,
   KeyValueDB::Transaction t)
 {
   Mutex::Locker l(header_lock);
-  Header header = _lookup_map_header(hoid);
+  Header header = _lookup_map_header(oid);
   if (!header) {
-    header = _generate_new_header(hoid, Header());
-    set_map_header(hoid, *header, t);
+    header = _generate_new_header(oid, Header());
+    set_map_header(oid, *header, t);
   }
   return header;
 }
@@ -1169,50 +1176,50 @@ void DBObjectMap::set_header(Header header, KeyValueDB::Transaction t)
   t->set(sys_prefix(header), to_write);
 }
 
-void DBObjectMap::remove_map_header(const hobject_t &hoid,
+void DBObjectMap::remove_map_header(const ghobject_t &oid,
 				    Header header,
 				    KeyValueDB::Transaction t)
 {
   dout(20) << "remove_map_header: removing " << header->seq
-	   << " hoid " << hoid << dendl;
+	   << " oid " << oid << dendl;
   set<string> to_remove;
-  to_remove.insert(map_header_key(hoid));
+  to_remove.insert(map_header_key(oid));
   t->rmkeys(HOBJECT_TO_SEQ, to_remove);
 }
 
-void DBObjectMap::set_map_header(const hobject_t &hoid, _Header header,
+void DBObjectMap::set_map_header(const ghobject_t &oid, _Header header,
 				 KeyValueDB::Transaction t)
 {
   dout(20) << "set_map_header: setting " << header.seq
-	   << " hoid " << hoid << " parent seq "
+	   << " oid " << oid << " parent seq "
 	   << header.parent << dendl;
   map<string, bufferlist> to_set;
-  header.encode(to_set[map_header_key(hoid)]);
+  header.encode(to_set[map_header_key(oid)]);
   t->set(HOBJECT_TO_SEQ, to_set);
 }
 
-bool DBObjectMap::check_spos(const hobject_t &hoid,
+bool DBObjectMap::check_spos(const ghobject_t &oid,
 			     Header header,
 			     const SequencerPosition *spos)
 {
   if (!spos || *spos > header->spos) {
     stringstream out;
     if (spos)
-      dout(10) << "hoid: " << hoid << " not skipping op, *spos "
+      dout(10) << "oid: " << oid << " not skipping op, *spos "
 	       << *spos << dendl;
     else
-      dout(10) << "hoid: " << hoid << " not skipping op, *spos "
+      dout(10) << "oid: " << oid << " not skipping op, *spos "
 	       << "empty" << dendl;
     dout(10) << " > header.spos " << header->spos << dendl;
     return false;
   } else {
-    dout(10) << "hoid: " << hoid << " skipping op, *spos " << *spos
+    dout(10) << "oid: " << oid << " skipping op, *spos " << *spos
 	     << " <= header.spos " << header->spos << dendl;
     return true;
   }
 }
 
-int DBObjectMap::list_objects(vector<hobject_t> *out)
+int DBObjectMap::list_objects(vector<ghobject_t> *out)
 {
   KeyValueDB::Iterator iter = db->get_iterator(HOBJECT_TO_SEQ);
   for (iter->seek_to_first(); iter->valid(); iter->next()) {
@@ -1220,7 +1227,7 @@ int DBObjectMap::list_objects(vector<hobject_t> *out)
     bufferlist::iterator bliter = bl.begin();
     _Header header;
     header.decode(bliter);
-    out->push_back(header.hoid);
+    out->push_back(header.oid);
   }
   return 0;
 }
diff --git a/src/os/DBObjectMap.h b/src/os/DBObjectMap.h
index ba05dff..459447f 100644
--- a/src/os/DBObjectMap.h
+++ b/src/os/DBObjectMap.h
@@ -26,7 +26,7 @@
  * @see user_prefix
  * @see sys_prefix
  *
- * - HOBJECT_TO_SEQ: Contains leaf mapping from hobject_t->seq and
+ * - GHOBJECT_TO_SEQ: Contains leaf mapping from ghobject_t->hobj.seq and
  *                   corresponding omap header
  * - SYS_PREFIX: GLOBAL_STATE_KEY - contains next seq number
  *                                  @see State
@@ -66,89 +66,89 @@ public:
    * Set of headers currently in use
    */
   set<uint64_t> in_use;
-  set<hobject_t> map_header_in_use;
+  set<ghobject_t> map_header_in_use;
 
   DBObjectMap(KeyValueDB *db) : db(db),
 				header_lock("DBOBjectMap")
     {}
 
   int set_keys(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const map<string, bufferlist> &set,
     const SequencerPosition *spos=0
     );
 
   int set_header(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const bufferlist &bl,
     const SequencerPosition *spos=0
     );
 
   int get_header(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     bufferlist *bl
     );
 
   int clear(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const SequencerPosition *spos=0
     );
 
   int rm_keys(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const set<string> &to_clear,
     const SequencerPosition *spos=0
     );
 
   int get(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     bufferlist *header,
     map<string, bufferlist> *out
     );
 
   int get_keys(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     set<string> *keys
     );
 
   int get_values(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const set<string> &keys,
     map<string, bufferlist> *out
     );
 
   int check_keys(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const set<string> &keys,
     set<string> *out
     );
 
   int get_xattrs(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const set<string> &to_get,
     map<string, bufferlist> *out
     );
 
   int get_all_xattrs(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     set<string> *out
     );
 
   int set_xattrs(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const map<string, bufferlist> &to_set,
     const SequencerPosition *spos=0
     );
 
   int remove_xattrs(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const set<string> &to_remove,
     const SequencerPosition *spos=0
     );
 
   int clone(
-    const hobject_t &hoid,
-    const hobject_t &target,
+    const ghobject_t &oid,
+    const ghobject_t &target,
     const SequencerPosition *spos=0
     );
 
@@ -162,13 +162,13 @@ public:
   bool check(std::ostream &out);
 
   /// Ensure that all previous operations are durable
-  int sync(const hobject_t *hoid=0, const SequencerPosition *spos=0);
+  int sync(const ghobject_t *oid=0, const SequencerPosition *spos=0);
 
   /// Util, list all objects, there must be no other concurrent access
-  int list_objects(vector<hobject_t> *objs ///< [out] objects
+  int list_objects(vector<ghobject_t> *objs ///< [out] objects
     );
 
-  ObjectMapIterator get_iterator(const hobject_t &hoid);
+  ObjectMapIterator get_iterator(const ghobject_t &oid);
 
   static const string USER_PREFIX;
   static const string XATTR_PREFIX;
@@ -223,7 +223,7 @@ public:
     uint64_t num_children;
 
     coll_t c;
-    hobject_t hoid;
+    ghobject_t oid;
 
     SequencerPosition spos;
 
@@ -233,7 +233,7 @@ public:
       ::encode(parent, bl);
       ::encode(num_children, bl);
       ::encode(c, bl);
-      ::encode(hoid, bl);
+      ::encode(oid, bl);
       ::encode(spos, bl);
       ENCODE_FINISH(bl);
     }
@@ -244,7 +244,7 @@ public:
       ::decode(parent, bl);
       ::decode(num_children, bl);
       ::decode(c, bl);
-      ::decode(hoid, bl);
+      ::decode(oid, bl);
       if (struct_v >= 2)
 	::decode(spos, bl);
       DECODE_FINISH(bl);
@@ -255,7 +255,7 @@ public:
       f->dump_unsigned("parent", parent);
       f->dump_unsigned("num_children", num_children);
       f->dump_stream("coll") << c;
-      f->dump_stream("oid") << hoid;
+      f->dump_stream("oid") << oid;
     }
 
     static void generate_test_instances(list<_Header*> &o) {
@@ -269,15 +269,15 @@ public:
   };
 
   /// String munging (public for testing)
-  static string hobject_key(const hobject_t &hoid);
-  static string hobject_key_v0(coll_t c, const hobject_t &hoid);
-  static bool parse_hobject_key_v0(const string &in,
-				   coll_t *c, hobject_t *hoid);
+  static string ghobject_key(const ghobject_t &oid);
+  static string ghobject_key_v0(coll_t c, const ghobject_t &oid);
+  static bool parse_ghobject_key_v0(const string &in,
+				   coll_t *c, ghobject_t *oid);
 private:
   /// Implicit lock on Header->seq
   typedef std::tr1::shared_ptr<_Header> Header;
 
-  string map_header_key(const hobject_t &hoid);
+  string map_header_key(const ghobject_t &oid);
   string header_key(uint64_t seq);
   string complete_prefix(Header header);
   string user_prefix(Header header);
@@ -368,40 +368,40 @@ private:
   /// Set node containing input to new contents
   void set_header(Header input, KeyValueDB::Transaction t);
 
-  /// Remove leaf node corresponding to hoid in c
-  void remove_map_header(const hobject_t &hoid,
+  /// Remove leaf node corresponding to oid in c
+  void remove_map_header(const ghobject_t &oid,
 			 Header header,
 			 KeyValueDB::Transaction t);
 
-  /// Set leaf node for c and hoid to the value of header
-  void set_map_header(const hobject_t &hoid, _Header header,
+  /// Set leaf node for c and oid to the value of header
+  void set_map_header(const ghobject_t &oid, _Header header,
 		      KeyValueDB::Transaction t);
 
-  /// Set leaf node for c and hoid to the value of header
-  bool check_spos(const hobject_t &hoid,
+  /// Set leaf node for c and oid to the value of header
+  bool check_spos(const ghobject_t &oid,
 		  Header header,
 		  const SequencerPosition *spos);
 
-  /// Lookup or create header for c hoid
-  Header lookup_create_map_header(const hobject_t &hoid,
+  /// Lookup or create header for c oid
+  Header lookup_create_map_header(const ghobject_t &oid,
 				  KeyValueDB::Transaction t);
 
   /**
-   * Generate new header for c hoid with new seq number
+   * Generate new header for c oid with new seq number
    *
    * Has the side effect of syncronously saving the new DBObjectMap state
    */
-  Header _generate_new_header(const hobject_t &hoid, Header parent);
-  Header generate_new_header(const hobject_t &hoid, Header parent) {
+  Header _generate_new_header(const ghobject_t &oid, Header parent);
+  Header generate_new_header(const ghobject_t &oid, Header parent) {
     Mutex::Locker l(header_lock);
-    return _generate_new_header(hoid, parent);
+    return _generate_new_header(oid, parent);
   }
 
-  /// Lookup leaf header for c hoid
-  Header _lookup_map_header(const hobject_t &hoid);
-  Header lookup_map_header(const hobject_t &hoid) {
+  /// Lookup leaf header for c oid
+  Header _lookup_map_header(const ghobject_t &oid);
+  Header lookup_map_header(const ghobject_t &oid) {
     Mutex::Locker l(header_lock);
-    return _lookup_map_header(hoid);
+    return _lookup_map_header(oid);
   }
 
   /// Lookup header node for input
@@ -448,12 +448,12 @@ private:
   class RemoveMapHeaderOnDelete {
   public:
     DBObjectMap *db;
-    hobject_t obj;
-    RemoveMapHeaderOnDelete(DBObjectMap *db, const hobject_t &obj) :
-      db(db), obj(obj) {}
+    ghobject_t oid;
+    RemoveMapHeaderOnDelete(DBObjectMap *db, const ghobject_t &oid) :
+      db(db), oid(oid) {}
     void operator() (_Header *header) {
       Mutex::Locker l(db->header_lock);
-      db->map_header_in_use.erase(obj);
+      db->map_header_in_use.erase(oid);
       db->map_header_cond.Signal();
       delete header;
     }
diff --git a/src/os/FDCache.h b/src/os/FDCache.h
index f0f40e7..93557d4 100644
--- a/src/os/FDCache.h
+++ b/src/os/FDCache.h
@@ -18,7 +18,7 @@
 #include <memory>
 #include <errno.h>
 #include <cstdio>
-#include "hobject.h"
+#include "common/hobject.h"
 #include "common/Mutex.h"
 #include "common/Cond.h"
 #include "common/shared_cache.hpp"
@@ -49,7 +49,7 @@ public:
   };
 
 private:
-  SharedLRU<hobject_t, FD> registry;
+  SharedLRU<ghobject_t, FD> registry;
   CephContext *cct;
 
 public:
@@ -63,16 +63,16 @@ public:
   }
   typedef std::tr1::shared_ptr<FD> FDRef;
 
-  FDRef lookup(const hobject_t &hoid) {
+  FDRef lookup(const ghobject_t &hoid) {
     return registry.lookup(hoid);
   }
 
-  FDRef add(const hobject_t &hoid, int fd) {
+  FDRef add(const ghobject_t &hoid, int fd) {
     return registry.add(hoid, new FD(fd));
   }
 
   /// clear cached fd for hoid, subsequent lookups will get an empty FD
-  void clear(const hobject_t &hoid) {
+  void clear(const ghobject_t &hoid) {
     registry.clear(hoid);
     assert(!registry.lookup(hoid));
   }
diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc
index 108a857..89a55b3 100644
--- a/src/os/FileStore.cc
+++ b/src/os/FileStore.cc
@@ -11,8 +11,8 @@
  * Foundation.  See file COPYING.
  * 
  */
+#include "include/int_types.h"
 
-#include <inttypes.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/types.h>
@@ -25,16 +25,11 @@
 
 #if defined(__linux__)
 #include <linux/fs.h>
-#include <syscall.h>
 #endif
 
 #include <iostream>
 #include <map>
 
-#if defined(__FreeBSD__)
-#include "include/inttypes.h"
-#endif
-
 #include "include/compat.h"
 #include "include/linux_fiemap.h"
 
@@ -51,6 +46,9 @@
 #include <sstream>
 
 #include "FileStore.h"
+#include "GenericFileStoreBackend.h"
+#include "BtrfsFileStoreBackend.h"
+#include "ZFSFileStoreBackend.h"
 #include "common/BackTrace.h"
 #include "include/types.h"
 #include "FileJournal.h"
@@ -74,10 +72,6 @@
 #include "common/ceph_crypto.h"
 using ceph::crypto::SHA1;
 
-#ifndef __CYGWIN__
-#  include "btrfs_ioctl.h"
-#endif
-
 #include "include/assert.h"
 
 #include "common/config.h"
@@ -86,45 +80,40 @@ using ceph::crypto::SHA1;
 #undef dout_prefix
 #define dout_prefix *_dout << "filestore(" << basedir << ") "
 
-#if defined(__linux__)
-# ifndef BTRFS_SUPER_MAGIC
-static const __SWORD_TYPE BTRFS_SUPER_MAGIC(0x9123683E);
-# endif
-# ifndef XFS_SUPER_MAGIC
-static const __SWORD_TYPE XFS_SUPER_MAGIC(0x58465342);
-# endif
-#endif
-
 #define COMMIT_SNAP_ITEM "snap_%lld"
 #define CLUSTER_SNAP_ITEM "clustersnap_%s"
 
 #define REPLAY_GUARD_XATTR "user.cephos.seq"
 #define GLOBAL_REPLAY_GUARD_XATTR "user.cephos.gseq"
 
-/*
- * long file names will have the following format:
- *
- * prefix_hash_index_cookie
- *
- * The prefix will just be the first X bytes of the original file name.
- * The cookie is a constant string that shows whether this file name
- * is hashed
- */
-
-#define FILENAME_LFN_DIGEST_SIZE CEPH_CRYPTO_SHA1_DIGESTSIZE
+//Initial features in new superblock.
+static CompatSet get_fs_initial_compat_set() {
+  CompatSet::FeatureSet ceph_osd_feature_compat;
+  CompatSet::FeatureSet ceph_osd_feature_ro_compat;
+  CompatSet::FeatureSet ceph_osd_feature_incompat;
+  return CompatSet(ceph_osd_feature_compat, ceph_osd_feature_ro_compat,
+		   ceph_osd_feature_incompat);
+}
 
-#define FILENAME_MAX_LEN        4096    // the long file name size
-#define FILENAME_SHORT_LEN      255     // the short file name size
-#define FILENAME_COOKIE         "long"  // ceph long file name
-#define FILENAME_HASH_LEN       FILENAME_LFN_DIGEST_SIZE
-#define FILENAME_EXTRA	        4       // underscores and digit
+//Features are added here that this FileStore supports.
+static CompatSet get_fs_supported_compat_set() {
+  CompatSet compat =  get_fs_initial_compat_set();
+  //Any features here can be set in code, but not in initial superblock
+  compat.incompat.insert(CEPH_FS_FEATURE_INCOMPAT_SHARDS);
+  return compat;
+}
 
-#define LFN_ATTR "user.cephos.lfn"
 
-#define FILENAME_PREFIX_LEN (FILENAME_SHORT_LEN - FILENAME_HASH_LEN - (sizeof(FILENAME_COOKIE) - 1) - FILENAME_EXTRA)
-#define ALIGN_DOWN(x, by) ((x) - ((x) % (by)))
-#define ALIGNED(x, by) (!((x) % (by)))
-#define ALIGN_UP(x, by) (ALIGNED((x), (by)) ? (x) : (ALIGN_DOWN((x), (by)) + (by)))
+void FileStore::FSPerfTracker::update_from_perfcounters(
+  PerfCounters &logger)
+{
+  os_commit_latency.consume_next(
+    logger.get_tavg_ms(
+      l_os_commit_lat));
+  os_apply_latency.consume_next(
+    logger.get_tavg_ms(
+      l_os_apply_lat));
+}
 
 
 ostream& operator<<(ostream& out, const FileStore::OpSequencer& s)
@@ -152,12 +141,12 @@ int FileStore::init_index(coll_t cid)
 {
   char path[PATH_MAX];
   get_cdir(cid, path, sizeof(path));
-  int r = index_manager.init_index(cid, path, on_disk_version);
+  int r = index_manager.init_index(cid, path, target_version);
   assert(!m_filestore_fail_eio || r != -EIO);
   return r;
 }
 
-int FileStore::lfn_find(coll_t cid, const hobject_t& oid, IndexedPath *path)
+int FileStore::lfn_find(coll_t cid, const ghobject_t& oid, IndexedPath *path)
 {
   Index index; 
   int r, exist;
@@ -175,20 +164,25 @@ int FileStore::lfn_find(coll_t cid, const hobject_t& oid, IndexedPath *path)
   return 0;
 }
 
-int FileStore::lfn_truncate(coll_t cid, const hobject_t& oid, off_t length)
+int FileStore::lfn_truncate(coll_t cid, const ghobject_t& oid, off_t length)
 {
   IndexedPath path;
-  int r = lfn_find(cid, oid, &path);
+  FDRef fd;
+  int r = lfn_open(cid, oid, false, &fd, &path);
   if (r < 0)
     return r;
-  r = ::truncate(path->path(), length);
+  r = ::ftruncate(**fd, length);
   if (r < 0)
     r = -errno;
+  if (r >= 0 && m_filestore_sloppy_crc) {
+    int rc = backend->_crc_update_truncate(**fd, length);
+    assert(rc >= 0);
+  }
   assert(!m_filestore_fail_eio || r != -EIO);
   return r;
 }
 
-int FileStore::lfn_stat(coll_t cid, const hobject_t& oid, struct stat *buf)
+int FileStore::lfn_stat(coll_t cid, const ghobject_t& oid, struct stat *buf)
 {
   IndexedPath path;
   int r = lfn_find(cid, oid, &path);
@@ -201,12 +195,15 @@ int FileStore::lfn_stat(coll_t cid, const hobject_t& oid, struct stat *buf)
 }
 
 int FileStore::lfn_open(coll_t cid,
-			const hobject_t& oid,
+			const ghobject_t& oid,
 			bool create,
 			FDRef *outfd,
 			IndexedPath *path,
 			Index *index) 
 {
+  assert(get_allow_sharded_objects() ||
+	 ( oid.shard_id == ghobject_t::NO_SHARD &&
+	   oid.generation == ghobject_t::NO_GEN ));
   assert(outfd);
   int flags = O_RDWR;
   if (create)
@@ -274,14 +271,14 @@ void FileStore::lfn_close(FDRef fd)
 {
 }
 
-int FileStore::lfn_link(coll_t c, coll_t cid, const hobject_t& o) 
+int FileStore::lfn_link(coll_t c, coll_t newcid, const ghobject_t& o, const ghobject_t& newoid)
 {
   Index index_new, index_old;
   IndexedPath path_new, path_old;
   int exist;
   int r;
-  if (c < cid) {
-    r = get_index(cid, &index_new);
+  if (c < newcid) {
+    r = get_index(newcid, &index_new);
     if (r < 0)
       return r;
     r = get_index(c, &index_old);
@@ -291,7 +288,7 @@ int FileStore::lfn_link(coll_t c, coll_t cid, const hobject_t& o)
     r = get_index(c, &index_old);
     if (r < 0)
       return r;
-    r = get_index(cid, &index_new);
+    r = get_index(newcid, &index_new);
     if (r < 0)
       return r;
   }
@@ -304,7 +301,7 @@ int FileStore::lfn_link(coll_t c, coll_t cid, const hobject_t& o)
   if (!exist)
     return -ENOENT;
 
-  r = index_new->lookup(o, &path_new, &exist);
+  r = index_new->lookup(newoid, &path_new, &exist);
   if (r < 0) {
     assert(!m_filestore_fail_eio || r != -EIO);
     return r;
@@ -318,7 +315,7 @@ int FileStore::lfn_link(coll_t c, coll_t cid, const hobject_t& o)
   if (r < 0)
     return -errno;
 
-  r = index_new->created(o, path_new->path());
+  r = index_new->created(newoid, path_new->path());
   if (r < 0) {
     assert(!m_filestore_fail_eio || r != -EIO);
     return r;
@@ -326,8 +323,9 @@ int FileStore::lfn_link(coll_t c, coll_t cid, const hobject_t& o)
   return 0;
 }
 
-int FileStore::lfn_unlink(coll_t cid, const hobject_t& o,
-			  const SequencerPosition &spos)
+int FileStore::lfn_unlink(coll_t cid, const ghobject_t& o,
+			  const SequencerPosition &spos,
+			  bool force_clear_omap)
 {
   Index index;
   int r = get_index(cid, &index);
@@ -343,14 +341,18 @@ int FileStore::lfn_unlink(coll_t cid, const hobject_t& o,
       return r;
     }
 
-    struct stat st;
-    r = ::stat(path->path(), &st);
-    if (r < 0) {
-      r = -errno;
-      assert(!m_filestore_fail_eio || r != -EIO);
-      return r;
+    if (!force_clear_omap) {
+      struct stat st;
+      r = ::stat(path->path(), &st);
+      if (r < 0) {
+	r = -errno;
+	assert(!m_filestore_fail_eio || r != -EIO);
+	return r;
+      }
+      if (st.st_nlink == 1)
+	force_clear_omap = true;
     }
-    if (st.st_nlink == 1) {
+    if (force_clear_omap) {
       dout(20) << __func__ << ": clearing omap on " << o
 	       << " in cid " << cid << dendl;
       r = object_map->clear(o, &spos);
@@ -367,7 +369,7 @@ int FileStore::lfn_unlink(coll_t cid, const hobject_t& o,
       /* Ensure that replay of this op doesn't result in the object_map
        * going away.
        */
-      if (!btrfs_stable_commits)
+      if (!backend->can_checkpoint())
 	object_map->sync(&o, &spos);
     }
   }
@@ -377,17 +379,10 @@ int FileStore::lfn_unlink(coll_t cid, const hobject_t& o,
 FileStore::FileStore(const std::string &base, const std::string &jdev, const char *name, bool do_update) :
   internal_name(name),
   basedir(base), journalpath(jdev),
-  btrfs(false),
-  btrfs_stable_commits(false),
   blk_size(0),
-  btrfs_trans_start_end(false), btrfs_clone_range(false),
-  btrfs_snap_create(false),
-  btrfs_snap_destroy(false),
-  btrfs_snap_create_v2(false),
-  btrfs_wait_sync(false),
-  ioctl_fiemap(false),
   fsid_fd(-1), op_fd(-1),
   basedir_fd(-1), current_fd(-1),
+  generic_backend(NULL), backend(NULL),
   index_manager(do_update),
   ondisk_finisher(g_ceph_context),
   lock("FileStore::lock"),
@@ -407,11 +402,7 @@ FileStore::FileStore(const std::string &base, const std::string &jdev, const cha
 	g_conf->filestore_op_thread_suicide_timeout, &op_tp),
   logger(NULL),
   read_error_lock("FileStore::read_error_lock"),
-  m_filestore_btrfs_clone_range(g_conf->filestore_btrfs_clone_range),
-  m_filestore_btrfs_snap (g_conf->filestore_btrfs_snap ),
   m_filestore_commit_timeout(g_conf->filestore_commit_timeout),
-  m_filestore_fiemap(g_conf->filestore_fiemap),
-  m_filestore_fsync_flushes_journal_data(g_conf->filestore_fsync_flushes_journal_data),
   m_filestore_journal_parallel(g_conf->filestore_journal_parallel ),
   m_filestore_journal_trailing(g_conf->filestore_journal_trailing),
   m_filestore_journal_writeahead(g_conf->filestore_journal_writeahead),
@@ -431,7 +422,12 @@ FileStore::FileStore(const std::string &base, const std::string &jdev, const cha
   m_filestore_queue_committing_max_ops(g_conf->filestore_queue_committing_max_ops),
   m_filestore_queue_committing_max_bytes(g_conf->filestore_queue_committing_max_bytes),
   m_filestore_do_dump(false),
-  m_filestore_dump_fmt(true)
+  m_filestore_dump_fmt(true),
+  m_filestore_sloppy_crc(g_conf->filestore_sloppy_crc),
+  m_filestore_sloppy_crc_block_size(g_conf->filestore_sloppy_crc_block_size),
+  m_fs_type(FS_TYPE_NONE),
+  m_filestore_max_inline_xattr_size(0),
+  m_filestore_max_inline_xattrs(0)
 {
   m_filestore_kill_at.set(g_conf->filestore_kill_at);
 
@@ -478,6 +474,11 @@ FileStore::FileStore(const std::string &base, const std::string &jdev, const cha
 
   g_ceph_context->get_perfcounters_collection()->add(logger);
   g_ceph_context->_conf->add_observer(this);
+
+  generic_backend = new GenericFileStoreBackend(this);
+  backend = generic_backend;
+
+  superblock.compat_features = get_fs_initial_compat_set();
 }
 
 FileStore::~FileStore()
@@ -485,6 +486,8 @@ FileStore::~FileStore()
   g_ceph_context->_conf->remove_observer(this);
   g_ceph_context->get_perfcounters_collection()->remove(logger);
 
+  delete generic_backend;
+
   if (journal)
     journal->logger = NULL;
   delete logger;
@@ -508,57 +511,6 @@ bool parse_attrname(char **name)
   return false;
 }
 
-static int do_fiemap(int fd, off_t start, size_t len, struct fiemap **pfiemap)
-{
-  struct fiemap *fiemap = NULL;
-  struct fiemap *_realloc_fiemap = NULL;
-  int size;
-  int ret;
-
-  fiemap = (struct fiemap*)calloc(sizeof(struct fiemap), 1);
-  if (!fiemap)
-    return -ENOMEM;
-
-  fiemap->fm_start = start;
-  fiemap->fm_length = len;
-
-  fsync(fd); /* flush extents to disk if needed */
-
-  if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
-    ret = -errno;
-    goto done_err;
-  }
-
-  size = sizeof(struct fiemap_extent) * (fiemap->fm_mapped_extents);
-
-  _realloc_fiemap = (struct fiemap *)realloc(fiemap, sizeof(struct fiemap) +
-                                    size);
-  if (!_realloc_fiemap) {
-    ret = -ENOMEM;
-    goto done_err;
-  } else {
-    fiemap = _realloc_fiemap;
-  }
-
-  memset(fiemap->fm_extents, 0, size);
-
-  fiemap->fm_extent_count = fiemap->fm_mapped_extents;
-  fiemap->fm_mapped_extents = 0;
-
-  if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
-    ret = -errno;
-    goto done_err;
-  }
-  *pfiemap = fiemap;
-
-  return 0;
-
-done_err:
-  *pfiemap = NULL;
-  free(fiemap);
-  return ret;
-}
-
 int FileStore::statfs(struct statfs *buf)
 {
   if (::statfs(basedir.c_str(), buf) < 0) {
@@ -598,16 +550,9 @@ int FileStore::dump_journal(ostream& out)
 int FileStore::mkfs()
 {
   int ret = 0;
-  int basedir_fd;
   char fsid_fn[PATH_MAX];
-  struct stat st;
   uuid_d old_fsid;
 
-#if defined(__linux__)
-  struct btrfs_ioctl_vol_args volargs;
-  memset(&volargs, 0, sizeof(volargs));
-#endif
-
   dout(1) << "mkfs in " << basedir << dendl;
   basedir_fd = ::open(basedir.c_str(), O_RDONLY);
   if (basedir_fd < 0) {
@@ -679,6 +624,13 @@ int FileStore::mkfs()
     goto close_fsid_fd;
   }
 
+  ret = write_superblock();
+  if (ret < 0) {
+    derr << "mkfs: write_superblock() failed: "
+	 << cpp_strerror(ret) << dendl;
+    goto close_fsid_fd;
+  }
+
   struct statfs basefs;
   ret = ::fstatfs(basedir_fd, &basefs);
   if (ret < 0) {
@@ -688,72 +640,20 @@ int FileStore::mkfs()
     goto close_fsid_fd;
   }
 
-  // current
-  ret = ::stat(current_fn.c_str(), &st);
-  if (ret == 0) {
-    // current/ exists
-    if (!S_ISDIR(st.st_mode)) {
-      ret = -EINVAL;
-      derr << "mkfs current/ exists but is not a directory" << dendl;
-      goto close_fsid_fd;
-    }
-
+  if (basefs.f_type == BTRFS_SUPER_MAGIC) {
 #if defined(__linux__)
-    // is current/ a btrfs subvolume?
-    //  check fsid, and compare st_dev to see if it's a subvolume.
-    struct stat basest;
-    struct statfs currentfs;
-    ret = ::fstat(basedir_fd, &basest);
-    if (ret < 0) {
-      ret = -errno;
-      derr << "mkfs cannot fstat basedir "
-	   << cpp_strerror(ret) << dendl;
-      goto close_fsid_fd;
-    }
-    ret = ::statfs(current_fn.c_str(), &currentfs);
-    if (ret < 0) {
-      ret = -errno;
-      derr << "mkfs cannot statsf basedir "
-	   << cpp_strerror(ret) << dendl;
-      goto close_fsid_fd;
-    }
-    if (basefs.f_type == BTRFS_SUPER_MAGIC &&
-	currentfs.f_type == BTRFS_SUPER_MAGIC &&
-	basest.st_dev != st.st_dev) {
-      dout(2) << " current appears to be a btrfs subvolume" << dendl;
-      btrfs_stable_commits = true;
-    }
+    backend = new BtrfsFileStoreBackend(this);
 #endif
-  } else {
-#if defined(__linux__)
-    if (basefs.f_type == BTRFS_SUPER_MAGIC) {
-      volargs.fd = 0;
-      strcpy(volargs.name, "current");
-      if (::ioctl(basedir_fd, BTRFS_IOC_SUBVOL_CREATE, (unsigned long int)&volargs) < 0) {
-	ret = -errno;
-	derr << "mkfs: BTRFS_IOC_SUBVOL_CREATE failed with error "
-	     << cpp_strerror(ret) << dendl;
-	goto close_fsid_fd;
-      }
-
-      dout(2) << " created btrfs subvol " << current_fn << dendl;
-      if (::chmod(current_fn.c_str(), 0755) < 0) {
-	ret = -errno;
-	derr << "mkfs: failed to chmod " << current_fn << " to 0755: "
-	     << cpp_strerror(ret) << dendl;
-	goto close_fsid_fd;
-      }
-      btrfs_stable_commits = true;
-    } else
+  } else if (basefs.f_type == ZFS_SUPER_MAGIC) {
+#ifdef HAVE_LIBZFS
+    backend = new ZFSFileStoreBackend(this);
 #endif
-    {
-      if (::mkdir(current_fn.c_str(), 0755) < 0) {
-	ret = -errno;
-	derr << "mkfs: mkdir " << current_fn << " failed: "
-	     << cpp_strerror(ret) << dendl;
-	goto close_fsid_fd;
-      }
-    }
+  }
+
+  ret = backend->create_current();
+  if (ret < 0) {
+    derr << "mkfs: failed to create current/ " << cpp_strerror(ret) << dendl;
+    goto close_fsid_fd;
   }
 
   // write initial op_seq
@@ -774,30 +674,19 @@ int FileStore::mkfs()
 	goto close_fsid_fd;
       }
 
-      if (btrfs_stable_commits) {
+      if (backend->can_checkpoint()) {
 	// create snap_1 too
-	snprintf(volargs.name, sizeof(volargs.name), COMMIT_SNAP_ITEM, 1ull);
-	volargs.fd = ::open(current_fn.c_str(), O_RDONLY);
-	assert(volargs.fd >= 0);
-	if (::ioctl(basedir_fd, BTRFS_IOC_SNAP_CREATE, (unsigned long int)&volargs)) {
-	  ret = -errno;
-	  if (ret != -EEXIST) {
-	    TEMP_FAILURE_RETRY(::close(fd));  
-	    TEMP_FAILURE_RETRY(::close(volargs.fd));
-	    derr << "mkfs: failed to create " << volargs.name << ": "
-		 << cpp_strerror(ret) << dendl;
-	    goto close_fsid_fd;
-	  }
-	}
-	if (::fchmod(volargs.fd, 0755)) {
+	current_fd = ::open(current_fn.c_str(), O_RDONLY);
+	assert(current_fd >= 0);
+	char s[NAME_MAX];
+	snprintf(s, sizeof(s), COMMIT_SNAP_ITEM, 1ull);
+	ret = backend->create_checkpoint(s, NULL);
+	TEMP_FAILURE_RETRY(::close(current_fd));
+	if (ret < 0 && ret != -EEXIST) {
 	  TEMP_FAILURE_RETRY(::close(fd));  
-	  TEMP_FAILURE_RETRY(::close(volargs.fd));
-	  ret = -errno;
-	  derr << "mkfs: failed to chmod " << basedir << "/" << volargs.name << " to 0755: "
-	       << cpp_strerror(ret) << dendl;
+	  derr << "mkfs: failed to create snap_1: " << cpp_strerror(ret) << dendl;
 	  goto close_fsid_fd;
 	}
-	TEMP_FAILURE_RETRY(::close(volargs.fd));
       }
     }
     TEMP_FAILURE_RETRY(::close(fd));  
@@ -831,6 +720,10 @@ int FileStore::mkfs()
   fsid_fd = -1;
  close_basedir_fd:
   TEMP_FAILURE_RETRY(::close(basedir_fd));
+  if (backend != generic_backend) {
+    delete backend;
+    backend = generic_backend;
+  }
   return ret;
 }
 
@@ -928,106 +821,48 @@ bool FileStore::test_mount_in_use()
   return inuse;
 }
 
-int FileStore::_test_fiemap()
-{
-  char fn[PATH_MAX];
-  snprintf(fn, sizeof(fn), "%s/fiemap_test", basedir.c_str());
-
-  int fd = ::open(fn, O_CREAT|O_RDWR|O_TRUNC, 0644);
-  if (fd < 0) {
-    fd = -errno;
-    derr << "_test_fiemap unable to create " << fn << ": " << cpp_strerror(fd) << dendl;
-    return fd;
-  }
-
-  // ext4 has a bug in older kernels where fiemap will return an empty
-  // result in some cases.  this is a file layout that triggers the bug
-  // on 2.6.34-rc5.
-  int v[] = {
-    0x0000000000016000, 0x0000000000007000,
-    0x000000000004a000, 0x0000000000007000,
-    0x0000000000060000, 0x0000000000001000,
-    0x0000000000061000, 0x0000000000008000,
-    0x0000000000069000, 0x0000000000007000,
-    0x00000000000a3000, 0x000000000000c000,
-    0x000000000024e000, 0x000000000000c000,
-    0x000000000028b000, 0x0000000000009000,
-    0x00000000002b1000, 0x0000000000003000,
-    0, 0
-  };
-  for (int i=0; v[i]; i++) {
-    int off = v[i++];
-    int len = v[i];
-
-    // write a large extent
-    char buf[len];
-    memset(buf, 1, sizeof(buf));
-    int r = ::lseek(fd, off, SEEK_SET);
-    if (r < 0) {
-      r = -errno;
-      derr << "_test_fiemap failed to lseek " << fn << ": " << cpp_strerror(r) << dendl;
-      TEMP_FAILURE_RETRY(::close(fd));
-      return r;
-    }
-    r = safe_write(fd, buf, sizeof(buf));
-    if (r < 0) {
-      derr << "_test_fiemap failed to write to " << fn << ": " << cpp_strerror(r) << dendl;
-      TEMP_FAILURE_RETRY(::close(fd));
-      return r;
-    }
-  }
-  ::fsync(fd);
-
-  // fiemap an extent inside that
-  struct fiemap *fiemap;
-  int r = do_fiemap(fd, 2430421, 59284, &fiemap);
-  if (r < 0) {
-    dout(0) << "mount FIEMAP ioctl is NOT supported" << dendl;
-    ioctl_fiemap = false;
-  } else {
-    if (fiemap->fm_mapped_extents == 0) {
-      dout(0) << "mount FIEMAP ioctl is supported, but buggy -- upgrade your kernel" << dendl;
-      ioctl_fiemap = false;
-    } else {
-      dout(0) << "mount FIEMAP ioctl is supported and appears to work" << dendl;
-      ioctl_fiemap = true;
-    }
-  }
-  if (!m_filestore_fiemap) {
-    dout(0) << "mount FIEMAP ioctl is disabled via 'filestore fiemap' config option" << dendl;
-    ioctl_fiemap = false;
-  }
-  free(fiemap);
-
-  ::unlink(fn);
-  TEMP_FAILURE_RETRY(::close(fd));
-  return 0;
-}
-
 int FileStore::_detect_fs()
 {
-  int fd = ::open(basedir.c_str(), O_RDONLY);
-  if (fd < 0)
-    return -errno;
-
   struct statfs st;
-  int r = ::fstatfs(fd, &st);
-  if (r < 0) {
-    TEMP_FAILURE_RETRY(::close(fd));
+  int r = ::fstatfs(basedir_fd, &st);
+  if (r < 0)
     return -errno;
-  }
 
+  blk_size = st.f_bsize;
+
+  m_fs_type = FS_TYPE_OTHER;
 #if defined(__linux__)
-  if (st.f_type == XFS_SUPER_MAGIC) {
+  if (st.f_type == BTRFS_SUPER_MAGIC) {
+    dout(0) << "mount detected btrfs" << dendl;
+    backend = new BtrfsFileStoreBackend(this);
+
+    wbthrottle.set_fs(WBThrottle::BTRFS);
+    m_fs_type = FS_TYPE_BTRFS;
+  } else if (st.f_type == XFS_SUPER_MAGIC) {
     dout(1) << "mount detected xfs" << dendl;
     if (m_filestore_replica_fadvise) {
       dout(1) << " disabling 'filestore replica fadvise' due to known issues with fadvise(DONTNEED) on xfs" << dendl;
       g_conf->set_val("filestore_replica_fadvise", "false");
       g_conf->apply_changes(NULL);
       assert(m_filestore_replica_fadvise == false);
+      m_fs_type = FS_TYPE_XFS;
     }
   }
 #endif
+#ifdef HAVE_LIBZFS
+  if (st.f_type == ZFS_SUPER_MAGIC) {
+    backend = new ZFSFileStoreBackend(this);
+    m_fs_type = FS_TYPE_ZFS;
+  }
+#endif
+
+  set_xattr_limits_via_conf();
+
+  r = backend->detect_features();
+  if (r < 0) {
+    derr << "_detect_fs: detect_features error: " << cpp_strerror(r) << dendl;
+    return r;
+  }
 
   // test xattrs
   char fn[PATH_MAX];
@@ -1038,7 +873,6 @@ int FileStore::_detect_fs()
   if (tmpfd < 0) {
     int ret = -errno;
     derr << "_detect_fs unable to create " << fn << ": " << cpp_strerror(ret) << dendl;
-    TEMP_FAILURE_RETRY(::close(fd));
     return ret;
   }
 
@@ -1053,7 +887,6 @@ int FileStore::_detect_fs()
 	   << "file system with the 'user_xattr' option." << dendl;
     ::unlink(fn);
     TEMP_FAILURE_RETRY(::close(tmpfd));
-    TEMP_FAILURE_RETRY(::close(fd));
     return -ENOTSUP;
   }
 
@@ -1065,14 +898,7 @@ int FileStore::_detect_fs()
   chain_fsetxattr(tmpfd, "user.test4", &buf, sizeof(buf));
   ret = chain_fsetxattr(tmpfd, "user.test5", &buf, sizeof(buf));
   if (ret == -ENOSPC) {
-    if (!g_conf->filestore_xattr_use_omap) {
-      dout(0) << "limited size xattrs -- automatically enabling filestore_xattr_use_omap" << dendl;
-      g_conf->set_val("filestore_xattr_use_omap", "true");
-      g_conf->apply_changes(NULL);
-      assert(g_conf->filestore_xattr_use_omap == true);
-    } else {
-      dout(0) << "limited size xattrs -- filestore_xattr_use_omap already enabled" << dendl;
-    }
+    dout(0) << "limited size xattrs" << dendl;
   }
   chain_fremovexattr(tmpfd, "user.test");
   chain_fremovexattr(tmpfd, "user.test2");
@@ -1083,216 +909,6 @@ int FileStore::_detect_fs()
   ::unlink(fn);
   TEMP_FAILURE_RETRY(::close(tmpfd));
 
-  r = _test_fiemap();
-  if (r < 0) {
-    TEMP_FAILURE_RETRY(::close(fd));
-    return -r;
-  }
-
-  blk_size = st.f_bsize;
-
-#if defined(__linux__)
-  if (st.f_type == BTRFS_SUPER_MAGIC) {
-    dout(0) << "mount detected btrfs" << dendl;      
-    wbthrottle.set_fs(WBThrottle::BTRFS);
-    btrfs = true;
-
-    btrfs_stable_commits = btrfs && m_filestore_btrfs_snap;
-
-    // clone_range?
-    if (m_filestore_btrfs_clone_range) {
-      btrfs_clone_range = true;
-      int r = _do_clone_range(fsid_fd, -1, 0, 1, 0);
-      if (r == -EBADF) {
-	dout(0) << "mount btrfs CLONE_RANGE ioctl is supported" << dendl;
-      } else {
-	btrfs_clone_range = false;
-	dout(0) << "mount btrfs CLONE_RANGE ioctl is NOT supported: " << cpp_strerror(r) << dendl;
-      }
-    } else {
-      dout(0) << "mount btrfs CLONE_RANGE ioctl is DISABLED via 'filestore btrfs clone range' option" << dendl;
-    }
-
-    struct btrfs_ioctl_vol_args vol_args;
-    memset(&vol_args, 0, sizeof(vol_args));
-
-    // create test source volume
-    vol_args.fd = 0;
-    strcpy(vol_args.name, "test_subvol");
-    r = ::ioctl(fd, BTRFS_IOC_SUBVOL_CREATE, &vol_args);
-    if (r != 0) {
-      r = -errno;
-      dout(0) << "mount  failed to create simple subvolume " << vol_args.name << ": " << cpp_strerror(r) << dendl;
-    }
-    int srcfd = ::openat(fd, vol_args.name, O_RDONLY);
-    if (srcfd < 0) {
-      r = -errno;
-      dout(0) << "mount  failed to open " << vol_args.name << ": " << cpp_strerror(r) << dendl;
-    }
-
-    // snap_create and snap_destroy?
-    vol_args.fd = srcfd;
-    strcpy(vol_args.name, "sync_snap_test");
-    r = ::ioctl(fd, BTRFS_IOC_SNAP_CREATE, &vol_args);
-    int err = errno;
-    if (r == 0 || errno == EEXIST) {
-      dout(0) << "mount btrfs SNAP_CREATE is supported" << dendl;
-      btrfs_snap_create = true;
-
-      r = ::ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
-      if (r == 0) {
-	dout(0) << "mount btrfs SNAP_DESTROY is supported" << dendl;
-	btrfs_snap_destroy = true;
-      } else {
-	err = -errno;
-	dout(0) << "mount btrfs SNAP_DESTROY failed: " << cpp_strerror(err) << dendl;
-
-	if (err == -EPERM && getuid() != 0) {
-	  dout(0) << "btrfs SNAP_DESTROY failed with EPERM as non-root; remount with -o user_subvol_rm_allowed" << dendl;
-	  cerr << TEXT_YELLOW
-	       << "btrfs SNAP_DESTROY failed as non-root; remount with -o user_subvol_rm_allowed"
-	       << TEXT_NORMAL
-	       << std::endl;
-	} else if (err == -EOPNOTSUPP) {
-	  derr << "btrfs SNAP_DESTROY ioctl not supported; you need a kernel newer than 2.6.32" << dendl;
-	}
-      }
-    } else {
-      dout(0) << "mount btrfs SNAP_CREATE failed: " << cpp_strerror(err) << dendl;
-    }
-
-    if (m_filestore_btrfs_snap && !btrfs_snap_destroy) {
-      dout(0) << "mount btrfs snaps enabled, but no SNAP_DESTROY ioctl; DISABLING" << dendl;
-      btrfs_stable_commits = false;
-    }
-
-    // start_sync?
-    __u64 transid = 0;
-    r = ::ioctl(fd, BTRFS_IOC_START_SYNC, &transid);
-    if (r < 0) {
-      int err = errno;
-      dout(0) << "mount btrfs START_SYNC got " << cpp_strerror(err) << dendl;
-    }
-    if (r == 0 && transid > 0) {
-      dout(0) << "mount btrfs START_SYNC is supported (transid " << transid << ")" << dendl;
-
-      // do we have wait_sync too?
-      r = ::ioctl(fd, BTRFS_IOC_WAIT_SYNC, &transid);
-      if (r == 0 || errno == ERANGE) {
-	dout(0) << "mount btrfs WAIT_SYNC is supported" << dendl;
-	btrfs_wait_sync = true;
-      } else {
-	int err = errno;
-	dout(0) << "mount btrfs WAIT_SYNC is NOT supported: " << cpp_strerror(err) << dendl;
-      }
-    } else {
-      int err = errno;
-      dout(0) << "mount btrfs START_SYNC is NOT supported: " << cpp_strerror(err) << dendl;
-    }
-
-    if (btrfs_wait_sync) {
-      // async snap creation?
-      struct btrfs_ioctl_vol_args_v2 async_args;
-      memset(&async_args, 0, sizeof(async_args));
-      async_args.fd = srcfd;
-      async_args.flags = BTRFS_SUBVOL_CREATE_ASYNC;
-      strcpy(async_args.name, "async_snap_test");
-
-      // remove old one, first
-      struct stat st;
-      strcpy(vol_args.name, async_args.name);
-      if (::fstatat(fd, vol_args.name, &st, 0) == 0) {
-	dout(0) << "mount btrfs removing old async_snap_test" << dendl;
-	r = ::ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
-	if (r != 0) {
-	  int err = errno;
-	  dout(0) << "mount  failed to remove old async_snap_test: " << cpp_strerror(err) << dendl;
-	}
-      }
-
-      r = ::ioctl(fd, BTRFS_IOC_SNAP_CREATE_V2, &async_args);
-      if (r == 0 || errno == EEXIST) {
-	dout(0) << "mount btrfs SNAP_CREATE_V2 is supported" << dendl;
-	btrfs_snap_create_v2 = true;
-      
-	// clean up
-	strcpy(vol_args.name, "async_snap_test");
-	r = ::ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
-	if (r != 0) {
-	  int err = errno;
-	  dout(0) << "mount btrfs SNAP_DESTROY failed: " << cpp_strerror(err) << dendl;
-	}
-      } else {
-	int err = errno;
-	dout(0) << "mount btrfs SNAP_CREATE_V2 is NOT supported: "
-		<< cpp_strerror(err) << dendl;
-      }
-    }
-
-    // clean up test subvol
-    if (srcfd >= 0)
-      TEMP_FAILURE_RETRY(::close(srcfd));
-
-    strcpy(vol_args.name, "test_subvol");
-    r = ::ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
-    if (r < 0) {
-      r = -errno;
-      dout(0) << "mount  failed to remove " << vol_args.name << ": " << cpp_strerror(r) << dendl;
-    }
-
-    if (m_filestore_btrfs_snap && !btrfs_snap_create_v2) {
-      dout(0) << "mount WARNING: btrfs snaps enabled, but no SNAP_CREATE_V2 ioctl (from kernel 2.6.37+)" << dendl;
-      cerr << TEXT_YELLOW
-	   << " ** WARNING: 'filestore btrfs snap' is enabled (for safe transactions,\n"	 
-	   << "             rollback), but btrfs does not support the SNAP_CREATE_V2 ioctl\n"
-	   << "             (added in Linux 2.6.37).  Expect slow btrfs sync/commit\n"
-	   << "             performance.\n"
-	   << TEXT_NORMAL;
-    }
-
-  } else
-#endif /* __linux__ */
-  {
-    dout(0) << "mount did NOT detect btrfs" << dendl;
-    btrfs = false;
-  }
-
-  bool have_syncfs = false;
-#ifdef HAVE_SYS_SYNCFS
-  if (syncfs(fd) == 0) {
-    dout(0) << "mount syncfs(2) syscall fully supported (by glibc and kernel)" << dendl;
-    have_syncfs = true;
-  } else {
-    dout(0) << "mount syncfs(2) syscall supported by glibc BUT NOT the kernel" << dendl;
-  }
-#elif defined(SYS_syncfs)
-  if (syscall(SYS_syncfs, fd) == 0) {
-    dout(0) << "mount syscall(SYS_syncfs, fd) fully supported" << dendl;
-    have_syncfs = true;
-  } else {
-    dout(0) << "mount syscall(SYS_syncfs, fd) supported by libc BUT NOT the kernel" << dendl;
-  }
-#elif defined(__NR_syncfs)
-  if (syscall(__NR_syncfs, fd) == 0) {
-    dout(0) << "mount syscall(__NR_syncfs, fd) fully supported" << dendl;
-    have_syncfs = true;
-  } else {
-    dout(0) << "mount syscall(__NR_syncfs, fd) supported by libc BUT NOT the kernel" << dendl;
-  }
-#endif
-  if (!have_syncfs) {
-    dout(0) << "mount syncfs(2) syscall not supported" << dendl;
-    if (btrfs) {
-      dout(0) << "mount no syncfs(2), but the btrfs SYNC ioctl will suffice" << dendl;
-    } else if (m_filestore_fsync_flushes_journal_data) {
-      dout(0) << "mount no syncfs(2), but 'filestore fsync flushes journal data = true', so fsync will suffice." << dendl;
-    } else {
-      dout(0) << "mount no syncfs(2), must use sync(2)." << dendl;
-      dout(0) << "mount WARNING: multiple ceph-osd daemons on the same host will be slow" << dendl;
-    }
-  }
-
-  TEMP_FAILURE_RETRY(::close(fd));
   return 0;
 }
 
@@ -1311,7 +927,7 @@ int FileStore::_sanity_check_fs()
     return -EINVAL;
   }
 
-  if (!btrfs) {
+  if (!backend->can_checkpoint()) {
     if (!journal || !m_filestore_journal_writeahead) {
       dout(0) << "mount WARNING: no btrfs, and no journal in writeahead mode; data may be lost" << dendl;
       cerr << TEXT_RED 
@@ -1339,6 +955,49 @@ int FileStore::_sanity_check_fs()
   return 0;
 }
 
+int FileStore::write_superblock()
+{
+  bufferlist bl;
+  ::encode(superblock, bl);
+  return safe_write_file(basedir.c_str(), "superblock",
+      bl.c_str(), bl.length());
+}
+
+int FileStore::read_superblock()
+{
+  bufferptr bp(PATH_MAX);
+  int ret = safe_read_file(basedir.c_str(), "superblock",
+      bp.c_str(), bp.length());
+  if (ret < 0) {
+    if (ret == -ENOENT) {
+      // If the file doesn't exist write initial CompatSet
+      return write_superblock();
+    }
+    return ret;
+  }
+
+  bufferlist bl;
+  bl.push_back(bp);
+  bufferlist::iterator i = bl.begin();
+  ::decode(superblock, i);
+  return 0;
+}
+
+void FileStore::set_allow_sharded_objects()
+{
+  if (!get_allow_sharded_objects()) {
+    superblock.compat_features.incompat.insert(CEPH_FS_FEATURE_INCOMPAT_SHARDS);
+    int ret = write_superblock();
+    assert(ret == 0);	//Should we return error and make caller handle it?
+  }
+  return;
+}
+
+bool FileStore::get_allow_sharded_objects()
+{
+  return superblock.compat_features.incompat.contains(CEPH_FS_FEATURE_INCOMPAT_SHARDS);
+}
+
 int FileStore::update_version_stamp()
 {
   return write_version_stamp();
@@ -1346,25 +1005,19 @@ int FileStore::update_version_stamp()
 
 int FileStore::version_stamp_is_valid(uint32_t *version)
 {
-  char fn[PATH_MAX];
-  snprintf(fn, sizeof(fn), "%s/store_version", basedir.c_str());
-  int fd = ::open(fn, O_RDONLY, 0644);
-  if (fd < 0) {
-    if (errno == ENOENT)
+  bufferptr bp(PATH_MAX);
+  int ret = safe_read_file(basedir.c_str(), "store_version",
+      bp.c_str(), bp.length());
+  if (ret < 0) {
+    if (ret == -ENOENT)
       return 0;
-    else 
-      return -errno;
+    return ret;
   }
-  bufferptr bp(PATH_MAX);
-  int ret = safe_read(fd, bp.c_str(), bp.length());
-  TEMP_FAILURE_RETRY(::close(fd));
-  if (ret < 0)
-    return -errno;
   bufferlist bl;
   bl.push_back(bp);
   bufferlist::iterator i = bl.begin();
   ::decode(*version, i);
-  if (*version == on_disk_version)
+  if (*version == target_version)
     return 1;
   else
     return 0;
@@ -1372,19 +1025,11 @@ int FileStore::version_stamp_is_valid(uint32_t *version)
 
 int FileStore::write_version_stamp()
 {
-  char fn[PATH_MAX];
-  snprintf(fn, sizeof(fn), "%s/store_version", basedir.c_str());
-  int fd = ::open(fn, O_WRONLY|O_CREAT|O_TRUNC, 0644);
-  if (fd < 0)
-    return -errno;
   bufferlist bl;
-  ::encode(on_disk_version, bl);
-  
-  int ret = safe_write(fd, bl.c_str(), bl.length());
-  TEMP_FAILURE_RETRY(::close(fd));
-  if (ret < 0)
-    return -errno;
-  return 0;
+  ::encode(target_version, bl);
+
+  return safe_write_file(basedir.c_str(), "store_version",
+      bl.c_str(), bl.length());
 }
 
 int FileStore::read_op_seq(uint64_t *seq)
@@ -1426,6 +1071,7 @@ int FileStore::mount()
   char buf[PATH_MAX];
   uint64_t initial_op_seq;
   set<string> cluster_snaps;
+  CompatSet supported_compat_set = get_fs_supported_compat_set();
 
   dout(5) << "basedir " << basedir << " journal " << journalpath << dendl;
   
@@ -1462,10 +1108,6 @@ int FileStore::mount()
 
   dout(10) << "mount fsid is " << fsid << dendl;
 
-  // test for btrfs, xattrs, etc.
-  ret = _detect_fs();
-  if (ret)
-    goto close_fsid_fd;
 
   uint32_t version_stamp;
   ret = version_stamp_is_valid(&version_stamp);
@@ -1484,12 +1126,26 @@ int FileStore::mount()
       ret = -EINVAL;
       derr << "FileStore::mount : stale version stamp " << version_stamp
 	   << ". Please run the FileStore update script before starting the "
-	   << "OSD, or set filestore_update_to to " << on_disk_version
+	   << "OSD, or set filestore_update_to to " << target_version
 	   << dendl;
       goto close_fsid_fd;
     }
   }
 
+  ret = read_superblock();
+  if (ret < 0) {
+    ret = -EINVAL;
+    goto close_fsid_fd;
+  }
+
+  // Check if this FileStore supports all the necessary features to mount
+  if (supported_compat_set.compare(superblock.compat_features) == -1) {
+    derr << "FileStore::mount : Incompatible features set "
+	   << superblock.compat_features << dendl;
+    ret = -EINVAL;
+    goto close_fsid_fd;
+  }
+
   // open some dir handles
   basedir_fd = ::open(basedir.c_str(), O_RDONLY);
   if (basedir_fd < 0) {
@@ -1500,38 +1156,32 @@ int FileStore::mount()
     goto close_fsid_fd;
   }
 
+  // test for btrfs, xattrs, etc.
+  ret = _detect_fs();
+  if (ret < 0) {
+    derr << "FileStore::mount : error in _detect_fs: "
+	 << cpp_strerror(ret) << dendl;
+    goto close_basedir_fd;
+  }
+
   {
-    // get snap list
-    DIR *dir = ::opendir(basedir.c_str());
-    if (!dir) {
-      ret = -errno;
-      derr << "FileStore::mount: opendir '" << basedir << "' failed: "
-	   << cpp_strerror(ret) << dendl;
+    list<string> ls;
+    ret = backend->list_checkpoints(ls);
+    if (ret < 0) {
+      derr << "FileStore::mount : error in _list_snaps: "<< cpp_strerror(ret) << dendl;
       goto close_basedir_fd;
     }
 
-    struct dirent *de;
-    while (::readdir_r(dir, (struct dirent *)buf, &de) == 0) {
-      if (!de)
-	break;
-      long long unsigned c;
-      char clustersnap[PATH_MAX];
-      if (sscanf(de->d_name, COMMIT_SNAP_ITEM, &c) == 1)
+    long long unsigned c, prev = 0;
+    char clustersnap[NAME_MAX];
+    for (list<string>::iterator it = ls.begin(); it != ls.end(); ++it) {
+      if (sscanf(it->c_str(), COMMIT_SNAP_ITEM, &c) == 1) {
+	assert(c > prev);
+	prev = c;
 	snaps.push_back(c);
-      else if (sscanf(de->d_name, CLUSTER_SNAP_ITEM, clustersnap) == 1)
-	cluster_snaps.insert(clustersnap);
+      } else if (sscanf(it->c_str(), CLUSTER_SNAP_ITEM, clustersnap) == 1)
+	cluster_snaps.insert(*it);
     }
-    
-    if (::closedir(dir) < 0) {
-      ret = -errno;
-      derr << "FileStore::closedir(basedir) failed: error " << cpp_strerror(ret)
-	   << dendl;
-      goto close_basedir_fd;
-    }
-
-    dout(0) << "mount found snaps " << snaps << dendl;
-    if (!cluster_snaps.empty())
-      dout(0) << "mount found cluster snaps " << cluster_snaps << dendl;
   }
 
   if (m_osd_rollback_to_cluster_snap.length() &&
@@ -1544,13 +1194,11 @@ int FileStore::mount()
   char nosnapfn[200];
   snprintf(nosnapfn, sizeof(nosnapfn), "%s/nosnap", current_fn.c_str());
 
-  if (btrfs_stable_commits) {
+  if (backend->can_checkpoint()) {
     if (snaps.empty()) {
       dout(0) << "mount WARNING: no consistent snaps found, store may be in inconsistent state" << dendl;
-    } else if (!btrfs) {
-      dout(0) << "mount WARNING: not btrfs, store may be in inconsistent state" << dendl;
     } else {
-      char s[PATH_MAX];
+      char s[NAME_MAX];
       uint64_t curr_seq = 0;
 
       if (m_osd_rollback_to_cluster_snap.length()) {
@@ -1559,8 +1207,7 @@ int FileStore::mount()
 	     << TEXT_NORMAL
 	     << dendl;
 	assert(cluster_snaps.count(m_osd_rollback_to_cluster_snap));
-	snprintf(s, sizeof(s), "%s/" CLUSTER_SNAP_ITEM, basedir.c_str(),
-		 m_osd_rollback_to_cluster_snap.c_str());
+	snprintf(s, sizeof(s), CLUSTER_SNAP_ITEM, m_osd_rollback_to_cluster_snap.c_str());
       } else {
 	{
 	  int fd = read_op_seq(&curr_seq);
@@ -1596,45 +1243,16 @@ int FileStore::mount()
 	}
 
         dout(10) << "mount rolling back to consistent snap " << cp << dendl;
-	snprintf(s, sizeof(s), "%s/" COMMIT_SNAP_ITEM, basedir.c_str(), (long long unsigned)cp);
+	snprintf(s, sizeof(s), COMMIT_SNAP_ITEM, (long long unsigned)cp);
       }
 
-      btrfs_ioctl_vol_args vol_args;
-      memset(&vol_args, 0, sizeof(vol_args));
-      vol_args.fd = 0;
-      strcpy(vol_args.name, "current");
-
       // drop current?
-      if (curr_seq > 0) {
-	ret = ::ioctl(basedir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
-	if (ret) {
-	  ret = -errno;
-	  derr << "FileStore::mount: error removing old current subvol: " << cpp_strerror(ret) << dendl;
-	  char s[PATH_MAX];
-	  snprintf(s, sizeof(s), "%s/current.remove.me.%d", basedir.c_str(), rand());
-	  if (::rename(current_fn.c_str(), s)) {
-	    ret = -errno;
-	    derr << "FileStore::mount: error renaming old current subvol: "
-		 << cpp_strerror(ret) << dendl;
-	    goto close_basedir_fd;
-	  }
-	}
-      }
-
-      // roll back
-      vol_args.fd = ::open(s, O_RDONLY);
-      if (vol_args.fd < 0) {
-	ret = -errno;
-	derr << "FileStore::mount: error opening '" << s << "': " << cpp_strerror(ret) << dendl;
-	goto close_basedir_fd;
-      }
-      if (::ioctl(basedir_fd, BTRFS_IOC_SNAP_CREATE, &vol_args)) {
-	ret = -errno;
-	derr << "FileStore::mount: error ioctl(BTRFS_IOC_SNAP_CREATE) failed: " << cpp_strerror(ret) << dendl;
-	TEMP_FAILURE_RETRY(::close(vol_args.fd));
+      ret = backend->rollback_to(s);
+      if (ret) {
+	derr << "FileStore::mount: error rolling back to " << s << ": "
+	     << cpp_strerror(ret) << dendl;
 	goto close_basedir_fd;
       }
-      TEMP_FAILURE_RETRY(::close(vol_args.fd));
     }
   }
   initial_op_seq = 0;
@@ -1661,7 +1279,7 @@ int FileStore::mount()
     goto close_current_fd;
   }
 
-  if (!btrfs_stable_commits) {
+  if (!backend->can_checkpoint()) {
     // mark current/ as non-snapshotted so that we don't rollback away
     // from it.
     int r = ::creat(nosnapfn, 0644);
@@ -1727,18 +1345,12 @@ int FileStore::mount()
     if (!m_filestore_journal_writeahead &&
 	!m_filestore_journal_parallel &&
 	!m_filestore_journal_trailing) {
-      if (!btrfs) {
+      if (!backend->can_checkpoint()) {
 	m_filestore_journal_writeahead = true;
-	dout(0) << "mount: enabling WRITEAHEAD journal mode: btrfs not detected" << dendl;
-      } else if (!btrfs_stable_commits) {
-	m_filestore_journal_writeahead = true;
-	dout(0) << "mount: enabling WRITEAHEAD journal mode: 'filestore btrfs snap' mode is not enabled" << dendl;
-      } else if (!btrfs_snap_create_v2) {
-	m_filestore_journal_writeahead = true;
-	dout(0) << "mount: enabling WRITEAHEAD journal mode: btrfs SNAP_CREATE_V2 ioctl not detected (v2.6.37+)" << dendl;
+	dout(0) << "mount: enabling WRITEAHEAD journal mode: checkpoint is not enabled" << dendl;
       } else {
 	m_filestore_journal_parallel = true;
-	dout(0) << "mount: enabling PARALLEL journal mode: btrfs, SNAP_CREATE_V2 detected and 'filestore btrfs snap' mode is enabled" << dendl;
+	dout(0) << "mount: enabling PARALLEL journal mode: fs, checkpoint is enabled" << dendl;
       }
     } else {
       if (m_filestore_journal_writeahead)
@@ -1870,6 +1482,12 @@ int FileStore::umount()
     TEMP_FAILURE_RETRY(::close(basedir_fd));
     basedir_fd = -1;
   }
+
+  if (backend != generic_backend) {
+    delete backend;
+    backend = generic_backend;
+  }
+
   object_map.reset();
 
   {
@@ -1952,7 +1570,7 @@ void FileStore::op_queue_reserve_throttle(Op *o)
   uint64_t max_ops = m_filestore_queue_max_ops;
   uint64_t max_bytes = m_filestore_queue_max_bytes;
 
-  if (btrfs_stable_commits && is_committing()) {
+  if (backend->can_checkpoint() && is_committing()) {
     max_ops += m_filestore_queue_committing_max_ops;
     max_bytes += m_filestore_queue_committing_max_bytes;
   }
@@ -2175,7 +1793,7 @@ int FileStore::_do_transactions(
   for (list<Transaction*>::iterator p = tls.begin();
        p != tls.end();
        ++p, trans_num++) {
-    r = _do_transaction(**p, op_seq, trans_num);
+    r = _do_transaction(**p, op_seq, trans_num, handle);
     if (r < 0)
       break;
     if (handle)
@@ -2188,7 +1806,7 @@ int FileStore::_do_transactions(
 void FileStore::_set_global_replay_guard(coll_t cid,
 					 const SequencerPosition &spos)
 {
-  if (btrfs_stable_commits)
+  if (backend->can_checkpoint())
     return;
 
   // sync all previous operations on this sequencer
@@ -2227,7 +1845,7 @@ void FileStore::_set_global_replay_guard(coll_t cid,
 int FileStore::_check_global_replay_guard(coll_t cid,
 					  const SequencerPosition& spos)
 {
-  if (!replaying || btrfs_stable_commits)
+  if (!replaying || backend->can_checkpoint())
     return 1;
 
   char fn[PATH_MAX];
@@ -2277,10 +1895,10 @@ void FileStore::_set_replay_guard(coll_t cid,
 
 void FileStore::_set_replay_guard(int fd,
 				  const SequencerPosition& spos,
-				  const hobject_t *hoid,
+				  const ghobject_t *hoid,
 				  bool in_progress)
 {
-  if (btrfs_stable_commits)
+  if (backend->can_checkpoint())
     return;
 
   dout(10) << "_set_replay_guard " << spos << (in_progress ? " START" : "") << dendl;
@@ -2332,7 +1950,7 @@ void FileStore::_close_replay_guard(coll_t cid,
 
 void FileStore::_close_replay_guard(int fd, const SequencerPosition& spos)
 {
-  if (btrfs_stable_commits)
+  if (backend->can_checkpoint())
     return;
 
   dout(10) << "_close_replay_guard " << spos << dendl;
@@ -2358,9 +1976,9 @@ void FileStore::_close_replay_guard(int fd, const SequencerPosition& spos)
   dout(10) << "_close_replay_guard " << spos << " done" << dendl;
 }
 
-int FileStore::_check_replay_guard(coll_t cid, hobject_t oid, const SequencerPosition& spos)
+int FileStore::_check_replay_guard(coll_t cid, ghobject_t oid, const SequencerPosition& spos)
 {
-  if (!replaying || btrfs_stable_commits)
+  if (!replaying || backend->can_checkpoint())
     return 1;
 
   int r = _check_global_replay_guard(cid, spos);
@@ -2380,7 +1998,7 @@ int FileStore::_check_replay_guard(coll_t cid, hobject_t oid, const SequencerPos
 
 int FileStore::_check_replay_guard(coll_t cid, const SequencerPosition& spos)
 {
-  if (!replaying || btrfs_stable_commits)
+  if (!replaying || backend->can_checkpoint())
     return 1;
 
   char fn[PATH_MAX];
@@ -2397,7 +2015,7 @@ int FileStore::_check_replay_guard(coll_t cid, const SequencerPosition& spos)
 
 int FileStore::_check_replay_guard(int fd, const SequencerPosition& spos)
 {
-  if (!replaying || btrfs_stable_commits)
+  if (!replaying || backend->can_checkpoint())
     return 1;
 
   char buf[100];
@@ -2437,7 +2055,9 @@ int FileStore::_check_replay_guard(int fd, const SequencerPosition& spos)
   }
 }
 
-unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_num)
+unsigned FileStore::_do_transaction(
+  Transaction& t, uint64_t op_seq, int trans_num,
+  ThreadPool::TPHandle *handle)
 {
   dout(10) << "_do_transaction on " << &t << dendl;
 
@@ -2445,6 +2065,9 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
   
   SequencerPosition spos(op_seq, trans_num, 0);
   while (i.have_op()) {
+    if (handle)
+      handle->reset_tp_timeout();
+
     int op = i.get_op();
     int r = 0;
 
@@ -2456,7 +2079,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_TOUCH:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _touch(cid, oid);
       }
@@ -2465,7 +2088,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_WRITE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	bool replica = i.get_replica();
@@ -2479,7 +2102,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_ZERO:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	if (_check_replay_guard(cid, oid, spos) > 0)
@@ -2500,7 +2123,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_TRUNCATE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _truncate(cid, oid, off);
@@ -2510,7 +2133,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_REMOVE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _remove(cid, oid, spos);
       }
@@ -2519,7 +2142,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_SETATTR:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string name = i.get_attrname();
 	bufferlist bl;
 	i.get_bl(bl);
@@ -2537,7 +2160,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_SETATTRS:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	map<string, bufferptr> aset;
 	i.get_attrset(aset);
 	if (_check_replay_guard(cid, oid, spos) > 0)
@@ -2550,7 +2173,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_RMATTR:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string name = i.get_attrname();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _rmattr(cid, oid, name.c_str(), spos);
@@ -2560,7 +2183,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_RMATTRS:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _rmattrs(cid, oid, spos);
       }
@@ -2569,8 +2192,8 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_CLONE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
 	r = _clone(cid, oid, noid, spos);
       }
       break;
@@ -2578,8 +2201,8 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_CLONERANGE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
  	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	r = _clone_range(cid, oid, noid, off, len, off, spos);
@@ -2589,8 +2212,8 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_CLONERANGE2:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
  	uint64_t srcoff = i.get_length();
 	uint64_t len = i.get_length();
  	uint64_t dstoff = i.get_length();
@@ -2618,7 +2241,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
       {
 	coll_t ncid = i.get_cid();
 	coll_t ocid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	r = _collection_add(ncid, ocid, oid, spos);
       }
       break;
@@ -2626,7 +2249,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_COLL_REMOVE:
        {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	if (_check_replay_guard(cid, oid, spos) > 0)
 	  r = _remove(cid, oid, spos);
        }
@@ -2637,7 +2260,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
 	// WARNING: this is deprecated and buggy; only here to replay old journals.
 	coll_t ocid = i.get_cid();
 	coll_t ncid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	r = _collection_add(ocid, ncid, oid, spos);
 	if (r == 0 &&
 	    (_check_replay_guard(ocid, oid, spos) > 0))
@@ -2645,6 +2268,16 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
       }
       break;
 
+    case Transaction::OP_COLL_MOVE_RENAME:
+      {
+	coll_t oldcid = i.get_cid();
+	ghobject_t oldoid = i.get_oid();
+	coll_t newcid = i.get_cid();
+	ghobject_t newoid = i.get_oid();
+	r = _collection_move_rename(oldcid, oldoid, newcid, newoid, spos);
+      }
+      break;
+
     case Transaction::OP_COLL_SETATTR:
       {
 	coll_t cid = i.get_cid();
@@ -2680,14 +2313,14 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_OMAP_CLEAR:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	r = _omap_clear(cid, oid, spos);
       }
       break;
     case Transaction::OP_OMAP_SETKEYS:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	map<string, bufferlist> aset;
 	i.get_attrset(aset);
 	r = _omap_setkeys(cid, oid, aset, spos);
@@ -2696,7 +2329,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_OMAP_RMKEYS:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	set<string> keys;
 	i.get_keyset(keys);
 	r = _omap_rmkeys(cid, oid, keys, spos);
@@ -2705,7 +2338,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_OMAP_RMKEYRANGE:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string first, last;
 	first = i.get_key();
 	last = i.get_key();
@@ -2715,7 +2348,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
     case Transaction::OP_OMAP_SETHEADER:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	bufferlist bl;
 	i.get_bl(bl);
 	r = _omap_setheader(cid, oid, bl, spos);
@@ -2753,7 +2386,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
 			    op == Transaction::OP_CLONERANGE2 ||
 			    op == Transaction::OP_COLL_ADD))
 	// -ENOENT is normally okay
-	// ...including on a replayed OP_RMCOLL with !stable_commits
+	// ...including on a replayed OP_RMCOLL with checkpoint mode
 	ok = true;
       if (r == -ENOENT && (
 	  op == Transaction::OP_COLL_ADD &&
@@ -2762,17 +2395,17 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
       if (r == -ENODATA)
 	ok = true;
 
-      if (replaying && !btrfs_stable_commits) {
+      if (replaying && !backend->can_checkpoint()) {
 	if (r == -EEXIST && op == Transaction::OP_MKCOLL) {
-	  dout(10) << "tolerating EEXIST during journal replay on non-btrfs" << dendl;
+	  dout(10) << "tolerating EEXIST during journal replay since checkpoint is not enabled" << dendl;
 	  ok = true;
 	}
 	if (r == -EEXIST && op == Transaction::OP_COLL_ADD) {
-	  dout(10) << "tolerating EEXIST during journal replay since btrfs_snap is not enabled" << dendl;
+	  dout(10) << "tolerating EEXIST during journal replay since checkpoint is not enabled" << dendl;
 	  ok = true;
 	}
 	if (r == -EEXIST && op == Transaction::OP_COLL_MOVE) {
-	  dout(10) << "tolerating EEXIST during journal replay since btrfs_snap is not enabled" << dendl;
+	  dout(10) << "tolerating EEXIST during journal replay since checkpoint is not enabled" << dendl;
 	  ok = true;
 	}
 	if (r == -ERANGE) {
@@ -2835,7 +2468,7 @@ unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_n
 // --------------------
 // objects
 
-bool FileStore::exists(coll_t cid, const hobject_t& oid)
+bool FileStore::exists(coll_t cid, const ghobject_t& oid)
 {
   struct stat st;
   if (stat(cid, oid, &st) == 0)
@@ -2845,7 +2478,7 @@ bool FileStore::exists(coll_t cid, const hobject_t& oid)
 }
   
 int FileStore::stat(
-  coll_t cid, const hobject_t& oid, struct stat *st, bool allow_eio)
+  coll_t cid, const ghobject_t& oid, struct stat *st, bool allow_eio)
 {
   int r = lfn_stat(cid, oid, st);
   assert(allow_eio || !m_filestore_fail_eio || r != -EIO);
@@ -2867,7 +2500,7 @@ int FileStore::stat(
 
 int FileStore::read(
   coll_t cid,
-  const hobject_t& oid, 
+  const ghobject_t& oid,
   uint64_t offset,
   size_t len,
   bufferlist& bl,
@@ -2903,6 +2536,17 @@ int FileStore::read(
   }
   bptr.set_length(got);   // properly size the buffer
   bl.push_back(bptr);   // put it in the target bufferlist
+
+  if (m_filestore_sloppy_crc && (!replaying || backend->can_checkpoint())) {
+    ostringstream ss;
+    int errors = backend->_crc_verify_read(**fd, offset, got, bl, &ss);
+    if (errors > 0) {
+      dout(0) << "FileStore::read " << cid << "/" << oid << " " << offset << "~"
+	      << got << " ... BAD CRC:\n" << ss.str() << dendl;
+      assert(0 == "bad crc on read");
+    }
+  }
+
   lfn_close(fd);
 
   dout(10) << "FileStore::read " << cid << "/" << oid << " " << offset << "~"
@@ -2915,11 +2559,11 @@ int FileStore::read(
   }
 }
 
-int FileStore::fiemap(coll_t cid, const hobject_t& oid,
+int FileStore::fiemap(coll_t cid, const ghobject_t& oid,
                     uint64_t offset, size_t len,
                     bufferlist& bl)
 {
-  if (!ioctl_fiemap || len <= (size_t)m_filestore_fiemap_threshold) {
+  if (!backend->has_fiemap() || len <= (size_t)m_filestore_fiemap_threshold) {
     map<uint64_t, uint64_t> m;
     m[offset] = len;
     ::encode(m, bl);
@@ -2939,12 +2583,14 @@ int FileStore::fiemap(coll_t cid, const hobject_t& oid,
   } else {
     uint64_t i;
 
-    r = do_fiemap(**fd, offset, len, &fiemap);
+    r = backend->do_fiemap(**fd, offset, len, &fiemap);
     if (r < 0)
       goto done;
 
-    if (fiemap->fm_mapped_extents == 0)
+    if (fiemap->fm_mapped_extents == 0) {
+      free(fiemap);
       goto done;
+    }
 
     struct fiemap_extent *extent = &fiemap->fm_extents[0];
 
@@ -2978,6 +2624,7 @@ int FileStore::fiemap(coll_t cid, const hobject_t& oid,
       i++;
       extent++;
     }
+    free(fiemap);
   }
 
 done:
@@ -2987,13 +2634,12 @@ done:
   }
 
   dout(10) << "fiemap " << cid << "/" << oid << " " << offset << "~" << len << " = " << r << " num_extents=" << exomap.size() << " " << exomap << dendl;
-  free(fiemap);
   assert(!m_filestore_fail_eio || r != -EIO);
   return r;
 }
 
 
-int FileStore::_remove(coll_t cid, const hobject_t& oid,
+int FileStore::_remove(coll_t cid, const ghobject_t& oid,
 		       const SequencerPosition &spos) 
 {
   dout(15) << "remove " << cid << "/" << oid << dendl;
@@ -3002,7 +2648,7 @@ int FileStore::_remove(coll_t cid, const hobject_t& oid,
   return r;
 }
 
-int FileStore::_truncate(coll_t cid, const hobject_t& oid, uint64_t size)
+int FileStore::_truncate(coll_t cid, const ghobject_t& oid, uint64_t size)
 {
   dout(15) << "truncate " << cid << "/" << oid << " size " << size << dendl;
   int r = lfn_truncate(cid, oid, size);
@@ -3011,7 +2657,7 @@ int FileStore::_truncate(coll_t cid, const hobject_t& oid, uint64_t size)
 }
 
 
-int FileStore::_touch(coll_t cid, const hobject_t& oid)
+int FileStore::_touch(coll_t cid, const ghobject_t& oid)
 {
   dout(15) << "touch " << cid << "/" << oid << dendl;
 
@@ -3026,7 +2672,7 @@ int FileStore::_touch(coll_t cid, const hobject_t& oid)
   return r;
 }
 
-int FileStore::_write(coll_t cid, const hobject_t& oid, 
+int FileStore::_write(coll_t cid, const ghobject_t& oid,
                      uint64_t offset, size_t len,
                      const bufferlist& bl, bool replica)
 {
@@ -3064,8 +2710,14 @@ int FileStore::_write(coll_t cid, const hobject_t& oid,
   if (r == 0)
     r = bl.length();
 
+  if (r >= 0 && m_filestore_sloppy_crc) {
+    int rc = backend->_crc_update_write(**fd, offset, len, bl);
+    assert(rc >= 0);
+  }
+
   // flush?
-  if (!replaying)
+  if (!replaying &&
+      g_conf->filestore_wbthrottle_enable)
     wbthrottle.queue_wb(fd, oid, offset, len, replica);
   lfn_close(fd);
 
@@ -3074,7 +2726,7 @@ int FileStore::_write(coll_t cid, const hobject_t& oid,
   return r;
 }
 
-int FileStore::_zero(coll_t cid, const hobject_t& oid, uint64_t offset, size_t len)
+int FileStore::_zero(coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len)
 {
   dout(15) << "zero " << cid << "/" << oid << " " << offset << "~" << len << dendl;
   int ret = 0;
@@ -3094,6 +2746,11 @@ int FileStore::_zero(coll_t cid, const hobject_t& oid, uint64_t offset, size_t l
     ret = -errno;
   lfn_close(fd);
 
+  if (ret >= 0 && m_filestore_sloppy_crc) {
+    int rc = backend->_crc_update_zero(**fd, offset, len);
+    assert(rc >= 0);
+  }
+
   if (ret == 0)
     goto out;  // yay!
   if (ret != -EOPNOTSUPP)
@@ -3117,7 +2774,7 @@ int FileStore::_zero(coll_t cid, const hobject_t& oid, uint64_t offset, size_t l
   return ret;
 }
 
-int FileStore::_clone(coll_t cid, const hobject_t& oldoid, const hobject_t& newoid,
+int FileStore::_clone(coll_t cid, const ghobject_t& oldoid, const ghobject_t& newoid,
 		      const SequencerPosition& spos)
 {
   dout(15) << "clone " << cid << "/" << oldoid << " -> " << cid << "/" << newoid << dendl;
@@ -3181,84 +2838,8 @@ int FileStore::_clone(coll_t cid, const hobject_t& oldoid, const hobject_t& newo
 
 int FileStore::_do_clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff)
 {
-  dout(20) << "_do_clone_range " << srcoff << "~" << len << " to " << dstoff << dendl;
-  if (!btrfs_clone_range ||
-      srcoff % blk_size != dstoff % blk_size) {
-    dout(20) << "_do_clone_range using copy" << dendl;
-    return _do_copy_range(from, to, srcoff, len, dstoff);
-  }
-  int err = 0;
-  int r = 0;
-
-  uint64_t srcoffclone = ALIGN_UP(srcoff, blk_size);
-  uint64_t dstoffclone = ALIGN_UP(dstoff, blk_size);
-  if (srcoffclone >= srcoff + len) {
-    dout(20) << "_do_clone_range using copy, extent too short to align srcoff" << dendl;
-    return _do_copy_range(from, to, srcoff, len, dstoff);
-  }
-
-  uint64_t lenclone = len - (srcoffclone - srcoff);
-  if (!ALIGNED(lenclone, blk_size)) {
-    struct stat from_stat, to_stat;
-    err = ::fstat(from, &from_stat);
-    if (err) return -errno;
-    err = ::fstat(to , &to_stat);
-    if (err) return -errno;
-    
-    if (srcoff + len != (uint64_t)from_stat.st_size ||
-	dstoff + len < (uint64_t)to_stat.st_size) {
-      // Not to the end of the file, need to align length as well
-      lenclone = ALIGN_DOWN(lenclone, blk_size);
-    }
-  }
-  if (lenclone == 0) {
-    // too short
-    return _do_copy_range(from, to, srcoff, len, dstoff);
-  }
-  
-  dout(20) << "_do_clone_range cloning " << srcoffclone << "~" << lenclone 
-	   << " to " << dstoffclone << " = " << r << dendl;
-  btrfs_ioctl_clone_range_args a;
-  a.src_fd = from;
-  a.src_offset = srcoffclone;
-  a.src_length = lenclone;
-  a.dest_offset = dstoffclone;
-  err = ::ioctl(to, BTRFS_IOC_CLONE_RANGE, &a);
-  if (err >= 0) {
-    r += err;
-  } else if (errno == EINVAL) {
-    // Still failed, might be compressed
-    dout(20) << "_do_clone_range failed CLONE_RANGE call with -EINVAL, using copy" << dendl;
-    return _do_copy_range(from, to, srcoff, len, dstoff);
-  } else {
-    return -errno;
-  }
-
-  // Take care any trimmed from front
-  if (srcoffclone != srcoff) {
-    err = _do_copy_range(from, to, srcoff, srcoffclone - srcoff, dstoff);
-    if (err >= 0) {
-      r += err;
-    } else {
-      return err;
-    }
-  }
-
-  // Copy end
-  if (srcoffclone + lenclone != srcoff + len) {
-    err = _do_copy_range(from, to, 
-			 srcoffclone + lenclone, 
-			 (srcoff + len) - (srcoffclone + lenclone), 
-			 dstoffclone + lenclone);
-    if (err >= 0) {
-      r += err;
-    } else {
-      return err;
-    }
-  }
-  dout(20) << "_do_clone_range finished " << srcoff << "~" << len 
-	   << " to " << dstoff << " = " << r << dendl;
-  return r;
+  dout(20) << "_do_clone_range copy " << srcoff << "~" << len << " to " << dstoff << dendl;
+  return backend->clone_range(from, to, srcoff, len, dstoff);
 }
 
 int FileStore::_do_copy_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff)
@@ -3323,11 +2904,15 @@ int FileStore::_do_copy_range(int from, int to, uint64_t srcoff, uint64_t len, u
       break;
     pos += r;
   }
+  if (r >= 0 && m_filestore_sloppy_crc) {
+    int rc = backend->_crc_update_clone_range(from, to, srcoff, len, dstoff);
+    assert(rc >= 0);
+  }
   dout(20) << "_do_copy_range " << srcoff << "~" << len << " to " << dstoff << " = " << r << dendl;
   return r;
 }
 
-int FileStore::_clone_range(coll_t cid, const hobject_t& oldoid, const hobject_t& newoid,
+int FileStore::_clone_range(coll_t cid, const ghobject_t& oldoid, const ghobject_t& newoid,
 			    uint64_t srcoff, uint64_t len, uint64_t dstoff,
 			    const SequencerPosition& spos)
 {
@@ -3442,95 +3027,48 @@ void FileStore::sync_entry()
 	assert(0);
       }
 
-      if (btrfs_stable_commits) {
+      if (backend->can_checkpoint()) {
 	int err = write_op_seq(op_fd, cp);
 	if (err < 0) {
 	  derr << "Error during write_op_seq: " << cpp_strerror(err) << dendl;
 	  assert(0 == "error during write_op_seq");
 	}
 
-	if (btrfs_snap_create_v2) {
-	  // be smart!
-	  struct btrfs_ioctl_vol_args_v2 async_args;
-	  memset(&async_args, 0, sizeof(async_args));
-	  async_args.fd = current_fd;
-	  async_args.flags = BTRFS_SUBVOL_CREATE_ASYNC;
-	  snprintf(async_args.name, sizeof(async_args.name), COMMIT_SNAP_ITEM,
-		   (long long unsigned)cp);
-
-	  dout(10) << "taking async snap '" << async_args.name << "'" << dendl;
-	  int r = ::ioctl(basedir_fd, BTRFS_IOC_SNAP_CREATE_V2, &async_args);
-	  if (r < 0) {
+	char s[NAME_MAX];
+	snprintf(s, sizeof(s), COMMIT_SNAP_ITEM, (long long unsigned)cp);
+	uint64_t cid = 0;
+	err = backend->create_checkpoint(s, &cid);
+	if (err < 0) {
 	    int err = errno;
-	    derr << "async snap create '" << async_args.name << "' transid " << async_args.transid
-		 << " got " << cpp_strerror(err) << dendl;
-	    assert(0 == "async snap ioctl error");
-	  }
-	  dout(20) << "async snap create '" << async_args.name << "' transid " << async_args.transid << dendl;
-
-	  snaps.push_back(cp);
+	    derr << "snap create '" << s << "' got error " << err << dendl;
+	    assert(err == 0);
+	}
 
-	  apply_manager.commit_started();
-	  op_tp.unpause();
+	snaps.push_back(cp);
+	apply_manager.commit_started();
+	op_tp.unpause();
 
-	  // wait for commit
-	  dout(20) << " waiting for transid " << async_args.transid << " to complete" << dendl;
-	  r = ::ioctl(op_fd, BTRFS_IOC_WAIT_SYNC, &async_args.transid);
-	  if (r < 0) {
-	    int err = errno;
+	if (cid > 0) {
+	  dout(20) << " waiting for checkpoint " << cid << " to complete" << dendl;
+	  err = backend->sync_checkpoint(cid);
+	  if (err < 0) {
 	    derr << "ioctl WAIT_SYNC got " << cpp_strerror(err) << dendl;
 	    assert(0 == "wait_sync got error");
 	  }
-	  dout(20) << " done waiting for transid " << async_args.transid << " to complete" << dendl;
-
-	} else {
-	  // the synchronous snap create does a sync.
-	  struct btrfs_ioctl_vol_args vol_args;
-	  memset(&vol_args, 0, sizeof(vol_args));
-	  vol_args.fd = current_fd;
-	  snprintf(vol_args.name, sizeof(vol_args.name), COMMIT_SNAP_ITEM,
-		   (long long unsigned)cp);
-
-	  dout(10) << "taking snap '" << vol_args.name << "'" << dendl;
-	  int r = ::ioctl(basedir_fd, BTRFS_IOC_SNAP_CREATE, &vol_args);
-	  if (r != 0) {
-	    int err = errno;
-	    derr << "snap create '" << vol_args.name << "' got error " << err << dendl;
-	    assert(r == 0);
-	  }
-	  dout(20) << "snap create '" << vol_args.name << "' succeeded." << dendl;
-	  assert(r == 0);
-	  snaps.push_back(cp);
-	  
-	  apply_manager.commit_started();
-	  op_tp.unpause();
+	  dout(20) << " done waiting for checkpoint" << cid << " to complete" << dendl;
 	}
       } else
       {
 	apply_manager.commit_started();
 	op_tp.unpause();
 
-	if (btrfs) {
-	  dout(15) << "sync_entry doing btrfs SYNC" << dendl;
-	  // do a full btrfs commit
-	  int r = ::ioctl(op_fd, BTRFS_IOC_SYNC);
-	  if (r < 0) {
-	    r = -errno;
-	    derr << "sync_entry btrfs IOC_SYNC got " << cpp_strerror(r) << dendl;
-	    assert(0 == "btrfs sync ioctl returned error");
-	  }
-	} else
-        if (m_filestore_fsync_flushes_journal_data) {
-	  dout(15) << "sync_entry doing fsync on " << current_op_seq_fn << dendl;
-	  // make the file system's journal commit.
-	  //  this works with ext3, but NOT ext4
-	  ::fsync(op_fd);  
-	} else {
-	  dout(15) << "sync_entry doing a full sync (syncfs(2) if possible)" << dendl;
-	  sync_filesystem(basedir_fd);
+	int err = backend->syncfs();
+	if (err < 0) {
+	  derr << "syncfs got " << cpp_strerror(err) << dendl;
+	  assert(0 == "syncfs returned error");
 	}
 
-	int err = write_op_seq(op_fd, cp);
+	err = write_op_seq(op_fd, cp);
 	if (err < 0) {
 	  derr << "Error during write_op_seq: " << cpp_strerror(err) << dendl;
 	  assert(0 == "error during write_op_seq");
@@ -3557,20 +3095,16 @@ void FileStore::sync_entry()
       logger->set(l_os_committing, 0);
 
       // remove old snaps?
-      if (btrfs_stable_commits) {
+      if (backend->can_checkpoint()) {
+	char s[NAME_MAX];
 	while (snaps.size() > 2) {
-	  btrfs_ioctl_vol_args vol_args;
-	  memset(&vol_args, 0, sizeof(vol_args));
-	  vol_args.fd = 0;
-	  snprintf(vol_args.name, sizeof(vol_args.name), COMMIT_SNAP_ITEM,
-		   (long long unsigned)snaps.front());
-
+	  snprintf(s, sizeof(s), COMMIT_SNAP_ITEM, (long long unsigned)snaps.front());
 	  snaps.pop_front();
-	  dout(10) << "removing snap '" << vol_args.name << "'" << dendl;
-	  int r = ::ioctl(basedir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args);
+	  dout(10) << "removing snap '" << s << "'" << dendl;
+	  int r = backend->destroy_checkpoint(s);
 	  if (r) {
 	    int err = errno;
-	    derr << "unable to destroy snap '" << vol_args.name << "' got " << cpp_strerror(err) << dendl;
+	    derr << "unable to destroy snap '" << s << "' got " << cpp_strerror(err) << dendl;
 	  }
 	}
       }
@@ -3702,16 +3236,15 @@ int FileStore::snapshot(const string& name)
   dout(10) << "snapshot " << name << dendl;
   sync_and_flush();
 
-  if (!btrfs) {
-    dout(0) << "snapshot " << name << " failed, no btrfs" << dendl;
+  if (!backend->can_checkpoint()) {
+    dout(0) << "snapshot " << name << " failed, not supported" << dendl;
     return -EOPNOTSUPP;
   }
 
-  btrfs_ioctl_vol_args vol_args;
-  vol_args.fd = current_fd;
-  snprintf(vol_args.name, sizeof(vol_args.name), CLUSTER_SNAP_ITEM, name.c_str());
+  char s[NAME_MAX];
+  snprintf(s, sizeof(s), CLUSTER_SNAP_ITEM, name.c_str());
 
-  int r = ::ioctl(basedir_fd, BTRFS_IOC_SNAP_CREATE, &vol_args);
+  int r = backend->create_checkpoint(s, NULL);
   if (r) {
     r = -errno;
     derr << "snapshot " << name << " failed: " << cpp_strerror(r) << dendl;
@@ -3820,23 +3353,23 @@ int FileStore::_fsetattrs(int fd, map<string, bufferptr> &aset)
 }
 
 // debug EIO injection
-void FileStore::inject_data_error(const hobject_t &oid) {
+void FileStore::inject_data_error(const ghobject_t &oid) {
   Mutex::Locker l(read_error_lock);
   dout(10) << __func__ << ": init error on " << oid << dendl;
   data_error_set.insert(oid);
 }
-void FileStore::inject_mdata_error(const hobject_t &oid) {
+void FileStore::inject_mdata_error(const ghobject_t &oid) {
   Mutex::Locker l(read_error_lock);
   dout(10) << __func__ << ": init error on " << oid << dendl;
   mdata_error_set.insert(oid);
 }
-void FileStore::debug_obj_on_delete(const hobject_t &oid) {
+void FileStore::debug_obj_on_delete(const ghobject_t &oid) {
   Mutex::Locker l(read_error_lock);
   dout(10) << __func__ << ": clear error on " << oid << dendl;
   data_error_set.erase(oid);
   mdata_error_set.erase(oid);
 }
-bool FileStore::debug_data_eio(const hobject_t &oid) {
+bool FileStore::debug_data_eio(const ghobject_t &oid) {
   Mutex::Locker l(read_error_lock);
   if (data_error_set.count(oid)) {
     dout(10) << __func__ << ": inject error on " << oid << dendl;
@@ -3845,7 +3378,7 @@ bool FileStore::debug_data_eio(const hobject_t &oid) {
     return false;
   }
 }
-bool FileStore::debug_mdata_eio(const hobject_t &oid) {
+bool FileStore::debug_mdata_eio(const ghobject_t &oid) {
   Mutex::Locker l(read_error_lock);
   if (mdata_error_set.count(oid)) {
     dout(10) << __func__ << ": inject error on " << oid << dendl;
@@ -3858,7 +3391,7 @@ bool FileStore::debug_mdata_eio(const hobject_t &oid) {
 
 // objects
 
-int FileStore::getattr(coll_t cid, const hobject_t& oid, const char *name, bufferptr &bp)
+int FileStore::getattr(coll_t cid, const ghobject_t& oid, const char *name, bufferptr &bp)
 {
   dout(15) << "getattr " << cid << "/" << oid << " '" << name << "'" << dendl;
   FDRef fd;
@@ -3870,7 +3403,7 @@ int FileStore::getattr(coll_t cid, const hobject_t& oid, const char *name, buffe
   get_attrname(name, n, CHAIN_XATTR_MAX_NAME_LEN);
   r = _fgetattr(**fd, n, bp);
   lfn_close(fd);
-  if (r == -ENODATA && g_conf->filestore_xattr_use_omap) {
+  if (r == -ENODATA) {
     map<string, bufferlist> got;
     set<string> to_get;
     to_get.insert(string(name));
@@ -3891,7 +3424,7 @@ int FileStore::getattr(coll_t cid, const hobject_t& oid, const char *name, buffe
     }
     bp = bufferptr(got.begin()->second.c_str(),
 		   got.begin()->second.length());
-    r = 0;
+    r = bp.length();
   }
  out:
   dout(10) << "getattr " << cid << "/" << oid << " '" << name << "' = " << r << dendl;
@@ -3904,8 +3437,11 @@ int FileStore::getattr(coll_t cid, const hobject_t& oid, const char *name, buffe
   }
 }
 
-int FileStore::getattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& aset, bool user_only) 
+int FileStore::getattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& aset, bool user_only)
 {
+  set<string> omap_attrs;
+  map<string, bufferlist> omap_aset;
+  Index index;
   dout(15) << "getattrs " << cid << "/" << oid << dendl;
   FDRef fd;
   int r = lfn_open(cid, oid, false, &fd);
@@ -3913,43 +3449,43 @@ int FileStore::getattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>&
     goto out;
   }
   r = _fgetattrs(**fd, aset, user_only);
+  if (r < 0) {
+    goto out;
+  }
   lfn_close(fd);
-  if (g_conf->filestore_xattr_use_omap) {
-    set<string> omap_attrs;
-    map<string, bufferlist> omap_aset;
-    Index index;
-    int r = get_index(cid, &index);
-    if (r < 0) {
-      dout(10) << __func__ << " could not get index r = " << r << dendl;
-      goto out;
-    }
-    r = object_map->get_all_xattrs(oid, &omap_attrs);
-    if (r < 0 && r != -ENOENT) {
-      dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
-      goto out;
-    }
-    r = object_map->get_xattrs(oid, omap_attrs, &omap_aset);
-    if (r < 0 && r != -ENOENT) {
-      dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
-      goto out;
-    }
-    assert(omap_attrs.size() == omap_aset.size());
-    for (map<string, bufferlist>::iterator i = omap_aset.begin();
+  r = get_index(cid, &index);
+  if (r < 0) {
+    dout(10) << __func__ << " could not get index r = " << r << dendl;
+    goto out;
+  }
+  r = object_map->get_all_xattrs(oid, &omap_attrs);
+  if (r < 0 && r != -ENOENT) {
+    dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
+    goto out;
+  }
+  r = object_map->get_xattrs(oid, omap_attrs, &omap_aset);
+  if (r < 0 && r != -ENOENT) {
+    dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
+    goto out;
+  }
+  if (r == -ENOENT)
+    r = 0;
+  assert(omap_attrs.size() == omap_aset.size());
+  for (map<string, bufferlist>::iterator i = omap_aset.begin();
 	 i != omap_aset.end();
 	 ++i) {
-      string key;
-      if (user_only) {
+    string key;
+    if (user_only) {
 	if (i->first[0] != '_')
 	  continue;
 	if (i->first == "_")
 	  continue;
 	key = i->first.substr(1, i->first.size());
-      } else {
+    } else {
 	key = i->first;
-      }
-      aset.insert(make_pair(key,
-			    bufferptr(i->second.c_str(), i->second.length())));
     }
+    aset.insert(make_pair(key,
+			    bufferptr(i->second.c_str(), i->second.length())));
   }
  out:
   dout(10) << "getattrs " << cid << "/" << oid << " = " << r << dendl;
@@ -3963,7 +3499,7 @@ int FileStore::getattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>&
   }
 }
 
-int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& aset,
+int FileStore::_setattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& aset,
 			 const SequencerPosition &spos)
 {
   map<string, bufferlist> omap_set;
@@ -3975,10 +3511,8 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
   if (r < 0) {
     goto out;
   }
-  if (g_conf->filestore_xattr_use_omap) {
-    r = _fgetattrs(**fd, inline_set, false);
-    assert(!m_filestore_fail_eio || r != -EIO);
-  }
+  r = _fgetattrs(**fd, inline_set, false);
+  assert(!m_filestore_fail_eio || r != -EIO);
   dout(15) << "setattrs " << cid << "/" << oid << dendl;
   r = 0;
   for (map<string,bufferptr>::iterator p = aset.begin();
@@ -3986,8 +3520,8 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
        ++p) {
     char n[CHAIN_XATTR_MAX_NAME_LEN];
     get_attrname(p->first.c_str(), n, CHAIN_XATTR_MAX_NAME_LEN);
-    if (g_conf->filestore_xattr_use_omap) {
-      if (p->second.length() > g_conf->filestore_max_inline_xattr_size) {
+
+    if (p->second.length() > m_filestore_max_inline_xattr_size) {
 	if (inline_set.count(p->first)) {
 	  inline_set.erase(p->first);
 	  r = chain_fremovexattr(**fd, n);
@@ -3996,10 +3530,10 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
 	}
 	omap_set[p->first].push_back(p->second);
 	continue;
-      }
+    }
 
-      if (!inline_set.count(p->first) &&
-	  inline_set.size() >= g_conf->filestore_max_inline_xattrs) {
+    if (!inline_set.count(p->first) &&
+	  inline_set.size() >= m_filestore_max_inline_xattrs) {
 	if (inline_set.count(p->first)) {
 	  inline_set.erase(p->first);
 	  r = chain_fremovexattr(**fd, n);
@@ -4008,10 +3542,9 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
 	}
 	omap_set[p->first].push_back(p->second);
 	continue;
-      }
-      omap_remove.insert(p->first);
-      inline_set.insert(*p);
     }
+    omap_remove.insert(p->first);
+    inline_set.insert(*p);
 
     inline_to_set.insert(*p);
 
@@ -4022,17 +3555,17 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
     goto out_close;
 
   if (!omap_remove.empty()) {
-    assert(g_conf->filestore_xattr_use_omap);
     r = object_map->remove_xattrs(oid, omap_remove, &spos);
     if (r < 0 && r != -ENOENT) {
       dout(10) << __func__ << " could not remove_xattrs r = " << r << dendl;
       assert(!m_filestore_fail_eio || r != -EIO);
       goto out_close;
+    } else {
+      r = 0; // don't confuse the debug output
     }
   }
   
   if (!omap_set.empty()) {
-    assert(g_conf->filestore_xattr_use_omap);
     r = object_map->set_xattrs(oid, omap_set, &spos);
     if (r < 0) {
       dout(10) << __func__ << " could not set_xattrs r = " << r << dendl;
@@ -4048,7 +3581,7 @@ int FileStore::_setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>
 }
 
 
-int FileStore::_rmattr(coll_t cid, const hobject_t& oid, const char *name,
+int FileStore::_rmattr(coll_t cid, const ghobject_t& oid, const char *name,
 		       const SequencerPosition &spos)
 {
   dout(15) << "rmattr " << cid << "/" << oid << " '" << name << "'" << dendl;
@@ -4060,7 +3593,7 @@ int FileStore::_rmattr(coll_t cid, const hobject_t& oid, const char *name,
   char n[CHAIN_XATTR_MAX_NAME_LEN];
   get_attrname(name, n, CHAIN_XATTR_MAX_NAME_LEN);
   r = chain_fremovexattr(**fd, n);
-  if (r == -ENODATA && g_conf->filestore_xattr_use_omap) {
+  if (r == -ENODATA) {
     Index index;
     r = get_index(cid, &index);
     if (r < 0) {
@@ -4083,13 +3616,15 @@ int FileStore::_rmattr(coll_t cid, const hobject_t& oid, const char *name,
   return r;
 }
 
-int FileStore::_rmattrs(coll_t cid, const hobject_t& oid,
+int FileStore::_rmattrs(coll_t cid, const ghobject_t& oid,
 			const SequencerPosition &spos)
 {
   dout(15) << "rmattrs " << cid << "/" << oid << dendl;
 
   map<string,bufferptr> aset;
   FDRef fd;
+  set<string> omap_attrs;
+  Index index;
   int r = lfn_open(cid, oid, false, &fd);
   if (r < 0) {
     goto out;
@@ -4106,26 +3641,24 @@ int FileStore::_rmattrs(coll_t cid, const hobject_t& oid,
   }
   lfn_close(fd);
 
-  if (g_conf->filestore_xattr_use_omap) {
-    set<string> omap_attrs;
-    Index index;
-    r = get_index(cid, &index);
-    if (r < 0) {
-      dout(10) << __func__ << " could not get index r = " << r << dendl;
-      return r;
-    }
-    r = object_map->get_all_xattrs(oid, &omap_attrs);
-    if (r < 0 && r != -ENOENT) {
-      dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
-      assert(!m_filestore_fail_eio || r != -EIO);
-      return r;
-    }
-    r = object_map->remove_xattrs(oid, omap_attrs, &spos);
-    if (r < 0 && r != -ENOENT) {
-      dout(10) << __func__ << " could not remove omap_attrs r = " << r << dendl;
-      return r;
-    }
+  r = get_index(cid, &index);
+  if (r < 0) {
+    dout(10) << __func__ << " could not get index r = " << r << dendl;
+    return r;
+  }
+  r = object_map->get_all_xattrs(oid, &omap_attrs);
+  if (r < 0 && r != -ENOENT) {
+    dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
+    assert(!m_filestore_fail_eio || r != -EIO);
+    return r;
   }
+  r = object_map->remove_xattrs(oid, omap_attrs, &spos);
+  if (r < 0 && r != -ENOENT) {
+    dout(10) << __func__ << " could not remove omap_attrs r = " << r << dendl;
+    return r;
+  }
+  if (r == -ENOENT)
+    r = 0;
  out:
   dout(10) << "rmattrs " << cid << "/" << oid << " = " << r << dendl;
   return r;
@@ -4279,14 +3812,14 @@ int FileStore::_collection_remove_recursive(const coll_t &cid,
     return r;
   }
 
-  vector<hobject_t> objects;
-  hobject_t max;
+  vector<ghobject_t> objects;
+  ghobject_t max;
   r = 0;
   while (!max.is_max()) {
     r = collection_list_partial(cid, max, 200, 300, 0, &objects, &max);
     if (r < 0)
       return r;
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
       assert(_check_replay_guard(cid, *i, spos));
@@ -4325,7 +3858,7 @@ int FileStore::_collection_rename(const coll_t &cid, const coll_t &ncid,
 
   int ret = 0;
   if (::rename(old_coll, new_coll)) {
-    if (replaying && !btrfs_stable_commits &&
+    if (replaying && !backend->can_checkpoint() &&
 	(errno == EEXIST || errno == ENOTEMPTY))
       ret = _collection_remove_recursive(cid, spos);
     else
@@ -4358,7 +3891,7 @@ int FileStore::collection_version_current(coll_t c, uint32_t *version)
   if (r < 0)
     return r;
   *version = index->collection_version();
-  if (*version == on_disk_version)
+  if (*version == target_version)
     return 1;
   else 
     return 0;
@@ -4380,8 +3913,9 @@ int FileStore::list_collections(vector<coll_t>& ls)
     return r;
   }
 
-  struct dirent sde, *de;
-  while ((r = ::readdir_r(dir, &sde, &de)) == 0) {
+  char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
+  struct dirent *de;
+  while ((r = ::readdir_r(dir, (struct dirent *)&buf, &de)) == 0) {
     if (!de)
       break;
     if (de->d_type == DT_UNKNOWN) {
@@ -4450,9 +3984,9 @@ bool FileStore::collection_empty(coll_t c)
   int r = get_index(c, &index);
   if (r < 0)
     return false;
-  vector<hobject_t> ls;
+  vector<ghobject_t> ls;
   collection_list_handle_t handle;
-  r = index->collection_list_partial(hobject_t(), 1, 1, 0, &ls, NULL);
+  r = index->collection_list_partial(ghobject_t(), 1, 1, 0, &ls, NULL);
   if (r < 0) {
     assert(!m_filestore_fail_eio || r != -EIO);
     return false;
@@ -4460,14 +3994,14 @@ bool FileStore::collection_empty(coll_t c)
   return ls.empty();
 }
 
-int FileStore::collection_list_range(coll_t c, hobject_t start, hobject_t end,
-                                     snapid_t seq, vector<hobject_t> *ls)
+int FileStore::collection_list_range(coll_t c, ghobject_t start, ghobject_t end,
+                                     snapid_t seq, vector<ghobject_t> *ls)
 {
   bool done = false;
-  hobject_t next = start;
+  ghobject_t next = start;
 
   while (!done) {
-    vector<hobject_t> next_objects;
+    vector<ghobject_t> next_objects;
     int r = collection_list_partial(c, next,
                                 get_ideal_list_min(), get_ideal_list_max(),
                                 seq, &next_objects, &next);
@@ -4494,10 +4028,11 @@ int FileStore::collection_list_range(coll_t c, hobject_t start, hobject_t end,
   return 0;
 }
 
-int FileStore::collection_list_partial(coll_t c, hobject_t start,
+int FileStore::collection_list_partial(coll_t c, ghobject_t start,
 				       int min, int max, snapid_t seq,
-				       vector<hobject_t> *ls, hobject_t *next)
+				       vector<ghobject_t> *ls, ghobject_t *next)
 {
+  dout(10) << "collection_list_partial: " << c << dendl;
   Index index;
   int r = get_index(c, &index);
   if (r < 0)
@@ -4509,10 +4044,12 @@ int FileStore::collection_list_partial(coll_t c, hobject_t start,
     assert(!m_filestore_fail_eio || r != -EIO);
     return r;
   }
+  if (ls)
+    dout(20) << "objects: " << *ls << dendl;
   return 0;
 }
 
-int FileStore::collection_list(coll_t c, vector<hobject_t>& ls) 
+int FileStore::collection_list(coll_t c, vector<ghobject_t>& ls)
 {  
   Index index;
   int r = get_index(c, &index);
@@ -4523,7 +4060,7 @@ int FileStore::collection_list(coll_t c, vector<hobject_t>& ls)
   return r;
 }
 
-int FileStore::omap_get(coll_t c, const hobject_t &hoid,
+int FileStore::omap_get(coll_t c, const ghobject_t &hoid,
 			bufferlist *header,
 			map<string, bufferlist> *out)
 {
@@ -4542,7 +4079,7 @@ int FileStore::omap_get(coll_t c, const hobject_t &hoid,
 
 int FileStore::omap_get_header(
   coll_t c,
-  const hobject_t &hoid,
+  const ghobject_t &hoid,
   bufferlist *bl,
   bool allow_eio)
 {
@@ -4559,7 +4096,7 @@ int FileStore::omap_get_header(
   return 0;
 }
 
-int FileStore::omap_get_keys(coll_t c, const hobject_t &hoid, set<string> *keys)
+int FileStore::omap_get_keys(coll_t c, const ghobject_t &hoid, set<string> *keys)
 {
   dout(15) << __func__ << " " << c << "/" << hoid << dendl;
   IndexedPath path;
@@ -4574,7 +4111,7 @@ int FileStore::omap_get_keys(coll_t c, const hobject_t &hoid, set<string> *keys)
   return 0;
 }
 
-int FileStore::omap_get_values(coll_t c, const hobject_t &hoid,
+int FileStore::omap_get_values(coll_t c, const ghobject_t &hoid,
 			       const set<string> &keys,
 			       map<string, bufferlist> *out)
 {
@@ -4591,7 +4128,7 @@ int FileStore::omap_get_values(coll_t c, const hobject_t &hoid,
   return 0;
 }
 
-int FileStore::omap_check_keys(coll_t c, const hobject_t &hoid,
+int FileStore::omap_check_keys(coll_t c, const ghobject_t &hoid,
 			       const set<string> &keys,
 			       set<string> *out)
 {
@@ -4609,7 +4146,7 @@ int FileStore::omap_check_keys(coll_t c, const hobject_t &hoid,
 }
 
 ObjectMap::ObjectMapIterator FileStore::get_omap_iterator(coll_t c,
-							  const hobject_t &hoid)
+							  const ghobject_t &hoid)
 {
   dout(15) << __func__ << " " << c << "/" << hoid << dendl;
   IndexedPath path;
@@ -4680,8 +4217,8 @@ int FileStore::_destroy_collection(coll_t c)
 }
 
 
-int FileStore::_collection_add(coll_t c, coll_t oldcid, const hobject_t& o,
-			       const SequencerPosition& spos) 
+int FileStore::_collection_add(coll_t c, coll_t oldcid, const ghobject_t& o,
+			       const SequencerPosition& spos)
 {
   dout(15) << "collection_add " << c << "/" << o << " from " << oldcid << "/" << o << dendl;
   
@@ -4711,8 +4248,8 @@ int FileStore::_collection_add(coll_t c, coll_t oldcid, const hobject_t& o,
     _set_replay_guard(**fd, spos, &o, true);
   }
 
-  r = lfn_link(oldcid, c, o);
-  if (replaying && !btrfs_stable_commits &&
+  r = lfn_link(oldcid, c, o, o);
+  if (replaying && !backend->can_checkpoint() &&
       r == -EEXIST)    // crashed between link() and set_replay_guard()
     r = 0;
 
@@ -4728,6 +4265,81 @@ int FileStore::_collection_add(coll_t c, coll_t oldcid, const hobject_t& o,
   return r;
 }
 
+int FileStore::_collection_move_rename(coll_t oldcid, const ghobject_t& oldoid,
+				       coll_t c, const ghobject_t& o,
+				       const SequencerPosition& spos)
+{
+  dout(15) << __func__ << " " << c << "/" << o << " from " << oldcid << "/" << oldoid << dendl;
+  int r = 0;
+  int dstcmp, srccmp;
+
+  if (replaying) {
+    /* If the destination collection doesn't exist during replay,
+     * we need to delete the src object and continue on
+     */
+    if (!collection_exists(c))
+      goto out_rm_src;
+  }
+
+  dstcmp = _check_replay_guard(c, o, spos);
+  if (dstcmp < 0)
+    goto out_rm_src;
+
+  // check the src name too; it might have a newer guard, and we don't
+  // want to clobber it
+  srccmp = _check_replay_guard(oldcid, oldoid, spos);
+  if (srccmp < 0)
+    return 0;
+
+  {
+    // open guard on object so we don't any previous operations on the
+    // new name that will modify the source inode.
+    FDRef fd;
+    r = lfn_open(oldcid, oldoid, 0, &fd);
+    if (r < 0) {
+      // the source collection/object does not exist. If we are replaying, we
+      // should be safe, so just return 0 and move on.
+      assert(replaying);
+      dout(10) << __func__ << " " << c << "/" << o << " from "
+	       << oldcid << "/" << oldoid << " (dne, continue replay) " << dendl;
+      return 0;
+    }
+    if (dstcmp > 0) {      // if dstcmp == 0 the guard already says "in-progress"
+      _set_replay_guard(**fd, spos, &o, true);
+    }
+
+    r = lfn_link(oldcid, c, oldoid, o);
+    if (replaying && !backend->can_checkpoint() &&
+	r == -EEXIST)    // crashed between link() and set_replay_guard()
+      r = 0;
+
+    _inject_failure();
+
+    // the name changed; link the omap content
+    r = object_map->clone(oldoid, o, &spos);
+    if (r == -ENOENT)
+      r = 0;
+
+    _inject_failure();
+
+    // close guard on object so we don't do this again
+    if (r == 0) {
+      _close_replay_guard(**fd, spos);
+    }
+    lfn_close(fd);
+  }
+
+ out_rm_src:
+  // remove source
+  if (_check_replay_guard(oldcid, oldoid, spos) > 0) {
+    r = lfn_unlink(oldcid, oldoid, spos, true);
+  }
+
+  dout(10) << __func__ << " " << c << "/" << o << " from " << oldcid << "/" << oldoid
+	   << " = " << r << dendl;
+  return r;
+}
+
 void FileStore::_inject_failure()
 {
   if (m_filestore_kill_at.read()) {
@@ -4741,7 +4353,7 @@ void FileStore::_inject_failure()
   }
 }
 
-int FileStore::_omap_clear(coll_t cid, const hobject_t &hoid,
+int FileStore::_omap_clear(coll_t cid, const ghobject_t &hoid,
 			   const SequencerPosition &spos) {
   dout(15) << __func__ << " " << cid << "/" << hoid << dendl;
   IndexedPath path;
@@ -4754,7 +4366,7 @@ int FileStore::_omap_clear(coll_t cid, const hobject_t &hoid,
   return 0;
 }
 
-int FileStore::_omap_setkeys(coll_t cid, const hobject_t &hoid,
+int FileStore::_omap_setkeys(coll_t cid, const ghobject_t &hoid,
 			     const map<string, bufferlist> &aset,
 			     const SequencerPosition &spos) {
   dout(15) << __func__ << " " << cid << "/" << hoid << dendl;
@@ -4765,7 +4377,7 @@ int FileStore::_omap_setkeys(coll_t cid, const hobject_t &hoid,
   return object_map->set_keys(hoid, aset, &spos);
 }
 
-int FileStore::_omap_rmkeys(coll_t cid, const hobject_t &hoid,
+int FileStore::_omap_rmkeys(coll_t cid, const ghobject_t &hoid,
 			    const set<string> &keys,
 			    const SequencerPosition &spos) {
   dout(15) << __func__ << " " << cid << "/" << hoid << dendl;
@@ -4779,7 +4391,7 @@ int FileStore::_omap_rmkeys(coll_t cid, const hobject_t &hoid,
   return 0;
 }
 
-int FileStore::_omap_rmkeyrange(coll_t cid, const hobject_t &hoid,
+int FileStore::_omap_rmkeyrange(coll_t cid, const ghobject_t &hoid,
 				const string& first, const string& last,
 				const SequencerPosition &spos) {
   dout(15) << __func__ << " " << cid << "/" << hoid << " [" << first << "," << last << "]" << dendl;
@@ -4796,7 +4408,7 @@ int FileStore::_omap_rmkeyrange(coll_t cid, const hobject_t &hoid,
   return _omap_rmkeys(cid, hoid, keys, spos);
 }
 
-int FileStore::_omap_setheader(coll_t cid, const hobject_t &hoid,
+int FileStore::_omap_setheader(coll_t cid, const ghobject_t &hoid,
 			       const bufferlist &bl,
 			       const SequencerPosition &spos)
 {
@@ -4856,8 +4468,8 @@ int FileStore::_split_collection(coll_t cid,
     _close_replay_guard(dest, spos);
   }
   if (g_conf->filestore_debug_verify_split) {
-    vector<hobject_t> objects;
-    hobject_t next;
+    vector<ghobject_t> objects;
+    ghobject_t next;
     while (1) {
       collection_list_partial(
 	cid,
@@ -4867,7 +4479,7 @@ int FileStore::_split_collection(coll_t cid,
 	&next);
       if (objects.empty())
 	break;
-      for (vector<hobject_t>::iterator i = objects.begin();
+      for (vector<ghobject_t>::iterator i = objects.begin();
 	   i != objects.end();
 	   ++i) {
 	dout(20) << __func__ << ": " << *i << " still in source "
@@ -4876,7 +4488,7 @@ int FileStore::_split_collection(coll_t cid,
       }
       objects.clear();
     }
-    next = hobject_t();
+    next = ghobject_t();
     while (1) {
       collection_list_partial(
 	dest,
@@ -4886,7 +4498,7 @@ int FileStore::_split_collection(coll_t cid,
 	&next);
       if (objects.empty())
 	break;
-      for (vector<hobject_t>::iterator i = objects.begin();
+      for (vector<ghobject_t>::iterator i = objects.begin();
 	   i != objects.end();
 	   ++i) {
 	dout(20) << __func__ << ": " << *i << " now in dest "
@@ -4952,6 +4564,8 @@ const char** FileStore::get_tracked_conf_keys() const
     "filestore_kill_at",
     "filestore_fail_eio",
     "filestore_replica_fadvise",
+    "filestore_sloppy_crc",
+    "filestore_sloppy_crc_block_size",
     NULL
   };
   return KEYS;
@@ -4960,6 +4574,17 @@ const char** FileStore::get_tracked_conf_keys() const
 void FileStore::handle_conf_change(const struct md_config_t *conf,
 			  const std::set <std::string> &changed)
 {
+  if (changed.count("filestore_max_inline_xattr_size") ||
+      changed.count("filestore_max_inline_xattr_size_xfs") ||
+      changed.count("filestore_max_inline_xattr_size_btrfs") ||
+      changed.count("filestore_max_inline_xattr_size_other") ||
+      changed.count("filestore_max_inline_xattrs") ||
+      changed.count("filestore_max_inline_xattrs_xfs") ||
+      changed.count("filestore_max_inline_xattrs_btrfs") ||
+      changed.count("filestore_max_inline_xattrs_other")) {
+    Mutex::Locker l(lock);
+    set_xattr_limits_via_conf();
+  }
   if (changed.count("filestore_min_sync_interval") ||
       changed.count("filestore_max_sync_interval") ||
       changed.count("filestore_queue_max_ops") ||
@@ -4968,6 +4593,8 @@ void FileStore::handle_conf_change(const struct md_config_t *conf,
       changed.count("filestore_queue_committing_max_bytes") ||
       changed.count("filestore_kill_at") ||
       changed.count("filestore_fail_eio") ||
+      changed.count("filestore_sloppy_crc") ||
+      changed.count("filestore_sloppy_crc_block_size") ||
       changed.count("filestore_replica_fadvise")) {
     Mutex::Locker l(lock);
     m_filestore_min_sync_interval = conf->filestore_min_sync_interval;
@@ -4979,6 +4606,8 @@ void FileStore::handle_conf_change(const struct md_config_t *conf,
     m_filestore_kill_at.set(conf->filestore_kill_at);
     m_filestore_fail_eio = conf->filestore_fail_eio;
     m_filestore_replica_fadvise = conf->filestore_replica_fadvise;
+    m_filestore_sloppy_crc = conf->filestore_sloppy_crc;
+    m_filestore_sloppy_crc_block_size = conf->filestore_sloppy_crc_block_size;
   }
   if (changed.count("filestore_commit_timeout")) {
     Mutex::Locker l(sync_entry_timeo_lock);
@@ -5034,3 +4663,77 @@ void FileStore::dump_transactions(list<ObjectStore::Transaction*>& ls, uint64_t
   m_filestore_dump_fmt.flush(m_filestore_dump);
   m_filestore_dump.flush();
 }
+
+void FileStore::set_xattr_limits_via_conf()
+{
+  uint32_t fs_xattr_size;
+  uint32_t fs_xattrs;
+
+  assert(m_fs_type != FS_TYPE_NONE);
+
+  switch(m_fs_type) {
+    case FS_TYPE_XFS:
+      fs_xattr_size = g_conf->filestore_max_inline_xattr_size_xfs;
+      fs_xattrs = g_conf->filestore_max_inline_xattrs_xfs;
+      break;
+    case FS_TYPE_BTRFS:
+      fs_xattr_size = g_conf->filestore_max_inline_xattr_size_btrfs;
+      fs_xattrs = g_conf->filestore_max_inline_xattrs_btrfs;
+      break;
+    case FS_TYPE_ZFS:
+    case FS_TYPE_OTHER:
+      fs_xattr_size = g_conf->filestore_max_inline_xattr_size_other;
+      fs_xattrs = g_conf->filestore_max_inline_xattrs_other;
+      break;
+    default:
+      assert(!"Unknown fs type");
+  }
+
+  //Use override value if set
+  if (g_conf->filestore_max_inline_xattr_size)
+    m_filestore_max_inline_xattr_size = g_conf->filestore_max_inline_xattr_size;
+  else
+    m_filestore_max_inline_xattr_size = fs_xattr_size;
+
+  //Use override value if set
+  if (g_conf->filestore_max_inline_xattrs)
+    m_filestore_max_inline_xattrs = g_conf->filestore_max_inline_xattrs;
+  else
+    m_filestore_max_inline_xattrs = fs_xattrs;
+}
+
+// -- FSSuperblock --
+
+void FSSuperblock::encode(bufferlist &bl) const
+{
+  ENCODE_START(1, 1, bl);
+  compat_features.encode(bl);
+  ENCODE_FINISH(bl);
+}
+
+void FSSuperblock::decode(bufferlist::iterator &bl)
+{
+  DECODE_START(1, bl);
+  compat_features.decode(bl);
+  DECODE_FINISH(bl);
+}
+
+void FSSuperblock::dump(Formatter *f) const
+{
+  f->open_object_section("compat");
+  compat_features.dump(f);
+  f->close_section();
+}
+
+void FSSuperblock::generate_test_instances(list<FSSuperblock*>& o)
+{
+  FSSuperblock z;
+  o.push_back(new FSSuperblock(z));
+  CompatSet::FeatureSet feature_compat;
+  CompatSet::FeatureSet feature_ro_compat;
+  CompatSet::FeatureSet feature_incompat;
+  feature_incompat.insert(CEPH_FS_FEATURE_INCOMPAT_SHARDS);
+  z.compat_features = CompatSet(feature_compat, feature_ro_compat,
+                                feature_incompat);
+  o.push_back(new FSSuperblock(z));
+}
diff --git a/src/os/FileStore.h b/src/os/FileStore.h
index 86d267d..c489fdd 100644
--- a/src/os/FileStore.h
+++ b/src/os/FileStore.h
@@ -51,11 +51,73 @@ using namespace __gnu_cxx;
 # define FALLOC_FL_PUNCH_HOLE 0x2
 #endif
 
+#if defined(__linux__)
+# ifndef BTRFS_SUPER_MAGIC
+static const __SWORD_TYPE BTRFS_SUPER_MAGIC(0x9123683E);
+# endif
+# ifndef XFS_SUPER_MAGIC
+static const __SWORD_TYPE XFS_SUPER_MAGIC(0x58465342);
+# endif
+#endif
+
+#ifndef ZFS_SUPER_MAGIC
+static const __SWORD_TYPE ZFS_SUPER_MAGIC(0x2fc12fc1);
+#endif
+
+enum fs_types {
+  FS_TYPE_NONE = 0,
+  FS_TYPE_XFS,
+  FS_TYPE_BTRFS,
+  FS_TYPE_ZFS,
+  FS_TYPE_OTHER
+};
+
+class FileStoreBackend;
+
+#define CEPH_FS_FEATURE_INCOMPAT_SHARDS CompatSet::Feature(1, "sharded objects")
+
+class FSSuperblock {
+public:
+  CompatSet compat_features;
+
+  FSSuperblock() { }
+
+  void encode(bufferlist &bl) const;
+  void decode(bufferlist::iterator &bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<FSSuperblock*>& o);
+};
+WRITE_CLASS_ENCODER(FSSuperblock)
+
+inline ostream& operator<<(ostream& out, const FSSuperblock& sb)
+{
+  return out << "sb(" << sb.compat_features << ")";
+}
+
 class FileStore : public JournalingObjectStore,
                   public md_config_obs_t
 {
 public:
-  static const uint32_t on_disk_version = 3;
+
+  struct FSPerfTracker {
+    PerfCounters::avg_tracker<uint64_t> os_commit_latency;
+    PerfCounters::avg_tracker<uint64_t> os_apply_latency;
+
+    filestore_perf_stat_t get_cur_stats() const {
+      filestore_perf_stat_t ret;
+      ret.filestore_commit_latency = os_commit_latency.avg();
+      ret.filestore_apply_latency = os_apply_latency.avg();
+      return ret;
+    }
+
+    void update_from_perfcounters(PerfCounters &logger);
+  } perf_tracker;
+  filestore_perf_stat_t get_cur_stats() {
+    perf_tracker.update_from_perfcounters(*logger);
+    return perf_tracker.get_cur_stats();
+  }
+
+  static const uint32_t target_version = 3;
 private:
   string internal_name;         ///< internal name, used to name the perfcounter instance
   string basedir, journalpath;
@@ -64,19 +126,13 @@ private:
   std::string omap_dir;
   uuid_d fsid;
   
-  bool btrfs;                   ///< fs is btrfs
-  bool btrfs_stable_commits;    ///< we are using btrfs snapshots for a stable journal refernce
-  uint64_t blk_size;            ///< fs block size
-  bool btrfs_trans_start_end;   ///< btrfs trans start/end ioctls are supported
-  bool btrfs_clone_range;       ///< btrfs clone range ioctl is supported
-  bool btrfs_snap_create;       ///< btrfs snap create ioctl is supported
-  bool btrfs_snap_destroy;      ///< btrfs snap destroy ioctl is supported
-  bool btrfs_snap_create_v2;    ///< btrfs snap create v2 ioctl (async!) is supported
-  bool btrfs_wait_sync;         ///< btrfs wait sync ioctl is supported
-  bool ioctl_fiemap;            ///< fiemap ioctl is supported
-  int fsid_fd, op_fd;
-
-  int basedir_fd, current_fd;
+  size_t blk_size;            ///< fs block size
+
+  int fsid_fd, op_fd, basedir_fd, current_fd;
+
+  FileStoreBackend *generic_backend;
+  FileStoreBackend *backend;
+
   deque<uint64_t> snaps;
 
   // Indexed Collections
@@ -119,8 +175,6 @@ private:
     }
   } sync_thread;
 
-  void sync_fs(); // actuall sync underlying fs
-
   // -- op workqueue --
   struct Op {
     utime_t start;
@@ -254,37 +308,37 @@ private:
   void op_queue_reserve_throttle(Op *o);
   void op_queue_release_throttle(Op *o);
   void _journaled_ahead(OpSequencer *osr, Op *o, Context *ondisk);
-  friend class C_JournaledAhead;
+  friend struct C_JournaledAhead;
+  int write_version_stamp();
 
   int open_journal();
 
   PerfCounters *logger;
 
 public:
-  int lfn_find(coll_t cid, const hobject_t& oid, IndexedPath *path);
-  int lfn_truncate(coll_t cid, const hobject_t& oid, off_t length);
-  int lfn_stat(coll_t cid, const hobject_t& oid, struct stat *buf);
+  int lfn_find(coll_t cid, const ghobject_t& oid, IndexedPath *path);
+  int lfn_truncate(coll_t cid, const ghobject_t& oid, off_t length);
+  int lfn_stat(coll_t cid, const ghobject_t& oid, struct stat *buf);
   int lfn_open(
     coll_t cid,
-    const hobject_t& oid,
+    const ghobject_t& oid,
     bool create,
     FDRef *outfd,
     IndexedPath *path = 0,
     Index *index = 0);
   void lfn_close(FDRef fd);
-  int lfn_link(coll_t c, coll_t cid, const hobject_t& o) ;
-  int lfn_unlink(coll_t cid, const hobject_t& o, const SequencerPosition &spos);
+  int lfn_link(coll_t c, coll_t newcid, const ghobject_t& o, const ghobject_t& newoid) ;
+  int lfn_unlink(coll_t cid, const ghobject_t& o, const SequencerPosition &spos,
+		 bool force_clear_omap=false);
 
- public:
+public:
   FileStore(const std::string &base, const std::string &jdev, const char *internal_name = "filestore", bool update_to=false);
   ~FileStore();
 
-  int _test_fiemap();
   int _detect_fs();
   int _sanity_check_fs();
   
   bool test_mount_in_use();
-  int write_version_stamp();
   int version_stamp_is_valid(uint32_t *version);
   int update_version_stamp();
   int read_op_seq(uint64_t *seq);
@@ -295,6 +349,22 @@ public:
   int mkfs();
   int mkjournal();
 
+  /**
+   * set_allow_sharded_objects()
+   *
+   * Before sharded ghobject_t can be specified this function must be called
+   *
+   * Once this function is called the FileStore is not mountable by prior releases
+   */
+  void set_allow_sharded_objects();
+
+  /**
+   * get_allow_sharded_objects()
+   *
+   * return value: true if set_allow_sharded_objects() called, otherwise false
+   */
+  bool get_allow_sharded_objects();
+
   int statfs(struct statfs *buf);
 
   int _do_transactions(
@@ -303,7 +373,9 @@ public:
   int do_transactions(list<Transaction*> &tls, uint64_t op_seq) {
     return _do_transactions(tls, op_seq, 0);
   }
-  unsigned _do_transaction(Transaction& t, uint64_t op_seq, int trans_num);
+  unsigned _do_transaction(
+    Transaction& t, uint64_t op_seq, int trans_num,
+    ThreadPool::TPHandle *handle);
 
   int queue_transactions(Sequencer *osr, list<Transaction*>& tls,
 			 TrackedOpRef op = TrackedOpRef());
@@ -319,7 +391,7 @@ public:
    */
   void _set_replay_guard(int fd,
 			 const SequencerPosition& spos,
-			 const hobject_t *hoid=0,
+			 const ghobject_t *oid=0,
 			 bool in_progress=false);
   void _set_replay_guard(coll_t cid,
                          const SequencerPosition& spos,
@@ -349,42 +421,42 @@ public:
    */
   int _check_replay_guard(int fd, const SequencerPosition& spos);
   int _check_replay_guard(coll_t cid, const SequencerPosition& spos);
-  int _check_replay_guard(coll_t cid, hobject_t oid, const SequencerPosition& pos);
+  int _check_replay_guard(coll_t cid, ghobject_t oid, const SequencerPosition& pos);
   int _check_global_replay_guard(coll_t cid, const SequencerPosition& spos);
 
   // ------------------
   // objects
-  int pick_object_revision_lt(hobject_t& oid) {
+  int pick_object_revision_lt(ghobject_t& oid) {
     return 0;
   }
-  bool exists(coll_t cid, const hobject_t& oid);
+  bool exists(coll_t cid, const ghobject_t& oid);
   int stat(
     coll_t cid,
-    const hobject_t& oid,
+    const ghobject_t& oid,
     struct stat *st,
     bool allow_eio = false);
   int read(
     coll_t cid,
-    const hobject_t& oid,
+    const ghobject_t& oid,
     uint64_t offset,
     size_t len,
     bufferlist& bl,
     bool allow_eio = false);
-  int fiemap(coll_t cid, const hobject_t& oid, uint64_t offset, size_t len, bufferlist& bl);
+  int fiemap(coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len, bufferlist& bl);
 
-  int _touch(coll_t cid, const hobject_t& oid);
-  int _write(coll_t cid, const hobject_t& oid, uint64_t offset, size_t len, const bufferlist& bl,
+  int _touch(coll_t cid, const ghobject_t& oid);
+  int _write(coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len, const bufferlist& bl,
       bool replica = false);
-  int _zero(coll_t cid, const hobject_t& oid, uint64_t offset, size_t len);
-  int _truncate(coll_t cid, const hobject_t& oid, uint64_t size);
-  int _clone(coll_t cid, const hobject_t& oldoid, const hobject_t& newoid,
+  int _zero(coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len);
+  int _truncate(coll_t cid, const ghobject_t& oid, uint64_t size);
+  int _clone(coll_t cid, const ghobject_t& oldoid, const ghobject_t& newoid,
 	     const SequencerPosition& spos);
-  int _clone_range(coll_t cid, const hobject_t& oldoid, const hobject_t& newoid,
+  int _clone_range(coll_t cid, const ghobject_t& oldoid, const ghobject_t& newoid,
 		   uint64_t srcoff, uint64_t len, uint64_t dstoff,
 		   const SequencerPosition& spos);
   int _do_clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff);
   int _do_copy_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff);
-  int _remove(coll_t cid, const hobject_t& oid, const SequencerPosition &spos);
+  int _remove(coll_t cid, const ghobject_t& oid, const SequencerPosition &spos);
 
   int _fgetattr(int fd, const char *name, bufferptr& bp);
   int _fgetattrs(int fd, map<string,bufferptr>& aset, bool user_only);
@@ -408,25 +480,25 @@ public:
 
   // DEBUG read error injection, an object is removed from both on delete()
   Mutex read_error_lock;
-  set<hobject_t> data_error_set; // read() will return -EIO
-  set<hobject_t> mdata_error_set; // getattr(),stat() will return -EIO
-  void inject_data_error(const hobject_t &oid);
-  void inject_mdata_error(const hobject_t &oid);
-  void debug_obj_on_delete(const hobject_t &oid);
-  bool debug_data_eio(const hobject_t &oid);
-  bool debug_mdata_eio(const hobject_t &oid);
+  set<ghobject_t> data_error_set; // read() will return -EIO
+  set<ghobject_t> mdata_error_set; // getattr(),stat() will return -EIO
+  void inject_data_error(const ghobject_t &oid);
+  void inject_mdata_error(const ghobject_t &oid);
+  void debug_obj_on_delete(const ghobject_t &oid);
+  bool debug_data_eio(const ghobject_t &oid);
+  bool debug_mdata_eio(const ghobject_t &oid);
 
   int snapshot(const string& name);
 
   // attrs
-  int getattr(coll_t cid, const hobject_t& oid, const char *name, bufferptr &bp);
-  int getattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& aset, bool user_only = false);
+  int getattr(coll_t cid, const ghobject_t& oid, const char *name, bufferptr &bp);
+  int getattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& aset, bool user_only = false);
 
-  int _setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& aset,
+  int _setattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& aset,
 		const SequencerPosition &spos);
-  int _rmattr(coll_t cid, const hobject_t& oid, const char *name,
+  int _rmattr(coll_t cid, const ghobject_t& oid, const char *name,
 	      const SequencerPosition &spos);
-  int _rmattrs(coll_t cid, const hobject_t& oid,
+  int _rmattrs(coll_t cid, const ghobject_t& oid,
 	       const SequencerPosition &spos);
 
   int collection_getattr(coll_t c, const char *name, void *value, size_t size);
@@ -447,33 +519,36 @@ public:
   int collection_stat(coll_t c, struct stat *st);
   bool collection_exists(coll_t c);
   bool collection_empty(coll_t c);
-  int collection_list(coll_t c, vector<hobject_t>& o);
-  int collection_list_partial(coll_t c, hobject_t start,
+  int collection_list(coll_t c, vector<ghobject_t>& oid);
+  int collection_list_partial(coll_t c, ghobject_t start,
 			      int min, int max, snapid_t snap,
-			      vector<hobject_t> *ls, hobject_t *next);
-  int collection_list_range(coll_t c, hobject_t start, hobject_t end,
-                            snapid_t seq, vector<hobject_t> *ls);
+			      vector<ghobject_t> *ls, ghobject_t *next);
+  int collection_list_range(coll_t c, ghobject_t start, ghobject_t end,
+                            snapid_t seq, vector<ghobject_t> *ls);
 
   // omap (see ObjectStore.h for documentation)
-  int omap_get(coll_t c, const hobject_t &hoid, bufferlist *header,
+  int omap_get(coll_t c, const ghobject_t &oid, bufferlist *header,
 	       map<string, bufferlist> *out);
   int omap_get_header(
     coll_t c,
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     bufferlist *out,
     bool allow_eio = false);
-  int omap_get_keys(coll_t c, const hobject_t &hoid, set<string> *keys);
-  int omap_get_values(coll_t c, const hobject_t &hoid, const set<string> &keys,
+  int omap_get_keys(coll_t c, const ghobject_t &oid, set<string> *keys);
+  int omap_get_values(coll_t c, const ghobject_t &oid, const set<string> &keys,
 		      map<string, bufferlist> *out);
-  int omap_check_keys(coll_t c, const hobject_t &hoid, const set<string> &keys,
+  int omap_check_keys(coll_t c, const ghobject_t &oid, const set<string> &keys,
 		      set<string> *out);
-  ObjectMap::ObjectMapIterator get_omap_iterator(coll_t c, const hobject_t &hoid);
+  ObjectMap::ObjectMapIterator get_omap_iterator(coll_t c, const ghobject_t &oid);
 
   int _create_collection(coll_t c);
   int _create_collection(coll_t c, const SequencerPosition &spos);
   int _destroy_collection(coll_t c);
-  int _collection_add(coll_t c, coll_t ocid, const hobject_t& o,
+  int _collection_add(coll_t c, coll_t ocid, const ghobject_t& oid,
 		      const SequencerPosition& spos);
+  int _collection_move_rename(coll_t oldcid, const ghobject_t& oldoid,
+			      coll_t c, const ghobject_t& o,
+			      const SequencerPosition& spos);
   void dump_start(const std::string& file);
   void dump_stop();
   void dump_transactions(list<ObjectStore::Transaction*>& ls, uint64_t seq, OpSequencer *osr);
@@ -482,17 +557,17 @@ private:
   void _inject_failure();
 
   // omap
-  int _omap_clear(coll_t cid, const hobject_t &hoid,
+  int _omap_clear(coll_t cid, const ghobject_t &oid,
 		  const SequencerPosition &spos);
-  int _omap_setkeys(coll_t cid, const hobject_t &hoid,
+  int _omap_setkeys(coll_t cid, const ghobject_t &oid,
 		    const map<string, bufferlist> &aset,
 		    const SequencerPosition &spos);
-  int _omap_rmkeys(coll_t cid, const hobject_t &hoid, const set<string> &keys,
+  int _omap_rmkeys(coll_t cid, const ghobject_t &oid, const set<string> &keys,
 		   const SequencerPosition &spos);
-  int _omap_rmkeyrange(coll_t cid, const hobject_t &hoid,
+  int _omap_rmkeyrange(coll_t cid, const ghobject_t &oid,
 		       const string& first, const string& last,
 		       const SequencerPosition &spos);
-  int _omap_setheader(coll_t cid, const hobject_t &hoid, const bufferlist &bl,
+  int _omap_setheader(coll_t cid, const ghobject_t &oid, const bufferlist &bl,
 		      const SequencerPosition &spos);
   int _split_collection(coll_t cid, uint32_t bits, uint32_t rem, coll_t dest,
                         const SequencerPosition &spos);
@@ -503,11 +578,7 @@ private:
   virtual const char** get_tracked_conf_keys() const;
   virtual void handle_conf_change(const struct md_config_t *conf,
 			  const std::set <std::string> &changed);
-  bool m_filestore_btrfs_clone_range;
-  bool m_filestore_btrfs_snap;
   float m_filestore_commit_timeout;
-  bool m_filestore_fiemap;
-  bool m_filestore_fsync_flushes_journal_data;
   bool m_filestore_journal_parallel;
   bool m_filestore_journal_trailing;
   bool m_filestore_journal_writeahead;
@@ -528,8 +599,94 @@ private:
   std::ofstream m_filestore_dump;
   JSONFormatter m_filestore_dump_fmt;
   atomic_t m_filestore_kill_at;
+  bool m_filestore_sloppy_crc;
+  int m_filestore_sloppy_crc_block_size;
+  enum fs_types m_fs_type;
+
+  //Determined xattr handling based on fs type
+  void set_xattr_limits_via_conf();
+  uint32_t m_filestore_max_inline_xattr_size;
+  uint32_t m_filestore_max_inline_xattrs;
+
+  FSSuperblock superblock;
+
+  /**
+   * write_superblock()
+   *
+   * Write superblock to persisent storage
+   *
+   * return value: 0 on success, otherwise negative errno
+   */
+  int write_superblock();
+
+  /**
+   * read_superblock()
+   *
+   * Fill in FileStore::superblock by reading persistent storage
+   *
+   * return value: 0 on success, otherwise negative errno
+   */
+  int read_superblock();
+
+  friend class FileStoreBackend;
 };
 
 ostream& operator<<(ostream& out, const FileStore::OpSequencer& s);
 
+struct fiemap;
+
+class FileStoreBackend {
+private:
+  FileStore *filestore;
+protected:
+  int get_basedir_fd() {
+    return filestore->basedir_fd;
+  }
+  int get_current_fd() {
+    return filestore->current_fd;
+  }
+  int get_op_fd() {
+    return filestore->op_fd;
+  }
+  size_t get_blksize() {
+    return filestore->blk_size;
+  }
+  const string& get_basedir_path() {
+    return filestore->basedir;
+  }
+  const string& get_current_path() {
+    return filestore->current_fn;
+  }
+  int _copy_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff) {
+    return filestore->_do_copy_range(from, to, srcoff, len, dstoff);
+  }
+  int get_crc_block_size() {
+    return filestore->m_filestore_sloppy_crc_block_size;
+  }
+public:
+  FileStoreBackend(FileStore *fs) : filestore(fs) {}
+  virtual ~FileStoreBackend() {};
+  virtual int detect_features() = 0;
+  virtual int create_current() = 0;
+  virtual bool can_checkpoint() = 0;
+  virtual int list_checkpoints(list<string>& ls) = 0;
+  virtual int create_checkpoint(const string& name, uint64_t *cid) = 0;
+  virtual int sync_checkpoint(uint64_t id) = 0;
+  virtual int rollback_to(const string& name) = 0;
+  virtual int destroy_checkpoint(const string& name) = 0;
+  virtual int syncfs() = 0;
+  virtual bool has_fiemap() = 0;
+  virtual int do_fiemap(int fd, off_t start, size_t len, struct fiemap **pfiemap) = 0;
+  virtual int clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff) = 0;
+
+  // hooks for (sloppy) crc tracking
+  virtual int _crc_update_write(int fd, loff_t off, size_t len, const bufferlist& bl) = 0;
+  virtual int _crc_update_truncate(int fd, loff_t off) = 0;
+  virtual int _crc_update_zero(int fd, loff_t off, size_t len) = 0;
+  virtual int _crc_update_clone_range(int srcfd, int destfd,
+				      loff_t srcoff, size_t len, loff_t dstoff) = 0;
+  virtual int _crc_verify_read(int fd, loff_t off, size_t len, const bufferlist& bl,
+			       ostream *out) = 0;
+};
+
 #endif
diff --git a/src/os/FlatIndex.cc b/src/os/FlatIndex.cc
index f4a5ce3..d4644ab 100644
--- a/src/os/FlatIndex.cc
+++ b/src/os/FlatIndex.cc
@@ -134,18 +134,18 @@ static void lfn_translate(const char *path, const char *name, char *new_name, in
   return;
 }
 
-static int append_oname(const hobject_t &oid, char *s, int len)
+static int append_oname(const ghobject_t &oid, char *s, int len)
 {
   //assert(sizeof(oid) == 28);
   char *end = s + len;
   char *t = s + strlen(s);
 
-  const char *i = oid.oid.name.c_str();
+  const char *i = oid.hobj.oid.name.c_str();
   while (*i && t < end) {
     if (*i == '\\') {
       *t++ = '\\';
       *t++ = '\\';      
-    } else if (*i == '.' && i == oid.oid.name.c_str()) {  // only escape leading .
+    } else if (*i == '.' && i == oid.hobj.oid.name.c_str()) {  // only escape leading .
       *t++ = '\\';
       *t++ = '.';
     } else if (*i == '/') {
@@ -158,17 +158,17 @@ static int append_oname(const hobject_t &oid, char *s, int len)
 
   int size = t - s;
 
-  if (oid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     size += snprintf(t, end - t, "_head");
-  else if (oid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     size += snprintf(t, end - t, "_snapdir");
   else
-    size += snprintf(t, end - t, "_%llx", (long long unsigned)oid.snap);
+    size += snprintf(t, end - t, "_%llx", (long long unsigned)oid.hobj.snap);
 
   return size;
 }
 
-static bool parse_object(char *s, hobject_t& oid)
+static bool parse_object(char *s, ghobject_t& oid)
 {
   sobject_t o;
   char *bar = s + strlen(s) - 1;
@@ -201,13 +201,13 @@ static bool parse_object(char *s, hobject_t& oid)
       o.snap = CEPH_SNAPDIR;
     else
       o.snap = strtoull(bar+1, &s, 16);
-    oid = hobject_t(o);
+    oid = ghobject_t(hobject_t(o));
     return true;
   }
   return false;
 }
 
-static int lfn_get(const char *coll_path, const hobject_t& oid, char *pathname, int len, char *lfn, int lfn_len, int *exist, int *is_lfn)
+static int lfn_get(const char *coll_path, const ghobject_t& oid, char *pathname, int len, char *lfn, int lfn_len, int *exist, int *is_lfn)
 {
   int i = 0;
   strncpy(pathname, coll_path, len);
@@ -277,7 +277,7 @@ int FlatIndex::init() {
   return 0;
 }
 
-int FlatIndex::created(const hobject_t &hoid, const char *path) {
+int FlatIndex::created(const ghobject_t &hoid, const char *path) {
   char long_name[PATH_MAX];
   long_name[0] = '\0';
   int actual_len = append_oname(hoid, long_name, sizeof(long_name));
@@ -292,7 +292,7 @@ int FlatIndex::created(const hobject_t &hoid, const char *path) {
   return 0;
 }
 
-int FlatIndex::unlink(const hobject_t &o) {
+int FlatIndex::unlink(const ghobject_t &o) {
   char long_fn[PATH_MAX];
   char short_fn[PATH_MAX];
   char short_fn2[PATH_MAX];
@@ -346,7 +346,7 @@ int FlatIndex::unlink(const hobject_t &o) {
   return 0;
 }
 
-int FlatIndex::lookup(const hobject_t &hoid, IndexedPath *path, int *exist) {
+int FlatIndex::lookup(const ghobject_t &hoid, IndexedPath *path, int *exist) {
   char long_fn[PATH_MAX];
   char short_fn[PATH_MAX];
   int r;
@@ -361,7 +361,7 @@ int FlatIndex::lookup(const hobject_t &hoid, IndexedPath *path, int *exist) {
 }
 
 static int get_hobject_from_oinfo(const char *dir, const char *file, 
-				  hobject_t *o) {
+				  ghobject_t *o) {
   char path[PATH_MAX];
   bufferptr bp(PATH_MAX);
   snprintf(path, sizeof(path), "%s/%s", dir, file);
@@ -376,18 +376,19 @@ static int get_hobject_from_oinfo(const char *dir, const char *file,
   return 0;
 }
 
-int FlatIndex::collection_list_partial(const hobject_t &start,
+int FlatIndex::collection_list_partial(const ghobject_t &start,
 				       int min_count,
 				       int max_count,
 				       snapid_t seq,
-				       vector<hobject_t> *ls,
-				       hobject_t *next) {
+				       vector<ghobject_t> *ls,
+				       ghobject_t *next) {
   assert(0); // Should not be called
   return 0;
 }
 
-int FlatIndex::collection_list(vector<hobject_t> *ls) {
-  char dir_name[PATH_MAX], buf[PATH_MAX], new_name[PATH_MAX];
+int FlatIndex::collection_list(vector<ghobject_t> *ls) {
+  char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
+  char dir_name[PATH_MAX], new_name[PATH_MAX];
   strncpy(dir_name, base_path.c_str(), sizeof(dir_name));
   dir_name[sizeof(dir_name)-1]='\0';
 
@@ -396,21 +397,21 @@ int FlatIndex::collection_list(vector<hobject_t> *ls) {
     return -errno;
   
   // first, build (ino, object) list
-  vector< pair<ino_t,hobject_t> > inolist;
+  vector< pair<ino_t,ghobject_t> > inolist;
 
   struct dirent *de;
-  while (::readdir_r(dir, (struct dirent*)buf, &de) == 0) {
+  while (::readdir_r(dir, (struct dirent *)buf, &de) == 0) {
     if (!de)
       break;
     // parse
     if (de->d_name[0] == '.')
       continue;
     //cout << "  got object " << de->d_name << std::endl;
-    hobject_t o;
+    ghobject_t o;
     lfn_translate(dir_name, de->d_name, new_name, sizeof(new_name));
     if (parse_object(new_name, o)) {
       get_hobject_from_oinfo(dir_name, de->d_name, &o);
-      inolist.push_back(pair<ino_t,hobject_t>(de->d_ino, o));
+      inolist.push_back(pair<ino_t,ghobject_t>(de->d_ino, o));
       ls->push_back(o);
     }
   }
@@ -421,7 +422,7 @@ int FlatIndex::collection_list(vector<hobject_t> *ls) {
   // build final list
   ls->resize(inolist.size());
   int i = 0;
-  for (vector< pair<ino_t,hobject_t> >::iterator p = inolist.begin(); p != inolist.end(); ++p)
+  for (vector< pair<ino_t,ghobject_t> >::iterator p = inolist.begin(); p != inolist.end(); ++p)
     (*ls)[i++].swap(p->second);
   
   ::closedir(dir);
diff --git a/src/os/FlatIndex.h b/src/os/FlatIndex.h
index 7a10912..657c273 100644
--- a/src/os/FlatIndex.h
+++ b/src/os/FlatIndex.h
@@ -52,35 +52,35 @@ public:
 
   /// @see CollectionIndex
   int created(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const char *path
     );
 
   /// @see CollectionIndex
   int unlink(
-    const hobject_t &hoid
+    const ghobject_t &oid
     );
 
   /// @see CollectionIndex
   int lookup(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     IndexedPath *path,
     int *exist
     );
 
   /// @see CollectionIndex
   int collection_list(
-    vector<hobject_t> *ls
+    vector<ghobject_t> *ls
     );
 
   /// @see CollectionIndex
   int collection_list_partial(
-    const hobject_t &start,
+    const ghobject_t &start,
     int min_count,
     int max_count,
     snapid_t seq,
-    vector<hobject_t> *ls,
-    hobject_t *next
+    vector<ghobject_t> *ls,
+    ghobject_t *next
     );
 };
 
diff --git a/src/os/GenericFileStoreBackend.cc b/src/os/GenericFileStoreBackend.cc
new file mode 100644
index 0000000..f19ba7d
--- /dev/null
+++ b/src/os/GenericFileStoreBackend.cc
@@ -0,0 +1,366 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include "include/int_types.h"
+#include "include/types.h"
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+
+#if defined(__linux__)
+#include <linux/fs.h>
+#endif
+
+#include "include/compat.h"
+#include "include/linux_fiemap.h"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+#include "GenericFileStoreBackend.h"
+
+#include "common/errno.h"
+#include "common/config.h"
+#include "common/sync_filesystem.h"
+
+#include "common/SloppyCRCMap.h"
+#include "os/chain_xattr.h"
+
+#define SLOPPY_CRC_XATTR "user.cephos.scrc"
+
+
+#define dout_subsys ceph_subsys_filestore
+#undef dout_prefix
+#define dout_prefix *_dout << "genericfilestorebackend(" << get_basedir_path() << ") "
+
+#define ALIGN_DOWN(x, by) ((x) - ((x) % (by)))
+#define ALIGNED(x, by) (!((x) % (by)))
+#define ALIGN_UP(x, by) (ALIGNED((x), (by)) ? (x) : (ALIGN_DOWN((x), (by)) + (by)))
+
+GenericFileStoreBackend::GenericFileStoreBackend(FileStore *fs):
+  FileStoreBackend(fs),
+  ioctl_fiemap(false),
+  m_filestore_fiemap(g_conf->filestore_fiemap),
+  m_filestore_fsync_flushes_journal_data(g_conf->filestore_fsync_flushes_journal_data) {}
+
+int GenericFileStoreBackend::detect_features()
+{
+  char fn[PATH_MAX];
+  snprintf(fn, sizeof(fn), "%s/fiemap_test", get_basedir_path().c_str());
+
+  int fd = ::open(fn, O_CREAT|O_RDWR|O_TRUNC, 0644);
+  if (fd < 0) {
+    fd = -errno;
+    derr << "detect_features: unable to create " << fn << ": " << cpp_strerror(fd) << dendl;
+    return fd;
+  }
+
+  // ext4 has a bug in older kernels where fiemap will return an empty
+  // result in some cases.  this is a file layout that triggers the bug
+  // on 2.6.34-rc5.
+  int v[] = {
+    0x0000000000016000, 0x0000000000007000,
+    0x000000000004a000, 0x0000000000007000,
+    0x0000000000060000, 0x0000000000001000,
+    0x0000000000061000, 0x0000000000008000,
+    0x0000000000069000, 0x0000000000007000,
+    0x00000000000a3000, 0x000000000000c000,
+    0x000000000024e000, 0x000000000000c000,
+    0x000000000028b000, 0x0000000000009000,
+    0x00000000002b1000, 0x0000000000003000,
+    0, 0
+  };
+  for (int i=0; v[i]; i++) {
+    int off = v[i++];
+    int len = v[i];
+
+    // write a large extent
+    char buf[len];
+    memset(buf, 1, sizeof(buf));
+    int r = ::lseek(fd, off, SEEK_SET);
+    if (r < 0) {
+      r = -errno;
+      derr << "detect_features: failed to lseek " << fn << ": " << cpp_strerror(r) << dendl;
+      TEMP_FAILURE_RETRY(::close(fd));
+      return r;
+    }
+    r = write(fd, buf, sizeof(buf));
+    if (r < 0) {
+      derr << "detect_features: failed to write to " << fn << ": " << cpp_strerror(r) << dendl;
+      TEMP_FAILURE_RETRY(::close(fd));
+      return r;
+    }
+  }
+  ::fsync(fd);
+
+  // fiemap an extent inside that
+  struct fiemap *fiemap;
+  int r = do_fiemap(fd, 2430421, 59284, &fiemap);
+  if (r < 0) {
+    dout(0) << "detect_features: FIEMAP ioctl is NOT supported" << dendl;
+    ioctl_fiemap = false;
+  } else {
+    if (fiemap->fm_mapped_extents == 0) {
+      dout(0) << "detect_features: FIEMAP ioctl is supported, but buggy -- upgrade your kernel" << dendl;
+      ioctl_fiemap = false;
+    } else {
+      dout(0) << "detect_features: FIEMAP ioctl is supported and appears to work" << dendl;
+      ioctl_fiemap = true;
+    }
+    free(fiemap);
+  }
+  if (!m_filestore_fiemap) {
+    dout(0) << "detect_features: FIEMAP ioctl is disabled via 'filestore fiemap' config option" << dendl;
+    ioctl_fiemap = false;
+  }
+
+  ::unlink(fn);
+  TEMP_FAILURE_RETRY(::close(fd));
+
+
+  bool have_syncfs = false;
+#ifdef HAVE_SYS_SYNCFS
+  if (::syncfs(get_basedir_fd()) == 0) {
+    dout(0) << "detect_features: syncfs(2) syscall fully supported (by glibc and kernel)" << dendl;
+    have_syncfs = true;
+  } else {
+    dout(0) << "detect_features: syncfs(2) syscall supported by glibc BUT NOT the kernel" << dendl;
+  }
+#elif defined(SYS_syncfs)
+  if (syscall(SYS_syncfs, get_basedir_fd()) == 0) {
+    dout(0) << "detect_features: syscall(SYS_syncfs, fd) fully supported" << dendl;
+    have_syncfs = true;
+  } else {
+    dout(0) << "detect_features: syscall(SYS_syncfs, fd) supported by libc BUT NOT the kernel" << dendl;
+  }
+#elif defined(__NR_syncfs)
+  if (syscall(__NR_syncfs, get_basedir_fd()) == 0) {
+    dout(0) << "detect_features: syscall(__NR_syncfs, fd) fully supported" << dendl;
+    have_syncfs = true;
+  } else {
+    dout(0) << "detect_features: syscall(__NR_syncfs, fd) supported by libc BUT NOT the kernel" << dendl;
+  }
+#endif
+  if (!have_syncfs) {
+    dout(0) << "detect_features: syncfs(2) syscall not supported" << dendl;
+    if (m_filestore_fsync_flushes_journal_data) {
+      dout(0) << "detect_features: no syncfs(2), but 'filestore fsync flushes journal data = true', so fsync will suffice." << dendl;
+    } else {
+      dout(0) << "detect_features: no syncfs(2), must use sync(2)." << dendl;
+      dout(0) << "detect_features: WARNING: multiple ceph-osd daemons on the same host will be slow" << dendl;
+    }
+  }
+
+  return 0;
+}
+
+int GenericFileStoreBackend::create_current()
+{
+  struct stat st;
+  int ret = ::stat(get_current_path().c_str(), &st);
+  if (ret == 0) {
+    // current/ exists
+    if (!S_ISDIR(st.st_mode)) {
+      dout(0) << "_create_current: current/ exists but is not a directory" << dendl;
+      ret = -EINVAL;
+    }
+  } else {
+    ret = ::mkdir(get_current_path().c_str(), 0755);
+    if (ret < 0) {
+      ret = -errno;
+      dout(0) << "_create_current: mkdir " << get_current_path() << " failed: "<< cpp_strerror(ret) << dendl;
+    }
+  }
+  return ret;
+}
+
+int GenericFileStoreBackend::syncfs()
+{
+  int ret;
+  if (m_filestore_fsync_flushes_journal_data) {
+    dout(15) << "syncfs: doing fsync on " << get_op_fd() << dendl;
+    // make the file system's journal commit.
+    //  this works with ext3, but NOT ext4
+    ret = ::fsync(get_op_fd());
+    if (ret < 0)
+      ret = -errno;
+  } else {
+    dout(15) << "syncfs: doing a full sync (syncfs(2) if possible)" << dendl;
+    ret = sync_filesystem(get_current_fd());
+  }
+  return ret;
+}
+
+int GenericFileStoreBackend::do_fiemap(int fd, off_t start, size_t len, struct fiemap **pfiemap)
+{
+  struct fiemap *fiemap = NULL;
+  struct fiemap *_realloc_fiemap = NULL;
+  int size;
+  int ret;
+
+  fiemap = (struct fiemap*)calloc(sizeof(struct fiemap), 1);
+  if (!fiemap)
+    return -ENOMEM;
+
+  fiemap->fm_start = start;
+  fiemap->fm_length = len;
+
+  fsync(fd); /* flush extents to disk if needed */
+
+  if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
+    ret = -errno;
+    goto done_err;
+  }
+
+  size = sizeof(struct fiemap_extent) * (fiemap->fm_mapped_extents);
+
+  _realloc_fiemap = (struct fiemap *)realloc(fiemap, sizeof(struct fiemap) + size);
+  if (!_realloc_fiemap) {
+    ret = -ENOMEM;
+    goto done_err;
+  } else {
+    fiemap = _realloc_fiemap;
+  }
+
+  memset(fiemap->fm_extents, 0, size);
+
+  fiemap->fm_extent_count = fiemap->fm_mapped_extents;
+  fiemap->fm_mapped_extents = 0;
+
+  if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
+    ret = -errno;
+    goto done_err;
+  }
+  *pfiemap = fiemap;
+
+  return 0;
+
+done_err:
+  *pfiemap = NULL;
+  free(fiemap);
+  return ret;
+}
+
+
+int GenericFileStoreBackend::_crc_load_or_init(int fd, SloppyCRCMap *cm)
+{
+  char buf[100];
+  bufferptr bp;
+  int r = 0;
+  int l = chain_fgetxattr(fd, SLOPPY_CRC_XATTR, buf, sizeof(buf));
+  if (l == -ENODATA) {
+    return 0;
+  }
+  if (l >= 0) {
+    bp = buffer::create(l);
+    memcpy(bp.c_str(), buf, l);
+  } else if (l == -ERANGE) {
+    l = chain_fgetxattr(fd, SLOPPY_CRC_XATTR, 0, 0);
+    if (l > 0) {
+      bp = buffer::create(l);
+      l = chain_fgetxattr(fd, SLOPPY_CRC_XATTR, bp.c_str(), l);
+    }
+  }
+  bufferlist bl;
+  bl.append(bp);
+  bufferlist::iterator p = bl.begin();
+  try {
+    ::decode(*cm, p);
+  }
+  catch (buffer::error &e) {
+    r = -EIO;
+  }
+  if (r < 0)
+    derr << __func__ << " got " << cpp_strerror(r) << dendl;
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_save(int fd, SloppyCRCMap *cm)
+{
+  bufferlist bl;
+  ::encode(*cm, bl);
+  int r = chain_fsetxattr(fd, SLOPPY_CRC_XATTR, bl.c_str(), bl.length());
+  if (r < 0)
+    derr << __func__ << " got " << cpp_strerror(r) << dendl;
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_update_write(int fd, loff_t off, size_t len, const bufferlist& bl)
+{
+  SloppyCRCMap scm(get_crc_block_size());
+  int r = _crc_load_or_init(fd, &scm);
+  if (r < 0)
+    return r;
+  ostringstream ss;
+  scm.write(off, len, bl, &ss);
+  dout(30) << __func__ << "\n" << ss.str() << dendl;
+  r = _crc_save(fd, &scm);
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_update_truncate(int fd, loff_t off)
+{
+  SloppyCRCMap scm(get_crc_block_size());
+  int r = _crc_load_or_init(fd, &scm);
+  if (r < 0)
+    return r;
+  scm.truncate(off);
+  r = _crc_save(fd, &scm);
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_update_zero(int fd, loff_t off, size_t len)
+{
+  SloppyCRCMap scm(get_crc_block_size());
+  int r = _crc_load_or_init(fd, &scm);
+  if (r < 0)
+    return r;
+  scm.zero(off, len);
+  r = _crc_save(fd, &scm);
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_update_clone_range(int srcfd, int destfd,
+						     loff_t srcoff, size_t len, loff_t dstoff)
+{
+  SloppyCRCMap scm_src(get_crc_block_size());
+  SloppyCRCMap scm_dst(get_crc_block_size());
+  int r = _crc_load_or_init(srcfd, &scm_src);
+  if (r < 0)
+    return r;
+  r = _crc_load_or_init(destfd, &scm_dst);
+  if (r < 0)
+    return r;
+  ostringstream ss;
+  scm_dst.clone_range(srcoff, len, dstoff, scm_src, &ss);
+  dout(30) << __func__ << "\n" << ss.str() << dendl;
+  r = _crc_save(destfd, &scm_dst);
+  return r;
+}
+
+int GenericFileStoreBackend::_crc_verify_read(int fd, loff_t off, size_t len, const bufferlist& bl,
+					      ostream *out)
+{
+  SloppyCRCMap scm(get_crc_block_size());
+  int r = _crc_load_or_init(fd, &scm);
+  if (r < 0)
+    return r;
+  return scm.read(off, len, bl, out);
+}
diff --git a/src/os/GenericFileStoreBackend.h b/src/os/GenericFileStoreBackend.h
new file mode 100644
index 0000000..5a09c24
--- /dev/null
+++ b/src/os/GenericFileStoreBackend.h
@@ -0,0 +1,58 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#ifndef CEPH_GENERICFILESTOREBACKEDN_H
+#define CEPH_GENERICFILESTOREBACKEDN_H
+
+#include "FileStore.h"
+
+class SloppyCRCMap;
+
+class GenericFileStoreBackend : public FileStoreBackend {
+private:
+  bool ioctl_fiemap;
+  bool m_filestore_fiemap;
+  bool m_filestore_fsync_flushes_journal_data;
+public:
+  GenericFileStoreBackend(FileStore *fs);
+  virtual ~GenericFileStoreBackend() {};
+
+  virtual int detect_features();
+  virtual int create_current();
+  virtual bool can_checkpoint() { return false; };
+  virtual int list_checkpoints(list<string>& ls) { return 0; }
+  virtual int create_checkpoint(const string& name, uint64_t *cid) { return -EOPNOTSUPP; }
+  virtual int sync_checkpoint(uint64_t id) { return -EOPNOTSUPP; }
+  virtual int rollback_to(const string& name) { return -EOPNOTSUPP; }
+  virtual int destroy_checkpoint(const string& name) { return -EOPNOTSUPP; }
+  virtual int syncfs();
+  virtual bool has_fiemap() { return ioctl_fiemap; }
+  virtual int do_fiemap(int fd, off_t start, size_t len, struct fiemap **pfiemap);
+  virtual int clone_range(int from, int to, uint64_t srcoff, uint64_t len, uint64_t dstoff) {
+    return _copy_range(from, to, srcoff, len, dstoff);
+  }
+
+private:
+  int _crc_load_or_init(int fd, SloppyCRCMap *cm);
+  int _crc_save(int fd, SloppyCRCMap *cm);
+public:
+  virtual int _crc_update_write(int fd, loff_t off, size_t len, const bufferlist& bl);
+  virtual int _crc_update_truncate(int fd, loff_t off);
+  virtual int _crc_update_zero(int fd, loff_t off, size_t len);
+  virtual int _crc_update_clone_range(int srcfd, int destfd,
+				      loff_t srcoff, size_t len, loff_t dstoff);
+  virtual int _crc_verify_read(int fd, loff_t off, size_t len, const bufferlist& bl,
+			       ostream *out);
+};
+#endif
diff --git a/src/os/HashIndex.cc b/src/os/HashIndex.cc
index c279bab..ea50cd0 100644
--- a/src/os/HashIndex.cc
+++ b/src/os/HashIndex.cc
@@ -66,7 +66,7 @@ int HashIndex::reset_attr(
     return r;
   if (!exists)
     return 0;
-  map<string, hobject_t> objects;
+  map<string, ghobject_t> objects;
   set<string> subdirs;
   r = list_objects(path, 0, 0, &objects);
   if (r < 0)
@@ -98,7 +98,7 @@ int HashIndex::col_split_level(
   int r = from.list_subdirs(path, &subdirs);
   if (r < 0)
     return r;
-  map<string, hobject_t> objects;
+  map<string, ghobject_t> objects;
   r = from.list_objects(path, 0, 0, &objects);
   if (r < 0)
     return r;
@@ -134,8 +134,8 @@ int HashIndex::col_split_level(
   }
 
   /* Then, do the same for each object */
-  map<string, hobject_t> objs_to_move;
-  for (map<string, hobject_t>::iterator i = objects.begin();
+  map<string, ghobject_t> objs_to_move;
+  for (map<string, ghobject_t>::iterator i = objects.begin();
        i != objects.end();
        ++i) {
     if (i->second.match(inbits, match)) {
@@ -199,7 +199,7 @@ int HashIndex::col_split_level(
       return r;
   }
 
-  for (map<string, hobject_t>::iterator i = objs_to_move.begin();
+  for (map<string, ghobject_t>::iterator i = objs_to_move.begin();
        i != objs_to_move.end();
        ++i) {
     from_info.objs--;
@@ -244,7 +244,7 @@ int HashIndex::_init() {
 
 /* LFNIndex virtual method implementations */
 int HashIndex::_created(const vector<string> &path,
-			const hobject_t &hoid,
+			const ghobject_t &oid,
 			const string &mangled_name) {
   subdir_info_s info;
   int r;
@@ -267,10 +267,10 @@ int HashIndex::_created(const vector<string> &path,
 }
 
 int HashIndex::_remove(const vector<string> &path,
-		       const hobject_t &hoid,
+		       const ghobject_t &oid,
 		       const string &mangled_name) {
   int r;
-  r = remove_object(path, hoid);
+  r = remove_object(path, oid);
   if (r < 0)
     return r;
   subdir_info_s info;
@@ -291,12 +291,12 @@ int HashIndex::_remove(const vector<string> &path,
   }
 }
 
-int HashIndex::_lookup(const hobject_t &hoid,
+int HashIndex::_lookup(const ghobject_t &oid,
 		       vector<string> *path,
 		       string *mangled_name,
 		       int *exists_out) {
   vector<string> path_comp;
-  get_path_components(hoid, &path_comp);
+  get_path_components(oid, &path_comp);
   vector<string>::iterator next = path_comp.begin();
   int exists;
   while (1) {
@@ -313,22 +313,22 @@ int HashIndex::_lookup(const hobject_t &hoid,
       break;
     path->push_back(*(next++));
   }
-  return get_mangled_name(*path, hoid, mangled_name, exists_out);
+  return get_mangled_name(*path, oid, mangled_name, exists_out);
 }
 
-int HashIndex::_collection_list(vector<hobject_t> *ls) {
+int HashIndex::_collection_list(vector<ghobject_t> *ls) {
   vector<string> path;
   return list_by_hash(path, 0, 0, 0, 0, ls);
 }
 
-int HashIndex::_collection_list_partial(const hobject_t &start,
+int HashIndex::_collection_list_partial(const ghobject_t &start,
 					int min_count,
 					int max_count,
 					snapid_t seq,
-					vector<hobject_t> *ls,
-					hobject_t *next) {
+					vector<ghobject_t> *ls,
+					ghobject_t *next) {
   vector<string> path;
-  hobject_t _next;
+  ghobject_t _next;
   if (!next)
     next = &_next;
   *next = start;
@@ -345,7 +345,7 @@ int HashIndex::recursive_remove(const vector<string> &path) {
   int r = list_subdirs(path, &subdirs);
   if (r < 0)
     return r;
-  map<string, hobject_t> objects;
+  map<string, ghobject_t> objects;
   r = list_objects(path, 0, 0, &objects);
   if (r < 0)
     return r;
@@ -475,7 +475,7 @@ int HashIndex::initiate_split(const vector<string> &path, subdir_info_s info) {
 
 int HashIndex::complete_split(const vector<string> &path, subdir_info_s info) {
   int level = info.hash_level;
-  map<string, hobject_t> objects;
+  map<string, ghobject_t> objects;
   vector<string> dst = path;
   int r;
   dst.push_back("");
@@ -486,17 +486,17 @@ int HashIndex::complete_split(const vector<string> &path, subdir_info_s info) {
   r = list_subdirs(path, &subdirs);
   if (r < 0)
     return r;
-  map<string, map<string, hobject_t> > mapped;
-  map<string, hobject_t> moved;
+  map<string, map<string, ghobject_t> > mapped;
+  map<string, ghobject_t> moved;
   int num_moved = 0;
-  for (map<string, hobject_t>::iterator i = objects.begin();
+  for (map<string, ghobject_t>::iterator i = objects.begin();
        i != objects.end();
        ++i) {
     vector<string> new_path;
     get_path_components(i->second, &new_path);
     mapped[new_path[level]][i->first] = i->second;
   }
-  for (map<string, map<string, hobject_t> >::iterator i = mapped.begin();
+  for (map<string, map<string, ghobject_t> >::iterator i = mapped.begin();
        i != mapped.end();
        ) {
     dst[level] = i->first;
@@ -505,7 +505,7 @@ int HashIndex::complete_split(const vector<string> &path, subdir_info_s info) {
     subdir_info_s temp;
     // subdir has already been fully copied
     if (subdirs.count(i->first) && !get_info(dst, &temp)) {
-      for (map<string, hobject_t>::iterator j = i->second.begin();
+      for (map<string, ghobject_t>::iterator j = i->second.begin();
 	   j != i->second.end();
 	   ++j) {
 	moved[j->first] = j->second;
@@ -533,7 +533,7 @@ int HashIndex::complete_split(const vector<string> &path, subdir_info_s info) {
 	return r;
     } // else subdir has been created but only partially copied
 
-    for (map<string, hobject_t>::iterator j = i->second.begin();
+    for (map<string, ghobject_t>::iterator j = i->second.begin();
 	 j != i->second.end();
 	 ++j) {
       moved[j->first] = j->second;
@@ -574,12 +574,12 @@ int HashIndex::complete_split(const vector<string> &path, subdir_info_s info) {
   return end_split_or_merge(path);
 }
 
-void HashIndex::get_path_components(const hobject_t &hoid,
+void HashIndex::get_path_components(const ghobject_t &oid,
 				    vector<string> *path) {
   char buf[MAX_HASH_LEVEL + 1];
-  snprintf(buf, sizeof(buf), "%.*X", MAX_HASH_LEVEL, (uint32_t)hoid.get_filestore_key());
+  snprintf(buf, sizeof(buf), "%.*X", MAX_HASH_LEVEL, (uint32_t)oid.hobj.get_filestore_key());
 
-  // Path components are the hex characters of hoid.hash, least
+  // Path components are the hex characters of oid.hobj.hash, least
   // significant first
   for (int i = 0; i < MAX_HASH_LEVEL; ++i) {
     path->push_back(string(&buf[i], 1));
@@ -596,9 +596,9 @@ string HashIndex::get_hash_str(uint32_t hash) {
   return retval;
 }
 
-string HashIndex::get_path_str(const hobject_t &hoid) {
-  assert(!hoid.is_max());
-  return get_hash_str(hoid.hash);
+string HashIndex::get_path_str(const ghobject_t &oid) {
+  assert(!oid.is_max());
+  return get_hash_str(oid.hobj.hash);
 }
 
 uint32_t HashIndex::hash_prefix_to_hash(string prefix) {
@@ -616,12 +616,12 @@ uint32_t HashIndex::hash_prefix_to_hash(string prefix) {
 
 int HashIndex::get_path_contents_by_hash(const vector<string> &path,
 					 const string *lower_bound,
-					 const hobject_t *next_object,
+					 const ghobject_t *next_object,
 					 const snapid_t *seq,
 					 set<string> *hash_prefixes,
-					 set<pair<string, hobject_t> > *objects) {
+					 set<pair<string, ghobject_t> > *objects) {
   set<string> subdirs;
-  map<string, hobject_t> rev_objects;
+  map<string, ghobject_t> rev_objects;
   int r;
   string cur_prefix;
   for (vector<string>::const_iterator i = path.begin();
@@ -632,7 +632,7 @@ int HashIndex::get_path_contents_by_hash(const vector<string> &path,
   r = list_objects(path, 0, 0, &rev_objects);
   if (r < 0)
     return r;
-  for (map<string, hobject_t>::iterator i = rev_objects.begin();
+  for (map<string, ghobject_t>::iterator i = rev_objects.begin();
        i != rev_objects.end();
        ++i) {
     string hash_prefix = get_path_str(i->second);
@@ -640,10 +640,10 @@ int HashIndex::get_path_contents_by_hash(const vector<string> &path,
       continue;
     if (next_object && i->second < *next_object)
       continue;
-    if (seq && i->second.snap < *seq)
+    if (seq && i->second.hobj.snap < *seq)
       continue;
     hash_prefixes->insert(hash_prefix);
-    objects->insert(pair<string, hobject_t>(hash_prefix, i->second));
+    objects->insert(pair<string, ghobject_t>(hash_prefix, i->second));
   }
   r = list_subdirs(path, &subdirs);
   if (r < 0)
@@ -667,13 +667,13 @@ int HashIndex::list_by_hash(const vector<string> &path,
 			    int min_count,
 			    int max_count,
 			    snapid_t seq,
-			    hobject_t *next,
-			    vector<hobject_t> *out) {
+			    ghobject_t *next,
+			    vector<ghobject_t> *out) {
   assert(out);
   vector<string> next_path = path;
   next_path.push_back("");
   set<string> hash_prefixes;
-  set<pair<string, hobject_t> > objects;
+  set<pair<string, ghobject_t> > objects;
   int r = get_path_contents_by_hash(path,
 				    NULL,
 				    next,
@@ -686,16 +686,16 @@ int HashIndex::list_by_hash(const vector<string> &path,
   for (set<string>::iterator i = hash_prefixes.begin();
        i != hash_prefixes.end();
        ++i) {
-    set<pair<string, hobject_t> >::iterator j = objects.lower_bound(
-      make_pair(*i, hobject_t()));
+    set<pair<string, ghobject_t> >::iterator j = objects.lower_bound(
+      make_pair(*i, ghobject_t()));
     if (j == objects.end() || j->first != *i) {
       if (min_count > 0 && out->size() > (unsigned)min_count) {
 	if (next)
-	  *next = hobject_t("", "", CEPH_NOSNAP, hash_prefix_to_hash(*i), -1, "");
+	  *next = ghobject_t(hobject_t("", "", CEPH_NOSNAP, hash_prefix_to_hash(*i), -1, ""));
 	return 0;
       }
       *(next_path.rbegin()) = *(i->rbegin());
-      hobject_t next_recurse;
+      ghobject_t next_recurse;
       if (next)
 	next_recurse = *next;
       r = list_by_hash(next_path,
@@ -727,6 +727,6 @@ int HashIndex::list_by_hash(const vector<string> &path,
     }
   }
   if (next)
-    *next = hobject_t::get_max();
+    *next = ghobject_t(hobject_t::get_max());
   return 0;
 }
diff --git a/src/os/HashIndex.h b/src/os/HashIndex.h
index fcabd9f..6f5bca0 100644
--- a/src/os/HashIndex.h
+++ b/src/os/HashIndex.h
@@ -39,7 +39,7 @@
  * given by the hex characters in the hash beginning with the least
  * significant.
  * 
- * ex: hobject_t("object", CEPH_NO_SNAP, 0xA4CEE0D2)
+ * ex: ghobject_t("object", CEPH_NO_SNAP, 0xA4CEE0D2)
  * would be located in (root)/2/D/0/
  * 
  * Subdirectories are created when the number of objects in a directory
@@ -163,30 +163,30 @@ protected:
 
   int _created(
     const vector<string> &path,
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const string &mangled_name
     );
   int _remove(
     const vector<string> &path,
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const string &mangled_name
     );
   int _lookup(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     vector<string> *path,
     string *mangled_name,
     int *exists
     );
   int _collection_list(
-    vector<hobject_t> *ls
+    vector<ghobject_t> *ls
     );
   int _collection_list_partial(
-    const hobject_t &start,
+    const ghobject_t &start,
     int min_count,
     int max_count,
     snapid_t seq,
-    vector<hobject_t> *ls,
-    hobject_t *next
+    vector<ghobject_t> *ls,
+    ghobject_t *next
     );
 private:
   /// Recursively remove path and its subdirs
@@ -262,7 +262,7 @@ private:
 
   /// Determine path components from hoid hash
   void get_path_components(
-    const hobject_t &hoid, ///< [in] Object for which to get path components
+    const ghobject_t &oid, ///< [in] Object for which to get path components
     vector<string> *path   ///< [out] Path components for hoid.
     );
 
@@ -278,12 +278,12 @@ private:
     
 
   /** 
-   * Get string representation of hobject_t/hash
+   * Get string representation of ghobject_t/hash
    *
    * e.g: 0x01234567 -> "76543210"
    */
   static string get_path_str(
-    const hobject_t &hoid ///< [in] Object to get hash string for
+    const ghobject_t &oid ///< [in] Object to get hash string for
     ); ///< @return Hash string for hoid.
 
   /// Get string from hash, @see get_path_str
@@ -319,20 +319,20 @@ private:
   int get_path_contents_by_hash(
     const vector<string> &path,            /// [in] Path to list
     const string *lower_bound,             /// [in] list > *lower_bound
-    const hobject_t *next_object,          /// [in] list > *next_object
+    const ghobject_t *next_object,          /// [in] list > *next_object
     const snapid_t *seq,                   /// [in] list >= *seq
     set<string> *hash_prefixes,            /// [out] prefixes in dir
-    set<pair<string, hobject_t> > *objects /// [out] objects
+    set<pair<string, ghobject_t> > *objects /// [out] objects
     );
 
-  /// List objects in collection in hobject_t order
+  /// List objects in collection in ghobject_t order
   int list_by_hash(
     const vector<string> &path, /// [in] Path to list
     int min_count,              /// [in] List at least min_count
     int max_count,              /// [in] List at most max_count
     snapid_t seq,               /// [in] list only objects where snap >= seq
-    hobject_t *next,            /// [in,out] List objects >= *next
-    vector<hobject_t> *out      /// [out] Listed objects
+    ghobject_t *next,            /// [in,out] List objects >= *next
+    vector<ghobject_t> *out      /// [out] Listed objects
     ); ///< @return Error Code, 0 on success
 };
 
diff --git a/src/os/IndexManager.cc b/src/os/IndexManager.cc
index 412721a..83bbfc9 100644
--- a/src/os/IndexManager.cc
+++ b/src/os/IndexManager.cc
@@ -75,7 +75,7 @@ int IndexManager::init_index(coll_t c, const char *path, uint32_t version) {
     return r;
   HashIndex index(c, path, g_conf->filestore_merge_threshold,
 		  g_conf->filestore_split_multiple,
-		  CollectionIndex::HASH_INDEX_TAG_2,
+		  version,
 		  g_conf->filestore_index_retry_probability);
   return index.init();
 }
diff --git a/src/os/KeyValueDB.h b/src/os/KeyValueDB.h
index f62bca9..e98463a 100644
--- a/src/os/KeyValueDB.h
+++ b/src/os/KeyValueDB.h
@@ -165,6 +165,8 @@ public:
     );
   }
 
+  virtual uint64_t get_estimated_size(map<string,uint64_t> &extra) = 0;
+
   virtual ~KeyValueDB() {}
 
 protected:
diff --git a/src/os/LFNIndex.cc b/src/os/LFNIndex.cc
index 09d0f02..83e1c14 100644
--- a/src/os/LFNIndex.cc
+++ b/src/os/LFNIndex.cc
@@ -73,7 +73,7 @@ int LFNIndex::init()
   return _init();
 }
 
-int LFNIndex::created(const hobject_t &hoid, const char *path)
+int LFNIndex::created(const ghobject_t &oid, const char *path)
 {
   WRAP_RETRY(
   vector<string> path_comp;
@@ -81,38 +81,39 @@ int LFNIndex::created(const hobject_t &hoid, const char *path)
   r = decompose_full_path(path, &path_comp, 0, &short_name);
   if (r < 0)
     goto out;
-  r = lfn_created(path_comp, hoid, short_name);
+  r = lfn_created(path_comp, oid, short_name);
   if (r < 0)
     goto out;
-  r = _created(path_comp, hoid, short_name);
+  r = _created(path_comp, oid, short_name);
   if (r < 0)
     goto out;
     );
 }
 
-int LFNIndex::unlink(const hobject_t &hoid)
+int LFNIndex::unlink(const ghobject_t &oid)
 {
   WRAP_RETRY(
   vector<string> path;
   string short_name;
-  r = _lookup(hoid, &path, &short_name, NULL);
+  r = _lookup(oid, &path, &short_name, NULL);
   if (r < 0) {
     goto out;
   }
-  r = _remove(path, hoid, short_name);
+  r = _remove(path, oid, short_name);
   if (r < 0) {
     goto out;
   }
   );
 }
 
-int LFNIndex::lookup(const hobject_t &hoid,
+int LFNIndex::lookup(const ghobject_t &oid,
 		     IndexedPath *out_path,
-		     int *exist) {
+		     int *exist)
+{
   WRAP_RETRY(
   vector<string> path;
   string short_name;
-  r = _lookup(hoid, &path, &short_name, exist);
+  r = _lookup(oid, &path, &short_name, exist);
   if (r < 0)
     goto out;
   string full_path = get_full_path(path, short_name);
@@ -135,18 +136,18 @@ int LFNIndex::lookup(const hobject_t &hoid,
   );
 }
 
-int LFNIndex::collection_list(vector<hobject_t> *ls)
+int LFNIndex::collection_list(vector<ghobject_t> *ls)
 {
   return _collection_list(ls);
 }
 
 
-int LFNIndex::collection_list_partial(const hobject_t &start,
+int LFNIndex::collection_list_partial(const ghobject_t &start,
 				      int min_count,
 				      int max_count,
 				      snapid_t seq,
-				      vector<hobject_t> *ls,
-				      hobject_t *next)
+				      vector<ghobject_t> *ls,
+				      ghobject_t *next)
 {
   return _collection_list_partial(start, min_count, max_count, seq, ls, next);
 }
@@ -171,13 +172,14 @@ int LFNIndex::fsync_dir(const vector<string> &path)
 
 int LFNIndex::link_object(const vector<string> &from,
 			  const vector<string> &to,
-			  const hobject_t &hoid,
-			  const string &from_short_name) {
+			  const ghobject_t &oid,
+			  const string &from_short_name)
+{
   int r;
   string from_path = get_full_path(from, from_short_name);
   string to_path;
   maybe_inject_failure();
-  r = lfn_get_name(to, hoid, 0, &to_path, 0);
+  r = lfn_get_name(to, oid, 0, &to_path, 0);
   if (r < 0)
     return r;
   maybe_inject_failure();
@@ -190,10 +192,11 @@ int LFNIndex::link_object(const vector<string> &from,
 }
 
 int LFNIndex::remove_objects(const vector<string> &dir,
-			     const map<string, hobject_t> &to_remove,
-			     map<string, hobject_t> *remaining) {
+			     const map<string, ghobject_t> &to_remove,
+			     map<string, ghobject_t> *remaining)
+{
   set<string> clean_chains;
-  for (map<string, hobject_t>::const_iterator to_clean = to_remove.begin();
+  for (map<string, ghobject_t>::const_iterator to_clean = to_remove.begin();
        to_clean != to_remove.end();
        ++to_clean) {
     if (!lfn_is_hashed_filename(to_clean->first)) {
@@ -207,7 +210,7 @@ int LFNIndex::remove_objects(const vector<string> &dir,
     if (clean_chains.count(lfn_get_short_name(to_clean->second, 0)))
       continue;
     set<int> holes;
-    map<int, pair<string, hobject_t> > chain;
+    map<int, pair<string, ghobject_t> > chain;
     for (int i = 0; ; ++i) {
       string short_name = lfn_get_short_name(to_clean->second, i);
       if (remaining->count(short_name)) {
@@ -219,7 +222,7 @@ int LFNIndex::remove_objects(const vector<string> &dir,
       }
     }
 
-    map<int, pair<string, hobject_t > >::reverse_iterator candidate = chain.rbegin();
+    map<int, pair<string, ghobject_t > >::reverse_iterator candidate = chain.rbegin();
     for (set<int>::iterator i = holes.begin();
 	 i != holes.end();
 	 ++i) {
@@ -241,7 +244,7 @@ int LFNIndex::remove_objects(const vector<string> &dir,
       if (r < 0)
 	return -errno;
       remaining->erase(candidate->second.first);
-      remaining->insert(pair<string, hobject_t>(
+      remaining->insert(pair<string, ghobject_t>(
 			  lfn_get_short_name(candidate->second.second, *i),
 					     candidate->second.second));
       ++candidate;
@@ -253,13 +256,14 @@ int LFNIndex::remove_objects(const vector<string> &dir,
 }
 
 int LFNIndex::move_objects(const vector<string> &from,
-			   const vector<string> &to) {
-  map<string, hobject_t> to_move;
+			   const vector<string> &to)
+{
+  map<string, ghobject_t> to_move;
   int r;
   r = list_objects(from, 0, NULL, &to_move);
   if (r < 0)
     return r;
-  for (map<string,hobject_t>::iterator i = to_move.begin();
+  for (map<string,ghobject_t>::iterator i = to_move.begin();
        i != to_move.end();
        ++i) {
     string from_path = get_full_path(from, i->first);
@@ -280,7 +284,7 @@ int LFNIndex::move_objects(const vector<string> &from,
   r = fsync_dir(to);
   if (r < 0)
     return r;
-  for (map<string,hobject_t>::iterator i = to_move.begin();
+  for (map<string,ghobject_t>::iterator i = to_move.begin();
        i != to_move.end();
        ++i) {
     maybe_inject_failure();
@@ -293,21 +297,23 @@ int LFNIndex::move_objects(const vector<string> &from,
 }
 
 int LFNIndex::remove_object(const vector<string> &from,
-			    const hobject_t &hoid) {
+			    const ghobject_t &oid)
+{
   string short_name;
   int r, exist;
   maybe_inject_failure();
-  r = get_mangled_name(from, hoid, &short_name, &exist);
+  r = get_mangled_name(from, oid, &short_name, &exist);
   maybe_inject_failure();
   if (r < 0)
     return r;
-  return lfn_unlink(from, hoid, short_name);
+  return lfn_unlink(from, oid, short_name);
 }
 
 int LFNIndex::get_mangled_name(const vector<string> &from,
-			       const hobject_t &hoid,
-			       string *mangled_name, int *exists) {
-  return lfn_get_name(from, hoid, mangled_name, 0, exists);
+			       const ghobject_t &oid,
+			       string *mangled_name, int *exists)
+{
+  return lfn_get_name(from, oid, mangled_name, 0, exists);
 }
 
 int LFNIndex::move_subdir(
@@ -315,7 +321,8 @@ int LFNIndex::move_subdir(
   LFNIndex &dest,
   const vector<string> &path,
   string dir
-  ) {
+  )
+{
   vector<string> sub_path(path.begin(), path.end());
   sub_path.push_back(dir);
   string from_path(from.get_full_path_subdir(sub_path));
@@ -330,8 +337,9 @@ int LFNIndex::move_object(
   LFNIndex &from,
   LFNIndex &dest,
   const vector<string> &path,
-  const pair<string, hobject_t> &obj
-  ) {
+  const pair<string, ghobject_t> &obj
+  )
+{
   string from_path(from.get_full_path(path, obj.first));
   string to_path;
   string to_name;
@@ -358,7 +366,8 @@ int LFNIndex::move_object(
 
 
 static int get_hobject_from_oinfo(const char *dir, const char *file, 
-				  hobject_t *o) {
+				  ghobject_t *o)
+{
   char path[PATH_MAX];
   bufferptr bp(PATH_MAX);
   snprintf(path, sizeof(path), "%s/%s", dir, file);
@@ -375,10 +384,11 @@ static int get_hobject_from_oinfo(const char *dir, const char *file,
 
 
 int LFNIndex::list_objects(const vector<string> &to_list, int max_objs,
-			   long *handle, map<string, hobject_t> *out) {
+			   long *handle, map<string, ghobject_t> *out)
+{
   string to_list_path = get_full_path_subdir(to_list);
   DIR *dir = ::opendir(to_list_path.c_str());
-  char buf[PATH_MAX];
+  char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
   int r;
   if (!dir) {
     return -errno;
@@ -402,7 +412,7 @@ int LFNIndex::list_objects(const vector<string> &to_list, int max_objs,
     if (de->d_name[0] == '.')
       continue;
     string short_name(de->d_name);
-    hobject_t obj;
+    ghobject_t obj;
     if (lfn_is_object(short_name)) {
       r = lfn_translate(to_list, short_name, &obj);
       if (r < 0) {
@@ -416,7 +426,7 @@ int LFNIndex::list_objects(const vector<string> &to_list, int max_objs,
 	if (index_version == HASH_INDEX_TAG)
 	  get_hobject_from_oinfo(to_list_path.c_str(), short_name.c_str(), &obj);
 	  
-	out->insert(pair<string, hobject_t>(short_name, obj));
+	out->insert(pair<string, ghobject_t>(short_name, obj));
 	++listed;
       } else {
 	continue;
@@ -435,10 +445,11 @@ int LFNIndex::list_objects(const vector<string> &to_list, int max_objs,
 }
 
 int LFNIndex::list_subdirs(const vector<string> &to_list,
-				  set<string> *out) {
+				  set<string> *out)
+{
   string to_list_path = get_full_path_subdir(to_list);
   DIR *dir = ::opendir(to_list_path.c_str());
-  char buf[PATH_MAX];
+  char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
   if (!dir)
     return -errno;
 
@@ -449,7 +460,7 @@ int LFNIndex::list_subdirs(const vector<string> &to_list,
     }
     string short_name(de->d_name);
     string demangled_name;
-    hobject_t obj;
+    ghobject_t obj;
     if (lfn_is_subdir(short_name, &demangled_name)) {
       out->insert(demangled_name);
     }
@@ -501,7 +512,8 @@ int LFNIndex::path_exists(const vector<string> &to_check, int *exists)
 
 int LFNIndex::add_attr_path(const vector<string> &path,
 			    const string &attr_name, 
-			    bufferlist &attr_value) {
+			    bufferlist &attr_value)
+{
   string full_path = get_full_path_subdir(path);
   maybe_inject_failure();
   return chain_setxattr(full_path.c_str(), mangle_attr_name(attr_name).c_str(),
@@ -511,7 +523,8 @@ int LFNIndex::add_attr_path(const vector<string> &path,
 
 int LFNIndex::get_attr_path(const vector<string> &path,
 			    const string &attr_name, 
-			    bufferlist &attr_value) {
+			    bufferlist &attr_value)
+{
   string full_path = get_full_path_subdir(path);
   size_t size = 1024; // Initial
   while (1) {
@@ -536,22 +549,24 @@ int LFNIndex::get_attr_path(const vector<string> &path,
 }
 
 int LFNIndex::remove_attr_path(const vector<string> &path,
-			       const string &attr_name) {
+			       const string &attr_name)
+{
   string full_path = get_full_path_subdir(path);
   string mangled_attr_name = mangle_attr_name(attr_name);
   maybe_inject_failure();
   return chain_removexattr(full_path.c_str(), mangled_attr_name.c_str());
 }
   
-string LFNIndex::lfn_generate_object_name_keyless(const hobject_t &hoid)
+string LFNIndex::lfn_generate_object_name_keyless(const ghobject_t &oid)
 {
   char s[FILENAME_MAX_LEN];
   char *end = s + sizeof(s);
   char *t = s;
 
-  const char *i = hoid.oid.name.c_str();
+  assert(oid.generation == ghobject_t::NO_GEN);
+  const char *i = oid.hobj.oid.name.c_str();
   // Escape subdir prefix
-  if (hoid.oid.name.substr(0, 4) == "DIR_") {
+  if (oid.hobj.oid.name.substr(0, 4) == "DIR_") {
     *t++ = '\\';
     *t++ = 'd';
     i += 4;
@@ -560,7 +575,7 @@ string LFNIndex::lfn_generate_object_name_keyless(const hobject_t &hoid)
     if (*i == '\\') {
       *t++ = '\\';
       *t++ = '\\';      
-    } else if (*i == '.' && i == hoid.oid.name.c_str()) {  // only escape leading .
+    } else if (*i == '.' && i == oid.hobj.oid.name.c_str()) {  // only escape leading .
       *t++ = '\\';
       *t++ = '.';
     } else if (*i == '/') {
@@ -571,13 +586,13 @@ string LFNIndex::lfn_generate_object_name_keyless(const hobject_t &hoid)
     i++;
   }
 
-  if (hoid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     t += snprintf(t, end - t, "_head");
-  else if (hoid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     t += snprintf(t, end - t, "_snapdir");
   else
-    t += snprintf(t, end - t, "_%llx", (long long unsigned)hoid.snap);
-  snprintf(t, end - t, "_%.*X", (int)(sizeof(hoid.hash)*2), hoid.hash);
+    t += snprintf(t, end - t, "_%llx", (long long unsigned)oid.hobj.snap);
+  snprintf(t, end - t, "_%.*X", (int)(sizeof(oid.hobj.hash)*2), oid.hobj.hash);
 
   return string(s);
 }
@@ -601,94 +616,112 @@ static void append_escaped(string::const_iterator begin,
   }
 }
 
-string LFNIndex::lfn_generate_object_name(const hobject_t &hoid)
+string LFNIndex::lfn_generate_object_name(const ghobject_t &oid)
 {
   if (index_version == HASH_INDEX_TAG)
-    return lfn_generate_object_name_keyless(hoid);
+    return lfn_generate_object_name_keyless(oid);
   if (index_version == HASH_INDEX_TAG_2)
-    return lfn_generate_object_name_poolless(hoid);
+    return lfn_generate_object_name_poolless(oid);
 
   string full_name;
-  string::const_iterator i = hoid.oid.name.begin();
-  if (hoid.oid.name.substr(0, 4) == "DIR_") {
+  string::const_iterator i = oid.hobj.oid.name.begin();
+  if (oid.hobj.oid.name.substr(0, 4) == "DIR_") {
     full_name.append("\\d");
     i += 4;
-  } else if (hoid.oid.name[0] == '.') {
+  } else if (oid.hobj.oid.name[0] == '.') {
     full_name.append("\\.");
     ++i;
   }
-  append_escaped(i, hoid.oid.name.end(), &full_name);
+  append_escaped(i, oid.hobj.oid.name.end(), &full_name);
   full_name.append("_");
-  append_escaped(hoid.get_key().begin(), hoid.get_key().end(), &full_name);
+  append_escaped(oid.hobj.get_key().begin(), oid.hobj.get_key().end(), &full_name);
   full_name.append("_");
 
   char buf[PATH_MAX];
   char *t = buf;
   char *end = t + sizeof(buf);
-  if (hoid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     t += snprintf(t, end - t, "head");
-  else if (hoid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     t += snprintf(t, end - t, "snapdir");
   else
-    t += snprintf(t, end - t, "%llx", (long long unsigned)hoid.snap);
-  snprintf(t, end - t, "_%.*X", (int)(sizeof(hoid.hash)*2), hoid.hash);
+    t += snprintf(t, end - t, "%llx", (long long unsigned)oid.hobj.snap);
+  snprintf(t, end - t, "_%.*X", (int)(sizeof(oid.hobj.hash)*2), oid.hobj.hash);
   full_name += string(buf);
   full_name.append("_");
 
-  append_escaped(hoid.nspace.begin(), hoid.nspace.end(), &full_name);
+  append_escaped(oid.hobj.nspace.begin(), oid.hobj.nspace.end(), &full_name);
   full_name.append("_");
 
   t = buf;
   end = t + sizeof(buf);
-  if (hoid.pool == -1)
+  if (oid.hobj.pool == -1)
     t += snprintf(t, end - t, "none");
   else
-    t += snprintf(t, end - t, "%llx", (long long unsigned)hoid.pool);
+    t += snprintf(t, end - t, "%llx", (long long unsigned)oid.hobj.pool);
   full_name += string(buf);
 
+  if (oid.generation != ghobject_t::NO_GEN) {
+    assert(oid.shard_id != ghobject_t::NO_SHARD);
+    full_name.append("_");
+
+    t = buf;
+    end = t + sizeof(buf);
+    t += snprintf(t, end - t, "%llx", (long long unsigned)oid.generation);
+    full_name += string(buf);
+
+    full_name.append("_");
+
+    t = buf;
+    end = t + sizeof(buf);
+    t += snprintf(t, end - t, "%x", (int)oid.shard_id);
+    full_name += string(buf);
+  }
+
   return full_name;
 }
 
-string LFNIndex::lfn_generate_object_name_poolless(const hobject_t &hoid)
+string LFNIndex::lfn_generate_object_name_poolless(const ghobject_t &oid)
 {
   if (index_version == HASH_INDEX_TAG)
-    return lfn_generate_object_name_keyless(hoid);
+    return lfn_generate_object_name_keyless(oid);
 
+  assert(oid.generation == ghobject_t::NO_GEN);
   string full_name;
-  string::const_iterator i = hoid.oid.name.begin();
-  if (hoid.oid.name.substr(0, 4) == "DIR_") {
+  string::const_iterator i = oid.hobj.oid.name.begin();
+  if (oid.hobj.oid.name.substr(0, 4) == "DIR_") {
     full_name.append("\\d");
     i += 4;
-  } else if (hoid.oid.name[0] == '.') {
+  } else if (oid.hobj.oid.name[0] == '.') {
     full_name.append("\\.");
     ++i;
   }
-  append_escaped(i, hoid.oid.name.end(), &full_name);
+  append_escaped(i, oid.hobj.oid.name.end(), &full_name);
   full_name.append("_");
-  append_escaped(hoid.get_key().begin(), hoid.get_key().end(), &full_name);
+  append_escaped(oid.hobj.get_key().begin(), oid.hobj.get_key().end(), &full_name);
   full_name.append("_");
 
   char snap_with_hash[PATH_MAX];
   char *t = snap_with_hash;
   char *end = t + sizeof(snap_with_hash);
-  if (hoid.snap == CEPH_NOSNAP)
+  if (oid.hobj.snap == CEPH_NOSNAP)
     t += snprintf(t, end - t, "head");
-  else if (hoid.snap == CEPH_SNAPDIR)
+  else if (oid.hobj.snap == CEPH_SNAPDIR)
     t += snprintf(t, end - t, "snapdir");
   else
-    t += snprintf(t, end - t, "%llx", (long long unsigned)hoid.snap);
-  snprintf(t, end - t, "_%.*X", (int)(sizeof(hoid.hash)*2), hoid.hash);
+    t += snprintf(t, end - t, "%llx", (long long unsigned)oid.hobj.snap);
+  snprintf(t, end - t, "_%.*X", (int)(sizeof(oid.hobj.hash)*2), oid.hobj.hash);
   full_name += string(snap_with_hash);
   return full_name;
 }
 
 int LFNIndex::lfn_get_name(const vector<string> &path, 
-			   const hobject_t &hoid,
+			   const ghobject_t &oid,
 			   string *mangled_name, string *out_path,
 			   int *exists)
 {
   string subdir_path = get_full_path_subdir(path);
-  string full_name = lfn_generate_object_name(hoid);
+  string full_name = lfn_generate_object_name(oid);
   int r;
 
   if (!lfn_must_hash(full_name)) {
@@ -718,7 +751,7 @@ int LFNIndex::lfn_get_name(const vector<string> &path,
   string candidate_path;
   char buf[FILENAME_MAX_LEN + 1];
   for ( ; ; ++i) {
-    candidate = lfn_get_short_name(hoid, i);
+    candidate = lfn_get_short_name(oid, i);
     candidate_path = get_full_path(path, candidate);
     r = chain_getxattr(candidate_path.c_str(), get_lfn_attr().c_str(), buf, sizeof(buf));
     if (r < 0) {
@@ -757,20 +790,20 @@ int LFNIndex::lfn_get_name(const vector<string> &path,
 }
 
 int LFNIndex::lfn_created(const vector<string> &path,
-			  const hobject_t &hoid,
+			  const ghobject_t &oid,
 			  const string &mangled_name)
 {
   if (!lfn_is_hashed_filename(mangled_name))
     return 0;
   string full_path = get_full_path(path, mangled_name);
-  string full_name = lfn_generate_object_name(hoid);
+  string full_name = lfn_generate_object_name(oid);
   maybe_inject_failure();
   return chain_setxattr(full_path.c_str(), get_lfn_attr().c_str(), 
 		     full_name.c_str(), full_name.size());
 }
 
 int LFNIndex::lfn_unlink(const vector<string> &path,
-			 const hobject_t &hoid,
+			 const ghobject_t &oid,
 			 const string &mangled_name)
 {
   if (!lfn_is_hashed_filename(mangled_name)) {
@@ -787,7 +820,7 @@ int LFNIndex::lfn_unlink(const vector<string> &path,
   
   int i = 0;
   for ( ; ; ++i) {
-    string candidate = lfn_get_short_name(hoid, i);
+    string candidate = lfn_get_short_name(oid, i);
     if (candidate == mangled_name)
       break;
   }
@@ -795,7 +828,7 @@ int LFNIndex::lfn_unlink(const vector<string> &path,
   ++i;
   for ( ; ; ++i) {
     struct stat buf;
-    string to_check = lfn_get_short_name(hoid, i);
+    string to_check = lfn_get_short_name(oid, i);
     string to_check_path = get_full_path(path, to_check);
     int r = ::stat(to_check_path.c_str(), &buf);
     if (r < 0) {
@@ -817,7 +850,7 @@ int LFNIndex::lfn_unlink(const vector<string> &path,
       return 0;
   } else {
     string rename_to = get_full_path(path, mangled_name);
-    string rename_from = get_full_path(path, lfn_get_short_name(hoid, i - 1));
+    string rename_from = get_full_path(path, lfn_get_short_name(oid, i - 1));
     maybe_inject_failure();
     int r = ::rename(rename_from.c_str(), rename_to.c_str());
     maybe_inject_failure();
@@ -830,7 +863,7 @@ int LFNIndex::lfn_unlink(const vector<string> &path,
 
 int LFNIndex::lfn_translate(const vector<string> &path,
 			    const string &short_name,
-			    hobject_t *out)
+			    ghobject_t *out)
 {
   if (!lfn_is_hashed_filename(short_name)) {
     return lfn_parse_object_name(short_name, out);
@@ -863,7 +896,7 @@ bool LFNIndex::lfn_is_subdir(const string &name, string *demangled)
   return 0;
 }
 
-static int parse_object(const char *s, hobject_t& o)
+static int parse_object(const char *s, ghobject_t& o)
 {
   const char *hash = s + strlen(s) - 1;
   while (*hash != '_' &&
@@ -899,28 +932,28 @@ static int parse_object(const char *s, hobject_t& o)
       i++;
     }
     *t = 0;
-    o.oid.name = string(buf, t-buf);
+    o.hobj.oid.name = string(buf, t-buf);
     if (strncmp(bar+1, "head", 4) == 0)
-      o.snap = CEPH_NOSNAP;
+      o.hobj.snap = CEPH_NOSNAP;
     else if (strncmp(bar+1, "snapdir", 7) == 0)
-      o.snap = CEPH_SNAPDIR;
+      o.hobj.snap = CEPH_SNAPDIR;
     else 
-      o.snap = strtoull(bar+1, NULL, 16);
-    sscanf(hash, "_%X", &o.hash);
+      o.hobj.snap = strtoull(bar+1, NULL, 16);
+    sscanf(hash, "_%X", &o.hobj.hash);
 
     return 1;
   }
   return 0;
 }
 
-bool LFNIndex::lfn_parse_object_name_keyless(const string &long_name, hobject_t *out)
+bool LFNIndex::lfn_parse_object_name_keyless(const string &long_name, ghobject_t *out)
 {
   bool r = parse_object(long_name.c_str(), *out);
   int64_t pool = -1;
   pg_t pg;
   if (coll().is_pg_prefix(pg))
     pool = (int64_t)pg.pool();
-  out->pool = pool;
+  out->hobj.pool = pool;
   if (!r) return r;
   string temp = lfn_generate_object_name(*out);
   return r;
@@ -928,7 +961,8 @@ bool LFNIndex::lfn_parse_object_name_keyless(const string &long_name, hobject_t
 
 static bool append_unescaped(string::const_iterator begin,
 			     string::const_iterator end, 
-			     string *out) {
+			     string *out)
+{
   for (string::const_iterator i = begin; i != end; ++i) {
     if (*i == '\\') {
       ++i;
@@ -950,7 +984,8 @@ static bool append_unescaped(string::const_iterator begin,
 }
 
 bool LFNIndex::lfn_parse_object_name_poolless(const string &long_name,
-					      hobject_t *out) {
+					      ghobject_t *out)
+{
   string name;
   string key;
   uint32_t hash;
@@ -1011,12 +1046,12 @@ bool LFNIndex::lfn_parse_object_name_poolless(const string &long_name,
   pg_t pg;
   if (coll().is_pg_prefix(pg))
     pool = (int64_t)pg.pool();
-  (*out) = hobject_t(name, key, snap, hash, pool, "");
+  (*out) = ghobject_t(hobject_t(name, key, snap, hash, pool, ""));
   return true;
 }
 
 
-bool LFNIndex::lfn_parse_object_name(const string &long_name, hobject_t *out)
+bool LFNIndex::lfn_parse_object_name(const string &long_name, ghobject_t *out)
 {
   string name;
   string key;
@@ -1024,6 +1059,8 @@ bool LFNIndex::lfn_parse_object_name(const string &long_name, hobject_t *out)
   uint32_t hash;
   snapid_t snap;
   uint64_t pool;
+  gen_t generation = ghobject_t::NO_GEN;
+  shard_t shard_id = ghobject_t::NO_SHARD;
 
   if (index_version == HASH_INDEX_TAG)
     return lfn_parse_object_name_keyless(long_name, out);
@@ -1081,10 +1118,28 @@ bool LFNIndex::lfn_parse_object_name(const string &long_name, hobject_t *out)
 
   current = ++end;
   for ( ; end != long_name.end() && *end != '_'; ++end) ;
-  if (end != long_name.end())
-    return false;
   string pstring(current, end);
 
+  // Optional generation/shard_id
+  string genstring, shardstring;
+  if (end != long_name.end()) {
+    current = ++end;
+    for ( ; end != long_name.end() && *end != '_'; ++end) ;
+    if (end == long_name.end())
+      return false;
+    genstring = string(current, end);
+
+    generation = (gen_t)strtoull(genstring.c_str(), NULL, 16);
+
+    current = ++end;
+    for ( ; end != long_name.end() && *end != '_'; ++end) ;
+    if (end != long_name.end())
+      return false;
+    shardstring = string(current, end);
+
+    shard_id = (shard_t)strtoul(shardstring.c_str(), NULL, 16);
+  }
+
   if (snap_str == "head")
     snap = CEPH_NOSNAP;
   else if (snap_str == "snapdir")
@@ -1098,7 +1153,7 @@ bool LFNIndex::lfn_parse_object_name(const string &long_name, hobject_t *out)
   else
     pool = strtoull(pstring.c_str(), NULL, 16);
 
-  (*out) = hobject_t(name, key, snap, hash, (int64_t)pool, ns);
+  (*out) = ghobject_t(hobject_t(name, key, snap, hash, (int64_t)pool, ns), generation, shard_id);
   return true;
 }
 
@@ -1170,9 +1225,9 @@ void LFNIndex::build_filename(const char *old_filename, int i, char *filename, i
   }
 }
 
-string LFNIndex::lfn_get_short_name(const hobject_t &hoid, int i)
+string LFNIndex::lfn_get_short_name(const ghobject_t &oid, int i)
 {
-  string long_name = lfn_generate_object_name(hoid);
+  string long_name = lfn_generate_object_name(oid);
   assert(lfn_must_hash(long_name));
   char buf[FILENAME_SHORT_LEN + 4];
   build_filename(long_name.c_str(), i, buf, sizeof(buf));
@@ -1212,7 +1267,7 @@ string LFNIndex::demangle_path_component(const string &component)
 }
 
 int LFNIndex::decompose_full_path(const char *in, vector<string> *out,
-				  hobject_t *hoid, string *shortname)
+				  ghobject_t *oid, string *shortname)
 {
   const char *beginning = in + get_base_path().size();
   const char *end = beginning;
@@ -1228,8 +1283,8 @@ int LFNIndex::decompose_full_path(const char *in, vector<string> *out,
     }
   }
   *shortname = string(beginning, end - beginning);
-  if (hoid) {
-    int r = lfn_translate(*out, *shortname, hoid);
+  if (oid) {
+    int r = lfn_translate(*out, *shortname, oid);
     if (r < 0)
       return r;
   }
diff --git a/src/os/LFNIndex.h b/src/os/LFNIndex.h
index b73ff4d..f436446 100644
--- a/src/os/LFNIndex.h
+++ b/src/os/LFNIndex.h
@@ -165,35 +165,35 @@ public:
 
   /// @see CollectionIndex
   int created(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     const char *path
     );
 
   /// @see CollectionIndex
   int unlink(
-    const hobject_t &hoid
+    const ghobject_t &oid
     );
 
   /// @see CollectionIndex
   int lookup(
-    const hobject_t &hoid,
+    const ghobject_t &oid,
     IndexedPath *path,
     int *exist
     );
 
   /// @see CollectionIndex
   int collection_list(
-    vector<hobject_t> *ls
+    vector<ghobject_t> *ls
     );
 
   /// @see CollectionIndex
   int collection_list_partial(
-    const hobject_t &start,
+    const ghobject_t &start,
     int min_count,
     int max_count,
     snapid_t seq,
-    vector<hobject_t> *ls,
-    hobject_t *next
+    vector<ghobject_t> *ls,
+    ghobject_t *next
     );
 
   virtual int _split(
@@ -221,20 +221,20 @@ protected:
   /// Will be called upon object creation
   virtual int _created(
     const vector<string> &path, ///< [in] Path to subdir.
-    const hobject_t &hoid,      ///< [in] Object created.
+    const ghobject_t &oid,      ///< [in] Object created.
     const string &mangled_name  ///< [in] Mangled filename.
     ) = 0;
 
   /// Will be called to remove an object
   virtual int _remove(
     const vector<string> &path,     ///< [in] Path to subdir.
-    const hobject_t &hoid,          ///< [in] Object to remove.
+    const ghobject_t &oid,          ///< [in] Object to remove.
     const string &mangled_name	    ///< [in] Mangled filename.
     ) = 0;
 
-  /// Return the path and mangled_name for hoid.
+  /// Return the path and mangled_name for oid.
   virtual int _lookup(
-    const hobject_t &hoid,///< [in] Object for lookup.
+    const ghobject_t &oid,///< [in] Object for lookup.
     vector<string> *path, ///< [out] Path to the object.
     string *mangled_name, ///< [out] Mangled filename.
     int *exists		  ///< [out] True if the object exists.
@@ -252,17 +252,17 @@ protected:
    */
   /// List contents of collection.
   virtual int _collection_list(
-    vector<hobject_t> *ls ///< [out] Listed objects.
+    vector<ghobject_t> *ls ///< [out] Listed objects.
     ) = 0;
 
   /// @see CollectionIndex
   virtual int _collection_list_partial(
-    const hobject_t &start,
+    const ghobject_t &start,
     int min_count,
     int max_count,
     snapid_t seq,
-    vector<hobject_t> *ls,
-    hobject_t *next
+    vector<ghobject_t> *ls,
+    ghobject_t *next
     ) = 0;
 
 protected:
@@ -278,8 +278,8 @@ protected:
   int link_object(
     const vector<string> &from,   ///< [in] Source subdirectory.
     const vector<string> &to,     ///< [in] Dest subdirectory.
-    const hobject_t &hoid,        ///< [in] Object to move.
-    const string &from_short_name ///< [in] Mangled filename of hoid.
+    const ghobject_t &oid,        ///< [in] Object to move.
+    const string &from_short_name ///< [in] Mangled filename of oid.
     ); ///< @return Error Code, 0 on success
 
   /**
@@ -296,8 +296,8 @@ protected:
    */
   int remove_objects(
     const vector<string> &dir,             
-    const map<string, hobject_t> &to_remove,
-    map<string, hobject_t> *remaining
+    const map<string, ghobject_t> &to_remove,
+    map<string, ghobject_t> *remaining
     );
 	
 
@@ -322,11 +322,11 @@ protected:
    */
   int remove_object(
     const vector<string> &from,  ///< [in] Directory from which to remove.
-    const hobject_t &to_remove   ///< [in] Object to remove.
+    const ghobject_t &to_remove   ///< [in] Object to remove.
     );
 
   /**
-   * Gets the filename corresponding to hoid in from.
+   * Gets the filename corresponding to oid in from.
    * 
    * The filename may differ between subdirectories.  Furthermore,
    * file creations ore removals in from may invalidate the name.
@@ -334,7 +334,7 @@ protected:
    */
   int get_mangled_name(
     const vector<string> &from, ///< [in] Subdirectory
-    const hobject_t &hoid,	///< [in] Object 
+    const ghobject_t &oid,	///< [in] Object
     string *mangled_name,	///< [out] Filename
     int *exists			///< [out] 1 if the file exists, else 0
     );
@@ -352,7 +352,7 @@ protected:
     LFNIndex &from,             ///< [in] from index
     LFNIndex &dest,             ///< [in] to index
     const vector<string> &path, ///< [in] path to split
-    const pair<string, hobject_t> &obj ///< [in] obj to move
+    const pair<string, ghobject_t> &obj ///< [in] obj to move
     );
 
   /**
@@ -369,7 +369,7 @@ protected:
     const vector<string> &to_list,
     int max_objects,
     long *handle,
-    map<string, hobject_t> *out
+    map<string, ghobject_t> *out
     );
 
   /// Lists subdirectories.
@@ -425,43 +425,43 @@ private:
   }
 
   /**
-   * Gets the filename corresponsing to hoid in path.
+   * Gets the filename corresponsing to oid in path.
    *
-   * @param [in] path Path in which to get filename for hoid.
-   * @param [in] hoid Object for which to get filename.
-   * @param [out] mangled_name Filename for hoid, pass NULL if not needed.
-   * @param [out] full_path Fullpath for hoid, pass NULL if not needed.
+   * @param [in] path Path in which to get filename for oid.
+   * @param [in] oid Object for which to get filename.
+   * @param [out] mangled_name Filename for oid, pass NULL if not needed.
+   * @param [out] full_path Fullpath for oid, pass NULL if not needed.
    * @param [out] exists 1 if the file exists, 0 otherwise, pass NULL if 
    * not needed
    * @return Error Code, 0 on success.
    */
   int lfn_get_name(
     const vector<string> &path,
-    const hobject_t &hoid, 
+    const ghobject_t &oid,
     string *mangled_name,
     string *full_path,
     int *exists
     );
 
-  /// Adjusts path contents when hoid is created at name mangled_name.
+  /// Adjusts path contents when oid is created at name mangled_name.
   int lfn_created(
     const vector<string> &path, ///< [in] Path to adjust.
-    const hobject_t &hoid,	///< [in] Object created. 
+    const ghobject_t &oid,	///< [in] Object created.
     const string &mangled_name  ///< [in] Filename of created object.
     );
 
-  /// Removes hoid from path while adjusting path contents
+  /// Removes oid from path while adjusting path contents
   int lfn_unlink(
-    const vector<string> &path, ///< [in] Path containing hoid.
-    const hobject_t &hoid,	///< [in] Object to remove.
+    const vector<string> &path, ///< [in] Path containing oid.
+    const ghobject_t &oid,	///< [in] Object to remove.
     const string &mangled_name	///< [in] Filename of object to remove.
     );
 
-  ///Transate a file into and hobject_t.
+  ///Transate a file into and ghobject_t.
   int lfn_translate(
     const vector<string> &path, ///< [in] Path containing the file.
     const string &short_name,	///< [in] Filename to translate. 
-    hobject_t *out		///< [out] Object found.
+    ghobject_t *out		///< [out] Object found.
     ); ///< @return Negative error code on error, 0 if not an object, 1 else
 
   /* manglers/demanglers */
@@ -478,35 +478,35 @@ private:
 
   /// Generate object name
   string lfn_generate_object_name_keyless(
-    const hobject_t &hoid ///< [in] Object for which to generate.
+    const ghobject_t &oid ///< [in] Object for which to generate.
     ); ///< @return Generated object name.
 
   /// Generate object name
   string lfn_generate_object_name_poolless(
-    const hobject_t &hoid ///< [in] Object for which to generate.
+    const ghobject_t &oid ///< [in] Object for which to generate.
     ); ///< @return Generated object name.
 
   /// Generate object name
   string lfn_generate_object_name(
-    const hobject_t &hoid ///< [in] Object for which to generate.
+    const ghobject_t &oid ///< [in] Object for which to generate.
     ); ///< @return Generated object name.
 
   /// Parse object name
   bool lfn_parse_object_name_keyless(
     const string &long_name, ///< [in] Name to parse
-    hobject_t *out	     ///< [out] Resulting Object
+    ghobject_t *out	     ///< [out] Resulting Object
     ); ///< @return True if successfull, False otherwise.
 
   /// Parse object name
   bool lfn_parse_object_name_poolless(
     const string &long_name, ///< [in] Name to parse
-    hobject_t *out	     ///< [out] Resulting Object
+    ghobject_t *out	     ///< [out] Resulting Object
     ); ///< @return True if successfull, False otherwise.
 
   /// Parse object name
   bool lfn_parse_object_name(
     const string &long_name, ///< [in] Name to parse
-    hobject_t *out	     ///< [out] Resulting Object
+    ghobject_t *out	     ///< [out] Resulting Object
     ); ///< @return True if successfull, False otherwise.
 
   /// Checks whether short_name is a hashed filename.
@@ -521,7 +521,7 @@ private:
 
   /// Generate hashed name.
   string lfn_get_short_name(
-    const hobject_t &hoid, ///< [in] Object for which to generate.
+    const ghobject_t &oid, ///< [in] Object for which to generate.
     int i		   ///< [in] Index of hashed name to generate.
     ); ///< @return Hashed filename.
 
@@ -554,7 +554,7 @@ private:
   int decompose_full_path(
     const char *in,      ///< [in] Full path to object.
     vector<string> *out, ///< [out] Path to object at in.
-    hobject_t *hoid,	 ///< [out] Object at in.
+    ghobject_t *oid,	 ///< [out] Object at in.
     string *shortname	 ///< [out] Filename of object at in.
     ); ///< @return Error Code, 0 on success.
 
diff --git a/src/os/LevelDBStore.h b/src/os/LevelDBStore.h
index f3809cf..bc5b612 100644
--- a/src/os/LevelDBStore.h
+++ b/src/os/LevelDBStore.h
@@ -20,6 +20,12 @@
 #include "leveldb/filter_policy.h"
 #endif
 
+#include <errno.h>
+#include "common/errno.h"
+#include "common/dout.h"
+#include "include/assert.h"
+#include "common/Formatter.h"
+
 #include "common/ceph_context.h"
 
 class PerfCounters;
@@ -300,6 +306,70 @@ public:
     return limit;
   }
 
+  virtual uint64_t get_estimated_size(map<string,uint64_t> &extra) {
+    DIR *store_dir = opendir(path.c_str());
+    if (!store_dir) {
+      lderr(cct) << __func__ << " something happened opening the store: "
+                 << cpp_strerror(errno) << dendl;
+      return 0;
+    }
+
+    uint64_t total_size = 0;
+    uint64_t sst_size = 0;
+    uint64_t log_size = 0;
+    uint64_t misc_size = 0;
+
+    struct dirent *entry = NULL;
+    while ((entry = readdir(store_dir)) != NULL) {
+      string n(entry->d_name);
+
+      if (n == "." || n == "..")
+        continue;
+
+      string fpath = path + '/' + n;
+      struct stat s;
+      int err = stat(fpath.c_str(), &s);
+      if (err < 0)
+	err = -errno;
+      // we may race against leveldb while reading files; this should only
+      // happen when those files are being updated, data is being shuffled
+      // and files get removed, in which case there's not much of a problem
+      // as we'll get to them next time around.
+      if ((err < 0) && (err != -ENOENT)) {
+        lderr(cct) << __func__ << " error obtaining stats for " << fpath
+                   << ": " << cpp_strerror(err) << dendl;
+        goto err;
+      }
+
+      size_t pos = n.find_last_of('.');
+      if (pos == string::npos) {
+        misc_size += s.st_size;
+        continue;
+      }
+
+      string ext = n.substr(pos+1);
+      if (ext == "sst") {
+        sst_size += s.st_size;
+      } else if (ext == "log") {
+        log_size += s.st_size;
+      } else {
+        misc_size += s.st_size;
+      }
+    }
+
+    total_size = sst_size + log_size + misc_size;
+
+    extra["sst"] = sst_size;
+    extra["log"] = log_size;
+    extra["misc"] = misc_size;
+    extra["total"] = total_size;
+
+err:
+    closedir(store_dir);
+    return total_size;
+  }
+
+
 protected:
   WholeSpaceIterator _get_iterator() {
     return std::tr1::shared_ptr<KeyValueDB::WholeSpaceIteratorImpl>(
diff --git a/src/os/Makefile.am b/src/os/Makefile.am
new file mode 100644
index 0000000..4f12a6a
--- /dev/null
+++ b/src/os/Makefile.am
@@ -0,0 +1,50 @@
+libos_la_SOURCES = \
+	os/FileJournal.cc \
+	os/FileStore.cc \
+	os/chain_xattr.cc \
+	os/ObjectStore.cc \
+	os/JournalingObjectStore.cc \
+	os/LFNIndex.cc \
+	os/HashIndex.cc \
+	os/IndexManager.cc \
+	os/FlatIndex.cc \
+	os/DBObjectMap.cc \
+	os/LevelDBStore.cc \
+	os/WBThrottle.cc \
+	os/BtrfsFileStoreBackend.cc \
+	os/GenericFileStoreBackend.cc \
+	os/ZFSFileStoreBackend.cc \
+	common/TrackedOp.cc
+noinst_LTLIBRARIES += libos.la
+
+noinst_HEADERS += \
+	os/btrfs_ioctl.h \
+	os/chain_xattr.h \
+	os/CollectionIndex.h \
+	os/FileJournal.h \
+	os/FileStore.h \
+	os/BtrfsFileStoreBackend.h \
+	os/GenericFileStoreBackend.h \
+	os/ZFSFileStoreBackend.h \
+	os/FlatIndex.h \
+	os/HashIndex.h \
+	os/FDCache.h \
+	os/WBThrottle.h \
+	os/IndexManager.h \
+	os/Journal.h \
+	os/JournalingObjectStore.h \
+	os/LFNIndex.h \
+	os/ObjectStore.h \
+	os/SequencerPosition.h \
+	os/ObjectMap.h \
+	os/DBObjectMap.h \
+	os/KeyValueDB.h \
+	os/LevelDBStore.h
+
+if WITH_LIBZFS
+libos_zfs_a_SOURCES = os/ZFS.cc
+libos_zfs_a_CXXFLAGS = ${AM_CXXFLAGS} ${LIBZFS_CFLAGS}
+noinst_LIBRARIES += libos_zfs.a
+noinst_HEADERS += os/ZFS.h
+endif
+
diff --git a/src/os/ObjectMap.h b/src/os/ObjectMap.h
index 5cc1e49..7717aac 100644
--- a/src/os/ObjectMap.h
+++ b/src/os/ObjectMap.h
@@ -30,102 +30,102 @@ class ObjectMap {
 public:
   /// Set keys and values from specified map
   virtual int set_keys(
-    const hobject_t &hoid,              ///< [in] object containing map
+    const ghobject_t &oid,              ///< [in] object containing map
     const map<string, bufferlist> &set,  ///< [in] key to value map to set
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
   /// Set header
   virtual int set_header(
-    const hobject_t &hoid,              ///< [in] object containing map
+    const ghobject_t &oid,              ///< [in] object containing map
     const bufferlist &bl,               ///< [in] header to set
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
   /// Retrieve header
   virtual int get_header(
-    const hobject_t &hoid,              ///< [in] object containing map
+    const ghobject_t &oid,              ///< [in] object containing map
     bufferlist *bl                      ///< [out] header to set
     ) = 0;
 
-  /// Clear all map keys and values from hoid
+  /// Clear all map keys and values from oid
   virtual int clear(
-    const hobject_t &hoid,             ///< [in] object containing map
+    const ghobject_t &oid,             ///< [in] object containing map
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
-  /// Clear all map keys and values from hoid
+  /// Clear all map keys and values from oid
   virtual int rm_keys(
-    const hobject_t &hoid,              ///< [in] object containing map
+    const ghobject_t &oid,              ///< [in] object containing map
     const set<string> &to_clear,        ///< [in] Keys to clear
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
   /// Get all keys and values
   virtual int get(
-    const hobject_t &hoid,             ///< [in] object containing map
+    const ghobject_t &oid,             ///< [in] object containing map
     bufferlist *header,                ///< [out] Returned Header
     map<string, bufferlist> *out       ///< [out] Returned keys and values
     ) = 0;
 
   /// Get values for supplied keys
   virtual int get_keys(
-    const hobject_t &hoid,             ///< [in] object containing map
-    set<string> *keys                  ///< [out] Keys defined on hoid
+    const ghobject_t &oid,             ///< [in] object containing map
+    set<string> *keys                  ///< [out] Keys defined on oid
     ) = 0;
 
   /// Get values for supplied keys
   virtual int get_values(
-    const hobject_t &hoid,             ///< [in] object containing map
+    const ghobject_t &oid,             ///< [in] object containing map
     const set<string> &keys,           ///< [in] Keys to get
     map<string, bufferlist> *out       ///< [out] Returned keys and values
     ) = 0;
 
   /// Check key existence
   virtual int check_keys(
-    const hobject_t &hoid,             ///< [in] object containing map
+    const ghobject_t &oid,             ///< [in] object containing map
     const set<string> &keys,           ///< [in] Keys to check
-    set<string> *out                   ///< [out] Subset of keys defined on hoid
+    set<string> *out                   ///< [out] Subset of keys defined on oid
     ) = 0;
 
   /// Get xattrs
   virtual int get_xattrs(
-    const hobject_t &hoid,             ///< [in] object
+    const ghobject_t &oid,             ///< [in] object
     const set<string> &to_get,         ///< [in] keys to get
     map<string, bufferlist> *out       ///< [out] subset of attrs/vals defined
     ) = 0;
 
   /// Get all xattrs
   virtual int get_all_xattrs(
-    const hobject_t &hoid,             ///< [in] object
+    const ghobject_t &oid,             ///< [in] object
     set<string> *out       ///< [out] attrs and values
     ) = 0;
 
   /// set xattrs in to_set
   virtual int set_xattrs(
-    const hobject_t &hoid,                ///< [in] object
+    const ghobject_t &oid,                ///< [in] object
     const map<string, bufferlist> &to_set,///< [in] attrs/values to set
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
   /// remove xattrs in to_remove
   virtual int remove_xattrs(
-    const hobject_t &hoid,               ///< [in] object
+    const ghobject_t &oid,               ///< [in] object
     const set<string> &to_remove,        ///< [in] attrs to remove
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) = 0;
 
 
-  /// Clone keys efficiently from hoid map to target map
+  /// Clone keys efficiently from oid map to target map
   virtual int clone(
-    const hobject_t &hoid,             ///< [in] object containing map
-    const hobject_t &target,           ///< [in] target of clone
+    const ghobject_t &oid,             ///< [in] object containing map
+    const ghobject_t &target,           ///< [in] target of clone
     const SequencerPosition *spos=0     ///< [in] sequencer position
     ) { return 0; }
 
   /// Ensure all previous writes are durable
   virtual int sync(
-    const hobject_t *hoid=0,          ///< [in] object
+    const ghobject_t *oid=0,          ///< [in] object
     const SequencerPosition *spos=0   ///< [in] Sequencer
     ) { return 0; }
 
@@ -144,7 +144,7 @@ public:
     virtual ~ObjectMapIteratorImpl() {}
   };
   typedef std::tr1::shared_ptr<ObjectMapIteratorImpl> ObjectMapIterator;
-  virtual ObjectMapIterator get_iterator(const hobject_t &hoid) {
+  virtual ObjectMapIterator get_iterator(const ghobject_t &oid) {
     return ObjectMapIterator();
   }
 
diff --git a/src/os/ObjectStore.cc b/src/os/ObjectStore.cc
index 9d8b989..1a1bbcb 100644
--- a/src/os/ObjectStore.cc
+++ b/src/os/ObjectStore.cc
@@ -15,6 +15,7 @@
 #include <tr1/memory>
 #include "ObjectStore.h"
 #include "common/Formatter.h"
+#include "FileStore.h"
 
 ostream& operator<<(ostream& out, const ObjectStore::Sequencer& s)
 {
@@ -77,7 +78,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_TOUCH:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "touch");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("oid") << oid;
@@ -87,7 +88,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_WRITE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	bufferlist bl;
@@ -104,7 +105,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_ZERO:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	f->dump_string("op_name", "zero");
@@ -118,7 +119,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_TRIMCACHE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	f->dump_string("op_name", "trim_cache");
@@ -132,7 +133,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_TRUNCATE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	uint64_t off = i.get_length();
 	f->dump_string("op_name", "truncate");
 	f->dump_stream("collection") << cid;
@@ -144,7 +145,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_REMOVE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "remove");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("oid") << oid;
@@ -154,7 +155,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_SETATTR:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string name = i.get_attrname();
 	bufferlist bl;
 	i.get_bl(bl);
@@ -169,7 +170,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_SETATTRS:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	map<string, bufferptr> aset;
 	i.get_attrset(aset);
 	f->dump_string("op_name", "setattrs");
@@ -187,7 +188,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_RMATTR:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string name = i.get_attrname();
 	f->dump_string("op_name", "rmattr");
 	f->dump_stream("collection") << cid;
@@ -199,7 +200,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_RMATTRS:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "rmattrs");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("oid") << oid;
@@ -209,8 +210,8 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_CLONE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
 	f->dump_string("op_name", "clone");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("src_oid") << oid;
@@ -221,8 +222,8 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_CLONERANGE:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
  	uint64_t off = i.get_length();
 	uint64_t len = i.get_length();
 	f->dump_string("op_name", "clonerange");
@@ -237,8 +238,8 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_CLONERANGE2:
       {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
-	hobject_t noid = i.get_oid();
+	ghobject_t oid = i.get_oid();
+	ghobject_t noid = i.get_oid();
  	uint64_t srcoff = i.get_length();
 	uint64_t len = i.get_length();
  	uint64_t dstoff = i.get_length();
@@ -272,7 +273,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
       {
 	coll_t ocid = i.get_cid();
 	coll_t ncid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "collection_add");
 	f->dump_stream("src_collection") << ocid;
 	f->dump_stream("dst_collection") << ncid;
@@ -283,7 +284,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_COLL_REMOVE:
        {
 	coll_t cid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "collection_remove");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("oid") << oid;
@@ -294,7 +295,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
        {
 	coll_t ocid = i.get_cid();
 	coll_t ncid = i.get_cid();
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->open_object_section("collection_move");
 	f->dump_stream("src_collection") << ocid;
 	f->dump_stream("dst_collection") << ncid;
@@ -344,7 +345,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_OMAP_CLEAR:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	f->dump_string("op_name", "omap_clear");
 	f->dump_stream("collection") << cid;
 	f->dump_stream("oid") << oid;
@@ -354,7 +355,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_OMAP_SETKEYS:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	map<string, bufferlist> aset;
 	i.get_attrset(aset);
 	f->dump_string("op_name", "omap_setkeys");
@@ -372,7 +373,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_OMAP_RMKEYS:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	set<string> keys;
 	i.get_keyset(keys);
 	f->dump_string("op_name", "omap_rmkeys");
@@ -384,7 +385,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_OMAP_SETHEADER:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	bufferlist bl;
 	i.get_bl(bl);
 	f->dump_string("op_name", "omap_setheader");
@@ -425,7 +426,7 @@ void ObjectStore::Transaction::dump(ceph::Formatter *f)
     case Transaction::OP_OMAP_RMKEYRANGE:
       {
 	coll_t cid(i.get_cid());
-	hobject_t oid = i.get_oid();
+	ghobject_t oid = i.get_oid();
 	string first, last;
 	first = i.get_key();
 	last = i.get_key();
@@ -460,9 +461,9 @@ void ObjectStore::Transaction::generate_test_instances(list<ObjectStore::Transac
   t = new Transaction;
   coll_t c("foocoll");
   coll_t c2("foocoll2");
-  hobject_t o1("obj", "", 123, 456, -1, "");
-  hobject_t o2("obj2", "", 123, 456, -1, "");
-  hobject_t o3("obj3", "", 123, 456, -1, "");
+  ghobject_t o1(hobject_t("obj", "", 123, 456, -1, ""));
+  ghobject_t o2(hobject_t("obj2", "", 123, 456, -1, ""));
+  ghobject_t o3(hobject_t("obj3", "", 123, 456, -1, ""));
   t->touch(c, o1);
   bufferlist bl;
   bl.append("some data");
@@ -497,3 +498,44 @@ void ObjectStore::Transaction::generate_test_instances(list<ObjectStore::Transac
   o.push_back(t);  
 }
 
+int ObjectStore::collection_list(coll_t c, vector<hobject_t>& o)
+{
+  vector<ghobject_t> go;
+  int ret = collection_list(c, go);
+  if (ret == 0) {
+    o.reserve(go.size());
+    for (vector<ghobject_t>::iterator i = go.begin(); i != go.end() ; i++)
+      o.push_back(i->hobj);
+  }
+  return ret;
+}
+
+int ObjectStore::collection_list_partial(coll_t c, hobject_t start,
+			      int min, int max, snapid_t snap,
+				      vector<hobject_t> *ls, hobject_t *next)
+{
+  vector<ghobject_t> go;
+  ghobject_t gnext, gstart(start);
+  int ret = collection_list_partial(c, gstart, min, max, snap, &go, &gnext);
+  if (ret == 0) {
+    *next = gnext.hobj;
+    ls->reserve(go.size());
+    for (vector<ghobject_t>::iterator i = go.begin(); i != go.end() ; i++)
+      ls->push_back(i->hobj);
+  }
+  return ret;
+}
+
+int ObjectStore::collection_list_range(coll_t c, hobject_t start, hobject_t end,
+			    snapid_t seq, vector<hobject_t> *ls)
+{
+  vector<ghobject_t> go;
+  ghobject_t gstart(start), gend(end);
+  int ret = collection_list_range(c, gstart, gend, seq, &go);
+  if (ret == 0) {
+    ls->reserve(go.size());
+    for (vector<ghobject_t>::iterator i = go.begin(); i != go.end() ; i++)
+      ls->push_back(i->hobj);
+  }
+  return ret;
+}
diff --git a/src/os/ObjectStore.h b/src/os/ObjectStore.h
index 6bfefa0..6494290 100644
--- a/src/os/ObjectStore.h
+++ b/src/os/ObjectStore.h
@@ -81,6 +81,8 @@ public:
 
   Logger *logger;
 
+  virtual filestore_perf_stat_t get_cur_stats() = 0;
+
   /**
    * a sequencer orders transactions
    *
@@ -157,6 +159,7 @@ public:
       OP_SPLIT_COLLECTION2 = 36, /* cid, bits, destination
 				    doesn't create the destination */
       OP_OMAP_RMKEYRANGE = 37,  // cid, oid, firstkey, lastkey
+      OP_COLL_MOVE_RENAME = 38,   // oldcid, oldoid, newcid, newoid
     };
 
   private:
@@ -337,21 +340,23 @@ public:
       void get_bl(bufferlist& bl) {
 	::decode(bl, p);
       }
-      hobject_t get_oid() {
-	hobject_t hoid;
+      ghobject_t get_oid() {
+	ghobject_t oid;
 	if (sobject_encoding) {
 	  sobject_t soid;
 	  ::decode(soid, p);
-	  hoid.snap = soid.snap;
-	  hoid.oid = soid.oid;
+	  oid.hobj.snap = soid.snap;
+	  oid.hobj.oid = soid.oid;
+	  oid.generation = ghobject_t::NO_GEN;
+	  oid.shard_id = ghobject_t::NO_SHARD;
 	} else {
-	  ::decode(hoid, p);
+	  ::decode(oid, p);
 	  if (use_pool_override && pool_override != -1 &&
-	      hoid.pool == -1) {
-	    hoid.pool = pool_override;
+	      oid.hobj.pool == -1) {
+	    oid.hobj.pool = pool_override;
 	  }
 	}
-	return hoid;
+	return oid;
       }
       coll_t get_cid() {
 	coll_t c;
@@ -405,14 +410,14 @@ public:
       ::encode(op, tbl);
       ops++;
     }
-    void touch(coll_t cid, const hobject_t& oid) {
+    void touch(coll_t cid, const ghobject_t& oid) {
       __u32 op = OP_TOUCH;
       ::encode(op, tbl);
       ::encode(cid, tbl);
       ::encode(oid, tbl);
       ops++;
     }
-    void write(coll_t cid, const hobject_t& oid, uint64_t off, uint64_t len, const bufferlist& data) {
+    void write(coll_t cid, const ghobject_t& oid, uint64_t off, uint64_t len, const bufferlist& data) {
       __u32 op = OP_WRITE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -428,7 +433,7 @@ public:
       ::encode(data, tbl);
       ops++;
     }
-    void zero(coll_t cid, const hobject_t& oid, uint64_t off, uint64_t len) {
+    void zero(coll_t cid, const ghobject_t& oid, uint64_t off, uint64_t len) {
       __u32 op = OP_ZERO;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -437,7 +442,7 @@ public:
       ::encode(len, tbl);
       ops++;
     }
-    void truncate(coll_t cid, const hobject_t& oid, uint64_t off) {
+    void truncate(coll_t cid, const ghobject_t& oid, uint64_t off) {
       __u32 op = OP_TRUNCATE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -445,18 +450,18 @@ public:
       ::encode(off, tbl);
       ops++;
     }
-    void remove(coll_t cid, const hobject_t& oid) {
+    void remove(coll_t cid, const ghobject_t& oid) {
       __u32 op = OP_REMOVE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
       ::encode(oid, tbl);
       ops++;
     }
-    void setattr(coll_t cid, const hobject_t& oid, const char* name, bufferlist& val) {
+    void setattr(coll_t cid, const ghobject_t& oid, const char* name, bufferlist& val) {
       string n(name);
       setattr(cid, oid, n, val);
     }
-    void setattr(coll_t cid, const hobject_t& oid, const string& s, bufferlist& val) {
+    void setattr(coll_t cid, const ghobject_t& oid, const string& s, bufferlist& val) {
       __u32 op = OP_SETATTR;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -465,7 +470,15 @@ public:
       ::encode(val, tbl);
       ops++;
     }
-    void setattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& attrset) {
+    void setattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& attrset) {
+      __u32 op = OP_SETATTRS;
+      ::encode(op, tbl);
+      ::encode(cid, tbl);
+      ::encode(oid, tbl);
+      ::encode(attrset, tbl);
+      ops++;
+    }
+    void setattrs(coll_t cid, const hobject_t& oid, map<string,bufferlist>& attrset) {
       __u32 op = OP_SETATTRS;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -473,11 +486,11 @@ public:
       ::encode(attrset, tbl);
       ops++;
     }
-    void rmattr(coll_t cid, const hobject_t& oid, const char *name) {
+    void rmattr(coll_t cid, const ghobject_t& oid, const char *name) {
       string n(name);
       rmattr(cid, oid, n);
     }
-    void rmattr(coll_t cid, const hobject_t& oid, const string& s) {
+    void rmattr(coll_t cid, const ghobject_t& oid, const string& s) {
       __u32 op = OP_RMATTR;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -485,14 +498,14 @@ public:
       ::encode(s, tbl);
       ops++;
     }
-    void rmattrs(coll_t cid, const hobject_t& oid) {
-      __u32 op = OP_RMATTR;
+    void rmattrs(coll_t cid, const ghobject_t& oid) {
+      __u32 op = OP_RMATTRS;
       ::encode(op, tbl);
       ::encode(cid, tbl);
       ::encode(oid, tbl);
       ops++;
     }
-    void clone(coll_t cid, const hobject_t& oid, hobject_t noid) {
+    void clone(coll_t cid, const ghobject_t& oid, ghobject_t noid) {
       __u32 op = OP_CLONE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -500,7 +513,7 @@ public:
       ::encode(noid, tbl);
       ops++;
     }
-    void clone_range(coll_t cid, const hobject_t& oid, hobject_t noid,
+    void clone_range(coll_t cid, const ghobject_t& oid, ghobject_t noid,
 		     uint64_t srcoff, uint64_t srclen, uint64_t dstoff) {
       __u32 op = OP_CLONERANGE2;
       ::encode(op, tbl);
@@ -524,7 +537,7 @@ public:
       ::encode(cid, tbl);
       ops++;
     }
-    void collection_add(coll_t cid, coll_t ocid, const hobject_t& oid) {
+    void collection_add(coll_t cid, coll_t ocid, const ghobject_t& oid) {
       __u32 op = OP_COLL_ADD;
       ::encode(op, tbl);
       ::encode(cid, tbl);
@@ -532,18 +545,27 @@ public:
       ::encode(oid, tbl);
       ops++;
     }
-    void collection_remove(coll_t cid, const hobject_t& oid) {
+    void collection_remove(coll_t cid, const ghobject_t& oid) {
       __u32 op = OP_COLL_REMOVE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
       ::encode(oid, tbl);
       ops++;
     }
-    void collection_move(coll_t cid, coll_t oldcid, const hobject_t& oid) {
+    void collection_move(coll_t cid, coll_t oldcid, const ghobject_t& oid) {
       collection_add(cid, oldcid, oid);
       collection_remove(oldcid, oid);
       return;
     }
+    void collection_move_rename(coll_t oldcid, const ghobject_t& oldoid,
+				coll_t cid, const ghobject_t& oid) {
+      __u32 op = OP_COLL_MOVE_RENAME;
+      ::encode(op, tbl);
+      ::encode(oldcid, tbl);
+      ::encode(oldoid, tbl);
+      ::encode(cid, tbl);
+      ::encode(oid, tbl);
+    }
 
     void collection_setattr(coll_t cid, const char* name, bufferlist& val) {
       string n(name);
@@ -576,6 +598,13 @@ public:
       ::encode(aset, tbl);
       ops++;
     }
+    void collection_setattrs(coll_t cid, map<string,bufferlist>& aset) {
+      __u32 op = OP_COLL_SETATTRS;
+      ::encode(op, tbl);
+      ::encode(cid, tbl);
+      ::encode(aset, tbl);
+      ops++;
+    }
     void collection_rename(coll_t cid, coll_t ncid) {
       __u32 op = OP_COLL_RENAME;
       ::encode(op, tbl);
@@ -584,55 +613,55 @@ public:
       ops++;
     }
 
-    /// Remove omap from hoid
+    /// Remove omap from oid
     void omap_clear(
-      coll_t cid,           ///< [in] Collection containing hoid
-      const hobject_t &hoid ///< [in] Object from which to remove omap
+      coll_t cid,           ///< [in] Collection containing oid
+      const ghobject_t &oid  ///< [in] Object from which to remove omap
       ) {
       __u32 op = OP_OMAP_CLEAR;
       ::encode(op, tbl);
       ::encode(cid, tbl);
-      ::encode(hoid, tbl);
+      ::encode(oid, tbl);
       ops++;
     }
-    /// Set keys on hoid omap.  Replaces duplicate keys.
+    /// Set keys on oid omap.  Replaces duplicate keys.
     void omap_setkeys(
-      coll_t cid,                           ///< [in] Collection containing hoid
-      const hobject_t &hoid,                ///< [in] Object to update
+      coll_t cid,                           ///< [in] Collection containing oid
+      const ghobject_t &oid,                ///< [in] Object to update
       const map<string, bufferlist> &attrset ///< [in] Replacement keys and values
       ) {
       __u32 op = OP_OMAP_SETKEYS;
       ::encode(op, tbl);
       ::encode(cid, tbl);
-      ::encode(hoid, tbl);
+      ::encode(oid, tbl);
       ::encode(attrset, tbl);
       ops++;
     }
-    /// Remove keys from hoid omap
+    /// Remove keys from oid omap
     void omap_rmkeys(
-      coll_t cid,             ///< [in] Collection containing hoid
-      const hobject_t &hoid,  ///< [in] Object from which to remove the omap
+      coll_t cid,             ///< [in] Collection containing oid
+      const ghobject_t &oid,  ///< [in] Object from which to remove the omap
       const set<string> &keys ///< [in] Keys to clear
       ) {
       __u32 op = OP_OMAP_RMKEYS;
       ::encode(op, tbl);
       ::encode(cid, tbl);
-      ::encode(hoid, tbl);
+      ::encode(oid, tbl);
       ::encode(keys, tbl);
       ops++;
     }
 
-    /// Remove key range from hoid omap
+    /// Remove key range from oid omap
     void omap_rmkeyrange(
-      coll_t cid,             ///< [in] Collection containing hoid
-      const hobject_t &hoid,  ///< [in] Object from which to remove the omap
+      coll_t cid,             ///< [in] Collection containing oid
+      const ghobject_t &oid,  ///< [in] Object from which to remove the omap
       const string& first,    ///< [in] first key in range
       const string& last      ///< [in] first key past range
       ) {
       __u32 op = OP_OMAP_RMKEYRANGE;
       ::encode(op, tbl);
       ::encode(cid, tbl);
-      ::encode(hoid, tbl);
+      ::encode(oid, tbl);
       ::encode(first, tbl);
       ::encode(last, tbl);
       ops++;
@@ -640,14 +669,14 @@ public:
 
     /// Set omap header
     void omap_setheader(
-      coll_t cid,             ///< [in] Collection containing hoid
-      const hobject_t &hoid,  ///< [in] Object from which to remove the omap
+      coll_t cid,             ///< [in] Collection containing oid
+      const ghobject_t &oid,  ///< [in] Object from which to remove the omap
       const bufferlist &bl    ///< [in] Header value
       ) {
       __u32 op = OP_OMAP_SETHEADER;
       ::encode(op, tbl);
       ::encode(cid, tbl);
-      ::encode(hoid, tbl);
+      ::encode(oid, tbl);
       ::encode(bl, tbl);
       ops++;
     }
@@ -830,6 +859,8 @@ public:
   virtual int get_max_object_name_length() = 0;
   virtual int mkfs() = 0;  // wipe
   virtual int mkjournal() = 0; // journal only
+  virtual void set_allow_sharded_objects() = 0;
+  virtual bool get_allow_sharded_objects() = 0;
 
   virtual int statfs(struct statfs *buf) = 0;
 
@@ -848,32 +879,42 @@ public:
   virtual int get_ideal_list_max() { return 64; }
 
   // objects
-  virtual bool exists(coll_t cid, const hobject_t& oid) = 0;                   // useful?
+  virtual bool exists(coll_t cid, const ghobject_t& oid) = 0;                   // useful?
   virtual int stat(
     coll_t cid,
-    const hobject_t& oid,
+    const ghobject_t& oid,
     struct stat *st,
     bool allow_eio = false) = 0; // struct stat?
 
   virtual int read(
     coll_t cid,
-    const hobject_t& oid,
+    const ghobject_t& oid,
     uint64_t offset,
     size_t len,
     bufferlist& bl,
     bool allow_eio = false) = 0;
 
-  virtual int fiemap(coll_t cid, const hobject_t& oid, uint64_t offset, size_t len, bufferlist& bl) = 0;
+  virtual int fiemap(coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len, bufferlist& bl) = 0;
 
-  virtual int getattr(coll_t cid, const hobject_t& oid, const char *name, bufferptr& value) = 0;
-  int getattr(coll_t cid, const hobject_t& oid, const char *name, bufferlist& value) {
+  virtual int getattr(coll_t cid, const ghobject_t& oid, const char *name, bufferptr& value) = 0;
+  int getattr(coll_t cid, const ghobject_t& oid, const char *name, bufferlist& value) {
     bufferptr bp;
     int r = getattr(cid, oid, name, bp);
     if (bp.length())
       value.push_back(bp);
     return r;
   }
-  virtual int getattrs(coll_t cid, const hobject_t& oid, map<string,bufferptr>& aset, bool user_only = false) {return 0;};
+  virtual int getattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>& aset, bool user_only = false) {return 0;};
+  int getattrs(coll_t cid, const ghobject_t& oid, map<string,bufferlist>& aset, bool user_only = false) {
+    map<string,bufferptr> bmap;
+    int r = getattrs(cid, oid, bmap, user_only);
+    for (map<string,bufferptr>::iterator i = bmap.begin();
+	i != bmap.end();
+	++i) {
+      aset[i->first].append(i->second);
+    }
+    return r;
+  }
 
    
   // collections
@@ -888,7 +929,7 @@ public:
   virtual int collection_getattr(coll_t cid, const char *name, bufferlist& bl) = 0;
   virtual int collection_getattrs(coll_t cid, map<string,bufferptr> &aset) = 0;
   virtual bool collection_empty(coll_t c) = 0;
-  virtual int collection_list(coll_t c, vector<hobject_t>& o) = 0;
+  virtual int collection_list(coll_t c, vector<ghobject_t>& o) = 0;
 
   /**
    * list partial contents of collection relative to a hash offset/position
@@ -902,9 +943,9 @@ public:
    * @param next [out] next item sorts >= this value
    * @return zero on success, or negative error
    */
-  virtual int collection_list_partial(coll_t c, hobject_t start,
+  virtual int collection_list_partial(coll_t c, ghobject_t start,
 				      int min, int max, snapid_t snap, 
-				      vector<hobject_t> *ls, hobject_t *next) = 0;
+				      vector<ghobject_t> *ls, ghobject_t *next) = 0;
 
   /**
    * list contents of a collection that fall in the range [start, end)
@@ -916,47 +957,57 @@ public:
    * @param ls [out] result
    * @return zero on success, or negative error
    */
-  virtual int collection_list_range(coll_t c, hobject_t start, hobject_t end,
-                                    snapid_t seq, vector<hobject_t> *ls) = 0;
+  virtual int collection_list_range(coll_t c, ghobject_t start, ghobject_t end,
+                                    snapid_t seq, vector<ghobject_t> *ls) = 0;
+
+  //TODO: Remove
+  int collection_list(coll_t c, vector<hobject_t>& o);
+
+  int collection_list_partial(coll_t c, hobject_t start,
+				      int min, int max, snapid_t snap,
+				      vector<hobject_t> *ls, hobject_t *next);
+
+  int collection_list_range(coll_t c, hobject_t start, hobject_t end,
+                                    snapid_t seq, vector<hobject_t> *ls);
 
   /// OMAP
   /// Get omap contents
   virtual int omap_get(
-    coll_t c,                ///< [in] Collection containing hoid
-    const hobject_t &hoid,   ///< [in] Object containing omap
+    coll_t c,                ///< [in] Collection containing oid
+    const ghobject_t &oid,   ///< [in] Object containing omap
     bufferlist *header,      ///< [out] omap header
     map<string, bufferlist> *out /// < [out] Key to value map
     ) = 0;
 
   /// Get omap header
   virtual int omap_get_header(
-    coll_t c,                ///< [in] Collection containing hoid
-    const hobject_t &hoid,   ///< [in] Object containing omap
+    coll_t c,                ///< [in] Collection containing oid
+    const ghobject_t &oid,   ///< [in] Object containing omap
     bufferlist *header,      ///< [out] omap header
     bool allow_eio = false ///< [in] don't assert on eio
     ) = 0;
 
-  /// Get keys defined on hoid
+  /// Get keys defined on oid
   virtual int omap_get_keys(
-    coll_t c,              ///< [in] Collection containing hoid
-    const hobject_t &hoid, ///< [in] Object containing omap
-    set<string> *keys      ///< [out] Keys defined on hoid
+    coll_t c,              ///< [in] Collection containing oid
+    const ghobject_t &oid, ///< [in] Object containing omap
+    set<string> *keys      ///< [out] Keys defined on oid
     ) = 0;
 
   /// Get key values
   virtual int omap_get_values(
-    coll_t c,                    ///< [in] Collection containing hoid
-    const hobject_t &hoid,       ///< [in] Object containing omap
+    coll_t c,                    ///< [in] Collection containing oid
+    const ghobject_t &oid,       ///< [in] Object containing omap
     const set<string> &keys,     ///< [in] Keys to get
     map<string, bufferlist> *out ///< [out] Returned keys and values
     ) = 0;
 
-  /// Filters keys into out which are defined on hoid
+  /// Filters keys into out which are defined on oid
   virtual int omap_check_keys(
-    coll_t c,                ///< [in] Collection containing hoid
-    const hobject_t &hoid,   ///< [in] Object containing omap
+    coll_t c,                ///< [in] Collection containing oid
+    const ghobject_t &oid,   ///< [in] Object containing omap
     const set<string> &keys, ///< [in] Keys to check
-    set<string> *out         ///< [out] Subset of keys defined on hoid
+    set<string> *out         ///< [out] Subset of keys defined on oid
     ) = 0;
 
   /**
@@ -970,7 +1021,7 @@ public:
    */
   virtual ObjectMap::ObjectMapIterator get_omap_iterator(
     coll_t c,              ///< [in] collection
-    const hobject_t &hoid  ///< [in] object
+    const ghobject_t &oid  ///< [in] object
     ) = 0;
 
   virtual void sync(Context *onsync) {}
@@ -986,8 +1037,8 @@ public:
   virtual uuid_d get_fsid() = 0;
 
   // DEBUG
-  virtual void inject_data_error(const hobject_t &oid) {}
-  virtual void inject_mdata_error(const hobject_t &oid) {}
+  virtual void inject_data_error(const ghobject_t &oid) {}
+  virtual void inject_mdata_error(const ghobject_t &oid) {}
 };
 
 
diff --git a/src/os/WBThrottle.cc b/src/os/WBThrottle.cc
index 23e2476..e02c176 100644
--- a/src/os/WBThrottle.cc
+++ b/src/os/WBThrottle.cc
@@ -116,7 +116,7 @@ void WBThrottle::handle_conf_change(const md_config_t *conf,
 }
 
 bool WBThrottle::get_next_should_flush(
-  boost::tuple<hobject_t, FDRef, PendingWB> *next)
+  boost::tuple<ghobject_t, FDRef, PendingWB> *next)
 {
   assert(lock.is_locked());
   assert(next);
@@ -128,9 +128,9 @@ bool WBThrottle::get_next_should_flush(
   if (stopping)
     return false;
   assert(!pending_wbs.empty());
-  hobject_t obj(pop_object());
+  ghobject_t obj(pop_object());
   
-  map<hobject_t, pair<PendingWB, FDRef> >::iterator i =
+  map<ghobject_t, pair<PendingWB, FDRef> >::iterator i =
     pending_wbs.find(obj);
   *next = boost::make_tuple(obj, i->second.second, i->second.first);
   pending_wbs.erase(i);
@@ -141,32 +141,32 @@ bool WBThrottle::get_next_should_flush(
 void *WBThrottle::entry()
 {
   Mutex::Locker l(lock);
-  boost::tuple<hobject_t, FDRef, PendingWB> wb;
+  boost::tuple<ghobject_t, FDRef, PendingWB> wb;
   while (get_next_should_flush(&wb)) {
     clearing = wb.get<0>();
     lock.Unlock();
-    ::fsync(**wb.get<1>());
+    ::fdatasync(**wb.get<1>());
     if (wb.get<2>().nocache)
       posix_fadvise(**wb.get<1>(), 0, 0, POSIX_FADV_DONTNEED);
     lock.Lock();
-    clearing = hobject_t();
+    clearing = ghobject_t();
     cur_ios -= wb.get<2>().ios;
     logger->dec(l_wbthrottle_ios_dirtied, wb.get<2>().ios);
     cur_size -= wb.get<2>().size;
     logger->dec(l_wbthrottle_bytes_dirtied, wb.get<2>().size);
     logger->dec(l_wbthrottle_inodes_dirtied);
     cond.Signal();
-    wb = boost::tuple<hobject_t, FDRef, PendingWB>();
+    wb = boost::tuple<ghobject_t, FDRef, PendingWB>();
   }
   return 0;
 }
 
 void WBThrottle::queue_wb(
-  FDRef fd, const hobject_t &hoid, uint64_t offset, uint64_t len,
+  FDRef fd, const ghobject_t &hoid, uint64_t offset, uint64_t len,
   bool nocache)
 {
   Mutex::Locker l(lock);
-  map<hobject_t, pair<PendingWB, FDRef> >::iterator wbiter =
+  map<ghobject_t, pair<PendingWB, FDRef> >::iterator wbiter =
     pending_wbs.find(hoid);
   if (wbiter == pending_wbs.end()) {
     wbiter = pending_wbs.insert(
@@ -192,7 +192,7 @@ void WBThrottle::queue_wb(
 void WBThrottle::clear()
 {
   Mutex::Locker l(lock);
-  for (map<hobject_t, pair<PendingWB, FDRef> >::iterator i =
+  for (map<ghobject_t, pair<PendingWB, FDRef> >::iterator i =
 	 pending_wbs.begin();
        i != pending_wbs.end();
        ++i) {
@@ -208,12 +208,12 @@ void WBThrottle::clear()
   cond.Signal();
 }
 
-void WBThrottle::clear_object(const hobject_t &hoid)
+void WBThrottle::clear_object(const ghobject_t &hoid)
 {
   Mutex::Locker l(lock);
   while (clearing == hoid)
     cond.Wait(lock);
-  map<hobject_t, pair<PendingWB, FDRef> >::iterator i =
+  map<ghobject_t, pair<PendingWB, FDRef> >::iterator i =
     pending_wbs.find(hoid);
   if (i == pending_wbs.end())
     return;
diff --git a/src/os/WBThrottle.h b/src/os/WBThrottle.h
index 070de08..e418cf9 100644
--- a/src/os/WBThrottle.h
+++ b/src/os/WBThrottle.h
@@ -20,7 +20,7 @@
 #include <tr1/memory>
 #include "include/buffer.h"
 #include "common/Formatter.h"
-#include "os/hobject.h"
+#include "common/hobject.h"
 #include "include/interval_set.h"
 #include "FDCache.h"
 #include "common/Thread.h"
@@ -44,7 +44,7 @@ enum {
  * Tracks, throttles, and flushes outstanding IO
  */
 class WBThrottle : Thread, public md_config_obs_t {
-  hobject_t clearing;
+  ghobject_t clearing;
 
   /* *_limits.first is the start_flusher limit and
    * *_limits.second is the hard limit
@@ -89,36 +89,36 @@ class WBThrottle : Thread, public md_config_obs_t {
   /**
    * Flush objects in lru order
    */
-  list<hobject_t> lru;
-  map<hobject_t, list<hobject_t>::iterator> rev_lru;
-  void remove_object(const hobject_t &hoid) {
+  list<ghobject_t> lru;
+  map<ghobject_t, list<ghobject_t>::iterator> rev_lru;
+  void remove_object(const ghobject_t &oid) {
     assert(lock.is_locked());
-    map<hobject_t, list<hobject_t>::iterator>::iterator iter =
-      rev_lru.find(hoid);
+    map<ghobject_t, list<ghobject_t>::iterator>::iterator iter =
+      rev_lru.find(oid);
     if (iter == rev_lru.end())
       return;
 
     lru.erase(iter->second);
     rev_lru.erase(iter);
   }
-  hobject_t pop_object() {
+  ghobject_t pop_object() {
     assert(!lru.empty());
-    hobject_t hoid(lru.front());
+    ghobject_t oid(lru.front());
     lru.pop_front();
-    rev_lru.erase(hoid);
-    return hoid;
+    rev_lru.erase(oid);
+    return oid;
   }
-  void insert_object(const hobject_t &hoid) {
-    assert(rev_lru.find(hoid) == rev_lru.end());
-    lru.push_back(hoid);
-    rev_lru.insert(make_pair(hoid, --lru.end()));
+  void insert_object(const ghobject_t &oid) {
+    assert(rev_lru.find(oid) == rev_lru.end());
+    lru.push_back(oid);
+    rev_lru.insert(make_pair(oid, --lru.end()));
   }
 
-  map<hobject_t, pair<PendingWB, FDRef> > pending_wbs;
+  map<ghobject_t, pair<PendingWB, FDRef> > pending_wbs;
 
   /// get next flush to perform
   bool get_next_should_flush(
-    boost::tuple<hobject_t, FDRef, PendingWB> *next ///< [out] next to flush
+    boost::tuple<ghobject_t, FDRef, PendingWB> *next ///< [out] next to flush
     ); ///< @return false if we are shutting down
 public:
   enum FS {
@@ -141,10 +141,10 @@ public:
     set_from_conf();
   }
 
-  /// Queue wb on hoid, fd taking throttle (does not block)
+  /// Queue wb on oid, fd taking throttle (does not block)
   void queue_wb(
-    FDRef fd,              ///< [in] FDRef to hoid
-    const hobject_t &hoid, ///< [in] object
+    FDRef fd,              ///< [in] FDRef to oid
+    const ghobject_t &oid, ///< [in] object
     uint64_t offset,       ///< [in] offset written
     uint64_t len,          ///< [in] length written
     bool nocache           ///< [in] try to clear out of cache after write
@@ -154,7 +154,7 @@ public:
   void clear();
 
   /// Clear object
-  void clear_object(const hobject_t &hoid);
+  void clear_object(const ghobject_t &oid);
 
   /// Block until there is throttle available
   void throttle();
diff --git a/src/os/ZFS.cc b/src/os/ZFS.cc
new file mode 100644
index 0000000..0252079
--- /dev/null
+++ b/src/os/ZFS.cc
@@ -0,0 +1,83 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#define HAVE_IOCTL_IN_SYS_IOCTL_H
+#include <libzfs.h>
+#include "ZFS.h"
+
+const int ZFS::TYPE_FILESYSTEM 	= ZFS_TYPE_FILESYSTEM;
+const int ZFS::TYPE_SNAPSHOT	= ZFS_TYPE_SNAPSHOT;
+const int ZFS::TYPE_VOLUME	= ZFS_TYPE_VOLUME;
+const int ZFS::TYPE_DATASET	= ZFS_TYPE_DATASET;
+
+ZFS::~ZFS()
+{
+  if (g_zfs)
+    ::libzfs_fini((libzfs_handle_t*)g_zfs);
+}
+
+int ZFS::init()
+{
+  g_zfs = ::libzfs_init();
+  return g_zfs ? 0 : -EINVAL;
+}
+
+ZFS::Handle *ZFS::open(const char *n, int t)
+{
+  return (ZFS::Handle*)::zfs_open((libzfs_handle_t*)g_zfs, n, (zfs_type_t)t);
+}
+
+void ZFS::close(ZFS::Handle *h)
+{
+  ::zfs_close((zfs_handle_t*)h);
+}
+
+const char *ZFS::get_name(ZFS::Handle *h)
+{
+  return ::zfs_get_name((zfs_handle_t*)h);
+}
+
+ZFS::Handle *ZFS::path_to_zhandle(const char *p, int t)
+{
+  return ::zfs_path_to_zhandle((libzfs_handle_t*)g_zfs, (char *)p, (zfs_type_t)t);
+}
+
+int ZFS::create(const char *n, int t)
+{
+  return ::zfs_create((libzfs_handle_t*)g_zfs, n, (zfs_type_t)t, NULL);
+}
+
+int ZFS::snapshot(const char *n, bool r)
+{
+  return ::zfs_snapshot((libzfs_handle_t*)g_zfs, n, (boolean_t)r, NULL);
+}
+
+int ZFS::rollback(ZFS::Handle *h, ZFS::Handle *snap, bool f)
+{
+  return ::zfs_rollback((zfs_handle_t*)h, (zfs_handle_t*)snap, (boolean_t)f);
+}
+
+int ZFS::destroy_snaps(ZFS::Handle *h, const char *n, bool d)
+{
+  return ::zfs_destroy_snaps((zfs_handle_t*)h, (char *)n, (boolean_t)d);
+}
+
+bool ZFS::is_mounted(ZFS::Handle *h, char **p)
+{
+  return (bool)::zfs_is_mounted((zfs_handle_t*)h, p);
+}
+
+int ZFS::mount(ZFS::Handle *h, const char *o, int f)
+{
+  return ::zfs_mount((zfs_handle_t*)h, o, f);
+}
+
+int ZFS::umount(ZFS::Handle *h, const char *o, int f)
+{
+  return ::zfs_unmount((zfs_handle_t*)h, o, f);
+}
+
+int ZFS::iter_snapshots_sorted(ZFS::Handle *h, ZFS::iter_func f, void *d)
+{
+  return ::zfs_iter_snapshots_sorted((zfs_handle_t*)h, (zfs_iter_f)f, d);
+}
diff --git a/src/os/ZFS.h b/src/os/ZFS.h
new file mode 100644
index 0000000..3ebe111
--- /dev/null
+++ b/src/os/ZFS.h
@@ -0,0 +1,39 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef CEPH_ZFS_H
+#define CEPH_ZFS_H
+
+// Simple wrapper to hide libzfs.h. (it conflicts with standard linux headers)
+class ZFS {
+  void *g_zfs;
+public:
+
+  static const int TYPE_FILESYSTEM;
+  static const int TYPE_SNAPSHOT;
+  static const int TYPE_VOLUME;
+  static const int TYPE_POOL;
+  static const int TYPE_DATASET;
+
+  typedef void Handle;
+  typedef int (*iter_func)(Handle *, void *);
+
+  static const char *get_name(Handle *);
+
+  ZFS() : g_zfs(NULL) {}
+  ~ZFS();
+  int init();
+  Handle *open(const char *, int);
+  void close(Handle *);
+  Handle *path_to_zhandle(const char *, int);
+  int create(const char *, int);
+  int snapshot(const char *, bool);
+  int rollback(Handle *, Handle *, bool);
+  int destroy_snaps(Handle *, const char *, bool);
+  int iter_snapshots_sorted(Handle *, iter_func, void *);
+  int mount(Handle *, const char *, int);
+  int umount(Handle *, const char *, int);
+  bool is_mounted(Handle *, char **);
+};
+
+#endif
diff --git a/src/os/ZFSFileStoreBackend.cc b/src/os/ZFSFileStoreBackend.cc
new file mode 100644
index 0000000..aa52b8d
--- /dev/null
+++ b/src/os/ZFSFileStoreBackend.cc
@@ -0,0 +1,260 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "include/int_types.h"
+#include "include/types.h"
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+
+#include "include/compat.h"
+#include "include/linux_fiemap.h"
+#include "include/color.h"
+#include "include/buffer.h"
+#include "include/assert.h"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+#include "common/errno.h"
+#include "common/config.h"
+#include "common/sync_filesystem.h"
+
+#ifdef HAVE_LIBZFS
+
+#include "ZFSFileStoreBackend.h"
+
+#define dout_subsys ceph_subsys_filestore
+#undef dout_prefix
+#define dout_prefix *_dout << "zfsfilestorebackend(" << get_basedir_path() << ") "
+
+ZFSFileStoreBackend::ZFSFileStoreBackend(FileStore *fs) :
+  GenericFileStoreBackend(fs), base_zh(NULL), current_zh(NULL),
+  m_filestore_zfs_snap(g_conf->filestore_zfs_snap)
+{
+  int ret = zfs.init();
+  if (ret < 0) {
+    dout(0) << "ZFSFileStoreBackend: failed to init libzfs" << dendl;
+    return;
+  }
+
+  base_zh = zfs.path_to_zhandle(get_basedir_path().c_str(), ZFS::TYPE_FILESYSTEM);
+  if (!base_zh) {
+    dout(0) << "ZFSFileStoreBackend: failed to get zfs handler for basedir" << dendl;
+    return;
+  }
+
+  update_current_zh();
+}
+
+ZFSFileStoreBackend::~ZFSFileStoreBackend()
+{
+  if (base_zh)
+    zfs.close(base_zh);
+  if (current_zh)
+    zfs.close(current_zh);
+}
+
+int ZFSFileStoreBackend::update_current_zh()
+{
+  char path[PATH_MAX];
+  snprintf(path, sizeof(path), "%s/current", zfs.get_name(base_zh));
+  ZFS::Handle *zh = zfs.open(path, ZFS::TYPE_FILESYSTEM);
+  if (zh) {
+    char *mnt;
+    if (zfs.is_mounted(zh, &mnt)) {
+      int ret = get_current_path() == mnt;
+      free(mnt);
+      if (ret) {
+	current_zh = zh;
+	return 0;
+      }
+    } else {
+      int ret = zfs.mount(zh, NULL, 0);
+      if (ret < 0) {
+	ret = -errno;
+	dout(0) << "update_current_zh: zfs_mount '" << zfs.get_name(zh)
+		<< "' got " << cpp_strerror(ret) << dendl;
+	return ret;
+      }
+    }
+    zfs.close(zh);
+  } else {
+    dout(0) << "update_current_zh: zfs_open '" << path << "' got NULL" << dendl;
+    return -ENOENT;
+  }
+
+  zh = zfs.path_to_zhandle(get_current_path().c_str(), ZFS::TYPE_FILESYSTEM);
+  if (zh) {
+    if (strcmp(zfs.get_name(base_zh), zfs.get_name(zh))) {
+      current_zh = zh;
+      return 0;
+    }
+    zfs.close(zh);
+    dout(0) << "update_current_zh: basedir and current/ on the same filesystem" << dendl;
+  } else {
+    dout(0) << "update_current_zh: current/ not exist" << dendl;
+  }
+  return -ENOENT;
+}
+
+int ZFSFileStoreBackend::detect_features()
+{
+  if (!current_zh)
+    dout(0) << "detect_features: null zfs handle for current/" << dendl;
+  return 0;
+}
+
+bool ZFSFileStoreBackend::can_checkpoint()
+{
+  return m_filestore_zfs_snap && current_zh != NULL;
+}
+
+int ZFSFileStoreBackend::create_current()
+{
+  struct stat st;
+  int ret = ::stat(get_current_path().c_str(), &st);
+  if (ret == 0) {
+    // current/ exists
+    if (!S_ISDIR(st.st_mode)) {
+      dout(0) << "create_current: current/ exists but is not a directory" << dendl;
+      return -ENOTDIR;
+    }
+    return 0;
+  } else if (errno != ENOENT) {
+    ret = -errno;
+    dout(0) << "create_current: cannot stat current/ " << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  char path[PATH_MAX];
+  snprintf(path, sizeof(path), "%s/current", zfs.get_name(base_zh));
+  ret = zfs.create(path, ZFS::TYPE_FILESYSTEM);
+  if (ret < 0 && errno != EEXIST) {
+    ret = -errno;
+    dout(0) << "create_current: zfs_create '" << path << "' got " << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  ret = update_current_zh();
+  return ret;
+}
+
+static int list_checkpoints_callback(ZFS::Handle *zh, void *data)
+{
+  list<string> *ls = static_cast<list<string> *>(data);
+  string str = ZFS::get_name(zh);
+  size_t pos = str.find('@');
+  assert(pos != string::npos && pos + 1 != str.length());
+  ls->push_back(str.substr(pos + 1));
+  return 0;
+}
+
+int ZFSFileStoreBackend::list_checkpoints(list<string>& ls)
+{
+  dout(10) << "list_checkpoints:" << dendl;
+  if (!current_zh)
+    return -EINVAL;
+
+  list<string> snaps;
+  int ret = zfs.iter_snapshots_sorted(current_zh, list_checkpoints_callback, &snaps);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "list_checkpoints: zfs_iter_snapshots_sorted got" << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+  ls.swap(snaps);
+  return 0;
+}
+
+int ZFSFileStoreBackend::create_checkpoint(const string& name, uint64_t *cid)
+{
+  dout(10) << "create_checkpoint: '" << name << "'" << dendl;
+  if (!current_zh)
+    return -EINVAL;
+
+  // looks like zfsonlinux doesn't flush dirty data when taking snapshot
+  int ret = sync_filesystem(get_current_fd());
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "create_checkpoint: sync_filesystem got" << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+
+  char path[PATH_MAX];
+  snprintf(path, sizeof(path), "%s@%s", zfs.get_name(current_zh), name.c_str());
+  ret = zfs.snapshot(path, false);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "create_checkpoint: zfs_snapshot '" << path << "' got" << cpp_strerror(ret) << dendl;
+    return ret;
+  }
+  if (cid)
+    *cid = 0;
+  return 0;
+}
+
+int ZFSFileStoreBackend::rollback_to(const string& name)
+{
+  dout(10) << "rollback_to: '" << name << "'" << dendl;
+  if (!current_zh)
+    return -EINVAL;
+
+  // umount current to avoid triggering online rollback deadlock
+  int ret;
+  if (zfs.is_mounted(current_zh, NULL)) {
+    ret = zfs.umount(current_zh, NULL, 0);
+    if (ret < 0) {
+      ret = -errno;
+      dout(0) << "rollback_to: zfs_umount '" << zfs.get_name(current_zh) << "' got" << cpp_strerror(ret) << dendl;
+    }
+  }
+
+  char path[PATH_MAX];
+  snprintf(path, sizeof(path), "%s@%s", zfs.get_name(current_zh), name.c_str());
+
+  ZFS::Handle *snap_zh = zfs.open(path, ZFS::TYPE_SNAPSHOT);
+  if (!snap_zh) {
+    dout(0) << "rollback_to: zfs_open '" << path << "' got NULL" << dendl;
+    return -ENOENT;
+  }
+
+  ret = zfs.rollback(current_zh, snap_zh, false);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "rollback_to: zfs_rollback '" << zfs.get_name(snap_zh) << "' got" << cpp_strerror(ret) << dendl;
+  }
+
+  if (!zfs.is_mounted(current_zh, NULL)) {
+    int ret = zfs.mount(current_zh, NULL, 0);
+    if (ret < 0) {
+      ret = -errno;
+      dout(0) << "update_current_zh: zfs_mount '" << zfs.get_name(current_zh) << "' got " << cpp_strerror(ret) << dendl;
+      return ret;
+    }
+  }
+
+  zfs.close(snap_zh);
+  return ret;
+}
+
+int ZFSFileStoreBackend::destroy_checkpoint(const string& name)
+{
+  dout(10) << "destroy_checkpoint: '" << name << "'" << dendl;
+  if (!current_zh)
+    return -EINVAL;
+
+  int ret = zfs.destroy_snaps(current_zh, name.c_str(), true);
+  if (ret < 0) {
+    ret = -errno;
+    dout(0) << "destroy_checkpoint: zfs_destroy_snaps '" << name << "' got" << cpp_strerror(ret) << dendl;
+  }
+  return ret;
+}
+#endif
diff --git a/src/os/ZFSFileStoreBackend.h b/src/os/ZFSFileStoreBackend.h
new file mode 100644
index 0000000..8186d9c
--- /dev/null
+++ b/src/os/ZFSFileStoreBackend.h
@@ -0,0 +1,30 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef CEPH_ZFSFILESTOREBACKEND_H
+#define CEPH_ZFSFILESTOREBACKEND_H
+
+#ifdef HAVE_LIBZFS
+#include "GenericFileStoreBackend.h"
+#include "ZFS.h"
+
+class ZFSFileStoreBackend : public GenericFileStoreBackend {
+private:
+  ZFS zfs;
+  ZFS::Handle *base_zh;
+  ZFS::Handle *current_zh;
+  bool m_filestore_zfs_snap;
+  int update_current_zh();
+public:
+  ZFSFileStoreBackend(FileStore *fs);
+  ~ZFSFileStoreBackend();
+  int detect_features();
+  bool can_checkpoint();
+  int create_current();
+  int list_checkpoints(list<string>& ls);
+  int create_checkpoint(const string& name, uint64_t *cid);
+  int rollback_to(const string& name);
+  int destroy_checkpoint(const string& name);
+};
+#endif
+#endif
diff --git a/src/os/chain_xattr.cc b/src/os/chain_xattr.cc
index 96f334f..c020c9d 100644
--- a/src/os/chain_xattr.cc
+++ b/src/os/chain_xattr.cc
@@ -3,7 +3,8 @@
 
 #include "chain_xattr.h"
 
-#include <inttypes.h>
+#include "include/int_types.h"
+
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/types.h>
@@ -21,10 +22,6 @@
 #include <linux/fs.h>
 #endif
 
-#if defined(__FreeBSD__)
-#include "include/inttypes.h"
-#endif
-
 #include "common/xattr.h"
 
 /*
@@ -357,8 +354,10 @@ int chain_listxattr(const char *fn, char *names, size_t len) {
     return -ENOMEM;
 
   r = sys_listxattr(fn, full_buf, total_len);
-  if (r < 0)
+  if (r < 0) {
+    free(full_buf);
     return r;
+  }
 
   char *p = full_buf;
   const char *end = full_buf + r;
@@ -389,6 +388,10 @@ done:
 
 int chain_flistxattr(int fd, char *names, size_t len) {
   int r;
+  char *p;
+  const char * end;
+  char *dest;
+  char *dest_end;
 
   if (!len)
     return sys_flistxattr(fd, names, len) * 2;
@@ -404,12 +407,12 @@ int chain_flistxattr(int fd, char *names, size_t len) {
 
   r = sys_flistxattr(fd, full_buf, total_len);
   if (r < 0)
-    return r;
+    goto done;
 
-  char *p = full_buf;
-  const char *end = full_buf + r;
-  char *dest = names;
-  char *dest_end = names + len;
+  p = full_buf;
+  end = full_buf + r;
+  dest = names;
+  dest_end = names + len;
 
   while (p < end) {
     char name[CHAIN_XATTR_MAX_NAME_LEN * 2 + 16];
diff --git a/src/osd/Ager.cc b/src/osd/Ager.cc
index a90b1c1..f94da1f 100644
--- a/src/osd/Ager.cc
+++ b/src/osd/Ager.cc
@@ -8,7 +8,6 @@
 
 #include "common/Clock.h"
 #include "common/debug.h"
-#include "global/global_context.h"
 
 // ick
 #include <sys/types.h>
@@ -59,7 +58,7 @@ uint64_t Ager::age_fill(float pc, utime_t until) {
   bl.push_back(bp);
   uint64_t wrote = 0;
   while (1) {
-    if (ceph_clock_now(g_ceph_context) > until) break;
+    if (ceph_clock_now(cct) > until) break;
     
     struct statfs st;
     store->statfs(&st);
@@ -176,7 +175,7 @@ void Ager::age(int time,
 
   srand(0);
 
-  utime_t start = ceph_clock_now(g_ceph_context);
+  utime_t start = ceph_clock_now(cct);
   utime_t until = start;
   until.sec_ref() += time;
   
@@ -223,7 +222,7 @@ void Ager::age(int time,
   uint64_t wrote = 0;
 
   for (int c=1; c<=count; c++) {
-    if (ceph_clock_now(g_ceph_context) > until) break;
+    if (ceph_clock_now(cct) > until) break;
     
     //if (c == 7) start_debug = true;
     
@@ -253,7 +252,7 @@ void Ager::age(int time,
 
     // dump freelist?
     /*
-    if (ceph_clock_now(g_ceph_context) > nextfl) {
+    if (ceph_clock_now(cct) > nextfl) {
       elapsed += freelist_inc;
       save_freelist(elapsed);
       nextfl.sec_ref() += freelist_inc;
diff --git a/src/osd/Ager.h b/src/osd/Ager.h
index 55db507..face0a6 100644
--- a/src/osd/Ager.h
+++ b/src/osd/Ager.h
@@ -7,12 +7,14 @@
 #include "include/Distribution.h"
 #include "os/ObjectStore.h"
 #include "common/Clock.h"
+#include "common/ceph_context.h"
 
 #include <list>
 #include <vector>
 using namespace std;
 
 class Ager {
+  CephContext *cct;
   ObjectStore *store;
 
  private:
@@ -28,7 +30,7 @@ class Ager {
   file_object_t age_get_oid();
 
  public:
-  Ager(ObjectStore *s) : store(s), did_distn(false) {} 
+  Ager(CephContext *cct_, ObjectStore *s) : cct(cct_), store(s), did_distn(false) {}
 
   void age(int time,
            float high_water,    // fill to this %
diff --git a/src/osd/ClassHandler.cc b/src/osd/ClassHandler.cc
index a9a920b..b1afe1e 100644
--- a/src/osd/ClassHandler.cc
+++ b/src/osd/ClassHandler.cc
@@ -39,7 +39,7 @@ int ClassHandler::open_class(const string& cname, ClassData **pcls)
 int ClassHandler::open_all_classes()
 {
   dout(10) << __func__ << dendl;
-  DIR *dir = ::opendir(g_conf->osd_class_dir.c_str());
+  DIR *dir = ::opendir(cct->_conf->osd_class_dir.c_str());
   if (!dir)
     return -errno;
 
@@ -101,7 +101,7 @@ int ClassHandler::_load_class(ClassData *cls)
       cls->status == ClassData::CLASS_MISSING) {
     char fname[PATH_MAX];
     snprintf(fname, sizeof(fname), "%s/" CLS_PREFIX "%s" CLS_SUFFIX,
-	     g_conf->osd_class_dir.c_str(),
+	     cct->_conf->osd_class_dir.c_str(),
 	     cls->name.c_str());
     dout(10) << "_load_class " << cls->name << " from " << fname << dendl;
 
diff --git a/src/osd/ClassHandler.h b/src/osd/ClassHandler.h
index f7c80f9..93cf3c0 100644
--- a/src/osd/ClassHandler.h
+++ b/src/osd/ClassHandler.h
@@ -7,12 +7,15 @@
 
 #include "common/Cond.h"
 #include "common/Mutex.h"
+#include "common/ceph_context.h"
 
 
 class ClassHandler
 {
 public:
-  class ClassData;
+  CephContext *cct;
+
+  struct ClassData;
 
   struct ClassMethod {
     struct ClassHandler::ClassData *cls;
@@ -76,7 +79,7 @@ private:
   int _load_class(ClassData *cls);
 
 public:
-  ClassHandler() : mutex("ClassHandler") {}
+  ClassHandler(CephContext *cct_) : cct(cct_), mutex("ClassHandler") {}
   
   int open_all_classes();
 
diff --git a/src/osd/ErasureCodeInterface.h b/src/osd/ErasureCodeInterface.h
new file mode 100644
index 0000000..656ee91
--- /dev/null
+++ b/src/osd/ErasureCodeInterface.h
@@ -0,0 +1,240 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#ifndef CEPH_ERASURE_CODE_INTERFACE_H
+#define CEPH_ERASURE_CODE_INTERFACE_H
+
+/*! @file ErasureCodeInterface.h
+    @brief Interface provided by erasure code plugins
+
+    The erasure coded pools rely on plugins implementing
+    **ErasureCodeInterface** to encode and decode content. All codes
+    are systematic (i.e. the data is not mangled and can be
+    reconstructed by concatenating chunks ).
+    
+    All methods return **0** on success and a negative value on
+    error. If the value returned on error is not explained in
+    **ErasureCodeInterface**, the sources or the documentation of the
+    interface implementer (i.e. the plugin ) must be read to figure
+    out what it means. It is recommended that each error code matches
+    an *errno* value that relates to the cause of the error.
+
+    Assuming the interface implementer provides three data chunks ( K
+    = 3 ) and two coding chunks ( M = 2 ), a buffer could be encoded as
+    follows:
+    
+    ~~~~~~~~~~~~~~~~{.c}
+    set<int> want_to_encode(0, 1, 2, // data chunks
+                            3, 4     // coding chunks
+                           );
+    bufferlist in = "ABCDEF";
+    map<int, bufferlist> encoded
+    encode(want_to_encode, in, &encoded);
+    encoded[0] == "AB" // data chunk 0
+    encoded[1] == "CD" // data chunk 1
+    encoded[2] == "EF" // data chunk 2
+    encoded[3]         // coding chunk 0
+    encoded[4]         // coding chunk 1
+    ~~~~~~~~~~~~~~~~
+
+    The **minimum_to_decode_with_cost** method can be used to minimize
+    the cost of fetching the chunks necessary to retrieve a given
+    content. For instance, if encoded[2] (contained **EF**) is missing
+    and accessing encoded[3] (the first coding chunk) is more
+    expensive than accessing encoded[4] (the second coding chunk),
+    **minimum_to_decode_with_cost** is expected to chose the first
+    coding chunk.
+
+    ~~~~~~~~~~~~~~~~{.c}
+    set<int> want_to_read(2); // want the chunk containing "EF"
+    map<int,int> available(
+          0 => 1,  // data chunk 0 : available and costs 1
+          1 => 1,  // data chunk 1 : available and costs 1
+                   // data chunk 2 : missing
+          3 => 9,  // coding chunk 1 : available and costs 9
+          4 => 1,  // coding chunk 2 : available and costs 1
+    );
+    set<int> minimum;
+    minimum_to_decode_with_cost(want_to_read,
+                                available,
+                                &minimum);
+    minimum == set<int>(0, 1, 4); // NOT set<int>(0, 1, 3);
+    ~~~~~~~~~~~~~~~~
+    
+    It sets **minimum** with three chunks to reconstruct the desired
+    data chunk and will pick the second coding chunk ( 4 ) because it
+    is less expensive ( 1 < 9 ) to retrieve than the first coding
+    chunk ( 3 ). The caller is responsible for retrieving the chunks
+    and call **decode** to reconstruct the second data chunk.
+    
+    ~~~~~~~~~~~~~~~~{.c}
+    map<int,bufferlist> chunks;
+    for i in minimum.keys():
+      chunks[i] = fetch_chunk(i); // get chunk from storage
+    map<int, bufferlist> decoded;
+    decode(want_to_read, chunks, &decoded);
+    decoded[2] == "EF"
+    ~~~~~~~~~~~~~~~~
+
+    The semantic of the cost value is defined by the caller and must
+    be known to the implementer. For instance, it may be more
+    expensive to retrieve two chunks with cost 1 + 9 = 10 than two
+    chunks with cost 6 + 6 = 12. 
+ */ 
+
+#include <map>
+#include <set>
+#include <tr1/memory>
+#include "include/buffer.h"
+
+using namespace std;
+
+namespace ceph {
+
+  class ErasureCodeInterface {
+  public:
+    virtual ~ErasureCodeInterface() {}
+
+    /**
+     * Compute the smallest subset of **available** chunks that needs
+     * to be retrieved in order to successfully decode
+     * **want_to_read** chunks.
+     *
+     * It is strictly equivalent to calling
+     * **minimum_to_decode_with_cost** where each **available** chunk
+     * has the same cost.
+     *
+     * @see minimum_to_decode_with_cost 
+     *
+     * @param [in] want_to_read chunk indexes to be decoded
+     * @param [in] available chunk indexes containing valid data
+     * @param [out] minimum chunk indexes to retrieve 
+     * @return **0** on success or a negative errno on error.
+     */
+    virtual int minimum_to_decode(const set<int> &want_to_read,
+                                  const set<int> &available,
+                                  set<int> *minimum) = 0;
+
+    /**
+     * Compute the smallest subset of **available** chunks that needs
+     * to be retrieved in order to successfully decode
+     * **want_to_read** chunks. If there are more than one possible
+     * subset, select the subset that minimizes the overall retrieval
+     * cost.
+     *
+     * The **available** parameter maps chunk indexes to their
+     * retrieval cost. The higher the cost value, the more costly it
+     * is to retrieve the chunk content. 
+     *
+     * Returns -EIO if there are not enough chunk indexes in
+     * **available** to decode **want_to_read**.
+     *
+     * Returns 0 on success.
+     *
+     * The **minimum** argument must be a pointer to an empty set.
+     *
+     * @param [in] want_to_read chunk indexes to be decoded
+     * @param [in] available map chunk indexes containing valid data 
+     *             to their retrieval cost
+     * @param [out] minimum chunk indexes to retrieve 
+     * @return **0** on success or a negative errno on error.
+     */
+    virtual int minimum_to_decode_with_cost(const set<int> &want_to_read,
+                                            const map<int, int> &available,
+                                            set<int> *minimum) = 0;
+
+    /**
+     * Encode the content of **in** and store the result in
+     * **encoded**. All buffers pointed to by **encoded** have the
+     * same size. The **encoded** map contains at least all chunk
+     * indexes found in the **want_to_encode** set.
+     *
+     * The **encoded** map is expected to be a pointer to an empty
+     * map.
+     *
+     * Assuming the **in** parameter is **length** bytes long, 
+     * the concatenation of the first **length** bytes of the
+     * **encoded** buffers is equal to the content of the **in**
+     * parameter.
+     *
+     * The **encoded** map may contain more chunks than required by
+     * **want_to_encode** and the caller is expected to permanently
+     * store all of them, not just the chunks listed in
+     * **want_to_encode**.
+     *
+     * The **encoded** map may contain pointers to data stored in
+     * the **in** parameter. If the caller modifies the content of
+     * **in** after calling the encode method, it may have a side
+     * effect on the content of **encoded**. 
+     *
+     * The **encoded** map may contain pointers to buffers allocated
+     * by the encode method. They will be freed when **encoded** is
+     * freed. The allocation method is not specified.
+     *
+     * Returns 0 on success.
+     *
+     * @param [in] want_to_encode chunk indexes to be encoded
+     * @param [in] in data to be encoded
+     * @param [out] encoded map chunk indexes to chunk data
+     * @return **0** on success or a negative errno on error.
+     */
+    virtual int encode(const set<int> &want_to_encode,
+                       const bufferlist &in,
+                       map<int, bufferlist> *encoded) = 0;
+
+    /**
+     * Decode the **chunks** and store at least **want_to_read**
+     * chunks in **decoded**.
+     *
+     * The **decoded** map must be a pointer to an empty map.
+     *
+     * There must be enough **chunks** ( as returned by
+     * **minimum_to_decode** or **minimum_to_decode_with_cost** ) to
+     * perform a successful decoding of all chunks listed in
+     * **want_to_read**.
+     *
+     * All buffers pointed by **in** must have the same size.
+     *
+     * On success, the **decoded** map may contain more chunks than
+     * required by **want_to_read** and they can safely be used by the
+     * caller.
+     *
+     * If a chunk is listed in **want_to_read** and there is a
+     * corresponding **bufferlist** in **chunks**, it will be
+     * referenced in **decoded**. If not it will be reconstructed from
+     * the existing chunks. 
+     *
+     * Because **decoded** may contain pointers to data found in
+     * **chunks**, modifying the content of **chunks** after calling
+     * decode may have a side effect on the content of **decoded**.
+     *
+     * Returns 0 on success.
+     *
+     * @param [in] want_to_read chunk indexes to be decoded
+     * @param [in] chunks map chunk indexes to chunk data
+     * @param [out] decoded map chunk indexes to chunk data
+     * @return **0** on success or a negative errno on error.
+     */
+    virtual int decode(const set<int> &want_to_read,
+                       const map<int, bufferlist> &chunks,
+                       map<int, bufferlist> *decoded) = 0;
+  };
+
+  typedef std::tr1::shared_ptr<ErasureCodeInterface> ErasureCodeInterfaceRef;
+
+}
+
+#endif
diff --git a/src/osd/ErasureCodePlugin.cc b/src/osd/ErasureCodePlugin.cc
new file mode 100644
index 0000000..d8b9ae0
--- /dev/null
+++ b/src/osd/ErasureCodePlugin.cc
@@ -0,0 +1,137 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include "common/debug.h"
+
+#include <dlfcn.h>
+
+#include "ErasureCodePlugin.h"
+
+#define dout_subsys ceph_subsys_osd
+#undef dout_prefix
+#define dout_prefix _prefix(_dout)
+
+static ostream& _prefix(std::ostream* _dout)
+{
+  return *_dout << "ErasureCodePlugin: ";
+}
+
+#define PLUGIN_PREFIX "libec_"
+#define PLUGIN_SUFFIX ".so"
+#define PLUGIN_INIT_FUNCTION "__erasure_code_init"
+
+ErasureCodePluginRegistry ErasureCodePluginRegistry::singleton;
+
+ErasureCodePluginRegistry::ErasureCodePluginRegistry() :
+  lock("ErasureCodePluginRegistry::lock"),
+  loading(false)
+{
+}
+
+ErasureCodePluginRegistry::~ErasureCodePluginRegistry()
+{
+  for (std::map<std::string,ErasureCodePlugin*>::iterator i = plugins.begin();
+       i != plugins.end();
+       i++) {
+    void *library = i->second->library;
+    delete i->second;
+    dlclose(library);
+  }
+}
+
+int ErasureCodePluginRegistry::add(const std::string &name,
+                                   ErasureCodePlugin* plugin)
+{
+  if (plugins.find(name) != plugins.end())
+    return -EEXIST;
+  plugins[name] = plugin;
+  return 0;
+}
+
+ErasureCodePlugin *ErasureCodePluginRegistry::get(const std::string &name)
+{
+  if (plugins.find(name) != plugins.end())
+    return plugins[name];
+  else
+    return 0;
+}
+
+int ErasureCodePluginRegistry::factory(const std::string &plugin_name,
+				       const map<std::string,std::string> &parameters,
+				       ErasureCodeInterfaceRef *erasure_code)
+{
+  Mutex::Locker l(lock);
+  int r = 0;
+  ErasureCodePlugin *plugin = get(plugin_name);
+  if (plugin == 0) {
+    loading = true;
+    r = load(plugin_name, parameters, &plugin);
+    loading = false;
+    if (r != 0)
+      return r;
+  }
+
+  return plugin->factory(parameters, erasure_code);
+}
+
+int ErasureCodePluginRegistry::load(const std::string &plugin_name,
+				    const map<std::string,std::string> &parameters,
+				    ErasureCodePlugin **plugin)
+{
+  assert(parameters.count("erasure-code-directory") != 0);
+  std::string fname = parameters.find("erasure-code-directory")->second
+    + "/" PLUGIN_PREFIX
+    + plugin_name + PLUGIN_SUFFIX;
+  dout(10) << "load " << plugin_name << " from " << fname << dendl;
+
+  void *library = dlopen(fname.c_str(), RTLD_NOW);
+  if (!library) {
+    derr << "load dlopen(" << fname
+	 << "): " << dlerror() << dendl;
+    return -EIO;
+  }
+
+  int (*erasure_code_init)(const char *) =
+    (int (*)(const char *))dlsym(library, PLUGIN_INIT_FUNCTION);
+  if (erasure_code_init) {
+    std::string name = plugin_name;
+    int r = erasure_code_init(name.c_str());
+    if (r != 0) {
+      derr << "erasure_code_init(" << plugin_name
+           << "): " << strerror(-r) << dendl;
+      return r;
+    }
+  } else {
+    derr << "load dlsym(" << fname
+	 << ", " << PLUGIN_INIT_FUNCTION
+	 << "): " << dlerror() << dendl;
+    dlclose(library);
+    return -ENOENT;
+  }
+
+  *plugin = get(plugin_name);
+  if (*plugin == 0) {
+    derr << "load " << PLUGIN_INIT_FUNCTION << "()"
+         << "did not register " << plugin_name << dendl;
+    dlclose(library);
+    return -EBADF;
+  }
+
+  (*plugin)->library = library;
+
+  return 0;
+}
+
diff --git a/src/osd/ErasureCodePlugin.h b/src/osd/ErasureCodePlugin.h
new file mode 100644
index 0000000..a2feb71
--- /dev/null
+++ b/src/osd/ErasureCodePlugin.h
@@ -0,0 +1,70 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#ifndef CEPH_ERASURE_CODE_PLUGIN_H
+#define CEPH_ERASURE_CODE_PLUGIN_H
+
+#include "common/Mutex.h"
+#include "ErasureCodeInterface.h"
+
+extern "C" {
+  int __erasure_code_init(char *plugin_name);
+}
+
+namespace ceph {
+
+  class ErasureCodePlugin {
+  public:
+    void *library;
+
+    ErasureCodePlugin() :
+      library(0) {}
+    virtual ~ErasureCodePlugin() {}
+
+    virtual int factory(const map<std::string,std::string> &parameters,
+                        ErasureCodeInterfaceRef *erasure_code) = 0;
+  };
+
+  class ErasureCodePluginRegistry {
+  public:
+    Mutex lock;
+    bool loading;
+    std::map<std::string,ErasureCodePlugin*> plugins;
+
+    static ErasureCodePluginRegistry singleton;
+
+    ErasureCodePluginRegistry();
+    ~ErasureCodePluginRegistry();
+
+    static ErasureCodePluginRegistry &instance() {
+      return singleton;
+    }
+
+    int factory(const std::string &plugin,
+		const map<std::string,std::string> &parameters,
+		ErasureCodeInterfaceRef *erasure_code);
+
+    int add(const std::string &name, ErasureCodePlugin *plugin);
+    ErasureCodePlugin *get(const std::string &name);
+
+    int load(const std::string &plugin_name,
+	     const map<std::string,std::string> &parameters,
+	     ErasureCodePlugin **plugin);
+
+  };
+}
+
+#endif
diff --git a/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc b/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
new file mode 100644
index 0000000..f2be1ed
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc
@@ -0,0 +1,427 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <errno.h>
+#include <algorithm>
+#include "common/debug.h"
+#include "ErasureCodeJerasure.h"
+extern "C" {
+#include "jerasure.h"
+#include "reed_sol.h"
+#include "galois.h"
+#include "cauchy.h"
+#include "liberation.h"
+}
+
+#define dout_subsys ceph_subsys_osd
+#undef dout_prefix
+#define dout_prefix _prefix(_dout)
+
+static ostream& _prefix(std::ostream* _dout)
+{
+  return *_dout << "ErasureCodeJerasure: ";
+}
+
+void ErasureCodeJerasure::init(const map<std::string,std::string> &parameters)
+{
+  dout(10) << "technique=" << technique << dendl;
+  parse(parameters);
+  prepare();
+}
+
+int ErasureCodeJerasure::minimum_to_decode(const set<int> &want_to_read,
+                                           const set<int> &available_chunks,
+                                           set<int> *minimum) 
+{
+  if (includes(available_chunks.begin(), available_chunks.end(),
+	       want_to_read.begin(), want_to_read.end())) {
+    *minimum = want_to_read;
+  } else {
+    if (available_chunks.size() < (unsigned)k)
+      return -EIO;
+    set<int>::iterator i;
+    unsigned j;
+    for (i = available_chunks.begin(), j = 0; j < (unsigned)k; i++, j++)
+      minimum->insert(*i);
+  }
+  return 0;
+}
+
+int ErasureCodeJerasure::minimum_to_decode_with_cost(const set<int> &want_to_read,
+                                                     const map<int, int> &available,
+                                                     set<int> *minimum)
+{
+  set <int> available_chunks;
+  for (map<int, int>::const_iterator i = available.begin();
+       i != available.end();
+       i++)
+    available_chunks.insert(i->first);
+  return minimum_to_decode(want_to_read, available_chunks, minimum);
+}
+
+int ErasureCodeJerasure::encode(const set<int> &want_to_encode,
+                                const bufferlist &in,
+                                map<int, bufferlist> *encoded)
+{
+  unsigned alignment = get_alignment();
+  unsigned tail = in.length() % alignment;
+  unsigned padded_length = in.length() + ( tail ?  ( alignment - tail ) : 0 );
+  dout(10) << "encode adjusted buffer length from " << in.length()
+	   << " to " << padded_length << dendl;
+  assert(padded_length % k == 0);
+  unsigned blocksize = padded_length / k;
+  unsigned length = blocksize * ( k + m );
+  bufferlist out(in);
+  bufferptr pad(length - in.length());
+  pad.zero(0, padded_length - in.length());
+  out.push_back(pad);
+  char *chunks[k + m];
+  for (int i = 0; i < k + m; i++) {
+    bufferlist &chunk = (*encoded)[i];
+    chunk.substr_of(out, i * blocksize, blocksize);
+    chunks[i] = chunk.c_str();
+  }
+  jerasure_encode(&chunks[0], &chunks[k], blocksize);
+  for (int i = 0; i < k + m; i++) {
+    if (want_to_encode.count(i) == 0)
+      encoded->erase(i);
+  }
+  return 0;
+}
+
+int ErasureCodeJerasure::decode(const set<int> &want_to_read,
+                                const map<int, bufferlist> &chunks,
+                                map<int, bufferlist> *decoded)
+{
+  unsigned blocksize = (*chunks.begin()).second.length();
+  int erasures[k + m + 1];
+  int erasures_count = 0;
+  char *data[k];
+  char *coding[m];
+  for (int i =  0; i < k + m; i++) {
+    if (chunks.find(i) == chunks.end()) {
+      erasures[erasures_count] = i;
+      erasures_count++;
+      bufferptr ptr(blocksize);
+      (*decoded)[i].push_front(ptr);
+    } else {
+      (*decoded)[i] = chunks.find(i)->second;
+    }
+    if (i < k)
+      data[i] = (*decoded)[i].c_str();
+    else
+      coding[i - k] = (*decoded)[i].c_str();
+  }
+  erasures[erasures_count] = -1;
+
+  if (erasures_count > 0)
+    return jerasure_decode(erasures, data, coding, blocksize);
+  else
+    return 0;
+}
+
+int ErasureCodeJerasure::to_int(const std::string &name,
+                                const map<std::string,std::string> &parameters,
+                                int default_value)
+{
+  if (parameters.find(name) == parameters.end() ||
+      parameters.find(name)->second.size() == 0) {
+    dout(10) << name << " defaults to " << default_value << dendl;
+    return default_value;
+  }
+  const std::string value = parameters.find(name)->second;
+  std::string p = value;
+  std::string err;
+  int r = strict_strtol(p.c_str(), 10, &err);
+  if (!err.empty()) {
+    derr << "could not convert " << name << "=" << value
+         << " to int because " << err
+         << ", set to default " << default_value << dendl;
+    return default_value;
+  }
+  dout(10) << name << " set to " << r << dendl;
+  return r;
+}
+
+bool ErasureCodeJerasure::is_prime(int value)
+{
+  int prime55[] = {
+    2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,
+    73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,
+    151,157,163,167,173,179,
+    181,191,193,197,199,211,223,227,229,233,239,241,251,257
+  };
+  int i;
+  for (i = 0; i < 55; i++)
+    if (value == prime55[i])
+      return true;
+  return false;
+}
+
+// 
+// ErasureCodeJerasureReedSolomonVandermonde
+//
+void ErasureCodeJerasureReedSolomonVandermonde::jerasure_encode(char **data,
+                                                                char **coding,
+                                                                int blocksize)
+{
+  jerasure_matrix_encode(k, m, w, matrix, data, coding, blocksize);
+}
+
+int ErasureCodeJerasureReedSolomonVandermonde::jerasure_decode(int *erasures,
+                                                                char **data,
+                                                                char **coding,
+                                                                int blocksize)
+{
+  return jerasure_matrix_decode(k, m, w, matrix, 1,
+				erasures, data, coding, blocksize);
+}
+
+unsigned ErasureCodeJerasureReedSolomonVandermonde::get_alignment()
+{
+  return k*w*sizeof(int);
+}
+
+void ErasureCodeJerasureReedSolomonVandermonde::parse(const map<std::string,std::string> &parameters)
+{
+  k = to_int("erasure-code-k", parameters, DEFAULT_K);
+  m = to_int("erasure-code-m", parameters, DEFAULT_M);
+  w = to_int("erasure-code-w", parameters, DEFAULT_W);
+  if (w != 8 && w != 16 && w != 32) {
+    derr << "ReedSolomonVandermonde: w=" << w
+	 << " must be one of {8, 16, 32} : revert to 8 " << dendl;
+    w = 8;
+  }
+}
+
+void ErasureCodeJerasureReedSolomonVandermonde::prepare()
+{
+  matrix = reed_sol_vandermonde_coding_matrix(k, m, w);
+}
+
+// 
+// ErasureCodeJerasureReedSolomonRAID6
+//
+void ErasureCodeJerasureReedSolomonRAID6::jerasure_encode(char **data,
+                                                                char **coding,
+                                                                int blocksize)
+{
+  reed_sol_r6_encode(k, w, data, coding, blocksize);
+}
+
+int ErasureCodeJerasureReedSolomonRAID6::jerasure_decode(int *erasures,
+							 char **data,
+							 char **coding,
+							 int blocksize)
+{
+  return jerasure_matrix_decode(k, m, w, matrix, 1, erasures, data, coding, blocksize);
+}
+
+unsigned ErasureCodeJerasureReedSolomonRAID6::get_alignment()
+{
+  return k*w*sizeof(int);
+}
+
+void ErasureCodeJerasureReedSolomonRAID6::parse(const map<std::string,std::string> &parameters)
+{
+  k = to_int("erasure-code-k", parameters, DEFAULT_K);
+  m = 2;
+  w = to_int("erasure-code-w", parameters, DEFAULT_W);
+  if (w != 8 && w != 16 && w != 32) {
+    derr << "ReedSolomonRAID6: w=" << w
+	 << " must be one of {8, 16, 32} : revert to 8 " << dendl;
+    w = 8;
+  }
+}
+
+void ErasureCodeJerasureReedSolomonRAID6::prepare()
+{
+  matrix = reed_sol_r6_coding_matrix(k, w);
+}
+
+// 
+// ErasureCodeJerasureCauchy
+//
+void ErasureCodeJerasureCauchy::jerasure_encode(char **data,
+						char **coding,
+						int blocksize)
+{
+  jerasure_schedule_encode(k, m, w, schedule,
+			   data, coding, blocksize, packetsize);
+}
+
+int ErasureCodeJerasureCauchy::jerasure_decode(int *erasures,
+					       char **data,
+					       char **coding,
+					       int blocksize)
+{
+  return jerasure_schedule_decode_lazy(k, m, w, bitmatrix,
+				       erasures, data, coding, blocksize, packetsize, 1);
+}
+
+unsigned ErasureCodeJerasureCauchy::get_alignment()
+{
+  return k*w*packetsize*sizeof(int);
+}
+
+void ErasureCodeJerasureCauchy::parse(const map<std::string,std::string> &parameters)
+{
+  k = to_int("erasure-code-k", parameters, DEFAULT_K);
+  m = to_int("erasure-code-m", parameters, DEFAULT_M);
+  w = to_int("erasure-code-w", parameters, DEFAULT_W);
+  packetsize = to_int("erasure-code-packetsize", parameters, DEFAULT_PACKETSIZE);
+}
+
+void ErasureCodeJerasureCauchy::prepare_schedule(int *matrix)
+{
+  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
+  schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
+}
+
+// 
+// ErasureCodeJerasureCauchyOrig
+//
+void ErasureCodeJerasureCauchyOrig::prepare()
+{
+  int *matrix = cauchy_original_coding_matrix(k, m, w);
+  prepare_schedule(matrix);
+  free(matrix);
+}
+
+// 
+// ErasureCodeJerasureCauchyGood
+//
+void ErasureCodeJerasureCauchyGood::prepare()
+{
+  int *matrix = cauchy_good_general_coding_matrix(k, m, w);
+  prepare_schedule(matrix);
+  free(matrix);
+}
+
+// 
+// ErasureCodeJerasureLiberation
+//
+ErasureCodeJerasureLiberation::~ErasureCodeJerasureLiberation()
+{
+  if (bitmatrix)
+    free(bitmatrix);
+  if (schedule)
+    jerasure_free_schedule(schedule);
+}
+
+void ErasureCodeJerasureLiberation::jerasure_encode(char **data,
+                                                    char **coding,
+                                                    int blocksize)
+{
+  jerasure_schedule_encode(k, m, w, schedule, data,
+			   coding, blocksize, packetsize);
+}
+
+int ErasureCodeJerasureLiberation::jerasure_decode(int *erasures,
+                                                    char **data,
+                                                    char **coding,
+                                                    int blocksize)
+{
+  return jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data,
+				       coding, blocksize, packetsize, 1);
+}
+
+unsigned ErasureCodeJerasureLiberation::get_alignment()
+{
+  return k*w*packetsize*sizeof(int);
+}
+
+void ErasureCodeJerasureLiberation::parse(const map<std::string,std::string> &parameters)
+{
+  k = to_int("erasure-code-k", parameters, DEFAULT_K);
+  m = to_int("erasure-code-m", parameters, DEFAULT_M);
+  w = to_int("erasure-code-w", parameters, DEFAULT_W);
+  packetsize = to_int("erasure-code-packetsize", parameters, DEFAULT_PACKETSIZE);
+
+  bool error = false;
+  if (k > w) {
+    derr << "k=" << k << " must be less than or equal to w=" << w << dendl;
+    error = true;
+  }
+  if (w <= 2 || !is_prime(w)) {
+    derr <<  "w=" << w << " must be greater than two and be prime" << dendl;
+    error = true;
+  }
+  if (packetsize == 0) {
+    derr << "packetsize=" << packetsize << " must be set" << dendl;
+    error = true;
+  }
+  if ((packetsize%(sizeof(int))) != 0) {
+    derr << "packetsize=" << packetsize
+	 << " must be a multiple of sizeof(int) = " << sizeof(int) << dendl;
+    error = true;
+  }
+  if (error) {
+    derr << "reverting to k=" << DEFAULT_K << ", w="
+	 << DEFAULT_W << ", packetsize=" << DEFAULT_PACKETSIZE << dendl;
+    k = DEFAULT_K;
+    w = DEFAULT_W;
+    packetsize = DEFAULT_PACKETSIZE;
+  }
+}
+
+void ErasureCodeJerasureLiberation::prepare()
+{
+  bitmatrix = liberation_coding_bitmatrix(k, w);
+  schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
+}
+
+// 
+// ErasureCodeJerasureBlaumRoth
+//
+void ErasureCodeJerasureBlaumRoth::prepare()
+{
+  bitmatrix = blaum_roth_coding_bitmatrix(k, w);
+  schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
+}
+
+// 
+// ErasureCodeJerasureLiber8tion
+//
+void ErasureCodeJerasureLiber8tion::parse(const map<std::string,std::string> &parameters)
+{
+  k = to_int("erasure-code-k", parameters, DEFAULT_K);
+  m = DEFAULT_M;
+  w = DEFAULT_W;
+  packetsize = to_int("erasure-code-packetsize", parameters, DEFAULT_PACKETSIZE);
+
+  bool error = false;
+  if (k > w) {
+    derr << "k=" << k << " must be less than or equal to w=" << w << dendl;
+    error = true;
+  }
+  if (packetsize == 0) {
+    derr << "packetsize=" << packetsize << " must be set" << dendl;
+    error = true;
+  }
+  if (error) {
+    derr << "reverting to k=" << DEFAULT_K << ", packetsize="
+	 << DEFAULT_PACKETSIZE << dendl;
+    k = DEFAULT_K;
+    packetsize = DEFAULT_PACKETSIZE;
+  }
+}
+
+void ErasureCodeJerasureLiber8tion::prepare()
+{
+  bitmatrix = liber8tion_coding_bitmatrix(k);
+  schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
+}
diff --git a/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h b/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h
new file mode 100644
index 0000000..fc76ed7
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h
@@ -0,0 +1,227 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#ifndef CEPH_ERASURE_CODE_JERASURE_H
+#define CEPH_ERASURE_CODE_JERASURE_H
+
+#include "osd/ErasureCodeInterface.h"
+
+class ErasureCodeJerasure : public ErasureCodeInterface {
+public:
+  int k;
+  int m;
+  int w;
+  const char *technique;
+
+  ErasureCodeJerasure(const char *_technique) :
+    technique(_technique)
+  {}
+
+  virtual ~ErasureCodeJerasure() {}
+  
+  virtual int minimum_to_decode(const set<int> &want_to_read,
+                                const set<int> &available_chunks,
+                                set<int> *minimum);
+
+  virtual int minimum_to_decode_with_cost(const set<int> &want_to_read,
+                                          const map<int, int> &available,
+                                          set<int> *minimum);
+
+  virtual int encode(const set<int> &want_to_encode,
+                     const bufferlist &in,
+                     map<int, bufferlist> *encoded);
+
+  virtual int decode(const set<int> &want_to_read,
+                     const map<int, bufferlist> &chunks,
+                     map<int, bufferlist> *decoded);
+
+  void init(const map<std::string,std::string> &parameters);
+  virtual void jerasure_encode(char **data,
+                               char **coding,
+                               int blocksize) = 0;
+  virtual int jerasure_decode(int *erasures,
+                               char **data,
+                               char **coding,
+                               int blocksize) = 0;
+  virtual unsigned get_alignment() = 0;
+  virtual void parse(const map<std::string,std::string> &parameters) = 0;
+  virtual void prepare() = 0;
+  static int to_int(const std::string &name,
+                    const map<std::string,std::string> &parameters,
+                    int default_value);
+  static bool is_prime(int value);
+};
+
+class ErasureCodeJerasureReedSolomonVandermonde : public ErasureCodeJerasure {
+public:
+  static const int DEFAULT_K = 7;
+  static const int DEFAULT_M = 3;
+  static const int DEFAULT_W = 8;
+  int *matrix;
+
+  ErasureCodeJerasureReedSolomonVandermonde() :
+    ErasureCodeJerasure("reed_sol_van"),
+    matrix(0)
+  { }
+  virtual ~ErasureCodeJerasureReedSolomonVandermonde() {
+    if (matrix)
+      free(matrix);
+  }
+
+  virtual void jerasure_encode(char **data,
+                               char **coding,
+                               int blocksize);
+  virtual int jerasure_decode(int *erasures,
+                               char **data,
+                               char **coding,
+                               int blocksize);
+  virtual unsigned get_alignment();
+  virtual void parse(const map<std::string,std::string> &parameters);
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureReedSolomonRAID6 : public ErasureCodeJerasure {
+public:
+  static const int DEFAULT_K = 7;
+  static const int DEFAULT_W = 8;
+  int *matrix;
+
+  ErasureCodeJerasureReedSolomonRAID6() :
+    ErasureCodeJerasure("reed_sol_r6_op"),
+    matrix(0)
+  { }
+  virtual ~ErasureCodeJerasureReedSolomonRAID6() {
+    if (matrix)
+      free(matrix);
+  }
+
+  virtual void jerasure_encode(char **data,
+                               char **coding,
+                               int blocksize);
+  virtual int jerasure_decode(int *erasures,
+                               char **data,
+                               char **coding,
+                               int blocksize);
+  virtual unsigned get_alignment();
+  virtual void parse(const map<std::string,std::string> &parameters);
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureCauchy : public ErasureCodeJerasure {
+public:
+  static const int DEFAULT_K = 7;
+  static const int DEFAULT_M = 3;
+  static const int DEFAULT_W = 8;
+  static const int DEFAULT_PACKETSIZE = 8;
+  int *bitmatrix;
+  int **schedule;
+  int packetsize;
+
+  ErasureCodeJerasureCauchy(const char *technique) :
+    ErasureCodeJerasure(technique),
+    bitmatrix(0),
+    schedule(0)
+  { }
+  virtual ~ErasureCodeJerasureCauchy() {
+    if (bitmatrix)
+      free(bitmatrix);
+    if (schedule)
+      free(schedule);
+  }
+
+  virtual void jerasure_encode(char **data,
+                               char **coding,
+                               int blocksize);
+  virtual int jerasure_decode(int *erasures,
+                               char **data,
+                               char **coding,
+                               int blocksize);
+  virtual unsigned get_alignment();
+  virtual void parse(const map<std::string,std::string> &parameters);
+  void prepare_schedule(int *matrix);
+};
+
+class ErasureCodeJerasureCauchyOrig : public ErasureCodeJerasureCauchy {
+public:
+  ErasureCodeJerasureCauchyOrig() :
+    ErasureCodeJerasureCauchy("cauchy_orig")
+  {}
+
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureCauchyGood : public ErasureCodeJerasureCauchy {
+public:
+  ErasureCodeJerasureCauchyGood() :
+    ErasureCodeJerasureCauchy("cauchy_good")
+  {}
+
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureLiberation : public ErasureCodeJerasure {
+public:
+  static const int DEFAULT_K = 2;
+  static const int DEFAULT_M = 2;
+  static const int DEFAULT_W = 7;
+  static const int DEFAULT_PACKETSIZE = 8;
+  int *bitmatrix;
+  int **schedule;
+  int packetsize;
+
+  ErasureCodeJerasureLiberation(const char *technique = "liberation") :
+    ErasureCodeJerasure(technique),
+    bitmatrix(0),
+    schedule(0)
+  { }
+  virtual ~ErasureCodeJerasureLiberation();
+
+  virtual void jerasure_encode(char **data,
+                               char **coding,
+                               int blocksize);
+  virtual int jerasure_decode(int *erasures,
+                               char **data,
+                               char **coding,
+                               int blocksize);
+  virtual unsigned get_alignment();
+  virtual void parse(const map<std::string,std::string> &parameters);
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureBlaumRoth : public ErasureCodeJerasureLiberation {
+public:
+  ErasureCodeJerasureBlaumRoth() :
+    ErasureCodeJerasureLiberation("blaum_roth")
+  {}
+
+  virtual void prepare();
+};
+
+class ErasureCodeJerasureLiber8tion : public ErasureCodeJerasureLiberation {
+public:
+  static const int DEFAULT_K = 2;
+  static const int DEFAULT_M = 2;
+  static const int DEFAULT_W = 8;
+
+  ErasureCodeJerasureLiber8tion() :
+    ErasureCodeJerasureLiberation("liber8tion")
+  {}
+
+  virtual void parse(const map<std::string,std::string> &parameters);
+  virtual void prepare();
+};
+
+#endif
diff --git a/src/osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc b/src/osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
new file mode 100644
index 0000000..d5cb1cd
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc
@@ -0,0 +1,70 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include "common/debug.h"
+#include "osd/ErasureCodePlugin.h"
+#include "ErasureCodeJerasure.h"
+
+#define dout_subsys ceph_subsys_osd
+#undef dout_prefix
+#define dout_prefix _prefix(_dout)
+
+static ostream& _prefix(std::ostream* _dout)
+{
+  return *_dout << "ErasureCodePluginJerasure: ";
+}
+
+class ErasureCodePluginJerasure : public ErasureCodePlugin {
+public:
+  virtual int factory(const map<std::string,std::string> &parameters,
+		      ErasureCodeInterfaceRef *erasure_code) {
+    ErasureCodeJerasure *interface;
+    std::string t;
+    if (parameters.find("erasure-code-technique") != parameters.end())
+      t = parameters.find("erasure-code-technique")->second;
+    if (t == "reed_sol_van") {
+      interface = new ErasureCodeJerasureReedSolomonVandermonde();
+    } else if (t == "reed_sol_r6_op") {
+      interface = new ErasureCodeJerasureReedSolomonRAID6();
+    } else if (t == "cauchy_orig") {
+      interface = new ErasureCodeJerasureCauchyOrig();
+    } else if (t == "cauchy_good") {
+      interface = new ErasureCodeJerasureCauchyGood();
+    } else if (t == "liberation") {
+      interface = new ErasureCodeJerasureLiberation();
+    } else if (t == "blaum_roth") {
+      interface = new ErasureCodeJerasureBlaumRoth();
+    } else if (t == "liber8tion") {
+      interface = new ErasureCodeJerasureLiber8tion();
+    } else {
+      derr << "technique=" << t << " is not a valid coding technique. "
+	   << " Choose one of the following: "
+	   << "reed_sol_van, reed_sol_r6_op, cauchy_orig, "
+	   << "cauchy_good, liberation, blaum_roth, liber8tion"
+	   << dendl;
+      return -ENOENT;
+    }
+    interface->init(parameters);
+    *erasure_code = ErasureCodeInterfaceRef(interface);
+    return 0;
+  }
+};
+
+int __erasure_code_init(char *plugin_name)
+{
+  ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+  return instance.add(plugin_name, new ErasureCodePluginJerasure());
+}
diff --git a/src/osd/ErasureCodePluginJerasure/Makefile.am b/src/osd/ErasureCodePluginJerasure/Makefile.am
new file mode 100644
index 0000000..b31fb1c
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/Makefile.am
@@ -0,0 +1,22 @@
+# jerasure plugin
+libec_jerasure_la_SOURCES = \
+  osd/ErasureCodePluginJerasure/ErasureCodePluginJerasure.cc \
+  osd/ErasureCodePluginJerasure/ErasureCodeJerasure.cc \
+  osd/ErasureCodePluginJerasure/cauchy.c \
+  osd/ErasureCodePluginJerasure/galois.c \
+  osd/ErasureCodePluginJerasure/jerasure.c \
+  osd/ErasureCodePluginJerasure/liberation.c \
+  osd/ErasureCodePluginJerasure/reed_sol.c
+noinst_HEADERS += \
+  osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h \
+  osd/ErasureCodePluginJerasure/cauchy.h \
+  osd/ErasureCodePluginJerasure/galois.h \
+  osd/ErasureCodePluginJerasure/jerasure.h \
+  osd/ErasureCodePluginJerasure/liberation.h \
+  osd/ErasureCodePluginJerasure/reed_sol.h
+libec_jerasure_la_CFLAGS = ${AM_CFLAGS} 
+libec_jerasure_la_CXXFLAGS= ${AM_CXXFLAGS} 
+libec_jerasure_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__erasure_code_.*'
+
+erasure_codelib_LTLIBRARIES += libec_jerasure.la
diff --git a/src/osd/ErasureCodePluginJerasure/cauchy.c b/src/osd/ErasureCodePluginJerasure/cauchy.c
new file mode 100755
index 0000000..c6bb3c0
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/cauchy.c
@@ -0,0 +1,408 @@
+/* cauchy.c
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "galois.h"
+#include "jerasure.h"
+#include "cauchy.h"
+
+static int PPs[33] = { -1, -1, -1, -1, -1, -1, -1, -1,
+                       -1, -1, -1, -1, -1, -1, -1, -1,
+                       -1, -1, -1, -1, -1, -1, -1, -1,
+                       -1, -1, -1, -1, -1, -1, -1, -1, -1 };
+static int NOs[33];
+static int ONEs[33][33];
+
+static int *cbest_0;
+static int *cbest_1;
+static int cbest_2[3];
+static int cbest_3[7];
+static int cbest_4[15];
+static int cbest_5[31];
+static int cbest_6[63];
+static int cbest_7[127];
+static int cbest_8[255];
+static int cbest_9[511];
+static int cbest_10[1023];
+static int cbest_11[1023];
+static int *cbest_12, *cbest_13, *cbest_14, *cbest_15, *cbest_16, *cbest_17, *cbest_18, *cbest_19, *cbest_20,
+           *cbest_21, *cbest_22, *cbest_23, *cbest_24, *cbest_25, *cbest_26, *cbest_27, *cbest_28, *cbest_29, *cbest_30,
+           *cbest_31, *cbest_32;
+
+static int cbest_max_k[33] = { -1, -1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 1023, -1,
+     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+     -1, -1, -1, -1 };
+
+static int cbest_init = 0;
+
+static int *cbest_all[33];
+
+
+#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
+
+int cauchy_n_ones(int n, int w)
+{
+  int no;
+  int cno;
+  int nones;
+  int i, j;
+  int highbit;
+
+  highbit = (1 << (w-1));
+
+  if (PPs[w] == -1) {
+    nones = 0;
+    PPs[w] = galois_single_multiply(highbit, 2, w);
+    for (i = 0; i < w; i++) {
+      if (PPs[w] & (1 << i)) {
+        ONEs[w][nones] = (1 << i);
+        nones++;
+      }
+    }
+    NOs[w] = nones;
+  }
+
+  no = 0;
+  for (i = 0; i < w; i++) if (n & (1 << i)) no++;
+  cno = no;
+  for (i = 1; i < w; i++) {
+    if (n & highbit) {
+      n ^= highbit;
+      n <<= 1;
+      n ^= PPs[w];
+      cno--;
+      for (j = 0; j < NOs[w]; j++) {
+        cno += (n & ONEs[w][j]) ? 1 : -1;
+      }
+    } else {
+      n <<= 1;
+    } 
+    no += cno;
+  }
+  return no;
+}
+  
+int *cauchy_original_coding_matrix(int k, int m, int w)
+{
+  int *matrix;
+  int i, j, index;
+
+  if (w < 31 && (k+m) > (1 << w)) return NULL;
+  matrix = talloc(int, k*m);
+  if (matrix == NULL) return NULL;
+  index = 0;
+  for (i = 0; i < m; i++) {
+    for (j = 0; j < k; j++) {
+      matrix[index] = galois_single_divide(1, (i ^ (m+j)), w);
+      index++;
+    }
+  }
+  return matrix;
+}
+
+int *cauchy_xy_coding_matrix(int k, int m, int w, int *X, int *Y)
+{
+  int index, i, j;
+  int *matrix;
+
+  matrix = talloc(int, k*m);
+  if (matrix == NULL) { return NULL; }
+  index = 0;
+  for (i = 0; i < m; i++) {
+    for (j = 0; j < k; j++) {
+      matrix[index] = galois_single_divide(1, (X[i] ^ Y[j]), w);
+      index++;
+    }
+  }
+  return matrix;
+}
+
+void cauchy_improve_coding_matrix(int k, int m, int w, int *matrix)
+{
+  int index, i, j, x;
+  int tmp;
+  int bno, tno, bno_index;
+
+  for (j = 0; j < k; j++) {
+    if (matrix[j] != 1) {
+      tmp = galois_single_divide(1, matrix[j], w);
+      index = j;
+      for (i = 0; i < m; i++) {
+        matrix[index] = galois_single_multiply(matrix[index], tmp, w);
+        index += k;
+      }
+    }
+  }
+  for (i = 1; i < m; i++) {
+    bno = 0;
+    index = i*k;
+    for (j = 0; j < k; j++) bno += cauchy_n_ones(matrix[index+j], w);
+    bno_index = -1;
+    for (j = 0; j < k; j++) {
+      if (matrix[index+j] != 1) {
+        tmp = galois_single_divide(1, matrix[index+j], w);
+        tno = 0;
+        for (x = 0; x < k; x++) {
+          tno += cauchy_n_ones(galois_single_multiply(matrix[index+x], tmp, w), w);
+        }
+        if (tno < bno) {
+          bno = tno;
+          bno_index = j;
+        }
+      }
+    }
+    if (bno_index != -1) {
+      tmp = galois_single_divide(1, matrix[index+bno_index], w);
+      for (j = 0; j < k; j++) {
+        matrix[index+j] = galois_single_multiply(matrix[index+j], tmp, w);
+      }
+    }
+  }
+}
+
+int *cauchy_good_general_coding_matrix(int k, int m, int w)
+{
+  int *matrix, i;
+
+  if (m == 2 && k <= cbest_max_k[w]) {
+    matrix = talloc(int, k*m);
+    if (matrix == NULL) return NULL;
+    if (!cbest_init) {
+      cbest_init = 1;
+      cbest_all[0] = cbest_0; cbest_all[1] = cbest_1; cbest_all[2] = cbest_2; cbest_all[3] = cbest_3; cbest_all[4] =
+      cbest_4; cbest_all[5] = cbest_5; cbest_all[6] = cbest_6; cbest_all[7] = cbest_7; cbest_all[8] = cbest_8;
+      cbest_all[9] = cbest_9; cbest_all[10] = cbest_10; cbest_all[11] = cbest_11; cbest_all[12] = cbest_12;
+      cbest_all[13] = cbest_13; cbest_all[14] = cbest_14; cbest_all[15] = cbest_15; cbest_all[16] = cbest_16;
+      cbest_all[17] = cbest_17; cbest_all[18] = cbest_18; cbest_all[19] = cbest_19; cbest_all[20] = cbest_20;
+      cbest_all[21] = cbest_21; cbest_all[22] = cbest_22; cbest_all[23] = cbest_23; cbest_all[24] = cbest_24;
+      cbest_all[25] = cbest_25; cbest_all[26] = cbest_26; cbest_all[27] = cbest_27; cbest_all[28] = cbest_28;
+      cbest_all[29] = cbest_29; cbest_all[30] = cbest_30; cbest_all[31] = cbest_31; cbest_all[32] = (int *) cbest_32;
+    }
+    for (i = 0; i < k; i++) {
+      matrix[i] = 1;
+      matrix[i+k] = cbest_all[w][i];
+    }
+    return matrix;
+  } else {
+    matrix = cauchy_original_coding_matrix(k, m, w);
+    if (matrix == NULL) return NULL;
+    cauchy_improve_coding_matrix(k, m, w, matrix);
+    return matrix;
+  }
+}
+
+static int cbest_2[3] = { 1, 2, 3 };
+static int cbest_3[7] = { 1, 2, 5, 4, 7, 3, 6 };
+
+static int cbest_4[15] = { 1, 2, 9, 4, 8, 13, 3, 6, 12, 5, 11, 15, 10, 14, 7 };
+
+static int cbest_5[31] = { 1, 2, 18, 4, 9, 8, 22, 16, 3, 11, 19, 5, 10, 6, 20, 27, 13, 23, 26, 12,
+    17, 25, 24, 31, 30, 7, 15, 21, 29, 14, 28 };
+
+static int cbest_6[63] = { 1, 2, 33, 4, 8, 49, 16, 32, 57, 3, 6, 12, 24, 48, 5, 35, 9, 37, 10, 17,
+    41, 51, 56, 61, 18, 28, 53, 14, 20, 34, 7, 13, 25, 36, 59, 26, 39, 40, 45, 50, 60, 52, 63,
+    11, 30, 55, 19, 22, 29, 43, 58, 15, 21, 38, 44, 47, 62, 27, 54, 42, 31, 23, 46 };
+
+static int cbest_7[127] = { 1, 2, 68, 4, 34, 8, 17, 16, 76, 32, 38, 3, 64, 69, 5, 19, 35, 70, 6, 9,
+    18, 102, 10, 36, 85, 12, 21, 42, 51, 72, 77, 84, 20, 25, 33, 50, 78, 98, 24, 39, 49, 100, 110
+   , 48, 65, 93, 40, 66, 71, 92, 7, 46, 55, 87, 96, 103, 106, 11, 23, 37, 54, 81, 86, 108, 13,
+    22, 27, 43, 53, 73, 80, 14, 26, 52, 74, 79, 99, 119, 44, 95, 101, 104, 111, 118, 29, 59, 89,
+    94, 117, 28, 41, 58, 67, 88, 115, 116, 47, 57, 83, 97, 107, 114, 127, 56, 82, 109, 113, 126,
+    112, 125, 15, 63, 75, 123, 124, 31, 45, 62, 91, 105, 122, 30, 61, 90, 121, 60, 120 };
+
+static int cbest_8[255] = { 1, 2, 142, 4, 71, 8, 70, 173, 3, 35, 143, 16, 17, 67, 134, 140, 172, 6, 34
+   , 69, 201, 216, 5, 33, 86, 12, 65, 138, 158, 159, 175, 10, 32, 43, 66, 108, 130, 193, 234, 9,
+    24, 25, 50, 68, 79, 100, 132, 174, 200, 217, 20, 21, 42, 48, 87, 169, 41, 54, 64, 84, 96, 117
+   , 154, 155, 165, 226, 77, 82, 135, 136, 141, 168, 192, 218, 238, 7, 18, 19, 39, 40, 78, 113,
+    116, 128, 164, 180, 195, 205, 220, 232, 14, 26, 27, 58, 109, 156, 157, 203, 235, 13, 28, 29, 38
+   , 51, 56, 75, 85, 90, 101, 110, 112, 139, 171, 11, 37, 49, 52, 76, 83, 102, 119, 131, 150, 151
+   , 167, 182, 184, 188, 197, 219, 224, 45, 55, 80, 94, 97, 133, 170, 194, 204, 221, 227, 236, 36,
+    47, 73, 92, 98, 104, 118, 152, 153, 166, 202, 207, 239, 251, 22, 23, 44, 74, 91, 148, 149, 161
+   , 181, 190, 233, 46, 59, 88, 137, 146, 147, 163, 196, 208, 212, 222, 250, 57, 81, 95, 106, 111,
+    129, 160, 176, 199, 243, 249, 15, 53, 72, 93, 103, 115, 125, 162, 183, 185, 189, 206, 225, 255,
+    186, 210, 230, 237, 242, 248, 30, 31, 62, 89, 99, 105, 114, 121, 124, 178, 209, 213, 223, 228,
+    241, 254, 60, 191, 198, 247, 120, 240, 107, 127, 144, 145, 177, 211, 214, 246, 245, 123, 126,
+    187, 231, 253, 63, 179, 229, 244, 61, 122, 215, 252 };
+
+static int cbest_9[511] = { 1, 2, 264, 4, 132, 8, 66, 16, 33, 32, 280, 64, 140, 128, 3, 70, 265, 5,
+    133, 256, 266, 6, 9, 35, 67, 134, 268, 396, 10, 17, 34, 330, 12, 18, 68, 198, 297, 20, 37, 74
+   , 136, 148, 165, 281, 296, 24, 36, 41, 65, 82, 99, 164, 272, 282, 388, 40, 49, 98, 141, 194,
+    284, 328, 412, 48, 97, 129, 142, 196, 346, 71, 72, 96, 130, 313, 392, 80, 206, 257, 267, 312,
+    334, 7, 135, 156, 173, 192, 258, 269, 397, 404, 11, 78, 144, 161, 172, 260, 270, 299, 331, 344,
+    398, 13, 19, 39, 69, 86, 103, 160, 167, 199, 202, 298, 322, 384, 14, 21, 38, 43, 75, 102, 137,
+    149, 166, 204, 289, 332, 408, 462, 22, 25, 42, 51, 83, 101, 138, 150, 273, 283, 288, 301, 350,
+    389, 429, 26, 50, 76, 100, 195, 274, 285, 300, 329, 363, 390, 413, 428, 28, 45, 84, 143, 197,
+    200, 214, 231, 276, 286, 315, 320, 347, 362, 414, 458, 44, 53, 73, 90, 107, 131, 152, 169, 181,
+    230, 314, 338, 361, 393, 400, 454, 460, 52, 57, 81, 106, 115, 168, 175, 180, 207, 229, 305, 335
+   , 348, 360, 394, 421, 478, 56, 105, 114, 157, 163, 174, 193, 210, 227, 228, 259, 304, 317, 326,
+    405, 420, 445, 79, 104, 113, 145, 158, 162, 212, 226, 261, 271, 316, 345, 379, 399, 406, 444,
+    450, 456, 87, 88, 112, 146, 203, 225, 262, 291, 323, 336, 378, 385, 425, 452, 474, 15, 205, 222
+   , 224, 239, 290, 303, 333, 367, 377, 386, 409, 424, 431, 463, 470, 476, 23, 139, 151, 189, 208,
+    238, 302, 324, 351, 366, 376, 410, 430, 437, 27, 47, 77, 94, 111, 177, 188, 237, 275, 293, 342,
+    365, 391, 436, 448, 29, 46, 55, 85, 110, 119, 171, 176, 183, 201, 215, 218, 235, 236, 277, 287,
+    292, 321, 355, 364, 415, 417, 459, 466, 472, 30, 54, 59, 91, 109, 118, 153, 170, 182, 220, 234,
+    278, 307, 339, 354, 401, 416, 423, 441, 455, 461, 468, 495, 58, 108, 117, 154, 233, 306, 319,
+    349, 353, 383, 395, 402, 422, 440, 447, 479, 494, 92, 116, 211, 232, 318, 327, 340, 352, 382,
+    446, 493, 61, 159, 213, 216, 247, 309, 381, 407, 427, 451, 457, 464, 491, 492, 60, 89, 123, 147
+   , 185, 246, 263, 308, 337, 371, 380, 426, 433, 453, 475, 487, 490, 122, 184, 191, 223, 245, 370,
+    387, 432, 439, 471, 477, 486, 489, 511, 121, 179, 190, 209, 243, 244, 295, 325, 359, 369, 411,
+    438, 485, 488, 510, 95, 120, 178, 242, 294, 343, 358, 368, 419, 449, 483, 484, 509, 219, 241,
+    357, 418, 443, 467, 473, 482, 507, 508, 31, 221, 240, 255, 279, 356, 442, 469, 481, 503, 506,
+    155, 254, 403, 480, 502, 505, 63, 93, 127, 253, 311, 341, 375, 501, 504, 62, 126, 187, 217, 251
+   , 252, 310, 374, 435, 465, 499, 500, 125, 186, 250, 373, 434, 498, 124, 249, 372, 497, 248, 496
+    };
+
+static int cbest_10[1023] = { 1, 2, 516, 4, 258, 8, 129, 16, 32, 580, 64, 128, 290, 145, 256, 3, 512,
+    517, 5, 259, 518, 588, 6, 9, 18, 36, 72, 144, 774, 10, 17, 131, 262, 288, 524, 645, 12, 33,
+    133, 266, 294, 387, 532, 576, 581, 20, 34, 65, 137, 274, 548, 582, 24, 66, 291, 838, 40, 68,
+    130, 147, 161, 322, 644, 709, 806, 48, 132, 193, 257, 386, 596, 80, 136, 298, 419, 612, 661, 772
+   , 96, 149, 260, 272, 306, 403, 513, 146, 153, 160, 264, 292, 385, 514, 519, 544, 584, 589, 708,
+    870, 7, 19, 37, 73, 192, 354, 590, 770, 775, 11, 38, 74, 177, 263, 289, 418, 520, 525, 534, 641
+   , 660, 725, 802, 836, 846, 13, 22, 76, 148, 209, 267, 295, 320, 330, 402, 526, 528, 533, 577,
+    647, 717, 804, 14, 21, 26, 35, 44, 135, 152, 165, 201, 275, 304, 384, 401, 435, 549, 578, 583,
+    604, 608, 782, 903, 25, 52, 67, 88, 139, 270, 296, 391, 417, 550, 620, 653, 790, 834, 839, 41,
+    50, 69, 104, 141, 176, 278, 302, 323, 395, 423, 540, 598, 640, 705, 724, 807, 866, 28, 42, 49,
+    70, 82, 100, 163, 208, 282, 310, 556, 592, 597, 646, 663, 677, 711, 716, 868, 878, 81, 134, 151
+   , 164, 195, 200, 299, 326, 352, 362, 400, 434, 564, 613, 657, 768, 773, 902, 967, 97, 138, 155,
+    169, 197, 261, 273, 307, 358, 390, 416, 433, 451, 614, 652, 733, 800, 814, 844, 854, 935, 56, 84
+   , 98, 140, 181, 217, 265, 293, 328, 338, 394, 422, 515, 545, 585, 704, 788, 822, 871, 919, 162,
+    179, 276, 355, 407, 427, 546, 586, 591, 616, 662, 669, 676, 710, 727, 741, 771, 780, 901, 39, 75
+   , 150, 157, 194, 211, 225, 268, 280, 308, 314, 389, 411, 439, 521, 530, 535, 628, 656, 721, 803,
+    832, 837, 842, 847, 966, 23, 77, 112, 154, 168, 196, 300, 321, 331, 393, 421, 432, 450, 522, 527
+   , 529, 552, 606, 643, 673, 693, 713, 732, 805, 864, 874, 934, 999, 15, 27, 45, 54, 78, 90, 108,
+    180, 216, 305, 483, 560, 579, 600, 605, 609, 719, 778, 783, 852, 876, 886, 899, 918, 983, 46, 53
+   , 89, 167, 178, 185, 203, 213, 271, 297, 324, 334, 336, 360, 370, 406, 426, 467, 542, 551, 610,
+    621, 649, 668, 726, 740, 786, 791, 810, 820, 835, 900, 917, 931, 951, 965, 975, 30, 51, 105, 156
+   , 205, 210, 224, 279, 303, 356, 366, 388, 405, 410, 438, 449, 459, 536, 541, 594, 599, 622, 655,
+    720, 812, 818, 862, 867, 933, 29, 43, 71, 83, 92, 101, 106, 143, 173, 283, 311, 312, 346, 392,
+    409, 420, 437, 443, 557, 566, 593, 642, 659, 672, 692, 707, 712, 737, 757, 869, 879, 911, 998,
+    60, 102, 241, 327, 353, 363, 399, 425, 482, 558, 565, 624, 679, 718, 735, 749, 769, 798, 898,
+    963, 982, 58, 86, 166, 183, 184, 202, 212, 219, 233, 286, 359, 431, 466, 615, 636, 648, 689, 729
+   , 801, 815, 840, 845, 850, 855, 884, 916, 930, 950, 964, 974, 981, 995, 1015, 57, 85, 99, 120,
+    171, 199, 204, 229, 318, 329, 339, 368, 404, 448, 458, 465, 499, 654, 671, 685, 784, 789, 823,
+    872, 882, 915, 932, 949, 997, 1007, 116, 142, 159, 172, 277, 408, 436, 442, 455, 481, 491, 547,
+    572, 587, 617, 630, 658, 665, 706, 723, 736, 756, 776, 781, 816, 860, 894, 897, 910, 947, 991,
+    114, 221, 240, 269, 281, 309, 315, 332, 342, 344, 378, 398, 424, 441, 475, 487, 531, 618, 629,
+    678, 695, 734, 743, 748, 808, 833, 843, 929, 943, 962, 973, 113, 182, 189, 218, 227, 232, 301,
+    364, 374, 430, 457, 523, 553, 562, 602, 607, 688, 728, 753, 796, 830, 865, 875, 927, 980, 994,
+    1014, 55, 79, 91, 109, 170, 187, 198, 215, 228, 284, 415, 464, 498, 554, 561, 601, 670, 675, 684
+   , 715, 745, 765, 779, 848, 853, 877, 887, 909, 914, 948, 979, 996, 1006, 1013, 47, 110, 158, 249
+   , 316, 325, 335, 337, 361, 371, 397, 447, 454, 480, 490, 497, 538, 543, 611, 632, 664, 722, 787,
+    811, 821, 880, 896, 913, 946, 961, 971, 990, 1011, 31, 94, 220, 245, 357, 367, 429, 440, 474,
+    486, 537, 595, 623, 651, 681, 694, 701, 742, 759, 813, 819, 858, 863, 892, 928, 942, 945, 972,
+    989, 993, 1003, 1023, 62, 93, 107, 188, 207, 226, 237, 243, 313, 340, 347, 376, 456, 471, 473,
+    507, 567, 568, 626, 752, 890, 907, 926, 1005, 61, 103, 124, 175, 186, 214, 372, 414, 453, 463,
+    489, 503, 559, 625, 638, 674, 691, 714, 731, 739, 744, 764, 794, 799, 828, 908, 925, 939, 959,
+    978, 1012, 59, 87, 122, 248, 287, 350, 396, 413, 446, 485, 495, 496, 637, 751, 826, 841, 851,
+    885, 912, 941, 960, 970, 977, 1010, 118, 121, 235, 244, 319, 369, 382, 428, 445, 574, 650, 667,
+    680, 700, 758, 761, 785, 873, 883, 944, 988, 992, 1002, 1009, 1022, 117, 206, 223, 231, 236, 242
+   , 470, 472, 506, 573, 631, 687, 777, 817, 856, 861, 895, 906, 987, 1004, 1021, 115, 174, 191, 333
+   , 343, 345, 379, 452, 462, 469, 488, 502, 505, 619, 690, 697, 730, 738, 755, 809, 888, 924, 938,
+    958, 969, 1019, 253, 365, 375, 412, 484, 494, 501, 563, 603, 750, 767, 792, 797, 831, 923, 940,
+    957, 976, 1001, 234, 251, 285, 348, 444, 479, 555, 634, 666, 760, 824, 849, 905, 955, 1008, 111,
+    222, 230, 247, 317, 380, 461, 511, 539, 633, 686, 703, 747, 881, 937, 986, 1020, 95, 190, 468,
+    493, 504, 570, 696, 754, 859, 893, 968, 985, 1018, 63, 126, 252, 341, 377, 500, 569, 627, 683,
+    766, 891, 922, 956, 1000, 1017, 125, 239, 250, 373, 478, 639, 795, 829, 904, 921, 954, 123, 246,
+    351, 460, 477, 510, 702, 746, 763, 827, 936, 953, 119, 383, 492, 509, 575, 984, 682, 699, 857,
+    1016, 238, 255, 889, 920, 476, 762, 793, 952, 349, 508, 635, 825, 381, 698, 254, 571, 127 };
+
+static int cbest_11[1023] = { 1,
+    2, 1026, 4, 513, 8, 16, 1282, 32, 64, 641, 128, 256, 512, 1346, 1024, 3, 673, 1027, 5, 10, 20, 40, 80, 160, 320,
+    640, 6, 9, 515, 1030, 1280, 1539, 17, 517, 1034, 1283, 12, 18, 33, 521, 1042, 1362, 34, 65, 529, 1058, 1286, 1795,
+    24, 36, 66, 129, 545, 643, 1090, 1290, 1667, 68, 130, 257, 577, 645, 672, 1154, 1298, 1344, 48, 72, 132, 258, 336,
+    649, 681, 1314, 1347, 136, 168, 260, 514, 657, 769, 1538, 1923, 84, 96, 144, 264, 516, 1025, 1350, 1410, 1859, 42,
+    272, 520, 705, 1032, 1354, 11, 21, 41, 81, 161, 192, 288, 321, 528, 675, 1028, 1537, 1699, 1794, 7, 22, 82, 162,
+    322, 544, 642, 677, 897, 1031, 1046, 1066, 1106, 1186, 1281, 1366, 1378, 1666, 14, 44, 164, 324, 384, 523, 533,
+    553, 576, 593, 644, 833, 1035, 1040, 1288, 1360, 1987, 13, 19, 28, 88, 328, 519, 648, 680, 689, 1043, 1056, 1284,
+    1363, 1474, 1543, 1793, 1955, 26, 35, 56, 176, 656, 768, 1038, 1059, 1088, 1287, 1302, 1322, 1442, 1547, 1665,
+    1922, 25, 37, 52, 67, 112, 340, 352, 525, 531, 737, 1091, 1152, 1291, 1296, 1555, 1858, 1875, 38, 69, 74, 104, 131,
+    224, 547, 651, 661, 683, 704, 721, 961, 1050, 1062, 1155, 1299, 1312, 1345, 1370, 1571, 1799, 49, 70, 73, 133, 138,
+    148, 170, 208, 259, 337, 448, 537, 549, 579, 647, 674, 929, 1094, 1294, 1315, 1352, 1536, 1603, 1671, 1698, 1803,
+    1921, 50, 134, 137, 169, 261, 266, 276, 296, 338, 416, 581, 676, 896, 1074, 1098, 1158, 1348, 1394, 1408, 1675,
+    1707, 1811, 1857, 2019, 76, 85, 97, 145, 262, 265, 522, 532, 552, 561, 585, 592, 653, 659, 685, 771, 832, 849,
+    1064, 1162, 1194, 1306, 1318, 1351, 1386, 1411, 1506, 1683, 1827, 1986, 2003, 43, 86, 98, 140, 146, 172, 273, 344,
+    518, 688, 773, 1033, 1110, 1122, 1170, 1355, 1490, 1542, 1697, 1792, 1927, 1954, 100, 193, 268, 274, 289, 597, 609,
+    665, 697, 707, 777, 1029, 1044, 1104, 1184, 1330, 1364, 1376, 1414, 1546, 1664, 1731, 1863, 1931, 1963, 23, 46, 83,
+    92, 152, 163, 184, 194, 290, 323, 368, 524, 530, 555, 693, 709, 736, 753, 785, 993, 1036, 1047, 1067, 1107, 1187,
+    1218, 1320, 1358, 1367, 1379, 1418, 1450, 1545, 1554, 1867, 1874, 1939, 1985, 15, 30, 45, 60, 90, 120, 165, 180,
+    196, 240, 280, 292, 325, 330, 360, 385, 480, 546, 650, 660, 679, 682, 713, 720, 745, 801, 899, 960, 977, 1041,
+    1289, 1361, 1426, 1472, 1541, 1570, 1703, 1798, 1953, 29, 58, 89, 116, 166, 200, 232, 326, 329, 386, 464, 535, 536,
+    548, 578, 595, 646, 835, 901, 928, 1048, 1057, 1070, 1190, 1285, 1300, 1368, 1382, 1440, 1475, 1559, 1579, 1602,
+    1619, 1670, 1802, 1879, 1891, 1920, 27, 57, 177, 304, 388, 527, 557, 580, 691, 725, 837, 905, 937, 1039, 1054,
+    1089, 1114, 1292, 1303, 1323, 1374, 1443, 1553, 1674, 1706, 1715, 1801, 1810, 1856, 1873, 1991, 2018, 2035, 53,
+    106, 113, 178, 212, 332, 341, 353, 392, 424, 541, 560, 584, 601, 652, 658, 684, 770, 841, 848, 913, 1060, 1082,
+    1096, 1153, 1202, 1297, 1402, 1478, 1522, 1569, 1673, 1682, 1705, 1797, 1826, 1959, 1995, 2002, 2027, 39, 54, 75,
+    105, 114, 225, 342, 354, 400, 539, 569, 739, 772, 1051, 1063, 1078, 1092, 1138, 1160, 1192, 1304, 1313, 1326, 1371,
+    1384, 1398, 1446, 1482, 1514, 1551, 1601, 1669, 1696, 1763, 1815, 1835, 1926, 71, 139, 149, 171, 209, 226, 298,
+    356, 449, 565, 596, 608, 625, 663, 664, 696, 706, 723, 741, 776, 853, 865, 963, 1072, 1095, 1130, 1156, 1250, 1295,
+    1310, 1353, 1392, 1687, 1730, 1747, 1809, 1862, 1930, 1962, 1971, 2007, 2017, 51, 78, 108, 135, 150, 210, 228, 267,
+    277, 297, 339, 348, 417, 450, 551, 554, 587, 617, 655, 687, 692, 708, 752, 784, 931, 965, 992, 1009, 1075, 1099,
+    1159, 1174, 1234, 1316, 1338, 1349, 1395, 1409, 1458, 1494, 1504, 1544, 1563, 1575, 1681, 1825, 1866, 1883, 1929,
+    1938, 1961, 1984, 2001, 77, 142, 174, 263, 278, 346, 376, 418, 452, 496, 583, 669, 678, 701, 712, 729, 744, 761,
+    800, 898, 933, 969, 976, 1001, 1065, 1108, 1120, 1163, 1168, 1195, 1307, 1319, 1334, 1356, 1387, 1416, 1448, 1488,
+    1507, 1540, 1607, 1702, 1807, 1865, 1925, 1952, 87, 99, 141, 147, 156, 173, 188, 216, 248, 270, 300, 345, 372, 420,
+    456, 488, 534, 563, 594, 667, 699, 757, 779, 789, 809, 834, 851, 900, 1102, 1111, 1123, 1171, 1328, 1412, 1491,
+    1558, 1578, 1587, 1611, 1618, 1679, 1711, 1729, 1861, 1878, 1890, 1907, 1943, 2023, 94, 101, 124, 154, 186, 244,
+    269, 275, 284, 526, 556, 589, 690, 724, 775, 836, 904, 936, 945, 981, 1045, 1068, 1105, 1166, 1185, 1198, 1216,
+    1331, 1365, 1377, 1390, 1415, 1430, 1510, 1552, 1577, 1714, 1800, 1819, 1831, 1872, 1899, 1937, 1990, 2034, 47, 62,
+    93, 102, 122, 153, 185, 195, 282, 291, 312, 362, 369, 432, 468, 540, 599, 600, 611, 715, 747, 840, 857, 912, 1037,
+    1052, 1112, 1126, 1219, 1321, 1359, 1372, 1419, 1424, 1451, 1568, 1623, 1635, 1672, 1691, 1701, 1704, 1723, 1796,
+    1958, 1994, 2011, 2026, 2043, 31, 61, 91, 121, 181, 197, 202, 234, 241, 281, 293, 308, 331, 361, 370, 481, 538,
+    568, 613, 695, 711, 738, 755, 781, 787, 995, 1080, 1118, 1178, 1188, 1210, 1380, 1400, 1427, 1473, 1498, 1530,
+    1550, 1557, 1600, 1617, 1668, 1719, 1735, 1762, 1779, 1814, 1834, 1843, 1877, 1889, 1935, 1967, 1993, 2025, 2039,
+    59, 117, 167, 182, 198, 201, 233, 242, 294, 327, 387, 465, 482, 559, 564, 605, 624, 662, 722, 740, 803, 852, 864,
+    881, 907, 917, 939, 962, 979, 997, 1049, 1071, 1086, 1146, 1191, 1206, 1222, 1266, 1301, 1324, 1369, 1383, 1406,
+    1422, 1441, 1454, 1480, 1512, 1526, 1549, 1686, 1713, 1739, 1746, 1771, 1808, 1833, 1871, 1970, 1989, 2006, 2016,
+    2033, 118, 305, 334, 364, 389, 394, 404, 426, 466, 484, 543, 550, 573, 586, 603, 616, 633, 654, 686, 717, 749, 793,
+    805, 843, 873, 903, 930, 964, 1008, 1055, 1115, 1128, 1142, 1200, 1226, 1258, 1293, 1308, 1375, 1476, 1520, 1562,
+    1574, 1680, 1824 };
+
diff --git a/src/osd/ErasureCodePluginJerasure/cauchy.h b/src/osd/ErasureCodePluginJerasure/cauchy.h
new file mode 100755
index 0000000..67fbf3b
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/cauchy.h
@@ -0,0 +1,53 @@
+/* cauchy.h
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+*/
+
+extern int *cauchy_original_coding_matrix(int k, int m, int w);
+extern int *cauchy_xy_coding_matrix(int k, int m, int w, int *x, int *y);
+extern void cauchy_improve_coding_matrix(int k, int m, int w, int *matrix);
+extern int *cauchy_good_general_coding_matrix(int k, int m, int w);
+extern int cauchy_n_ones(int n, int w);
diff --git a/src/osd/ErasureCodePluginJerasure/galois.c b/src/osd/ErasureCodePluginJerasure/galois.c
new file mode 100755
index 0000000..0de6fbd
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/galois.c
@@ -0,0 +1,821 @@
+/* Galois.c
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "galois.h"
+
+#define NONE (10)
+#define TABLE (11)
+#define SHIFT (12)
+#define LOGS (13)
+#define SPLITW8 (14)
+
+static int prim_poly[33] = 
+{ 0, 
+/*  1 */     1, 
+/*  2 */    07,
+/*  3 */    013,
+/*  4 */    023,
+/*  5 */    045,
+/*  6 */    0103,
+/*  7 */    0211,
+/*  8 */    0435,
+/*  9 */    01021,
+/* 10 */    02011,
+/* 11 */    04005,
+/* 12 */    010123,
+/* 13 */    020033,
+/* 14 */    042103,
+/* 15 */    0100003,
+/* 16 */    0210013,
+/* 17 */    0400011,
+/* 18 */    01000201,
+/* 19 */    02000047,
+/* 20 */    04000011,
+/* 21 */    010000005,
+/* 22 */    020000003,
+/* 23 */    040000041,
+/* 24 */    0100000207,
+/* 25 */    0200000011,
+/* 26 */    0400000107,
+/* 27 */    01000000047,
+/* 28 */    02000000011,
+/* 29 */    04000000005,
+/* 30 */    010040000007,
+/* 31 */    020000000011, 
+/* 32 */    00020000007 };  /* Really 40020000007, but we're omitting the high order bit */
+
+static int mult_type[33] = 
+{ NONE, 
+/*  1 */   TABLE, 
+/*  2 */   TABLE,
+/*  3 */   TABLE,
+/*  4 */   TABLE,
+/*  5 */   TABLE,
+/*  6 */   TABLE,
+/*  7 */   TABLE,
+/*  8 */   TABLE,
+/*  9 */   TABLE,
+/* 10 */   LOGS,
+/* 11 */   LOGS,
+/* 12 */   LOGS,
+/* 13 */   LOGS,
+/* 14 */   LOGS,
+/* 15 */   LOGS,
+/* 16 */   LOGS,
+/* 17 */   LOGS,
+/* 18 */   LOGS,
+/* 19 */   LOGS,
+/* 20 */   LOGS,
+/* 21 */   LOGS,
+/* 22 */   LOGS,
+/* 23 */   SHIFT,
+/* 24 */   SHIFT,
+/* 25 */   SHIFT,
+/* 26 */   SHIFT,
+/* 27 */   SHIFT,
+/* 28 */   SHIFT,
+/* 29 */   SHIFT,
+/* 30 */   SHIFT,
+/* 31 */   SHIFT,
+/* 32 */   SPLITW8 };
+
+static int nw[33] = { 0, (1 << 1), (1 << 2), (1 << 3), (1 << 4), 
+(1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9), (1 << 10),
+(1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15), (1 << 16),
+(1 << 17), (1 << 18), (1 << 19), (1 << 20), (1 << 21), (1 << 22),
+(1 << 23), (1 << 24), (1 << 25), (1 << 26), (1 << 27), (1 << 28),
+(1 << 29), (1 << 30), (1 << 31), -1 };
+
+static int nwm1[33] = { 0, (1 << 1)-1, (1 << 2)-1, (1 << 3)-1, (1 << 4)-1, 
+(1 << 5)-1, (1 << 6)-1, (1 << 7)-1, (1 << 8)-1, (1 << 9)-1, (1 << 10)-1,
+(1 << 11)-1, (1 << 12)-1, (1 << 13)-1, (1 << 14)-1, (1 << 15)-1, (1 << 16)-1,
+(1 << 17)-1, (1 << 18)-1, (1 << 19)-1, (1 << 20)-1, (1 << 21)-1, (1 << 22)-1,
+(1 << 23)-1, (1 << 24)-1, (1 << 25)-1, (1 << 26)-1, (1 << 27)-1, (1 << 28)-1,
+(1 << 29)-1, (1 << 30)-1, 0x7fffffff, 0xffffffff };
+   
+static int *galois_log_tables[33] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+
+static int *galois_ilog_tables[33] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+
+static int *galois_mult_tables[33] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+
+static int *galois_div_tables[33] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+
+/* Special case for w = 32 */
+
+static int *galois_split_w8[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+
+int galois_create_log_tables(int w)
+{
+  int j, b;
+
+  if (w > 30) return -1;
+  if (galois_log_tables[w] != NULL) return 0;
+  galois_log_tables[w] = (int *) malloc(sizeof(int)*nw[w]);
+  if (galois_log_tables[w] == NULL) return -1; 
+  
+  galois_ilog_tables[w] = (int *) malloc(sizeof(int)*nw[w]*3);
+  if (galois_ilog_tables[w] == NULL) { 
+    free(galois_log_tables[w]);
+    galois_log_tables[w] = NULL;
+    return -1;
+  }
+  
+  for (j = 0; j < nw[w]; j++) {
+    galois_log_tables[w][j] = nwm1[w];
+    galois_ilog_tables[w][j] = 0;
+  } 
+  
+  b = 1;
+  for (j = 0; j < nwm1[w]; j++) {
+    if (galois_log_tables[w][b] != nwm1[w]) {
+      fprintf(stderr, "Galois_create_log_tables Error: j=%d, b=%d, B->J[b]=%d, J->B[j]=%d (0%o)\n",
+              j, b, galois_log_tables[w][b], galois_ilog_tables[w][j], (b << 1) ^ prim_poly[w]);
+      exit(1);
+    }
+    galois_log_tables[w][b] = j;
+    galois_ilog_tables[w][j] = b;
+    b = b << 1;
+    if (b & nw[w]) b = (b ^ prim_poly[w]) & nwm1[w];
+  }
+  for (j = 0; j < nwm1[w]; j++) {
+    galois_ilog_tables[w][j+nwm1[w]] = galois_ilog_tables[w][j];
+    galois_ilog_tables[w][j+nwm1[w]*2] = galois_ilog_tables[w][j];
+  } 
+  galois_ilog_tables[w] += nwm1[w];
+  return 0;
+}
+
+int galois_logtable_multiply(int x, int y, int w)
+{
+  int sum_j;
+
+  if (x == 0 || y == 0) return 0;
+  
+  sum_j = galois_log_tables[w][x] + galois_log_tables[w][y];
+  /* if (sum_j >= nwm1[w]) sum_j -= nwm1[w];    Don't need to do this, 
+                                   because we replicate the ilog table twice.  */
+  return galois_ilog_tables[w][sum_j];
+}
+
+int galois_logtable_divide(int x, int y, int w)
+{
+  int sum_j;
+  int z;
+
+  if (y == 0) return -1;
+  if (x == 0) return 0; 
+  sum_j = galois_log_tables[w][x] - galois_log_tables[w][y];
+  /* if (sum_j < 0) sum_j += nwm1[w];   Don't need to do this, because we replicate the ilog table twice.   */
+  z = galois_ilog_tables[w][sum_j];
+  return z;
+}
+
+int galois_create_mult_tables(int w)
+{
+  int j, x, y, logx;
+
+  if (w >= 14) return -1;
+
+  if (galois_mult_tables[w] != NULL) return 0;
+  galois_mult_tables[w] = (int *) malloc(sizeof(int) * nw[w] * nw[w]);
+  if (galois_mult_tables[w] == NULL) return -1;
+  
+  galois_div_tables[w] = (int *) malloc(sizeof(int) * nw[w] * nw[w]);
+  if (galois_div_tables[w] == NULL) {
+    free(galois_mult_tables[w]);
+    galois_mult_tables[w] = NULL;
+    return -1;
+  }
+  if (galois_log_tables[w] == NULL) {
+    if (galois_create_log_tables(w) < 0) {
+      free(galois_mult_tables[w]);
+      free(galois_div_tables[w]);
+      galois_mult_tables[w] = NULL;
+      galois_div_tables[w] = NULL;
+      return -1;
+    }
+  }
+
+ /* Set mult/div tables for x = 0 */
+  j = 0;
+  galois_mult_tables[w][j] = 0;   /* y = 0 */
+  galois_div_tables[w][j] = -1;
+  j++;
+  for (y = 1; y < nw[w]; y++) {   /* y > 0 */
+    galois_mult_tables[w][j] = 0;
+    galois_div_tables[w][j] = 0;
+    j++;
+  }
+  
+  for (x = 1; x < nw[w]; x++) {  /* x > 0 */
+    galois_mult_tables[w][j] = 0; /* y = 0 */
+    galois_div_tables[w][j] = -1;
+    j++;
+    logx = galois_log_tables[w][x];
+    for (y = 1; y < nw[w]; y++) {  /* y > 0 */
+      galois_mult_tables[w][j] = galois_ilog_tables[w][logx+galois_log_tables[w][y]]; 
+      galois_div_tables[w][j] = galois_ilog_tables[w][logx-galois_log_tables[w][y]]; 
+      j++;
+    }
+  }
+  return 0;
+}
+
+int galois_ilog(int value, int w)
+{
+  if (galois_ilog_tables[w] == NULL) {
+    if (galois_create_log_tables(w) < 0) {
+      fprintf(stderr, "Error: galois_ilog - w is too big.  Sorry\n");
+      exit(1);
+    }
+  }
+  return galois_ilog_tables[w][value];
+}
+
+int galois_log(int value, int w)
+{
+  if (galois_log_tables[w] == NULL) {
+    if (galois_create_log_tables(w) < 0) {
+      fprintf(stderr, "Error: galois_log - w is too big.  Sorry\n");
+      exit(1);
+    }
+  }
+  return galois_log_tables[w][value];
+}
+
+
+int galois_shift_multiply(int x, int y, int w)
+{
+  int prod;
+  int i, j, ind;
+  int k;
+  int scratch[33];
+
+  prod = 0;
+  for (i = 0; i < w; i++) {
+    scratch[i] = y;
+    if (y & (1 << (w-1))) {
+      y = y << 1;
+      y = (y ^ prim_poly[w]) & nwm1[w];
+    } else {
+      y = y << 1;
+    }
+  }
+  for (i = 0; i < w; i++) {
+    ind = (1 << i);
+    if (ind & x) {
+      j = 1;
+      for (k = 0; k < w; k++) {
+        prod = prod ^ (j & scratch[i]);
+        j = (j << 1);
+      }
+    }
+  }
+  return prod;
+}
+
+int galois_single_multiply(int x, int y, int w)
+{
+  int sum_j;
+  int z;
+
+  if (x == 0 || y == 0) return 0;
+  
+  if (mult_type[w] == TABLE) {
+    if (galois_mult_tables[w] == NULL) {
+      if (galois_create_mult_tables(w) < 0) {
+        fprintf(stderr, "ERROR -- cannot make multiplication tables for w=%d\n", w);
+        exit(1);
+      }
+    }
+    return galois_mult_tables[w][(x<<w)|y];
+  } else if (mult_type[w] == LOGS) {
+    if (galois_log_tables[w] == NULL) {
+      if (galois_create_log_tables(w) < 0) {
+        fprintf(stderr, "ERROR -- cannot make log tables for w=%d\n", w);
+        exit(1);
+      }
+    }
+    sum_j = galois_log_tables[w][x] + galois_log_tables[w][y];
+    z = galois_ilog_tables[w][sum_j];
+    return z;
+  } else if (mult_type[w] == SPLITW8) {
+    if (galois_split_w8[0] == NULL) {
+      if (galois_create_split_w8_tables() < 0) {
+        fprintf(stderr, "ERROR -- cannot make log split_w8_tables for w=%d\n", w);
+        exit(1);
+      }
+    }
+    return galois_split_w8_multiply(x, y);
+  } else if (mult_type[w] == SHIFT) {
+    return galois_shift_multiply(x, y, w);
+  }
+  fprintf(stderr, "Galois_single_multiply - no implementation for w=%d\n", w);
+  exit(1);
+}
+
+int galois_multtable_multiply(int x, int y, int w)
+{
+  return galois_mult_tables[w][(x<<w)|y];
+}
+
+int galois_single_divide(int a, int b, int w)
+{
+  int sum_j;
+
+  if (mult_type[w] == TABLE) {
+    if (galois_div_tables[w] == NULL) {
+      if (galois_create_mult_tables(w) < 0) {
+        fprintf(stderr, "ERROR -- cannot make multiplication tables for w=%d\n", w);
+        exit(1);
+      }
+    }
+    return galois_div_tables[w][(a<<w)|b];
+  } else if (mult_type[w] == LOGS) {
+    if (b == 0) return -1;
+    if (a == 0) return 0;
+    if (galois_log_tables[w] == NULL) {
+      if (galois_create_log_tables(w) < 0) {
+        fprintf(stderr, "ERROR -- cannot make log tables for w=%d\n", w);
+        exit(1);
+      }
+    }
+    sum_j = galois_log_tables[w][a] - galois_log_tables[w][b];
+    return galois_ilog_tables[w][sum_j];
+  } else {
+    if (b == 0) return -1;
+    if (a == 0) return 0;
+    sum_j = galois_inverse(b, w);
+    return galois_single_multiply(a, sum_j, w);
+  }
+  fprintf(stderr, "Galois_single_divide - no implementation for w=%d\n", w);
+  exit(1);
+}
+
+int galois_shift_divide(int a, int b, int w)
+{
+  int inverse;
+
+  if (b == 0) return -1;
+  if (a == 0) return 0;
+  inverse = galois_shift_inverse(b, w);
+  return galois_shift_multiply(a, inverse, w);
+}
+
+int galois_multtable_divide(int x, int y, int w)
+{
+  return galois_div_tables[w][(x<<w)|y];
+}
+
+void galois_w08_region_multiply(char *region,      /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,        /* Number of bytes in region */
+                                  char *r2,          /* If r2 != NULL, products go here */
+                                  int add)
+{
+  unsigned char *ur1, *ur2, *cp;
+  unsigned char prod;
+  int i, srow, j;
+  unsigned long l, *lp2;
+  unsigned char *lp;
+  int sol;
+
+  ur1 = (unsigned char *) region;
+  ur2 = (r2 == NULL) ? ur1 : (unsigned char *) r2;
+
+/* This is used to test its performance with respect to just calling galois_single_multiply 
+  if (r2 == NULL || !add) {
+    for (i = 0; i < nbytes; i++) ur2[i] = galois_single_multiply(ur1[i], multby, 8);
+  } else {
+    for (i = 0; i < nbytes; i++) {
+      ur2[i] = (ur2[i]^galois_single_multiply(ur1[i], multby, 8));
+    }
+  }
+ */
+
+  if (galois_mult_tables[8] == NULL) {
+    if (galois_create_mult_tables(8) < 0) {
+      fprintf(stderr, "galois_08_region_multiply -- couldn't make multiplication tables\n");
+      exit(1);
+    }
+  }
+  srow = multby * nw[8];
+  if (r2 == NULL || !add) {
+    for (i = 0; i < nbytes; i++) {
+      prod = galois_mult_tables[8][srow+ur1[i]];
+      ur2[i] = prod;
+    }
+  } else {
+    sol = sizeof(long);
+    lp2 = &l;
+    lp = (unsigned char *) lp2;
+    for (i = 0; i < nbytes; i += sol) {
+      cp = ur2+i;
+      lp2 = (unsigned long *) cp;
+      for (j = 0; j < sol; j++) {
+        prod = galois_mult_tables[8][srow+ur1[i+j]];
+        lp[j] = prod;
+      }
+      *lp2 = (*lp2) ^ l;
+    }
+  }
+  return;
+}
+
+void galois_w16_region_multiply(char *region,      /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,        /* Number of bytes in region */
+                                  char *r2,          /* If r2 != NULL, products go here */
+                                  int add)
+{
+  unsigned short *ur1, *ur2, *cp;
+  int prod;
+  int i, log1, j, log2;
+  unsigned long l, *lp2, *lptop;
+  unsigned short *lp;
+  int sol;
+
+  ur1 = (unsigned short *) region;
+  ur2 = (r2 == NULL) ? ur1 : (unsigned short *) r2;
+  nbytes /= 2;
+
+
+/* This is used to test its performance with respect to just calling galois_single_multiply */
+/*
+  if (r2 == NULL || !add) {
+    for (i = 0; i < nbytes; i++) ur2[i] = galois_single_multiply(ur1[i], multby, 16);
+  } else {
+    for (i = 0; i < nbytes; i++) {
+      ur2[i] = (ur2[i]^galois_single_multiply(ur1[i], multby, 16));
+    }
+  }
+  return;
+  */
+
+  if (multby == 0) {
+    if (!add) {
+      lp2 = (unsigned long *) ur2;
+      ur2 += nbytes;
+      lptop = (unsigned long *) ur2;
+      while (lp2 < lptop) { *lp2 = 0; lp2++; }
+    }
+    return;
+  }
+    
+  if (galois_log_tables[16] == NULL) {
+    if (galois_create_log_tables(16) < 0) {
+      fprintf(stderr, "galois_16_region_multiply -- couldn't make log tables\n");
+      exit(1);
+    }
+  }
+  log1 = galois_log_tables[16][multby];
+
+  if (r2 == NULL || !add) {
+    for (i = 0; i < nbytes; i++) {
+      if (ur1[i] == 0) {
+        ur2[i] = 0;
+      } else {
+        prod = galois_log_tables[16][ur1[i]] + log1;
+        ur2[i] = galois_ilog_tables[16][prod];
+      }
+    }
+  } else {
+    sol = sizeof(long)/2;
+    lp2 = &l;
+    lp = (unsigned short *) lp2;
+    for (i = 0; i < nbytes; i += sol) {
+      cp = ur2+i;
+      lp2 = (unsigned long *) cp;
+      for (j = 0; j < sol; j++) {
+        if (ur1[i+j] == 0) {
+          lp[j] = 0;
+        } else {
+          log2 = galois_log_tables[16][ur1[i+j]];
+          prod = log2 + log1;
+          lp[j] = galois_ilog_tables[16][prod];
+        }
+      }
+      *lp2 = (*lp2) ^ l;
+    }
+  }
+  return; 
+}
+
+/* This will destroy mat, by the way */
+
+void galois_invert_binary_matrix(int *mat, int *inv, int rows)
+{
+  int cols, i, j;
+  int tmp;
+ 
+  cols = rows;
+
+  for (i = 0; i < rows; i++) inv[i] = (1 << i);
+
+  /* First -- convert into upper triangular */
+
+  for (i = 0; i < cols; i++) {
+
+    /* Swap rows if we ave a zero i,i element.  If we can't swap, then the 
+       matrix was not invertible */
+
+    if ((mat[i] & (1 << i)) == 0) { 
+      for (j = i+1; j < rows && (mat[j] & (1 << i)) == 0; j++) ;
+      if (j == rows) {
+        fprintf(stderr, "galois_invert_matrix: Matrix not invertible!!\n");
+        exit(1);
+      }
+      tmp = mat[i]; mat[i] = mat[j]; mat[j] = tmp;
+      tmp = inv[i]; inv[i] = inv[j]; inv[j] = tmp;
+    }
+ 
+    /* Now for each j>i, add A_ji*Ai to Aj */
+    for (j = i+1; j != rows; j++) {
+      if ((mat[j] & (1 << i)) != 0) {
+        mat[j] ^= mat[i]; 
+        inv[j] ^= inv[i];
+      }
+    }
+  }
+
+  /* Now the matrix is upper triangular.  Start at the top and multiply down */
+
+  for (i = rows-1; i >= 0; i--) {
+    for (j = 0; j < i; j++) {
+      if (mat[j] & (1 << i)) {
+/*        mat[j] ^= mat[i]; */
+        inv[j] ^= inv[i];
+      }
+    }
+  } 
+}
+
+int galois_inverse(int y, int w)
+{
+
+  if (y == 0) return -1;
+  if (mult_type[w] == SHIFT || mult_type[w] == SPLITW8) return galois_shift_inverse(y, w);
+  return galois_single_divide(1, y, w);
+}
+
+int galois_shift_inverse(int y, int w)
+{
+  int mat2[32];
+  int inv2[32];
+  int i;
+ 
+  for (i = 0; i < w; i++) {
+    mat2[i] = y;
+
+    if (y & nw[w-1]) {
+      y = y << 1;
+      y = (y ^ prim_poly[w]) & nwm1[w];
+    } else {
+      y = y << 1;
+    }
+  }
+
+  galois_invert_binary_matrix(mat2, inv2, w);
+
+  return inv2[0]; 
+}
+
+int *galois_get_mult_table(int w)
+{
+  if (galois_mult_tables[w] == NULL) {
+    if (galois_create_mult_tables(w)) {
+      return NULL;
+    }
+  }
+  return galois_mult_tables[w];
+}
+
+int *galois_get_div_table(int w) 
+{
+  if (galois_mult_tables[w] == NULL) {
+    if (galois_create_mult_tables(w)) {
+      return NULL;
+    }
+  }
+  return galois_div_tables[w];
+}
+
+int *galois_get_log_table(int w)
+{
+  if (galois_log_tables[w] == NULL) {
+    if (galois_create_log_tables(w)) {
+      return NULL;
+    }
+  }
+  return galois_log_tables[w];
+}
+
+int *galois_get_ilog_table(int w)
+{
+  if (galois_ilog_tables[w] == NULL) {
+    if (galois_create_log_tables(w)) {
+      return NULL;
+    }
+  }
+  return galois_ilog_tables[w];
+}
+
+void galois_w32_region_multiply(char *region,      /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,        /* Number of bytes in region */
+                                  char *r2,          /* If r2 != NULL, products go here */
+                                  int add)
+{
+  unsigned int *ur1, *ur2;
+  int i, j, a, b, accumulator, i8, j8, k;
+  int acache[4];
+
+  ur1 = (unsigned int *) region;
+  ur2 = (r2 == NULL) ? ur1 : (unsigned int *) r2;
+  nbytes /= sizeof(int);
+
+  if (galois_split_w8[0]== NULL) {
+    if (galois_create_split_w8_tables() < 0) {
+      fprintf(stderr, "galois_32_region_multiply -- couldn't make split multiplication tables\n");
+      exit(1);
+    }
+  }
+
+  /* If we're overwriting r2, then we can't do better than just calling split_multiply.
+     We'll inline it here to save on the procedure call overhead */
+
+  i8 = 0;
+  for (i = 0; i < 4; i++) {
+    acache[i] = (((multby >> i8) & 255) << 8);
+    i8 += 8;
+  }
+  if (!add) {
+    for (k = 0; k < nbytes; k++) {
+      accumulator = 0;
+      for (i = 0; i < 4; i++) {
+        a = acache[i];
+        j8 = 0;
+        for (j = 0; j < 4; j++) {
+          b = ((ur1[k] >> j8) & 255);
+          accumulator ^= galois_split_w8[i+j][a|b];
+          j8 += 8;
+        }
+      }
+      ur2[k] = accumulator;
+    }
+  } else {
+    for (k = 0; k < nbytes; k++) {
+      accumulator = 0;
+      for (i = 0; i < 4; i++) {
+        a = acache[i];
+        j8 = 0;
+        for (j = 0; j < 4; j++) {
+          b = ((ur1[k] >> j8) & 255);
+          accumulator ^= galois_split_w8[i+j][a|b];
+          j8 += 8;
+        }
+      }
+      ur2[k] = (ur2[k] ^ accumulator);
+    }
+  }
+  return;
+
+}
+
+void galois_region_xor(           char *r1,         /* Region 1 */
+                                  char *r2,         /* Region 2 */
+                                  char *r3,         /* Sum region (r3 = r1 ^ r2) -- can be r1 or r2 */
+                                  int nbytes)       /* Number of bytes in region */
+{
+  long *l1;
+  long *l2;
+  long *l3;
+  long *ltop;
+  char *ctop;
+  
+  ctop = r1 + nbytes;
+  ltop = (long *) ctop;
+  l1 = (long *) r1;
+  l2 = (long *) r2;
+  l3 = (long *) r3;
+ 
+  while (l1 < ltop) {
+    *l3 = ((*l1)  ^ (*l2));
+    l1++;
+    l2++;
+    l3++;
+  }
+}
+
+int galois_create_split_w8_tables()
+{
+  int p1, p2, i, j, p1elt, p2elt, index, ishift, jshift, *table;
+
+  if (galois_split_w8[0] != NULL) return 0;
+
+  if (galois_create_mult_tables(8) < 0) return -1;
+
+  for (i = 0; i < 7; i++) {
+    galois_split_w8[i] = (int *) malloc(sizeof(int) * (1 << 16));
+    if (galois_split_w8[i] == NULL) {
+      for (i--; i >= 0; i--) free(galois_split_w8[i]);
+      return -1;
+    }
+  }
+
+  for (i = 0; i < 4; i += 3) {
+    ishift = i * 8;
+    for (j = ((i == 0) ? 0 : 1) ; j < 4; j++) {
+      jshift = j * 8;
+      table = galois_split_w8[i+j];
+      index = 0;
+      for (p1 = 0; p1 < 256; p1++) {
+        p1elt = (p1 << ishift);
+        for (p2 = 0; p2 < 256; p2++) {
+          p2elt = (p2 << jshift);
+          table[index] = galois_shift_multiply(p1elt, p2elt, 32);
+          index++;
+        }
+      }
+    }
+  }
+  return 0;
+}
+
+int galois_split_w8_multiply(int x, int y)
+{
+  int i, j, a, b, accumulator, i8, j8;
+
+  accumulator = 0;
+  
+  i8 = 0;
+  for (i = 0; i < 4; i++) {
+    a = (((x >> i8) & 255) << 8);
+    j8 = 0;
+    for (j = 0; j < 4; j++) {
+      b = ((y >> j8) & 255);
+      accumulator ^= galois_split_w8[i+j][a|b];
+      j8 += 8;
+    }
+    i8 += 8;
+  }
+  return accumulator;
+}
diff --git a/src/osd/ErasureCodePluginJerasure/galois.h b/src/osd/ErasureCodePluginJerasure/galois.h
new file mode 100755
index 0000000..b08fd94
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/galois.h
@@ -0,0 +1,111 @@
+/* Galois.h
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+#ifndef _GALOIS_H
+#define _GALOIS_H
+
+#include <stdio.h>
+#include <stdlib.h>
+
+extern int galois_single_multiply(int a, int b, int w);
+extern int galois_single_divide(int a, int b, int w);
+extern int galois_log(int value, int w);
+extern int galois_ilog(int value, int w);
+
+extern int galois_create_log_tables(int w);   /* Returns 0 on success, -1 on failure */
+extern int galois_logtable_multiply(int x, int y, int w);
+extern int galois_logtable_divide(int x, int y, int w);
+
+extern int galois_create_mult_tables(int w);   /* Returns 0 on success, -1 on failure */
+extern int galois_multtable_multiply(int x, int y, int w);
+extern int galois_multtable_divide(int x, int y, int w);
+
+extern int galois_shift_multiply(int x, int y, int w);
+extern int galois_shift_divide(int x, int y, int w);
+
+extern int galois_create_split_w8_tables();
+extern int galois_split_w8_multiply(int x, int y);
+
+extern int galois_inverse(int x, int w);
+extern int galois_shift_inverse(int y, int w);
+
+extern int *galois_get_mult_table(int w);
+extern int *galois_get_div_table(int w);
+extern int *galois_get_log_table(int w);
+extern int *galois_get_ilog_table(int w);
+
+void galois_region_xor(           char *r1,         /* Region 1 */
+                                  char *r2,         /* Region 2 */
+                                  char *r3,         /* Sum region (r3 = r1 ^ r2) -- can be r1 or r2 */
+                                  int nbytes);      /* Number of bytes in region */
+
+/* These multiply regions in w=8, w=16 and w=32.  They are much faster
+   than calling galois_single_multiply.  The regions must be long word aligned. */
+
+void galois_w08_region_multiply(char *region,       /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,       /* Number of bytes in region */
+                                  char *r2,         /* If r2 != NULL, products go here.  
+                                                       Otherwise region is overwritten */
+                                  int add);         /* If (r2 != NULL && add) the produce is XOR'd with r2 */
+
+void galois_w16_region_multiply(char *region,       /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,       /* Number of bytes in region */
+                                  char *r2,         /* If r2 != NULL, products go here.  
+                                                       Otherwise region is overwritten */
+                                  int add);         /* If (r2 != NULL && add) the produce is XOR'd with r2 */
+
+void galois_w32_region_multiply(char *region,       /* Region to multiply */
+                                  int multby,       /* Number to multiply by */
+                                  int nbytes,       /* Number of bytes in region */
+                                  char *r2,         /* If r2 != NULL, products go here.  
+                                                       Otherwise region is overwritten */
+                                  int add);         /* If (r2 != NULL && add) the produce is XOR'd with r2 */
+
+#endif
diff --git a/src/osd/ErasureCodePluginJerasure/jerasure.c b/src/osd/ErasureCodePluginJerasure/jerasure.c
new file mode 100755
index 0000000..d5752a8
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/jerasure.c
@@ -0,0 +1,1376 @@
+/* jerasure.c
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "galois.h"
+#include "jerasure.h"
+
+#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
+
+static double jerasure_total_xor_bytes = 0;
+static double jerasure_total_gf_bytes = 0;
+static double jerasure_total_memcpy_bytes = 0;
+
+void jerasure_print_matrix(int *m, int rows, int cols, int w)
+{
+  int i, j;
+  int fw;
+  char s[30];
+  unsigned int w2;
+
+  if (w == 32) {
+    fw = 10;
+  } else {
+    w2 = (1 << w);
+    sprintf(s, "%u", w2-1);
+    fw = strlen(s);
+  }
+
+  for (i = 0; i < rows; i++) {
+    for (j = 0; j < cols; j++) {
+      if (j != 0) printf(" ");
+      printf("%*u", fw, m[i*cols+j]); 
+    }
+    printf("\n");
+  }
+}
+
+void jerasure_print_bitmatrix(int *m, int rows, int cols, int w)
+{
+  int i, j;
+
+  for (i = 0; i < rows; i++) {
+    if (i != 0 && i%w == 0) printf("\n");
+    for (j = 0; j < cols; j++) {
+      if (j != 0 && j%w == 0) printf(" ");
+      printf("%d", m[i*cols+j]); 
+    }
+    printf("\n");
+  }
+}
+
+int jerasure_make_decoding_matrix(int k, int m, int w, int *matrix, int *erased, int *decoding_matrix, int *dm_ids)
+{
+  int i, j, *tmpmat;
+
+  j = 0;
+  for (i = 0; j < k; i++) {
+    if (erased[i] == 0) {
+      dm_ids[j] = i;
+      j++;
+    }
+  }
+
+  tmpmat = talloc(int, k*k);
+  if (tmpmat == NULL) { return -1; }
+  for (i = 0; i < k; i++) {
+    if (dm_ids[i] < k) {
+      for (j = 0; j < k; j++) tmpmat[i*k+j] = 0;
+      tmpmat[i*k+dm_ids[i]] = 1;
+    } else {
+      for (j = 0; j < k; j++) {
+        tmpmat[i*k+j] = matrix[(dm_ids[i]-k)*k+j];
+      }
+    }
+  }
+
+  i = jerasure_invert_matrix(tmpmat, decoding_matrix, k, w);
+  free(tmpmat);
+  return i;
+}
+
+/* Internal Routine */
+int jerasure_make_decoding_bitmatrix(int k, int m, int w, int *matrix, int *erased, int *decoding_matrix, int *dm_ids)
+{
+  int i, j, *tmpmat;
+  int index, mindex;
+
+  j = 0;
+  for (i = 0; j < k; i++) {
+    if (erased[i] == 0) {
+      dm_ids[j] = i;
+      j++;
+    }
+  }
+
+  tmpmat = talloc(int, k*k*w*w);
+  if (tmpmat == NULL) { return -1; }
+  for (i = 0; i < k; i++) {
+    if (dm_ids[i] < k) {
+      index = i*k*w*w;
+      for (j = 0; j < k*w*w; j++) tmpmat[index+j] = 0;
+      index = i*k*w*w+dm_ids[i]*w;
+      for (j = 0; j < w; j++) {
+        tmpmat[index] = 1;
+        index += (k*w+1);
+      }
+    } else {
+      index = i*k*w*w;
+      mindex = (dm_ids[i]-k)*k*w*w;
+      for (j = 0; j < k*w*w; j++) {
+        tmpmat[index+j] = matrix[mindex+j];
+      }
+    }
+  }
+
+  i = jerasure_invert_bitmatrix(tmpmat, decoding_matrix, k*w);
+  free(tmpmat);
+  return i;
+}
+
+int jerasure_matrix_decode(int k, int m, int w, int *matrix, int row_k_ones, int *erasures,
+                          char **data_ptrs, char **coding_ptrs, int size)
+{
+  int i, edd, lastdrive;
+  int *tmpids;
+  int *erased, *decoding_matrix, *dm_ids;
+
+  if (w != 8 && w != 16 && w != 32) return -1;
+
+  erased = jerasure_erasures_to_erased(k, m, erasures);
+  if (erased == NULL) return -1;
+
+  /* Find the number of data drives failed */
+
+  lastdrive = k;
+
+  edd = 0;
+  for (i = 0; i < k; i++) {
+    if (erased[i]) {
+      edd++;
+      lastdrive = i;
+    }
+  }
+    
+  /* You only need to create the decoding matrix in the following cases:
+
+      1. edd > 0 and row_k_ones is false.
+      2. edd > 0 and row_k_ones is true and coding device 0 has been erased.
+      3. edd > 1
+
+      We're going to use lastdrive to denote when to stop decoding data.
+      At this point in the code, it is equal to the last erased data device.
+      However, if we can't use the parity row to decode it (i.e. row_k_ones=0
+         or erased[k] = 1, we're going to set it to k so that the decoding 
+         pass will decode all data.
+   */
+
+  if (!row_k_ones || erased[k]) lastdrive = k;
+
+  dm_ids = NULL;
+  decoding_matrix = NULL;
+
+  if (edd > 1 || (edd > 0 && (!row_k_ones || erased[k]))) {
+    dm_ids = talloc(int, k);
+    if (dm_ids == NULL) {
+      free(erased);
+      return -1;
+    }
+
+    decoding_matrix = talloc(int, k*k);
+    if (decoding_matrix == NULL) {
+      free(erased);
+      free(dm_ids);
+      return -1;
+    }
+
+    if (jerasure_make_decoding_matrix(k, m, w, matrix, erased, decoding_matrix, dm_ids) < 0) {
+      free(erased);
+      free(dm_ids);
+      free(decoding_matrix);
+      return -1;
+    }
+  }
+
+  /* Decode the data drives.  
+     If row_k_ones is true and coding device 0 is intact, then only decode edd-1 drives.
+     This is done by stopping at lastdrive.
+     We test whether edd > 0 so that we can exit the loop early if we're done.
+   */
+
+  for (i = 0; edd > 0 && i < lastdrive; i++) {
+    if (erased[i]) {
+      jerasure_matrix_dotprod(k, w, decoding_matrix+(i*k), dm_ids, i, data_ptrs, coding_ptrs, size);
+      edd--;
+    }
+  }
+
+  /* Then if necessary, decode drive lastdrive */
+
+  if (edd > 0) {
+    tmpids = talloc(int, k);
+    for (i = 0; i < k; i++) {
+      tmpids[i] = (i < lastdrive) ? i : i+1;
+    }
+    jerasure_matrix_dotprod(k, w, matrix, tmpids, lastdrive, data_ptrs, coding_ptrs, size);
+    free(tmpids);
+  }
+  
+  /* Finally, re-encode any erased coding devices */
+
+  for (i = 0; i < m; i++) {
+    if (erased[k+i]) {
+      jerasure_matrix_dotprod(k, w, matrix+(i*k), NULL, i+k, data_ptrs, coding_ptrs, size);
+    }
+  }
+
+  free(erased);
+  if (dm_ids != NULL) free(dm_ids);
+  if (decoding_matrix != NULL) free(decoding_matrix);
+
+  return 0;
+}
+
+
+int *jerasure_matrix_to_bitmatrix(int k, int m, int w, int *matrix) 
+{
+  int *bitmatrix;
+  int rowelts, rowindex, colindex, elt, i, j, l, x;
+
+  bitmatrix = talloc(int, k*m*w*w);
+  if (bitmatrix == NULL) { return NULL; }
+
+  rowelts = k * w;
+  rowindex = 0;
+
+  for (i = 0; i < m; i++) {
+    colindex = rowindex;
+    for (j = 0; j < k; j++) {
+      elt = matrix[i*k+j];
+      for (x = 0; x < w; x++) {
+        for (l = 0; l < w; l++) {
+          bitmatrix[colindex+x+l*rowelts] = ((elt & (1 << l)) ? 1 : 0);
+        }
+        elt = galois_single_multiply(elt, 2, w);
+      }
+      colindex += w;
+    }
+    rowindex += rowelts * w;
+  }
+  return bitmatrix;
+}
+
+void jerasure_matrix_encode(int k, int m, int w, int *matrix,
+                          char **data_ptrs, char **coding_ptrs, int size)
+{
+  int i;
+  
+  if (w != 8 && w != 16 && w != 32) {
+    fprintf(stderr, "ERROR: jerasure_matrix_encode() and w is not 8, 16 or 32\n");
+    exit(1);
+  }
+
+  for (i = 0; i < m; i++) {
+    jerasure_matrix_dotprod(k, w, matrix+(i*k), NULL, k+i, data_ptrs, coding_ptrs, size);
+  }
+}
+
+void jerasure_bitmatrix_dotprod(int k, int w, int *bitmatrix_row,
+                             int *src_ids, int dest_id,
+                             char **data_ptrs, char **coding_ptrs, int size, int packetsize)
+{
+  int j, sindex, pstarted, index, x, y;
+  char *dptr, *pptr, *bdptr, *bpptr;
+
+  if (size%(w*packetsize) != 0) {
+    fprintf(stderr, "jerasure_bitmatrix_dotprod - size%c(w*packetsize)) must = 0\n", '%');
+    exit(1);
+  }
+
+  bpptr = (dest_id < k) ? data_ptrs[dest_id] : coding_ptrs[dest_id-k];
+
+  for (sindex = 0; sindex < size; sindex += (packetsize*w)) {
+    index = 0;
+    for (j = 0; j < w; j++) {
+      pstarted = 0;
+      pptr = bpptr + sindex + j*packetsize;
+      for (x = 0; x < k; x++) {
+        if (src_ids == NULL) {
+          bdptr = data_ptrs[x];
+        } else if (src_ids[x] < k) {
+          bdptr = data_ptrs[src_ids[x]];
+        } else {
+          bdptr = coding_ptrs[src_ids[x]-k];
+        }
+        for (y = 0; y < w; y++) {
+          if (bitmatrix_row[index]) {
+            dptr = bdptr + sindex + y*packetsize;
+            if (!pstarted) {
+              memcpy(pptr, dptr, packetsize);
+              jerasure_total_memcpy_bytes += packetsize;
+              pstarted = 1;
+            } else {
+              galois_region_xor(pptr, dptr, pptr, packetsize);
+              jerasure_total_xor_bytes += packetsize;
+            }
+          }
+          index++;
+        }
+      }
+    }
+  }
+}
+
+void jerasure_do_parity(int k, char **data_ptrs, char *parity_ptr, int size) 
+{
+  int i;
+
+  memcpy(parity_ptr, data_ptrs[0], size);
+  jerasure_total_memcpy_bytes += size;
+  
+  for (i = 1; i < k; i++) {
+    galois_region_xor(data_ptrs[i], parity_ptr, parity_ptr, size);
+    jerasure_total_xor_bytes += size;
+  }
+}
+
+int jerasure_invert_matrix(int *mat, int *inv, int rows, int w)
+{
+  int cols, i, j, k, x, rs2;
+  int row_start, tmp, inverse;
+ 
+  cols = rows;
+
+  k = 0;
+  for (i = 0; i < rows; i++) {
+    for (j = 0; j < cols; j++) {
+      inv[k] = (i == j) ? 1 : 0;
+      k++;
+    }
+  }
+
+  /* First -- convert into upper triangular  */
+  for (i = 0; i < cols; i++) {
+    row_start = cols*i;
+
+    /* Swap rows if we ave a zero i,i element.  If we can't swap, then the 
+       matrix was not invertible  */
+
+    if (mat[row_start+i] == 0) { 
+      for (j = i+1; j < rows && mat[cols*j+i] == 0; j++) ;
+      if (j == rows) return -1;
+      rs2 = j*cols;
+      for (k = 0; k < cols; k++) {
+        tmp = mat[row_start+k];
+        mat[row_start+k] = mat[rs2+k];
+        mat[rs2+k] = tmp;
+        tmp = inv[row_start+k];
+        inv[row_start+k] = inv[rs2+k];
+        inv[rs2+k] = tmp;
+      }
+    }
+ 
+    /* Multiply the row by 1/element i,i  */
+    tmp = mat[row_start+i];
+    if (tmp != 1) {
+      inverse = galois_single_divide(1, tmp, w);
+      for (j = 0; j < cols; j++) { 
+        mat[row_start+j] = galois_single_multiply(mat[row_start+j], inverse, w);
+        inv[row_start+j] = galois_single_multiply(inv[row_start+j], inverse, w);
+      }
+    }
+
+    /* Now for each j>i, add A_ji*Ai to Aj  */
+    k = row_start+i;
+    for (j = i+1; j != cols; j++) {
+      k += cols;
+      if (mat[k] != 0) {
+        if (mat[k] == 1) {
+          rs2 = cols*j;
+          for (x = 0; x < cols; x++) {
+            mat[rs2+x] ^= mat[row_start+x];
+            inv[rs2+x] ^= inv[row_start+x];
+          }
+        } else {
+          tmp = mat[k];
+          rs2 = cols*j;
+          for (x = 0; x < cols; x++) {
+            mat[rs2+x] ^= galois_single_multiply(tmp, mat[row_start+x], w);
+            inv[rs2+x] ^= galois_single_multiply(tmp, inv[row_start+x], w);
+          }
+        }
+      }
+    }
+  }
+
+  /* Now the matrix is upper triangular.  Start at the top and multiply down  */
+
+  for (i = rows-1; i >= 0; i--) {
+    row_start = i*cols;
+    for (j = 0; j < i; j++) {
+      rs2 = j*cols;
+      if (mat[rs2+i] != 0) {
+        tmp = mat[rs2+i];
+        mat[rs2+i] = 0; 
+        for (k = 0; k < cols; k++) {
+          inv[rs2+k] ^= galois_single_multiply(tmp, inv[row_start+k], w);
+        }
+      }
+    }
+  }
+  return 0;
+}
+
+int jerasure_invertible_matrix(int *mat, int rows, int w)
+{
+  int cols, i, j, k, x, rs2;
+  int row_start, tmp, inverse;
+ 
+  cols = rows;
+
+  /* First -- convert into upper triangular  */
+  for (i = 0; i < cols; i++) {
+    row_start = cols*i;
+
+    /* Swap rows if we ave a zero i,i element.  If we can't swap, then the 
+       matrix was not invertible  */
+
+    if (mat[row_start+i] == 0) { 
+      for (j = i+1; j < rows && mat[cols*j+i] == 0; j++) ;
+      if (j == rows) return 0;
+      rs2 = j*cols;
+      for (k = 0; k < cols; k++) {
+        tmp = mat[row_start+k];
+        mat[row_start+k] = mat[rs2+k];
+        mat[rs2+k] = tmp;
+      }
+    }
+ 
+    /* Multiply the row by 1/element i,i  */
+    tmp = mat[row_start+i];
+    if (tmp != 1) {
+      inverse = galois_single_divide(1, tmp, w);
+      for (j = 0; j < cols; j++) { 
+        mat[row_start+j] = galois_single_multiply(mat[row_start+j], inverse, w);
+      }
+    }
+
+    /* Now for each j>i, add A_ji*Ai to Aj  */
+    k = row_start+i;
+    for (j = i+1; j != cols; j++) {
+      k += cols;
+      if (mat[k] != 0) {
+        if (mat[k] == 1) {
+          rs2 = cols*j;
+          for (x = 0; x < cols; x++) {
+            mat[rs2+x] ^= mat[row_start+x];
+          }
+        } else {
+          tmp = mat[k];
+          rs2 = cols*j;
+          for (x = 0; x < cols; x++) {
+            mat[rs2+x] ^= galois_single_multiply(tmp, mat[row_start+x], w);
+          }
+        }
+      }
+    }
+  }
+  return 1;
+}
+
+/* Converts a list-style version of the erasures into an array of k+m elements
+   where the element = 1 if the index has been erased, and zero otherwise */
+
+int *jerasure_erasures_to_erased(int k, int m, int *erasures)
+{
+  int td;
+  int t_non_erased;
+  int *erased;
+  int i;
+
+  td = k+m;
+  erased = talloc(int, td);
+  if (erased == NULL) return NULL;
+  t_non_erased = td;
+
+  for (i = 0; i < td; i++) erased[i] = 0;
+
+  for (i = 0; erasures[i] != -1; i++) {
+    if (erased[erasures[i]] == 0) {
+      erased[erasures[i]] = 1;
+      t_non_erased--;
+      if (t_non_erased < k) {
+        free(erased);
+        return NULL;
+      }
+    }
+  }
+  return erased;
+}
+  
+void jerasure_free_schedule(int **schedule)
+{
+  int i;
+
+  for (i = 0; schedule[i][0] >= 0; i++) free(schedule[i]);
+  free(schedule[i]);
+  free(schedule);
+}
+
+void jerasure_free_schedule_cache(int k, int m, int ***cache)
+{
+  int e1, e2;
+
+  if (m != 2) {
+    fprintf(stderr, "jerasure_free_schedule_cache(): m must equal 2\n");
+    exit(1);
+  }
+
+  for (e1 = 0; e1 < k+m; e1++) {
+    for (e2 = 0; e2 < e1; e2++) {
+      jerasure_free_schedule(cache[e1*(k+m)+e2]);
+    }
+    jerasure_free_schedule(cache[e1*(k+m)+e1]);
+  }
+  free(cache);
+}
+
+void jerasure_matrix_dotprod(int k, int w, int *matrix_row,
+                          int *src_ids, int dest_id,
+                          char **data_ptrs, char **coding_ptrs, int size)
+{
+  int init;
+  char *dptr, *sptr;
+  int i;
+
+  if (w != 1 && w != 8 && w != 16 && w != 32) {
+    fprintf(stderr, "ERROR: jerasure_matrix_dotprod() called and w is not 1, 8, 16 or 32\n");
+    exit(1);
+  }
+
+  init = 0;
+
+  dptr = (dest_id < k) ? data_ptrs[dest_id] : coding_ptrs[dest_id-k];
+
+  /* First copy or xor any data that does not need to be multiplied by a factor */
+
+  for (i = 0; i < k; i++) {
+    if (matrix_row[i] == 1) {
+      if (src_ids == NULL) {
+        sptr = data_ptrs[i];
+      } else if (src_ids[i] < k) {
+        sptr = data_ptrs[src_ids[i]];
+      } else {
+        sptr = coding_ptrs[src_ids[i]-k];
+      }
+      if (init == 0) {
+        memcpy(dptr, sptr, size);
+        jerasure_total_memcpy_bytes += size;
+        init = 1;
+      } else {
+        galois_region_xor(sptr, dptr, dptr, size);
+        jerasure_total_xor_bytes += size;
+      }
+    }
+  }
+
+  /* Now do the data that needs to be multiplied by a factor */
+
+  for (i = 0; i < k; i++) {
+    if (matrix_row[i] != 0 && matrix_row[i] != 1) {
+      if (src_ids == NULL) {
+        sptr = data_ptrs[i];
+      } else if (src_ids[i] < k) {
+        sptr = data_ptrs[src_ids[i]];
+      } else {
+        sptr = coding_ptrs[src_ids[i]-k];
+      }
+      switch (w) {
+        case 8:  galois_w08_region_multiply(sptr, matrix_row[i], size, dptr, init); break;
+        case 16: galois_w16_region_multiply(sptr, matrix_row[i], size, dptr, init); break;
+        case 32: galois_w32_region_multiply(sptr, matrix_row[i], size, dptr, init); break;
+      }
+      jerasure_total_gf_bytes += size;
+      init = 1;
+    }
+  }
+}
+
+
+int jerasure_bitmatrix_decode(int k, int m, int w, int *bitmatrix, int row_k_ones, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize)
+{
+  int i;
+  int *erased;
+  int *decoding_matrix;
+  int *dm_ids;
+  int edd, *tmpids, lastdrive;
+  
+  erased = jerasure_erasures_to_erased(k, m, erasures);
+  if (erased == NULL) return -1;
+
+  /* See jerasure_matrix_decode for the logic of this routine.  This one works just like
+     it, but calls the bitmatrix ops instead */
+
+  lastdrive = k;
+    
+  edd = 0;
+  for (i = 0; i < k; i++) {
+    if (erased[i]) {
+      edd++;
+      lastdrive = i;
+    } 
+  }
+
+  if (row_k_ones != 1 || erased[k]) lastdrive = k;
+  
+  dm_ids = NULL;
+  decoding_matrix = NULL;
+  
+  if (edd > 1 || (edd > 0 && (row_k_ones != 1 || erased[k]))) {
+
+    dm_ids = talloc(int, k);
+    if (dm_ids == NULL) {
+      free(erased);
+      return -1;
+    }
+  
+    decoding_matrix = talloc(int, k*k*w*w);
+    if (decoding_matrix == NULL) {
+      free(erased);
+      free(dm_ids);
+      return -1;
+    }
+  
+    if (jerasure_make_decoding_bitmatrix(k, m, w, bitmatrix, erased, decoding_matrix, dm_ids) < 0) {
+      free(erased);
+      free(dm_ids);
+      free(decoding_matrix);
+      return -1;
+    }
+  }
+
+  for (i = 0; edd > 0 && i < lastdrive; i++) {
+    if (erased[i]) {
+      jerasure_bitmatrix_dotprod(k, w, decoding_matrix+i*k*w*w, dm_ids, i, data_ptrs, coding_ptrs, size, packetsize);
+      edd--;
+    }
+  }
+
+  if (edd > 0) {
+    tmpids = talloc(int, k);
+    for (i = 0; i < k; i++) {
+      tmpids[i] = (i < lastdrive) ? i : i+1;
+    }
+    jerasure_bitmatrix_dotprod(k, w, bitmatrix, tmpids, lastdrive, data_ptrs, coding_ptrs, size, packetsize);
+    free(tmpids);
+  }
+
+  for (i = 0; i < m; i++) {
+    if (erased[k+i]) {
+      jerasure_bitmatrix_dotprod(k, w, bitmatrix+i*k*w*w, NULL, k+i, data_ptrs, coding_ptrs, size, packetsize);
+    }
+  }
+
+  free(erased);
+  if (dm_ids != NULL) free(dm_ids);
+  if (decoding_matrix != NULL) free(decoding_matrix);
+
+  return 0;
+}
+
+static char **set_up_ptrs_for_scheduled_decoding(int k, int m, int *erasures, char **data_ptrs, char **coding_ptrs)
+{
+  int ddf, cdf;
+  int *erased;
+  char **ptrs;
+  int i, j, x;
+
+  ddf = 0;
+  cdf = 0;
+  for (i = 0; erasures[i] != -1; i++) {
+    if (erasures[i] < k) ddf++; else cdf++;
+  }
+  
+  erased = jerasure_erasures_to_erased(k, m, erasures);
+  if (erased == NULL) return NULL;
+
+  /* Set up ptrs.  It will be as follows:
+
+       - If data drive i has not failed, then ptrs[i] = data_ptrs[i].
+       - If data drive i has failed, then ptrs[i] = coding_ptrs[j], where j is the 
+            lowest unused non-failed coding drive.
+       - Elements k to k+ddf-1 are data_ptrs[] of the failed data drives.
+       - Elements k+ddf to k+ddf+cdf-1 are coding_ptrs[] of the failed data drives.
+
+       The array row_ids contains the ids of ptrs.
+       The array ind_to_row_ids contains the row_id of drive i.
+  
+       However, we're going to set row_ids and ind_to_row in a different procedure.
+   */
+         
+  ptrs = talloc(char *, k+m);
+
+  j = k;
+  x = k;
+  for (i = 0; i < k; i++) {
+    if (erased[i] == 0) {
+      ptrs[i] = data_ptrs[i];
+    } else {
+      while (erased[j]) j++;
+      ptrs[i] = coding_ptrs[j-k];
+      j++;
+      ptrs[x] = data_ptrs[i];
+      x++;
+    }
+  }
+  for (i = k; i < k+m; i++) {
+    if (erased[i]) {
+      ptrs[x] = coding_ptrs[i-k];
+      x++;
+    }
+  }
+  free(erased);
+  return ptrs;
+}
+
+static int set_up_ids_for_scheduled_decoding(int k, int m, int *erasures, int *row_ids, int *ind_to_row)
+{
+  int ddf, cdf;
+  int *erased;
+  int i, j, x;
+
+  ddf = 0;
+  cdf = 0;
+  for (i = 0; erasures[i] != -1; i++) {
+    if (erasures[i] < k) ddf++; else cdf++;
+  }
+  
+  erased = jerasure_erasures_to_erased(k, m, erasures);
+  if (erased == NULL) return -1;
+
+  /* See set_up_ptrs_for_scheduled_decoding for how these are set */
+
+  j = k;
+  x = k;
+  for (i = 0; i < k; i++) {
+    if (erased[i] == 0) {
+      row_ids[i] = i;
+      ind_to_row[i] = i;
+    } else {
+      while (erased[j]) j++;
+      row_ids[i] = j;
+      ind_to_row[j] = i;
+      j++;
+      row_ids[x] = i;
+      ind_to_row[i] = x;
+      x++;
+    }
+  }
+  for (i = k; i < k+m; i++) {
+    if (erased[i]) {
+      row_ids[x] = i;
+      ind_to_row[i] = x;
+      x++;
+    }
+  }
+  free(erased);
+  return 0;
+}
+
+static int **jerasure_generate_decoding_schedule(int k, int m, int w, int *bitmatrix, int *erasures, int smart)
+{
+  int i, j, x, drive, y, index, z;
+  int *decoding_matrix, *inverse, *real_decoding_matrix;
+  int *ptr;
+  int *row_ids;
+  int *ind_to_row;
+  int ddf, cdf;
+  int **schedule;
+  int *b1, *b2;
+ 
+ /* First, figure out the number of data drives that have failed, and the
+    number of coding drives that have failed: ddf and cdf */
+
+  ddf = 0;
+  cdf = 0;
+  for (i = 0; erasures[i] != -1; i++) {
+    if (erasures[i] < k) ddf++; else cdf++;
+  }
+  
+  row_ids = talloc(int, k+m);
+  ind_to_row = talloc(int, k+m);
+
+  if (set_up_ids_for_scheduled_decoding(k, m, erasures, row_ids, ind_to_row) < 0) return NULL;
+
+  /* Now, we're going to create one decoding matrix which is going to 
+     decode everything with one call.  The hope is that the scheduler
+     will do a good job.    This matrix has w*e rows, where e is the
+     number of erasures (ddf+cdf) */
+
+  real_decoding_matrix = talloc(int, k*w*(cdf+ddf)*w);
+
+  /* First, if any data drives have failed, then initialize the first
+     ddf*w rows of the decoding matrix from the standard decoding
+     matrix inversion */
+
+  if (ddf > 0) {
+    
+    decoding_matrix = talloc(int, k*k*w*w);
+    ptr = decoding_matrix;
+    for (i = 0; i < k; i++) {
+      if (row_ids[i] == i) {
+        bzero(ptr, k*w*w*sizeof(int));
+        for (x = 0; x < w; x++) {
+          ptr[x+i*w+x*k*w] = 1;
+        } 
+      } else {
+        memcpy(ptr, bitmatrix+k*w*w*(row_ids[i]-k), k*w*w*sizeof(int));
+      }
+      ptr += (k*w*w);
+    }
+    inverse = talloc(int, k*k*w*w);
+    jerasure_invert_bitmatrix(decoding_matrix, inverse, k*w);
+
+/*    printf("\nMatrix to invert\n");
+    jerasure_print_bitmatrix(decoding_matrix, k*w, k*w, w);
+    printf("\n");
+    printf("\nInverse\n");
+    jerasure_print_bitmatrix(inverse, k*w, k*w, w);
+    printf("\n"); */
+
+    free(decoding_matrix);
+    ptr = real_decoding_matrix;
+    for (i = 0; i < ddf; i++) {
+      memcpy(ptr, inverse+k*w*w*row_ids[k+i], sizeof(int)*k*w*w);
+      ptr += (k*w*w);
+    }
+    free(inverse);
+  } 
+
+  /* Next, here comes the hard part.  For each coding node that needs
+     to be decoded, you start by putting its rows of the distribution
+     matrix into the decoding matrix.  If there were no failed data
+     nodes, then you're done.  However, if there have been failed
+     data nodes, then you need to modify the columns that correspond
+     to the data nodes.  You do that by first zeroing them.  Then
+     whereever there is a one in the distribution matrix, you XOR
+     in the corresponding row from the failed data node's entry in
+     the decoding matrix.  The whole process kind of makes my head
+     spin, but it works.
+   */
+
+  for (x = 0; x < cdf; x++) {
+    drive = row_ids[x+ddf+k]-k;
+    ptr = real_decoding_matrix + k*w*w*(ddf+x);
+    memcpy(ptr, bitmatrix+drive*k*w*w, sizeof(int)*k*w*w);
+
+    for (i = 0; i < k; i++) {
+      if (row_ids[i] != i) {
+        for (j = 0; j < w; j++) {
+          bzero(ptr+j*k*w+i*w, sizeof(int)*w);
+        }
+      }  
+    }
+
+    /* There's the yucky part */
+
+    index = drive*k*w*w;
+    for (i = 0; i < k; i++) {
+      if (row_ids[i] != i) {
+        b1 = real_decoding_matrix+(ind_to_row[i]-k)*k*w*w;
+        for (j = 0; j < w; j++) {
+          b2 = ptr + j*k*w;
+          for (y = 0; y < w; y++) {
+            if (bitmatrix[index+j*k*w+i*w+y]) {
+              for (z = 0; z < k*w; z++) {
+                b2[z] = b2[z] ^ b1[z+y*k*w];
+              }
+            }
+          }
+        }
+      }  
+    }
+  }
+
+/*
+  printf("\n\nReal Decoding Matrix\n\n");
+  jerasure_print_bitmatrix(real_decoding_matrix, (ddf+cdf)*w, k*w, w);
+  printf("\n"); */
+  if (smart) {
+    schedule = jerasure_smart_bitmatrix_to_schedule(k, ddf+cdf, w, real_decoding_matrix);
+  } else {
+    schedule = jerasure_dumb_bitmatrix_to_schedule(k, ddf+cdf, w, real_decoding_matrix);
+  }
+  free(row_ids);
+  free(ind_to_row);
+  free(real_decoding_matrix);
+  return schedule;
+}
+
+int jerasure_schedule_decode_lazy(int k, int m, int w, int *bitmatrix, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize, 
+                            int smart)
+{
+  int i, tdone;
+  char **ptrs;
+  int **schedule;
+ 
+  ptrs = set_up_ptrs_for_scheduled_decoding(k, m, erasures, data_ptrs, coding_ptrs);
+  if (ptrs == NULL) return -1;
+
+  schedule = jerasure_generate_decoding_schedule(k, m, w, bitmatrix, erasures, smart);
+  if (schedule == NULL) {
+    free(ptrs);
+    return -1;
+  }
+
+  for (tdone = 0; tdone < size; tdone += packetsize*w) {
+  jerasure_do_scheduled_operations(ptrs, schedule, packetsize);
+    for (i = 0; i < k+m; i++) ptrs[i] += (packetsize*w);
+  }
+
+  jerasure_free_schedule(schedule);
+  free(ptrs);
+
+  return 0;
+}
+
+int jerasure_schedule_decode_cache(int k, int m, int w, int ***scache, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize)
+{
+  int i, tdone;
+  char **ptrs;
+  int **schedule;
+  int index;
+ 
+  if (erasures[1] == -1) {
+    index = erasures[0]*(k+m) + erasures[0];
+  } else if (erasures[2] == -1) {
+    index = erasures[0]*(k+m) + erasures[1];
+  } else {
+    return -1;
+  }
+
+  schedule = scache[index];
+
+  ptrs = set_up_ptrs_for_scheduled_decoding(k, m, erasures, data_ptrs, coding_ptrs);
+  if (ptrs == NULL) return -1;
+
+
+  for (tdone = 0; tdone < size; tdone += packetsize*w) {
+  jerasure_do_scheduled_operations(ptrs, schedule, packetsize);
+    for (i = 0; i < k+m; i++) ptrs[i] += (packetsize*w);
+  }
+
+  free(ptrs);
+
+  return 0;
+}
+
+/* This only works when m = 2 */
+
+int ***jerasure_generate_schedule_cache(int k, int m, int w, int *bitmatrix, int smart)
+{
+  int ***scache;
+  int erasures[3];
+  int e1, e2;
+ 
+  /* Ok -- this is yucky, but it's how I'm doing it.  You will make an index out
+     of erasures, which will be  e1*(k+m)+(e2).  If there is no e2, then e2 = e1.
+     Isn't that clever and confusing.  Sorry.
+
+     We're not going to worry about ordering -- in other words, the schedule for
+     e1,e2 will be the same as e2,e1.  They will have the same pointer -- the 
+     schedule will not be duplicated. */
+
+  if (m != 2) return NULL;
+
+  scache = talloc(int **, (k+m)*(k+m+1));
+  if (scache == NULL) return NULL;
+  
+  for (e1 = 0; e1 < k+m; e1++) {
+    erasures[0] = e1;
+    for (e2 = 0; e2 < e1; e2++) {
+      erasures[1] = e2;
+      erasures[2] = -1;
+      scache[e1*(k+m)+e2] = jerasure_generate_decoding_schedule(k, m, w, bitmatrix, erasures, smart);
+      scache[e2*(k+m)+e1] = scache[e1*(k+m)+e2];
+    }
+    erasures[1] = -1;
+    scache[e1*(k+m)+e1] = jerasure_generate_decoding_schedule(k, m, w, bitmatrix, erasures, smart);
+  }
+  return scache;
+
+}
+
+int jerasure_invert_bitmatrix(int *mat, int *inv, int rows)
+{
+  int cols, i, j, k;
+  int tmp;
+ 
+  cols = rows;
+
+  k = 0;
+  for (i = 0; i < rows; i++) {
+    for (j = 0; j < cols; j++) {
+      inv[k] = (i == j) ? 1 : 0;
+      k++;
+    }
+  }
+
+  /* First -- convert into upper triangular */
+
+  for (i = 0; i < cols; i++) {
+
+    /* Swap rows if we have a zero i,i element.  If we can't swap, then the 
+       matrix was not invertible */
+
+    if ((mat[i*cols+i]) == 0) { 
+      for (j = i+1; j < rows && (mat[j*cols+i]) == 0; j++) ;
+      if (j == rows) return -1;
+      for (k = 0; k < cols; k++) {
+        tmp = mat[i*cols+k]; mat[i*cols+k] = mat[j*cols+k]; mat[j*cols+k] = tmp;
+        tmp = inv[i*cols+k]; inv[i*cols+k] = inv[j*cols+k]; inv[j*cols+k] = tmp;
+      }
+    }
+ 
+    /* Now for each j>i, add A_ji*Ai to Aj */
+    for (j = i+1; j != rows; j++) {
+      if (mat[j*cols+i] != 0) {
+        for (k = 0; k < cols; k++) {
+          mat[j*cols+k] ^= mat[i*cols+k]; 
+          inv[j*cols+k] ^= inv[i*cols+k];
+        }
+      }
+    }
+  }
+
+  /* Now the matrix is upper triangular.  Start at the top and multiply down */
+
+  for (i = rows-1; i >= 0; i--) {
+    for (j = 0; j < i; j++) {
+      if (mat[j*cols+i]) {
+        for (k = 0; k < cols; k++) {
+          mat[j*cols+k] ^= mat[i*cols+k]; 
+          inv[j*cols+k] ^= inv[i*cols+k];
+        }
+      }
+    }
+  } 
+  return 0;
+}
+
+int jerasure_invertible_bitmatrix(int *mat, int rows)
+{
+  int cols, i, j, k;
+  int tmp;
+ 
+  cols = rows;
+
+  /* First -- convert into upper triangular */
+
+  for (i = 0; i < cols; i++) {
+
+    /* Swap rows if we have a zero i,i element.  If we can't swap, then the 
+       matrix was not invertible */
+
+    if ((mat[i*cols+i]) == 0) { 
+      for (j = i+1; j < rows && (mat[j*cols+i]) == 0; j++) ;
+      if (j == rows) return 0;
+      for (k = 0; k < cols; k++) {
+        tmp = mat[i*cols+k]; mat[i*cols+k] = mat[j*cols+k]; mat[j*cols+k] = tmp;
+      }
+    }
+ 
+    /* Now for each j>i, add A_ji*Ai to Aj */
+    for (j = i+1; j != rows; j++) {
+      if (mat[j*cols+i] != 0) {
+        for (k = 0; k < cols; k++) {
+          mat[j*cols+k] ^= mat[i*cols+k]; 
+        }
+      }
+    }
+  }
+  return 1;
+}
+
+  
+int *jerasure_matrix_multiply(int *m1, int *m2, int r1, int c1, int r2, int c2, int w)
+{
+  int *product, i, j, k;
+
+  product = (int *) malloc(sizeof(int)*r1*c2);
+  for (i = 0; i < r1*c2; i++) product[i] = 0;
+
+  for (i = 0; i < r1; i++) {
+    for (j = 0; j < c2; j++) {
+      for (k = 0; k < r2; k++) {
+        product[i*c2+j] ^= galois_single_multiply(m1[i*c1+k], m2[k*c2+j], w);
+      }
+    }
+  }
+  return product;
+}
+
+void jerasure_get_stats(double *fill_in)
+{
+  fill_in[0] = jerasure_total_xor_bytes;
+  fill_in[1] = jerasure_total_gf_bytes;
+  fill_in[2] = jerasure_total_memcpy_bytes;
+  jerasure_total_xor_bytes = 0;
+  jerasure_total_gf_bytes = 0;
+  jerasure_total_memcpy_bytes = 0;
+}
+
+void jerasure_do_scheduled_operations(char **ptrs, int **operations, int packetsize)
+{
+  char *sptr;
+  char *dptr;
+  int op;
+
+  for (op = 0; operations[op][0] >= 0; op++) {
+    sptr = ptrs[operations[op][0]] + operations[op][1]*packetsize;
+    dptr = ptrs[operations[op][2]] + operations[op][3]*packetsize;
+    if (operations[op][4]) {
+/*      printf("%d,%d %d,%d\n", operations[op][0], 
+      operations[op][1], 
+      operations[op][2], 
+      operations[op][3]); 
+      printf("xor(0x%x, 0x%x -> 0x%x, %d)\n", sptr, dptr, dptr, packetsize); */
+      galois_region_xor(sptr, dptr, dptr, packetsize);
+      jerasure_total_xor_bytes += packetsize;
+    } else {
+/*      printf("memcpy(0x%x <- 0x%x)\n", dptr, sptr); */
+      memcpy(dptr, sptr, packetsize);
+      jerasure_total_memcpy_bytes += packetsize;
+    }
+  }  
+}
+
+void jerasure_schedule_encode(int k, int m, int w, int **schedule,
+                                   char **data_ptrs, char **coding_ptrs, int size, int packetsize)
+{
+  char **ptr_copy;
+  int i, tdone;
+
+  ptr_copy = talloc(char *, (k+m));
+  for (i = 0; i < k; i++) ptr_copy[i] = data_ptrs[i];
+  for (i = 0; i < m; i++) ptr_copy[i+k] = coding_ptrs[i];
+  for (tdone = 0; tdone < size; tdone += packetsize*w) {
+    jerasure_do_scheduled_operations(ptr_copy, schedule, packetsize);
+    for (i = 0; i < k+m; i++) ptr_copy[i] += (packetsize*w);
+  }
+  free(ptr_copy);
+}
+    
+int **jerasure_dumb_bitmatrix_to_schedule(int k, int m, int w, int *bitmatrix)
+{
+  int **operations;
+  int op;
+  int index, optodo, i, j;
+
+  operations = talloc(int *, k*m*w*w+1);
+  op = 0;
+  
+  index = 0;
+  for (i = 0; i < m*w; i++) {
+    optodo = 0;
+    for (j = 0; j < k*w; j++) {
+      if (bitmatrix[index]) {
+        operations[op] = talloc(int, 5);
+        operations[op][4] = optodo;
+        operations[op][0] = j/w;
+        operations[op][1] = j%w;
+        operations[op][2] = k+i/w;
+        operations[op][3] = i%w;
+        optodo = 1;
+        op++;
+        
+      }
+      index++;
+    }
+  }
+  operations[op] = talloc(int, 5);
+  operations[op][0] = -1;
+  return operations;
+}
+
+int **jerasure_smart_bitmatrix_to_schedule(int k, int m, int w, int *bitmatrix)
+{
+  int **operations;
+  int op;
+  int i, j;
+  int *diff, *from, *b1, *flink, *blink;
+  int *ptr, no, row;
+  int optodo;
+  int bestrow = 0, bestdiff, top;
+
+/*   printf("Scheduling:\n\n");
+  jerasure_print_bitmatrix(bitmatrix, m*w, k*w, w); */
+
+  operations = talloc(int *, k*m*w*w+1);
+  op = 0;
+  
+  diff = talloc(int, m*w);
+  from = talloc(int, m*w);
+  flink = talloc(int, m*w);
+  blink = talloc(int, m*w);
+
+  ptr = bitmatrix;
+
+  bestdiff = k*w+1;
+  top = 0;
+  for (i = 0; i < m*w; i++) {
+    no = 0;
+    for (j = 0; j < k*w; j++) {
+      no += *ptr;
+      ptr++;
+    }
+    diff[i] = no;
+    from[i] = -1;
+    flink[i] = i+1;
+    blink[i] = i-1;
+    if (no < bestdiff) {
+      bestdiff = no;
+      bestrow = i;
+    }
+  }
+
+  flink[m*w-1] = -1;
+  
+  while (top != -1) {
+    row = bestrow;
+    /* printf("Doing row %d - %d from %d\n", row, diff[row], from[row]);  */
+
+    if (blink[row] == -1) {
+      top = flink[row];
+      if (top != -1) blink[top] = -1;
+    } else {
+      flink[blink[row]] = flink[row];
+      if (flink[row] != -1) {
+        blink[flink[row]] = blink[row];
+      }
+    }
+
+    ptr = bitmatrix + row*k*w;
+    if (from[row] == -1) {
+      optodo = 0;
+      for (j = 0; j < k*w; j++) {
+        if (ptr[j]) {
+          operations[op] = talloc(int, 5);
+          operations[op][4] = optodo;
+          operations[op][0] = j/w;
+          operations[op][1] = j%w;
+          operations[op][2] = k+row/w;
+          operations[op][3] = row%w;
+          optodo = 1;
+          op++;
+        }
+      }
+    } else {
+      operations[op] = talloc(int, 5);
+      operations[op][4] = 0;
+      operations[op][0] = k+from[row]/w;
+      operations[op][1] = from[row]%w;
+      operations[op][2] = k+row/w;
+      operations[op][3] = row%w;
+      op++;
+      b1 = bitmatrix + from[row]*k*w;
+      for (j = 0; j < k*w; j++) {
+        if (ptr[j] ^ b1[j]) {
+          operations[op] = talloc(int, 5);
+          operations[op][4] = 1;
+          operations[op][0] = j/w;
+          operations[op][1] = j%w;
+          operations[op][2] = k+row/w;
+          operations[op][3] = row%w;
+          optodo = 1;
+          op++;
+        }
+      }
+    }
+    bestdiff = k*w+1;
+    for (i = top; i != -1; i = flink[i]) {
+      no = 1;
+      b1 = bitmatrix + i*k*w;
+      for (j = 0; j < k*w; j++) no += (ptr[j] ^ b1[j]);
+      if (no < diff[i]) {
+        from[i] = row;
+        diff[i] = no;
+      }
+      if (diff[i] < bestdiff) {
+        bestdiff = diff[i];
+        bestrow = i;
+      }
+    }
+  }
+  
+  operations[op] = talloc(int, 5);
+  operations[op][0] = -1;
+  free(from);
+  free(diff);
+  free(blink);
+  free(flink);
+
+  return operations;
+}
+
+void jerasure_bitmatrix_encode(int k, int m, int w, int *bitmatrix,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize)
+{
+  int i;
+
+  if (packetsize%sizeof(long) != 0) {
+    fprintf(stderr, "jerasure_bitmatrix_encode - packetsize(%d) %c sizeof(long) != 0\n", packetsize, '%');
+    exit(1);
+  }
+  if (size%(packetsize*w) != 0) {
+    fprintf(stderr, "jerasure_bitmatrix_encode - size(%d) %c (packetsize(%d)*w(%d))) != 0\n", 
+         size, '%', packetsize, w);
+    exit(1);
+  }
+
+  for (i = 0; i < m; i++) {
+    jerasure_bitmatrix_dotprod(k, w, bitmatrix+i*k*w*w, NULL, k+i, data_ptrs, coding_ptrs, size, packetsize);
+  }
+}
+
diff --git a/src/osd/ErasureCodePluginJerasure/jerasure.h b/src/osd/ErasureCodePluginJerasure/jerasure.h
new file mode 100755
index 0000000..8cc25ca
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/jerasure.h
@@ -0,0 +1,300 @@
+/* jerasure.h - header of kernel procedures
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+#ifndef _JERASURE_H
+#define _JERASURE_H
+
+/* This uses procedures from the Galois Field arithmetic library */
+
+#include "galois.h"
+
+/* ------------------------------------------------------------ */
+/* In all of the routines below:
+
+   k = Number of data devices
+   m = Number of coding devices
+   w = Word size
+
+   data_ptrs = An array of k pointers to data which is size bytes.  
+               Size must be a multiple of sizeof(long).
+               Pointers must also be longword aligned.
+ 
+   coding_ptrs = An array of m pointers to coding data which is size bytes.
+
+   packetsize = The size of a coding block with bitmatrix coding. 
+                When you code with a bitmatrix, you will use w packets
+                of size packetsize.
+
+   matrix = an array of k*m integers.  
+            It represents an m by k matrix.
+            Element i,j is in matrix[i*k+j];
+
+   bitmatrix = an array of k*m*w*w integers.
+            It represents an mw by kw matrix.
+            Element i,j is in matrix[i*k*w+j];
+
+   erasures = an array of id's of erased devices. 
+              Id's are integers between 0 and k+m-1.
+              Id's 0 to k-1 are id's of data devices.
+              Id's k to k+m-1 are id's of coding devices: 
+                  Coding device id = id-k.
+              If there are e erasures, erasures[e] = -1.
+
+   schedule = an array of schedule operations.  
+
+              If there are m operations, then schedule[m][0] = -1.
+
+   operation = an array of 5 integers:
+
+          0 = operation: 0 for copy, 1 for xor (-1 for end)
+          1 = source device (0 - k+m-1)
+          2 = source packet (0 - w-1)
+          3 = destination device (0 - k+m-1)
+          4 = destination packet (0 - w-1)
+ */
+
+/* ---------------------------------------------------------------  */
+/* Bitmatrices / schedules ---------------------------------------- */
+/*
+ - jerasure_matrix_to_bitmatrix turns a m X k matrix in GF(2^w) into a
+                              wm X wk bitmatrix (in GF(2)).  This is
+                              explained in the Cauchy Reed-Solomon coding
+                              paper.
+
+ - jerasure_dumb_bitmatrix_to_schedule turns a bitmatrix into a schedule 
+                              using the straightforward algorithm -- just
+                              schedule the dot products defined by each
+                              row of the matrix.
+
+ - jerasure_smart_bitmatrix_to_schedule turns a bitmatrix into a schedule,
+                              but tries to use previous dot products to
+                              calculate new ones.  This is the optimization
+                              explained in the original Liberation code paper.
+
+ - jerasure_generate_schedule_cache precalcalculate all the schedule for the
+                              given distribution bitmatrix.  M must equal 2.
+ 
+ - jerasure_free_schedule frees a schedule that was allocated with 
+                              jerasure_XXX_bitmatrix_to_schedule.
+ 
+ - jerasure_free_schedule_cache frees a schedule cache that was created with 
+                              jerasure_generate_schedule_cache.
+ */
+
+int *jerasure_matrix_to_bitmatrix(int k, int m, int w, int *matrix);
+int **jerasure_dumb_bitmatrix_to_schedule(int k, int m, int w, int *bitmatrix);
+int **jerasure_smart_bitmatrix_to_schedule(int k, int m, int w, int *bitmatrix);
+int ***jerasure_generate_schedule_cache(int k, int m, int w, int *bitmatrix, int smart);
+
+void jerasure_free_schedule(int **schedule);
+void jerasure_free_schedule_cache(int k, int m, int ***cache);
+
+
+/* ------------------------------------------------------------ */
+/* Encoding - these are all straightforward.  jerasure_matrix_encode only 
+   works with w = 8|16|32.  */
+
+void jerasure_do_parity(int k, char **data_ptrs, char *parity_ptr, int size);
+
+void jerasure_matrix_encode(int k, int m, int w, int *matrix,
+                          char **data_ptrs, char **coding_ptrs, int size);
+
+void jerasure_bitmatrix_encode(int k, int m, int w, int *bitmatrix,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize);
+
+void jerasure_schedule_encode(int k, int m, int w, int **schedule,
+                                  char **data_ptrs, char **coding_ptrs, int size, int packetsize);
+
+/* ------------------------------------------------------------ */
+/* Decoding. -------------------------------------------------- */
+
+/* These return integers, because the matrix may not be invertible. 
+   
+   The parameter row_k_ones should be set to 1 if row k of the matrix
+   (or rows kw to (k+1)w+1) of th distribution matrix are all ones
+   (or all identity matrices).  Then you can improve the performance
+   of decoding when there is more than one failure, and the parity
+   device didn't fail.  You do it by decoding all but one of the data
+   devices, and then decoding the last data device from the data devices
+   and the parity device.
+
+   jerasure_schedule_decode_lazy generates the schedule on the fly.
+
+   jerasure_matrix_decode only works when w = 8|16|32.
+
+   jerasure_make_decoding_matrix/bitmatrix make the k*k decoding matrix
+         (or wk*wk bitmatrix) by taking the rows corresponding to k
+         non-erased devices of the distribution matrix, and then
+         inverting that matrix.
+
+         You should already have allocated the decoding matrix and
+         dm_ids, which is a vector of k integers.  These will be
+         filled in appropriately.  dm_ids[i] is the id of element
+         i of the survivors vector.  I.e. row i of the decoding matrix
+         times dm_ids equals data drive i.
+
+         Both of these routines take "erased" instead of "erasures".
+         Erased is a vector with k+m elements, which has 0 or 1 for 
+         each device's id, according to whether the device is erased.
+ 
+   jerasure_erasures_to_erased allocates and returns erased from erasures.
+    
+ */
+
+int jerasure_matrix_decode(int k, int m, int w, 
+                          int *matrix, int row_k_ones, int *erasures,
+                          char **data_ptrs, char **coding_ptrs, int size);
+                          
+int jerasure_bitmatrix_decode(int k, int m, int w, 
+                            int *bitmatrix, int row_k_ones, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize);
+
+int jerasure_schedule_decode_lazy(int k, int m, int w, int *bitmatrix, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize,
+                            int smart);
+
+int jerasure_schedule_decode_cache(int k, int m, int w, int ***scache, int *erasures,
+                            char **data_ptrs, char **coding_ptrs, int size, int packetsize);
+
+int jerasure_make_decoding_matrix(int k, int m, int w, int *matrix, int *erased, 
+                                  int *decoding_matrix, int *dm_ids);
+
+int jerasure_make_decoding_bitmatrix(int k, int m, int w, int *matrix, int *erased, 
+                                  int *decoding_matrix, int *dm_ids);
+
+int *jerasure_erasures_to_erased(int k, int m, int *erasures);
+
+/* ------------------------------------------------------------ */
+/* These perform dot products and schedules. -------------------*/
+/*
+   src_ids is a matrix of k id's (0 - k-1 for data devices, k - k+m-1
+   for coding devices) that identify the source devices.  Dest_id is
+   the id of the destination device.
+
+   jerasure_matrix_dotprod only works when w = 8|16|32.
+
+   jerasure_do_scheduled_operations executes the schedule on w*packetsize worth of
+   bytes from each device.  ptrs is an array of pointers which should have as many
+   elements as the highest referenced device in the schedule.
+
+ */
+ 
+void jerasure_matrix_dotprod(int k, int w, int *matrix_row,
+                          int *src_ids, int dest_id,
+                          char **data_ptrs, char **coding_ptrs, int size);
+
+void jerasure_bitmatrix_dotprod(int k, int w, int *bitmatrix_row,
+                             int *src_ids, int dest_id,
+                             char **data_ptrs, char **coding_ptrs, int size, int packetsize);
+
+void jerasure_do_scheduled_operations(char **ptrs, int **schedule, int packetsize);
+
+/* ------------------------------------------------------------ */
+/* Matrix Inversion ------------------------------------------- */
+/*
+   The two matrix inversion functions work on rows*rows matrices of
+   ints.  If a bitmatrix, then each int will just be zero or one.
+   Otherwise, they will be elements of gf(2^w).  Obviously, you can
+   do bit matrices with crs_invert_matrix() and set w = 1, but
+   crs_invert_bitmatrix will be more efficient.
+
+   The two invertible functions return whether a matrix is invertible.
+   They are more efficient than the inverstion functions.
+
+   Mat will be destroyed when the matrix inversion or invertible
+   testing is done.  Sorry.
+
+   Inv must be allocated by the caller.
+
+   The two invert_matrix functions return 0 on success, and -1 if the
+   matrix is uninvertible.
+
+   The two invertible function simply return whether the matrix is
+   invertible.  (0 or 1). Mat will be destroyed.
+ */
+
+int jerasure_invert_matrix(int *mat, int *inv, int rows, int w);
+int jerasure_invert_bitmatrix(int *mat, int *inv, int rows);
+int jerasure_invertible_matrix(int *mat, int rows, int w);
+int jerasure_invertible_bitmatrix(int *mat, int rows);
+
+/* ------------------------------------------------------------ */
+/* Basic matrix operations -------------------------------------*/
+/*
+   Each of the print_matrix routines require a w.  In jerasure_print_matrix,
+   this is to calculate the field width.  In jerasure_print_bitmatrix, it is
+   to put spaces between the bits.
+
+   jerasure_matrix_multiply is a simple matrix multiplier in GF(2^w).  It returns a r1*c2
+   matrix, which is the product of the two input matrices.  It allocates
+   the product.  Obviously, c1 should equal r2.  However, this is not
+   validated by the procedure.  
+*/
+
+void jerasure_print_matrix(int *matrix, int rows, int cols, int w);
+void jerasure_print_bitmatrix(int *matrix, int rows, int cols, int w);
+
+
+int *jerasure_matrix_multiply(int *m1, int *m2, int r1, int c1, int r2, int c2, int w);
+
+/* ------------------------------------------------------------ */
+/* Stats ------------------------------------------------------ */
+/*
+  jerasure_get_stats fills in a vector of three doubles:
+
+      fill_in[0] is the number of bytes that have been XOR'd
+      fill_in[1] is the number of bytes that have been copied
+      fill_in[2] is the number of bytes that have been multiplied
+                 by a constant in GF(2^w)
+
+  When jerasure_get_stats() is called, it resets its values.
+ */
+
+void jerasure_get_stats(double *fill_in);
+
+#endif
diff --git a/src/osd/ErasureCodePluginJerasure/liberation.c b/src/osd/ErasureCodePluginJerasure/liberation.c
new file mode 100755
index 0000000..beca10d
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/liberation.c
@@ -0,0 +1,265 @@
+/* liberation.c
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "galois.h"
+#include "jerasure.h"
+#include "liberation.h"
+
+#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
+
+int *liberation_coding_bitmatrix(int k, int w)
+{
+  int *matrix, i, j, index;
+
+  if (k > w) return NULL;
+  matrix = talloc(int, 2*k*w*w);
+  if (matrix == NULL) return NULL;
+  bzero(matrix, sizeof(int)*2*k*w*w);
+  
+  /* Set up identity matrices */
+
+  for(i = 0; i < w; i++) {
+    index = i*k*w+i;
+    for (j = 0; j < k; j++) {
+      matrix[index] = 1;
+      index += w;
+    }
+  }
+
+  /* Set up liberation matrices */
+
+  for (j = 0; j < k; j++) {
+    index = k*w*w+j*w;
+    for (i = 0; i < w; i++) {
+      matrix[index+(j+i)%w] = 1;
+      index += (k*w);
+    }
+    if (j > 0) {
+      i = (j*((w-1)/2))%w;
+      matrix[k*w*w+j*w+i*k*w+(i+j-1)%w] = 1;
+    }
+  }
+  return matrix;
+}
+  
+
+int *liber8tion_coding_bitmatrix(int k)
+{
+  int *matrix, i, j, index;
+  int w;
+
+  w = 8;
+  if (k > w) return NULL;
+  matrix = talloc(int, 2*k*w*w);
+  if (matrix == NULL) return NULL;
+  bzero(matrix, sizeof(int)*2*k*w*w);
+  
+  /* Set up identity matrices */
+
+  for(i = 0; i < w; i++) {
+    index = i*k*w+i;
+    for (j = 0; j < k; j++) {
+      matrix[index] = 1;
+      index += w;
+    }
+  }
+
+  /* Set up liber8tion matrices */
+
+  index = k*w*w;
+
+  if (k == 0) return matrix;
+  matrix[index+0*k*w+0*w+0] = 1;
+  matrix[index+1*k*w+0*w+1] = 1;
+  matrix[index+2*k*w+0*w+2] = 1;
+  matrix[index+3*k*w+0*w+3] = 1;
+  matrix[index+4*k*w+0*w+4] = 1;
+  matrix[index+5*k*w+0*w+5] = 1;
+  matrix[index+6*k*w+0*w+6] = 1;
+  matrix[index+7*k*w+0*w+7] = 1;
+
+  if (k == 1) return matrix;
+  matrix[index+0*k*w+1*w+7] = 1;
+  matrix[index+1*k*w+1*w+3] = 1;
+  matrix[index+2*k*w+1*w+0] = 1;
+  matrix[index+3*k*w+1*w+2] = 1;
+  matrix[index+4*k*w+1*w+6] = 1;
+  matrix[index+5*k*w+1*w+1] = 1;
+  matrix[index+6*k*w+1*w+5] = 1;
+  matrix[index+7*k*w+1*w+4] = 1;
+  matrix[index+4*k*w+1*w+7] = 1;
+
+  if (k == 2) return matrix;
+  matrix[index+0*k*w+2*w+6] = 1;
+  matrix[index+1*k*w+2*w+2] = 1;
+  matrix[index+2*k*w+2*w+4] = 1;
+  matrix[index+3*k*w+2*w+0] = 1;
+  matrix[index+4*k*w+2*w+7] = 1;
+  matrix[index+5*k*w+2*w+3] = 1;
+  matrix[index+6*k*w+2*w+1] = 1;
+  matrix[index+7*k*w+2*w+5] = 1;
+  matrix[index+1*k*w+2*w+3] = 1;
+
+  if (k == 3) return matrix;
+  matrix[index+0*k*w+3*w+2] = 1;
+  matrix[index+1*k*w+3*w+5] = 1;
+  matrix[index+2*k*w+3*w+7] = 1;
+  matrix[index+3*k*w+3*w+6] = 1;
+  matrix[index+4*k*w+3*w+0] = 1;
+  matrix[index+5*k*w+3*w+3] = 1;
+  matrix[index+6*k*w+3*w+4] = 1;
+  matrix[index+7*k*w+3*w+1] = 1;
+  matrix[index+5*k*w+3*w+4] = 1;
+
+  if (k == 4) return matrix;
+  matrix[index+0*k*w+4*w+5] = 1;
+  matrix[index+1*k*w+4*w+6] = 1;
+  matrix[index+2*k*w+4*w+1] = 1;
+  matrix[index+3*k*w+4*w+7] = 1;
+  matrix[index+4*k*w+4*w+2] = 1;
+  matrix[index+5*k*w+4*w+4] = 1;
+  matrix[index+6*k*w+4*w+3] = 1;
+  matrix[index+7*k*w+4*w+0] = 1;
+  matrix[index+2*k*w+4*w+0] = 1;
+
+  if (k == 5) return matrix;
+  matrix[index+0*k*w+5*w+1] = 1;
+  matrix[index+1*k*w+5*w+2] = 1;
+  matrix[index+2*k*w+5*w+3] = 1;
+  matrix[index+3*k*w+5*w+4] = 1;
+  matrix[index+4*k*w+5*w+5] = 1;
+  matrix[index+5*k*w+5*w+6] = 1;
+  matrix[index+6*k*w+5*w+7] = 1;
+  matrix[index+7*k*w+5*w+0] = 1;
+  matrix[index+7*k*w+5*w+2] = 1;
+
+  if (k == 6) return matrix;
+  matrix[index+0*k*w+6*w+3] = 1;
+  matrix[index+1*k*w+6*w+0] = 1;
+  matrix[index+2*k*w+6*w+6] = 1;
+  matrix[index+3*k*w+6*w+5] = 1;
+  matrix[index+4*k*w+6*w+1] = 1;
+  matrix[index+5*k*w+6*w+7] = 1;
+  matrix[index+6*k*w+6*w+4] = 1;
+  matrix[index+7*k*w+6*w+2] = 1;
+  matrix[index+6*k*w+6*w+5] = 1;
+
+  if (k == 7) return matrix;
+  matrix[index+0*k*w+7*w+4] = 1;
+  matrix[index+1*k*w+7*w+7] = 1;
+  matrix[index+2*k*w+7*w+1] = 1;
+  matrix[index+3*k*w+7*w+5] = 1;
+  matrix[index+4*k*w+7*w+3] = 1;
+  matrix[index+5*k*w+7*w+2] = 1;
+  matrix[index+6*k*w+7*w+0] = 1;
+  matrix[index+7*k*w+7*w+6] = 1;
+  matrix[index+3*k*w+7*w+1] = 1;
+
+  return matrix;
+}
+  
+int *blaum_roth_coding_bitmatrix(int k, int w)
+{
+  int *matrix, i, j, index, l, m, p;
+
+  if (k > w) return NULL ;
+
+  matrix = talloc(int, 2*k*w*w);
+  if (matrix == NULL) return NULL;
+  bzero(matrix, sizeof(int)*2*k*w*w);
+  
+  /* Set up identity matrices */
+
+  for(i = 0; i < w; i++) {
+    index = i*k*w+i;
+    for (j = 0; j < k; j++) {
+      matrix[index] = 1;
+      index += w;
+    }
+  }
+
+  /* Set up blaum_roth matrices -- Ignore identity */
+
+  p = w+1;
+  for (j = 0; j < k; j++) {
+    index = k*w*w+j*w;
+    if (j == 0) {
+      for (l = 0; l < w; l++) {
+        matrix[index+l] = 1;
+        index += k*w;
+      }
+    } else {
+      i = j;
+      for (l = 1; l <= w; l++) {
+        if (l != p-i) {
+          m = l+i;
+          if (m >= p) m -= p;
+          m--;
+          matrix[index+m] = 1;
+        } else {
+          matrix[index+i-1] = 1;
+          if (i%2 == 0) {
+            m = i/2;
+          } else {
+            m = (p/2) + 1 + (i/2);
+          }
+          m--;
+          matrix[index+m] = 1;
+        }
+        index += k*w;
+      }
+    }
+  }
+
+  return matrix;
+}
diff --git a/src/osd/ErasureCodePluginJerasure/liberation.h b/src/osd/ErasureCodePluginJerasure/liberation.h
new file mode 100755
index 0000000..ee176e8
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/liberation.h
@@ -0,0 +1,56 @@
+/* liberation.h
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+ */
+
+#ifndef _LIBERATION
+
+extern int *liberation_coding_bitmatrix(int k, int w);
+extern int *liber8tion_coding_bitmatrix(int k);
+extern int *blaum_roth_coding_bitmatrix(int k, int w);
+
+#endif
diff --git a/src/osd/ErasureCodePluginJerasure/reed_sol.c b/src/osd/ErasureCodePluginJerasure/reed_sol.c
new file mode 100755
index 0000000..003eb41
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/reed_sol.c
@@ -0,0 +1,368 @@
+/* reed_sol.c
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "galois.h"
+#include "jerasure.h"
+#include "reed_sol.h"
+
+#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
+
+int *reed_sol_r6_coding_matrix(int k, int w)
+{
+  int *matrix;
+  int i, tmp;
+
+  if (w != 8 && w != 16 && w != 32) return NULL;
+
+  matrix = talloc(int, 2*k);
+  if (matrix == NULL) return NULL;
+
+  for (i = 0; i < k; i++) matrix[i] = 1;
+  matrix[k] = 1;
+  tmp = 1;
+  for (i = 1; i < k; i++) {
+    tmp = galois_single_multiply(tmp, 2, w);
+    matrix[k+i] = tmp;
+  }
+  return matrix;
+}
+
+int *reed_sol_vandermonde_coding_matrix(int k, int m, int w)
+{
+  int i, j;
+  int *vdm, *dist;
+
+  vdm = reed_sol_big_vandermonde_distribution_matrix(k+m, k, w);
+  if (vdm == NULL) return NULL;
+  dist = talloc(int, m*k);
+  if (dist == NULL) {
+    free(vdm);
+    return NULL;
+  }
+
+  i = k*k;
+  for (j = 0; j < m*k; j++) {
+    dist[j] = vdm[i];
+    i++;
+  }
+  free(vdm);
+  return dist;
+}
+
+static int prim32 = -1;
+
+#define rgw32_mask(v) ((v) & 0x80000000)
+
+void reed_sol_galois_w32_region_multby_2(char *region, int nbytes) 
+{
+  int *l1;
+  int *ltop;
+  char *ctop;
+
+  if (prim32 == -1) prim32 = galois_single_multiply((1 << 31), 2, 32);
+
+  ctop = region + nbytes;
+  ltop = (int *) ctop;
+  l1 = (int *) region;
+
+  while (l1 < ltop) {
+    *l1 = ((*l1) << 1) ^ ((*l1 & 0x80000000) ? prim32 : 0);
+    l1++;
+  }
+}
+
+static int prim08 = -1;
+static int mask08_1 = -1;
+static int mask08_2 = -1;
+
+void reed_sol_galois_w08_region_multby_2(char *region, int nbytes)
+{
+  unsigned int *l1;
+  unsigned int *ltop;
+  char *ctop;
+  unsigned int tmp, tmp2;
+  
+
+  if (prim08 == -1) {
+    tmp = galois_single_multiply((1 << 7), 2, 8);
+    prim08 = 0;
+    while (tmp != 0) {
+      prim08 |= tmp;
+      tmp = (tmp << 8);
+    }
+    tmp = (1 << 8) - 2;
+    mask08_1 = 0;
+    while (tmp != 0) {
+      mask08_1 |= tmp;
+      tmp = (tmp << 8);
+    }
+    tmp = (1 << 7);
+    mask08_2 = 0;
+    while (tmp != 0) {
+      mask08_2 |= tmp;
+      tmp = (tmp << 8);
+    }
+  }
+
+  ctop = region + nbytes;
+  ltop = (unsigned int *) ctop;
+  l1 = (unsigned int *) region;
+
+  while (l1 < ltop) {
+    tmp = ((*l1) << 1) & mask08_1;
+    tmp2 = (*l1) & mask08_2;
+    tmp2 = ((tmp2 << 1) - (tmp2 >> 7));
+    *l1 = (tmp ^ (tmp2 & prim08));
+    l1++;
+  }
+}
+
+static int prim16 = -1;
+static int mask16_1 = -1;
+static int mask16_2 = -1;
+
+void reed_sol_galois_w16_region_multby_2(char *region, int nbytes)
+{
+  unsigned int *l1;
+  unsigned int *ltop;
+  char *ctop;
+  unsigned int tmp, tmp2;
+  
+
+  if (prim16 == -1) {
+    tmp = galois_single_multiply((1 << 15), 2, 16);
+    prim16 = 0;
+    while (tmp != 0) {
+      prim16 |= tmp;
+      tmp = (tmp << 16);
+    }
+    tmp = (1 << 16) - 2;
+    mask16_1 = 0;
+    while (tmp != 0) {
+      mask16_1 |= tmp;
+      tmp = (tmp << 16);
+    }
+    tmp = (1 << 15);
+    mask16_2 = 0;
+    while (tmp != 0) {
+      mask16_2 |= tmp;
+      tmp = (tmp << 16);
+    }
+  }
+
+  ctop = region + nbytes;
+  ltop = (unsigned int *) ctop;
+  l1 = (unsigned int *) region;
+
+  while (l1 < ltop) {
+    tmp = ((*l1) << 1) & mask16_1;
+    tmp2 = (*l1) & mask16_2;
+    tmp2 = ((tmp2 << 1) - (tmp2 >> 15));
+    *l1 = (tmp ^ (tmp2 & prim16));
+    l1++;
+  }
+}
+
+int reed_sol_r6_encode(int k, int w, char **data_ptrs, char **coding_ptrs, int size)
+{
+  int i;
+
+  /* First, put the XOR into coding region 0 */
+
+  memcpy(coding_ptrs[0], data_ptrs[0], size);
+
+  for (i = 1; i < k; i++) galois_region_xor(coding_ptrs[0], data_ptrs[i], coding_ptrs[0], size);
+
+  /* Next, put the sum of (2^j)*Dj into coding region 1 */
+
+  memcpy(coding_ptrs[1], data_ptrs[k-1], size);
+
+  for (i = k-2; i >= 0; i--) {
+    switch (w) {
+      case 8:  reed_sol_galois_w08_region_multby_2(coding_ptrs[1], size); break;
+      case 16: reed_sol_galois_w16_region_multby_2(coding_ptrs[1], size); break;
+      case 32: reed_sol_galois_w32_region_multby_2(coding_ptrs[1], size); break;
+      default: return 0;
+    }
+
+    galois_region_xor(coding_ptrs[1], data_ptrs[i], coding_ptrs[1], size);
+  }
+  return 1;
+}
+
+int *reed_sol_extended_vandermonde_matrix(int rows, int cols, int w)
+{
+  int *vdm;
+  int i, j, k;
+
+  if (w < 30 && (1 << w) < rows) return NULL;
+  if (w < 30 && (1 << w) < cols) return NULL;
+
+  vdm = talloc(int, rows*cols);
+  if (vdm == NULL) { return NULL; }
+  
+  vdm[0] = 1;
+  for (j = 1; j < cols; j++) vdm[j] = 0;
+  if (rows == 1) return vdm;
+
+  i=(rows-1)*cols;
+  for (j = 0; j < cols-1; j++) vdm[i+j] = 0;
+  vdm[i+j] = 1;
+  if (rows == 2) return vdm;
+
+  for (i = 1; i < rows-1; i++) {
+    k = 1;
+    for (j = 0; j < cols; j++) {
+      vdm[i*cols+j] = k;
+      k = galois_single_multiply(k, i, w);
+    }
+  }
+  return vdm;
+}
+
+int *reed_sol_big_vandermonde_distribution_matrix(int rows, int cols, int w)
+{
+  int *dist;
+  int i, j, k;
+  int sindex, srindex, siindex, tmp;
+
+  if (cols >= rows) return NULL;
+  
+  dist = reed_sol_extended_vandermonde_matrix(rows, cols, w);
+  if (dist == NULL) return NULL;
+
+  sindex = 0;
+  for (i = 1; i < cols; i++) {
+    sindex += cols;
+
+    /* Find an appropriate row -- where i,i != 0 */
+    srindex = sindex+i;
+    for (j = i; j < rows && dist[srindex] == 0; j++) srindex += cols;
+    if (j >= rows) {   /* This should never happen if rows/w are correct */
+      fprintf(stderr, "reed_sol_big_vandermonde_distribution_matrix(%d,%d,%d) - couldn't make matrix\n", 
+             rows, cols, w);
+      exit(1);
+    }
+ 
+    /* If necessary, swap rows */
+    if (j != i) {
+      srindex -= i;
+      for (k = 0; k < cols; k++) {
+        tmp = dist[srindex+k];
+        dist[srindex+k] = dist[sindex+k];
+        dist[sindex+k] = tmp;
+      }
+    }
+  
+    /* If Element i,i is not equal to 1, multiply the column by 1/i */
+
+    if (dist[sindex+i] != 1) {
+      tmp = galois_single_divide(1, dist[sindex+i], w);
+      srindex = i;
+      for (j = 0; j < rows; j++) {
+        dist[srindex] = galois_single_multiply(tmp, dist[srindex], w);
+        srindex += cols;
+      }
+    }
+ 
+    /* Now, for each element in row i that is not in column 1, you need
+       to make it zero.  Suppose that this is column j, and the element
+       at i,j = e.  Then you want to replace all of column j with 
+       (col-j + col-i*e).   Note, that in row i, col-i = 1 and col-j = e.
+       So (e + 1e) = 0, which is indeed what we want. */
+
+    for (j = 0; j < cols; j++) {
+      tmp = dist[sindex+j];
+      if (j != i && tmp != 0) {
+        srindex = j;
+        siindex = i;
+        for (k = 0; k < rows; k++) {
+          dist[srindex] = dist[srindex] ^ galois_single_multiply(tmp, dist[siindex], w);
+          srindex += cols;
+          siindex += cols;
+        }
+      }
+    }
+  }
+  /* We desire to have row k be all ones.  To do that, multiply
+     the entire column j by 1/dist[k,j].  Then row j by 1/dist[j,j]. */
+
+  sindex = cols*cols;
+  for (j = 0; j < cols; j++) {
+    tmp = dist[sindex];
+    if (tmp != 1) { 
+      tmp = galois_single_divide(1, tmp, w);
+      srindex = sindex;
+      for (i = cols; i < rows; i++) {
+        dist[srindex] = galois_single_multiply(tmp, dist[srindex], w);
+        srindex += cols;
+      }
+    }
+    sindex++;
+  }
+
+  /* Finally, we'd like the first column of each row to be all ones.  To
+     do that, we multiply the row by the inverse of the first element. */
+
+  sindex = cols*(cols+1);
+  for (i = cols+1; i < rows; i++) {
+    tmp = dist[sindex];
+    if (tmp != 1) { 
+      tmp = galois_single_divide(1, tmp, w);
+      for (j = 0; j < cols; j++) dist[sindex+j] = galois_single_multiply(dist[sindex+j], tmp, w);
+    }
+    sindex += cols;
+  }
+
+  return dist;
+}
+
diff --git a/src/osd/ErasureCodePluginJerasure/reed_sol.h b/src/osd/ErasureCodePluginJerasure/reed_sol.h
new file mode 100755
index 0000000..741c317
--- /dev/null
+++ b/src/osd/ErasureCodePluginJerasure/reed_sol.h
@@ -0,0 +1,59 @@
+/* reed_sol.h
+ * James S. Plank
+
+Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
+
+Revision 1.2A
+May 24, 2011
+
+James S. Plank
+Department of Electrical Engineering and Computer Science
+University of Tennessee
+Knoxville, TN 37996
+plank at cs.utk.edu
+
+Copyright (c) 2011, James S. Plank
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+ - Neither the name of the University of Tennessee nor the names of its
+   contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+ */
+
+extern int *reed_sol_vandermonde_coding_matrix(int k, int m, int w);
+extern int *reed_sol_extended_vandermonde_matrix(int rows, int cols, int w);
+extern int *reed_sol_big_vandermonde_distribution_matrix(int rows, int cols, int w);
+
+extern int reed_sol_r6_encode(int k, int w, char **data_ptrs, char **coding_ptrs, int size);
+extern int *reed_sol_r6_coding_matrix(int k, int w);
+
+extern void reed_sol_galois_w08_region_multby_2(char *region, int nbytes);
+extern void reed_sol_galois_w16_region_multby_2(char *region, int nbytes);
+extern void reed_sol_galois_w32_region_multby_2(char *region, int nbytes);
diff --git a/src/osd/Makefile.am b/src/osd/Makefile.am
new file mode 100644
index 0000000..cae0201
--- /dev/null
+++ b/src/osd/Makefile.am
@@ -0,0 +1,44 @@
+## erasure code plugins
+erasure_codelibdir = $(libdir)/erasure-code
+erasure_codelib_LTLIBRARIES =  
+
+include osd/ErasureCodePluginJerasure/Makefile.am
+
+libosd_la_SOURCES = \
+	osd/ErasureCodePlugin.cc \
+	osd/PG.cc \
+	osd/PGLog.cc \
+	osd/ReplicatedPG.cc \
+	osd/ReplicatedBackend.cc \
+	osd/Ager.cc \
+	osd/OSD.cc \
+	osd/OSDCap.cc \
+	osd/Watch.cc \
+	osd/ClassHandler.cc \
+	osd/OpRequest.cc \
+	common/TrackedOp.cc \
+	osd/SnapMapper.cc \
+	osd/osd_types.cc \
+	objclass/class_api.cc
+libosd_la_LIBADD = $(LIBOSDC) $(LIBOS)
+noinst_LTLIBRARIES += libosd.la
+
+noinst_HEADERS += \
+	osd/Ager.h \
+	osd/ClassHandler.h \
+	osd/ErasureCodeInterface.h \
+	osd/ErasureCodePlugin.h \
+	osd/OSD.h \
+	osd/OSDCap.h \
+	osd/OSDMap.h \
+	osd/ObjectVersioner.h \
+	osd/OpRequest.h \
+	osd/SnapMapper.h \
+	osd/PG.h \
+	osd/PGLog.h \
+	osd/ReplicatedPG.h \
+	osd/PGBackend.h \
+	osd/ReplicatedBackend.h \
+	osd/Watch.h \
+	osd/osd_types.h
+
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index 1a77dae..1a60de6 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -33,6 +33,7 @@
 #include "OSD.h"
 #include "OSDMap.h"
 #include "Watch.h"
+#include "osdc/Objecter.h"
 
 #include "common/ceph_argparse.h"
 #include "common/version.h"
@@ -133,9 +134,9 @@ static ostream& _prefix(std::ostream* _dout, int whoami, OSDMapRef osdmap) {
 		<< " ";
 }
 
-const coll_t coll_t::META_COLL("meta");
-
-static CompatSet get_osd_compat_set() {
+//Initial features in new superblock.
+//Features here are also automatically upgraded
+CompatSet OSD::get_osd_initial_compat_set() {
   CompatSet::FeatureSet ceph_osd_feature_compat;
   CompatSet::FeatureSet ceph_osd_feature_ro_compat;
   CompatSet::FeatureSet ceph_osd_feature_incompat;
@@ -153,14 +154,24 @@ static CompatSet get_osd_compat_set() {
 		   ceph_osd_feature_incompat);
 }
 
+//Features are added here that this OSD supports.
+CompatSet OSD::get_osd_compat_set() {
+  CompatSet compat =  get_osd_initial_compat_set();
+  //Any features here can be set in code, but not in initial superblock
+  compat.incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_SHARDS);
+  return compat;
+}
+
 OSDService::OSDService(OSD *osd) :
   osd(osd),
+  cct(osd->cct),
   whoami(osd->whoami), store(osd->store), clog(osd->clog),
   pg_recovery_stats(osd->pg_recovery_stats),
   infos_oid(OSD::make_infos_oid()),
   cluster_messenger(osd->cluster_messenger),
   client_messenger(osd->client_messenger),
   logger(osd->logger),
+  recoverystate_perf(osd->recoverystate_perf),
   monc(osd->monc),
   op_wq(osd->op_wq),
   peering_wq(osd->peering_wq),
@@ -169,26 +180,33 @@ OSDService::OSDService(OSD *osd) :
   scrub_wq(osd->scrub_wq),
   scrub_finalize_wq(osd->scrub_finalize_wq),
   rep_scrub_wq(osd->rep_scrub_wq),
+  push_wq("push_wq", cct->_conf->osd_recovery_thread_timeout, &osd->recovery_tp),
   class_handler(osd->class_handler),
   publish_lock("OSDService::publish_lock"),
   pre_publish_lock("OSDService::pre_publish_lock"),
   sched_scrub_lock("OSDService::sched_scrub_lock"), scrubs_pending(0),
   scrubs_active(0),
+  objecter_lock("OSD::objecter_lock"),
+  objecter_timer(osd->client_messenger->cct, objecter_lock),
+  objecter(new Objecter(osd->client_messenger->cct, osd->objecter_messenger, osd->monc, &objecter_osdmap,
+			objecter_lock, objecter_timer)),
+  objecter_finisher(osd->client_messenger->cct),
+  objecter_dispatcher(this),
   watch_lock("OSD::watch_lock"),
   watch_timer(osd->client_messenger->cct, watch_lock),
   next_notif_id(0),
   backfill_request_lock("OSD::backfill_request_lock"),
-  backfill_request_timer(g_ceph_context, backfill_request_lock, false),
+  backfill_request_timer(cct, backfill_request_lock, false),
   last_tid(0),
   tid_lock("OSDService::tid_lock"),
-  reserver_finisher(g_ceph_context),
-  local_reserver(&reserver_finisher, g_conf->osd_max_backfills),
-  remote_reserver(&reserver_finisher, g_conf->osd_max_backfills),
+  reserver_finisher(cct),
+  local_reserver(&reserver_finisher, cct->_conf->osd_max_backfills),
+  remote_reserver(&reserver_finisher, cct->_conf->osd_max_backfills),
   pg_temp_lock("OSDService::pg_temp_lock"),
   map_cache_lock("OSDService::map_lock"),
-  map_cache(g_conf->osd_map_cache_size),
-  map_bl_cache(g_conf->osd_map_cache_size),
-  map_bl_inc_cache(g_conf->osd_map_cache_size),
+  map_cache(cct->_conf->osd_map_cache_size),
+  map_bl_cache(cct->_conf->osd_map_cache_size),
+  map_bl_inc_cache(cct->_conf->osd_map_cache_size),
   in_progress_split_lock("OSDService::in_progress_split_lock"),
   full_status_lock("OSDService::full_status_lock"),
   cur_state(NONE),
@@ -201,6 +219,11 @@ OSDService::OSDService(OSD *osd) :
 #endif
 {}
 
+OSDService::~OSDService()
+{
+  delete objecter;
+}
+
 void OSDService::_start_split(pg_t parent, const set<pg_t> &children)
 {
   for (set<pg_t>::const_iterator i = children.begin();
@@ -384,6 +407,15 @@ void OSDService::shutdown()
     Mutex::Locker l(watch_lock);
     watch_timer.shutdown();
   }
+
+  {
+    Mutex::Locker l(objecter_lock);
+    objecter_timer.shutdown();
+    objecter->shutdown_locked();
+  }
+  objecter->shutdown_unlocked();
+  objecter_finisher.stop();
+
   {
     Mutex::Locker l(backfill_request_lock);
     backfill_request_timer.shutdown();
@@ -395,16 +427,25 @@ void OSDService::shutdown()
 void OSDService::init()
 {
   reserver_finisher.start();
+  {
+    objecter_finisher.start();
+    objecter->init_unlocked();
+    Mutex::Locker l(objecter_lock);
+    objecter_timer.init();
+    objecter->set_client_incarnation(0);
+    objecter->init_locked();
+    objecter->unset_honor_cache_redirects();
+  }
   watch_timer.init();
 }
 
-ObjectStore *OSD::create_object_store(const std::string &dev, const std::string &jdev)
+ObjectStore *OSD::create_object_store(CephContext *cct, const std::string &dev, const std::string &jdev)
 {
   struct stat st;
   if (::stat(dev.c_str(), &st) != 0)
     return 0;
 
-  if (g_conf->filestore)
+  if (cct->_conf->filestore)
     return new FileStore(dev, jdev);
 
   if (S_ISDIR(st.st_mode))
@@ -420,7 +461,7 @@ int OSD::convert_collection(ObjectStore *store, coll_t cid)
 {
   coll_t tmp0("convertfs_temp");
   coll_t tmp1("convertfs_temp1");
-  vector<hobject_t> objects;
+  vector<ghobject_t> objects;
 
   map<string, bufferptr> aset;
   int r = store->collection_getattrs(cid, aset);
@@ -440,10 +481,10 @@ int OSD::convert_collection(ObjectStore *store, coll_t cid)
     store->apply_transaction(t);
   }
 
-  hobject_t next;
+  ghobject_t next;
   while (!next.is_max()) {
     objects.clear();
-    hobject_t start = next;
+    ghobject_t start = next;
     r = store->collection_list_partial(cid, start,
 				       200, 300, 0,
 				       &objects, &next);
@@ -451,7 +492,7 @@ int OSD::convert_collection(ObjectStore *store, coll_t cid)
       return r;
 
     ObjectStore::Transaction t;
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
       t.collection_add(tmp0, cid, *i);
@@ -551,20 +592,20 @@ int OSD::convertfs(const std::string &dev, const std::string &jdev)
   return r;
 }
 
-int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int whoami)
+int OSD::mkfs(CephContext *cct, const std::string &dev, const std::string &jdev, uuid_d fsid, int whoami)
 {
   int ret;
   ObjectStore *store = NULL;
 
   try {
-    store = create_object_store(dev, jdev);
+    store = create_object_store(cct, dev, jdev);
     if (!store) {
       ret = -ENOENT;
       goto out;
     }
 
     // if we are fed a uuid for this osd, use it.
-    store->set_fsid(g_conf->osd_uuid);
+    store->set_fsid(cct->_conf->osd_uuid);
 
     ret = store->mkfs();
     if (ret) {
@@ -579,15 +620,15 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int
     }
 
     // age?
-    if (g_conf->osd_age_time != 0) {
-      if (g_conf->osd_age_time >= 0) {
-	dout(0) << "aging..." << dendl;
-	Ager ager(store);
-	ager.age(g_conf->osd_age_time,
-		 g_conf->osd_age,
-		 g_conf->osd_age - .05,
-		 50000,
-		 g_conf->osd_age - .05);
+    if (cct->_conf->osd_age_time != 0) {
+      if (cct->_conf->osd_age_time >= 0) {
+        dout(0) << "aging..." << dendl;
+        Ager ager(cct, store);
+        ager.age(cct->_conf->osd_age_time,
+          cct->_conf->osd_age,
+          cct->_conf->osd_age - .05,
+          50000,
+          cct->_conf->osd_age - .05);
       }
     }
 
@@ -617,16 +658,16 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int
       sb.cluster_fsid = fsid;
       sb.osd_fsid = store->get_fsid();
       sb.whoami = whoami;
-      sb.compat_features = get_osd_compat_set();
+      sb.compat_features = get_osd_initial_compat_set();
 
       // benchmark?
-      if (g_conf->osd_auto_weight) {
+      if (cct->_conf->osd_auto_weight) {
 	bufferlist bl;
 	bufferptr bp(1048576);
 	bp.zero();
 	bl.push_back(bp);
 	dout(0) << "testing disk bandwidth..." << dendl;
-	utime_t start = ceph_clock_now(g_ceph_context);
+	utime_t start = ceph_clock_now(cct);
 	object_t oid("disk_bw_test");
 	for (int i=0; i<1000; i++) {
 	  ObjectStore::Transaction *t = new ObjectStore::Transaction;
@@ -634,7 +675,7 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int
 	  store->queue_transaction(NULL, t);
 	}
 	store->sync();
-	utime_t end = ceph_clock_now(g_ceph_context);
+	utime_t end = ceph_clock_now(cct);
 	end -= start;
 	dout(0) << "measured " << (1000.0 / (double)end) << " mb/sec" << dendl;
 	ObjectStore::Transaction tr;
@@ -672,7 +713,7 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int
       goto umount_store;
     }
 
-    ret = write_meta(dev, "ready", "ready\n", 6);
+    ret = safe_write_file(dev.c_str(), "ready", "ready\n", 6);
     if (ret) {
       derr << "OSD::mkfs: failed to write ready file: error " << ret << dendl;
       goto umount_store;
@@ -696,17 +737,17 @@ out:
   return ret;
 }
 
-int OSD::mkjournal(const std::string &dev, const std::string &jdev)
+int OSD::mkjournal(CephContext *cct, const std::string &dev, const std::string &jdev)
 {
-  ObjectStore *store = create_object_store(dev, jdev);
+  ObjectStore *store = create_object_store(cct, dev, jdev);
   if (!store)
     return -ENOENT;
   return store->mkjournal();
 }
 
-int OSD::flushjournal(const std::string &dev, const std::string &jdev)
+int OSD::flushjournal(CephContext *cct, const std::string &dev, const std::string &jdev)
 {
-  ObjectStore *store = create_object_store(dev, jdev);
+  ObjectStore *store = create_object_store(cct, dev, jdev);
   if (!store)
     return -ENOENT;
   int err = store->mount();
@@ -718,9 +759,9 @@ int OSD::flushjournal(const std::string &dev, const std::string &jdev)
   return err;
 }
 
-int OSD::dump_journal(const std::string &dev, const std::string &jdev, ostream& out)
+int OSD::dump_journal(CephContext *cct, const std::string &dev, const std::string &jdev, ostream& out)
 {
-  ObjectStore *store = create_object_store(dev, jdev);
+  ObjectStore *store = create_object_store(cct, dev, jdev);
   if (!store)
     return -ENOENT;
   int err = store->dump_journal(out);
@@ -728,103 +769,19 @@ int OSD::dump_journal(const std::string &dev, const std::string &jdev, ostream&
   return err;
 }
 
-int OSD::write_meta(const std::string &base, const std::string &file,
-		    const char *val, size_t vallen)
-{
-  int ret;
-  char fn[PATH_MAX];
-  char tmp[PATH_MAX];
-  int fd;
-
-  // does the file already have correct content?
-  char oldval[80];
-  ret = read_meta(base, file, oldval, sizeof(oldval));
-  if (ret == (int)vallen && memcmp(oldval, val, vallen) == 0)
-    return 0;  // yes.
-
-  snprintf(fn, sizeof(fn), "%s/%s", base.c_str(), file.c_str());
-  snprintf(tmp, sizeof(tmp), "%s/%s.tmp", base.c_str(), file.c_str());
-  fd = ::open(tmp, O_WRONLY|O_CREAT|O_TRUNC, 0644);
-  if (fd < 0) {
-    ret = errno;
-    derr << "write_meta: error opening '" << tmp << "': "
-	 << cpp_strerror(ret) << dendl;
-    return -ret;
-  }
-  ret = safe_write(fd, val, vallen);
-  if (ret) {
-    derr << "write_meta: failed to write to '" << tmp << "': "
-	 << cpp_strerror(ret) << dendl;
-    TEMP_FAILURE_RETRY(::close(fd));
-    return ret;
-  }
-
-  ret = ::fsync(fd);
-  TEMP_FAILURE_RETRY(::close(fd));
-  if (ret) {
-    ::unlink(tmp);
-    derr << "write_meta: failed to fsync to '" << tmp << "': "
-	 << cpp_strerror(ret) << dendl;
-    return ret;
-  }
-  ret = ::rename(tmp, fn);
-  if (ret) {
-    ::unlink(tmp);
-    derr << "write_meta: failed to rename '" << tmp << "' to '" << fn << "': "
-	 << cpp_strerror(ret) << dendl;
-    return ret;
-  }
-
-  fd = ::open(base.c_str(), O_RDONLY);
-  if (fd < 0) {
-    ret = errno;
-    derr << "write_meta: failed to open dir '" << base << "': "
-	 << cpp_strerror(ret) << dendl;
-    return -ret;
-  }
-  ::fsync(fd);
-  TEMP_FAILURE_RETRY(::close(fd));
-
-  return 0;
-}
-
-int OSD::read_meta(const  std::string &base, const std::string &file,
-		   char *val, size_t vallen)
-{
-  char fn[PATH_MAX];
-  int fd, len;
-
-  snprintf(fn, sizeof(fn), "%s/%s", base.c_str(), file.c_str());
-  fd = ::open(fn, O_RDONLY);
-  if (fd < 0) {
-    int err = errno;
-    return -err;
-  }
-  len = safe_read(fd, val, vallen);
-  if (len < 0) {
-    TEMP_FAILURE_RETRY(::close(fd));
-    return len;
-  }
-  // close sometimes returns errors, but only after write()
-  TEMP_FAILURE_RETRY(::close(fd));
-
-  val[len] = 0;
-  return len;
-}
-
 int OSD::write_meta(const std::string &base, uuid_d& cluster_fsid, uuid_d& osd_fsid, int whoami)
 {
   char val[80];
   
   snprintf(val, sizeof(val), "%s\n", CEPH_OSD_ONDISK_MAGIC);
-  write_meta(base, "magic", val, strlen(val));
+  safe_write_file(base.c_str(), "magic", val, strlen(val));
 
   snprintf(val, sizeof(val), "%d\n", whoami);
-  write_meta(base, "whoami", val, strlen(val));
+  safe_write_file(base.c_str(), "whoami", val, strlen(val));
 
   cluster_fsid.print(val);
   strcat(val, "\n");
-  write_meta(base, "ceph_fsid", val, strlen(val));
+  safe_write_file(base.c_str(), "ceph_fsid", val, strlen(val));
 
   return 0;
 }
@@ -834,24 +791,24 @@ int OSD::peek_meta(const std::string &dev, std::string& magic,
 {
   char val[80] = { 0 };
 
-  if (read_meta(dev, "magic", val, sizeof(val)) < 0)
+  if (safe_read_file(dev.c_str(), "magic", val, sizeof(val)) < 0)
     return -errno;
   int l = strlen(val);
   if (l && val[l-1] == '\n')
     val[l-1] = 0;
   magic = val;
 
-  if (read_meta(dev, "whoami", val, sizeof(val)) < 0)
+  if (safe_read_file(dev.c_str(), "whoami", val, sizeof(val)) < 0)
     return -errno;
   whoami = atoi(val);
 
-  if (read_meta(dev, "ceph_fsid", val, sizeof(val)) < 0)
+  if (safe_read_file(dev.c_str(), "ceph_fsid", val, sizeof(val)) < 0)
     return -errno;
   if (strlen(val) > 36)
     val[36] = 0;
   cluster_fsid.parse(val);
 
-  if (read_meta(dev, "fsid", val, sizeof(val)) < 0)
+  if (safe_read_file(dev.c_str(), "fsid", val, sizeof(val)) < 0)
     osd_fsid = uuid_d();
   else {
     if (strlen(val) > 36)
@@ -877,39 +834,42 @@ int OSD::peek_journal_fsid(string path, uuid_d& fsid)
 
 // cons/des
 
-OSD::OSD(int id, Messenger *internal_messenger, Messenger *external_messenger,
+OSD::OSD(CephContext *cct_, int id, Messenger *internal_messenger, Messenger *external_messenger,
 	 Messenger *hb_clientm,
 	 Messenger *hb_front_serverm,
 	 Messenger *hb_back_serverm,
+	 Messenger *osdc_messenger,
 	 MonClient *mc,
 	 const std::string &dev, const std::string &jdev) :
-  Dispatcher(external_messenger->cct),
+  Dispatcher(cct_),
   osd_lock("OSD::osd_lock"),
-  tick_timer(external_messenger->cct, osd_lock),
-  authorize_handler_cluster_registry(new AuthAuthorizeHandlerRegistry(external_messenger->cct,
+  tick_timer(cct, osd_lock),
+  authorize_handler_cluster_registry(new AuthAuthorizeHandlerRegistry(cct,
 								      cct->_conf->auth_supported.length() ?
 								      cct->_conf->auth_supported :
 								      cct->_conf->auth_cluster_required)),
-  authorize_handler_service_registry(new AuthAuthorizeHandlerRegistry(external_messenger->cct,
+  authorize_handler_service_registry(new AuthAuthorizeHandlerRegistry(cct,
 								      cct->_conf->auth_supported.length() ?
 								      cct->_conf->auth_supported :
 								      cct->_conf->auth_service_required)),
   cluster_messenger(internal_messenger),
   client_messenger(external_messenger),
+  objecter_messenger(osdc_messenger),
   monc(mc),
   logger(NULL),
+  recoverystate_perf(NULL),
   store(NULL),
-  clog(external_messenger->cct, client_messenger, &mc->monmap, LogClient::NO_FLAGS),
+  clog(cct, client_messenger, &mc->monmap, LogClient::NO_FLAGS),
   whoami(id),
   dev_path(dev), journal_path(jdev),
   dispatch_running(false),
   asok_hook(NULL),
   osd_compat(get_osd_compat_set()),
   state(STATE_INITIALIZING), boot_epoch(0), up_epoch(0), bind_epoch(0),
-  op_tp(external_messenger->cct, "OSD::op_tp", g_conf->osd_op_threads, "osd_op_threads"),
-  recovery_tp(external_messenger->cct, "OSD::recovery_tp", g_conf->osd_recovery_threads, "osd_recovery_threads"),
-  disk_tp(external_messenger->cct, "OSD::disk_tp", g_conf->osd_disk_threads, "osd_disk_threads"),
-  command_tp(external_messenger->cct, "OSD::command_tp", 1),
+  op_tp(cct, "OSD::op_tp", cct->_conf->osd_op_threads, "osd_op_threads"),
+  recovery_tp(cct, "OSD::recovery_tp", cct->_conf->osd_recovery_threads, "osd_recovery_threads"),
+  disk_tp(cct, "OSD::disk_tp", cct->_conf->osd_disk_threads, "osd_disk_threads"),
+  command_tp(cct, "OSD::command_tp", 1),
   paused_recovery(false),
   heartbeat_lock("OSD::heartbeat_lock"),
   heartbeat_stop(false), heartbeat_need_update(true), heartbeat_epoch(0),
@@ -920,32 +880,37 @@ OSD::OSD(int id, Messenger *internal_messenger, Messenger *external_messenger,
   heartbeat_dispatcher(this),
   stat_lock("OSD::stat_lock"),
   finished_lock("OSD::finished_lock"),
+  op_tracker(cct),
   test_ops_hook(NULL),
-  op_wq(this, g_conf->osd_op_thread_timeout, &op_tp),
-  peering_wq(this, g_conf->osd_op_thread_timeout, &op_tp),
+  op_wq(this, cct->_conf->osd_op_thread_timeout, &op_tp),
+  peering_wq(this, cct->_conf->osd_op_thread_timeout, &op_tp),
   map_lock("OSD::map_lock"),
   peer_map_epoch_lock("OSD::peer_map_epoch_lock"),
-  debug_drop_pg_create_probability(g_conf->osd_debug_drop_pg_create_probability),
-  debug_drop_pg_create_duration(g_conf->osd_debug_drop_pg_create_duration),
+  debug_drop_pg_create_probability(cct->_conf->osd_debug_drop_pg_create_probability),
+  debug_drop_pg_create_duration(cct->_conf->osd_debug_drop_pg_create_duration),
   debug_drop_pg_create_left(-1),
   outstanding_pg_stats(false),
   up_thru_wanted(0), up_thru_pending(0),
   pg_stat_queue_lock("OSD::pg_stat_queue_lock"),
   osd_stat_updated(false),
   pg_stat_tid(0), pg_stat_tid_flushed(0),
-  command_wq(this, g_conf->osd_command_thread_timeout, &command_tp),
+  command_wq(this, cct->_conf->osd_command_thread_timeout, &command_tp),
   recovery_ops_active(0),
-  recovery_wq(this, g_conf->osd_recovery_thread_timeout, &recovery_tp),
+  recovery_wq(this, cct->_conf->osd_recovery_thread_timeout, &recovery_tp),
   replay_queue_lock("OSD::replay_queue_lock"),
-  snap_trim_wq(this, g_conf->osd_snap_trim_thread_timeout, &disk_tp),
-  scrub_wq(this, g_conf->osd_scrub_thread_timeout, &disk_tp),
-  scrub_finalize_wq(this, g_conf->osd_scrub_finalize_thread_timeout, &op_tp),
-  rep_scrub_wq(this, g_conf->osd_scrub_thread_timeout, &disk_tp),
-  remove_wq(store, g_conf->osd_remove_thread_timeout, &disk_tp),
+  snap_trim_wq(this, cct->_conf->osd_snap_trim_thread_timeout, &disk_tp),
+  scrub_wq(this, cct->_conf->osd_scrub_thread_timeout, &disk_tp),
+  scrub_finalize_wq(this, cct->_conf->osd_scrub_finalize_thread_timeout, &op_tp),
+  rep_scrub_wq(this, cct->_conf->osd_scrub_thread_timeout, &disk_tp),
+  remove_wq(store, cct->_conf->osd_remove_thread_timeout, &disk_tp),
   next_removal_seq(0),
   service(this)
 {
   monc->set_messenger(client_messenger);
+  op_tracker.set_complaint_and_threshold(cct->_conf->osd_op_complaint_time,
+                                         cct->_conf->osd_op_log_threshold);
+  op_tracker.set_history_size_and_duration(cct->_conf->osd_op_history_size,
+                                           cct->_conf->osd_op_history_duration);
 }
 
 OSD::~OSD()
@@ -953,7 +918,9 @@ OSD::~OSD()
   delete authorize_handler_cluster_registry;
   delete authorize_handler_service_registry;
   delete class_handler;
-  g_ceph_context->get_perfcounters_collection()->remove(logger);
+  cct->get_perfcounters_collection()->remove(recoverystate_perf);
+  cct->get_perfcounters_collection()->remove(logger);
+  delete recoverystate_perf;
   delete logger;
   delete store;
 }
@@ -975,7 +942,7 @@ int OSD::pre_init()
     return 0;
   
   assert(!store);
-  store = create_object_store(dev_path, journal_path);
+  store = create_object_store(cct, dev_path, journal_path);
   if (!store) {
     derr << "OSD::pre_init: unable to create object store" << dendl;
     return -ENODEV;
@@ -987,7 +954,7 @@ int OSD::pre_init()
     return -EBUSY;
   }
 
-  g_conf->add_observer(this);
+  cct->_conf->add_observer(this);
   return 0;
 }
 
@@ -1104,6 +1071,7 @@ public:
 
 int OSD::init()
 {
+  CompatSet initial, diff;
   Mutex::Locker lock(osd_lock);
   if (is_stopping())
     return 0;
@@ -1128,9 +1096,48 @@ int OSD::init()
   r = read_superblock();
   if (r < 0) {
     derr << "OSD::init() : unable to read osd superblock" << dendl;
-    store->umount();
-    delete store;
-    return -EINVAL;
+    r = -EINVAL;
+    goto out;
+  }
+
+  if (osd_compat.compare(superblock.compat_features) < 0) {
+    derr << "The disk uses features unsupported by the executable." << dendl;
+    derr << " ondisk features " << superblock.compat_features << dendl;
+    derr << " daemon features " << osd_compat << dendl;
+
+    if (osd_compat.writeable(superblock.compat_features)) {
+      CompatSet diff = osd_compat.unsupported(superblock.compat_features);
+      derr << "it is still writeable, though. Missing features: " << diff << dendl;
+      r = -EOPNOTSUPP;
+      goto out;
+    }
+    else {
+      CompatSet diff = osd_compat.unsupported(superblock.compat_features);
+      derr << "Cannot write to disk! Missing features: " << diff << dendl;
+      r = -EOPNOTSUPP;
+      goto out;
+    }
+  }
+
+  assert_warn(whoami == superblock.whoami);
+  if (whoami != superblock.whoami) {
+    derr << "OSD::init: superblock says osd"
+	 << superblock.whoami << " but i am osd." << whoami << dendl;
+    r = -EINVAL;
+    goto out;
+  }
+
+  initial = get_osd_initial_compat_set();
+  diff = superblock.compat_features.unsupported(initial);
+  if (superblock.compat_features.merge(initial)) {
+    // We need to persist the new compat_set before we
+    // do anything else
+    dout(5) << "Upgrading superblock adding: " << diff << dendl;
+    ObjectStore::Transaction t;
+    write_superblock(t);
+    r = store->apply_transaction(t);
+    if (r < 0)
+      goto out;
   }
 
   // make sure info object exists
@@ -1140,7 +1147,7 @@ int OSD::init()
     t.touch(coll_t::META_COLL, service.infos_oid);
     r = store->apply_transaction(t);
     if (r < 0)
-      return r;
+      goto out;
   }
 
   // make sure snap mapper object exists
@@ -1150,25 +1157,13 @@ int OSD::init()
     t.touch(coll_t::META_COLL, OSD::make_snapmapper_oid());
     r = store->apply_transaction(t);
     if (r < 0)
-      return r;
-  }
-
-  if (osd_compat.compare(superblock.compat_features) != 0) {
-    // We need to persist the new compat_set before we
-    // do anything else
-    dout(5) << "Upgrading superblock compat_set" << dendl;
-    superblock.compat_features = osd_compat;
-    ObjectStore::Transaction t;
-    write_superblock(t);
-    r = store->apply_transaction(t);
-    if (r < 0)
-      return r;
+      goto out;
   }
 
-  class_handler = new ClassHandler();
+  class_handler = new ClassHandler(cct);
   cls_initialize(class_handler);
 
-  if (g_conf->osd_open_classes_on_start) {
+  if (cct->_conf->osd_open_classes_on_start) {
     int r = class_handler->open_all_classes();
     if (r)
       dout(1) << "warning: got an error loading one or more classes: " << cpp_strerror(r) << dendl;
@@ -1178,23 +1173,20 @@ int OSD::init()
   assert_warn(!osdmap);
   if (osdmap) {
     derr << "OSD::init: unable to read current osdmap" << dendl;
-    return -EINVAL;
+    r = -EINVAL;
+    goto out;
   }
   osdmap = get_map(superblock.current_epoch);
   check_osdmap_features();
 
+  create_recoverystate_perf();
+
   bind_epoch = osdmap->get_epoch();
 
   // load up pgs (as they previously existed)
   load_pgs();
 
   dout(2) << "superblock: i am osd." << superblock.whoami << dendl;
-  assert_warn(whoami == superblock.whoami);
-  if (whoami != superblock.whoami) {
-    derr << "OSD::init: logic error: superblock says osd"
-	 << superblock.whoami << " but i am osd." << whoami << dendl;
-    return -EINVAL;
-  }
 
   create_logger();
     
@@ -1206,10 +1198,12 @@ int OSD::init()
   hb_front_server_messenger->add_dispatcher_head(&heartbeat_dispatcher);
   hb_back_server_messenger->add_dispatcher_head(&heartbeat_dispatcher);
 
+  objecter_messenger->add_dispatcher_head(&service.objecter_dispatcher);
+
   monc->set_want_keys(CEPH_ENTITY_TYPE_MON | CEPH_ENTITY_TYPE_OSD);
   r = monc->init();
   if (r < 0)
-    return r;
+    goto out;
 
   // tell monc about log_client so it will know about mon session resets
   monc->set_log_client(&clog);
@@ -1223,8 +1217,51 @@ int OSD::init()
   heartbeat_thread.create();
 
   // tick
-  tick_timer.add_event_after(g_conf->osd_heartbeat_interval, new C_Tick(this));
+  tick_timer.add_event_after(cct->_conf->osd_heartbeat_interval, new C_Tick(this));
+
+  service.init();
+  service.publish_map(osdmap);
+  service.publish_superblock(superblock);
 
+  osd_lock.Unlock();
+
+  r = monc->authenticate();
+  if (r < 0) {
+    osd_lock.Lock(); // locker is going to unlock this on function exit
+    if (is_stopping())
+      r =  0;
+    goto monout;
+  }
+
+  while (monc->wait_auth_rotating(30.0) < 0) {
+    derr << "unable to obtain rotating service keys; retrying" << dendl;
+  }
+
+  osd_lock.Lock();
+  if (is_stopping())
+    return 0;
+
+  dout(10) << "ensuring pgs have consumed prior maps" << dendl;
+  consume_map();
+  peering_wq.drain();
+
+  dout(10) << "done with init, starting boot process" << dendl;
+  state = STATE_BOOTING;
+  start_boot();
+
+  return 0;
+monout:
+  monc->shutdown();
+
+out:
+  store->umount();
+  delete store;
+  return r;
+}
+
+void OSD::final_init()
+{
+  int r;
   AdminSocket *admin_socket = cct->get_admin_socket();
   asok_hook = new OSDSocketHook(this);
   r = admin_socket->register_command("dump_ops_in_flight",
@@ -1317,47 +1354,13 @@ int OSD::init()
     test_ops_hook,
     "inject metadata error");
   assert(r == 0);
-
-  service.init();
-  service.publish_map(osdmap);
-  service.publish_superblock(superblock);
-
-  osd_lock.Unlock();
-
-  r = monc->authenticate();
-  if (r < 0) {
-    monc->shutdown();
-    store->umount();
-    osd_lock.Lock(); // locker is going to unlock this on function exit
-    if (is_stopping())
-      return 0;
-    return r;
-  }
-
-  while (monc->wait_auth_rotating(30.0) < 0) {
-    derr << "unable to obtain rotating service keys; retrying" << dendl;
-  }
-
-  osd_lock.Lock();
-  if (is_stopping())
-    return 0;
-
-  dout(10) << "ensuring pgs have consumed prior maps" << dendl;
-  consume_map();
-  peering_wq.drain();
-
-  dout(10) << "done with init, starting boot process" << dendl;
-  state = STATE_BOOTING;
-  start_boot();
-
-  return 0;
 }
 
 void OSD::create_logger()
 {
   dout(10) << "create_logger" << dendl;
 
-  PerfCountersBuilder osd_plb(g_ceph_context, "osd", l_osd_first, l_osd_last);
+  PerfCountersBuilder osd_plb(cct, "osd", l_osd_first, l_osd_last);
 
   osd_plb.add_u64(l_osd_opq, "opq");       // op queue length (waiting to be processed yet)
   osd_plb.add_u64(l_osd_op_wip, "op_wip");   // rep ops currently being processed (primary)
@@ -1416,15 +1419,58 @@ void OSD::create_logger()
   osd_plb.add_u64_counter(l_osd_mape_dup, "map_message_epoch_dups"); // dup osdmap epochs
   osd_plb.add_u64_counter(l_osd_waiting_for_map,
 			  "messages_delayed_for_map"); // dup osdmap epochs
-  osd_plb.add_time_avg(l_osd_peering_latency, "peering_latency");
+
+  osd_plb.add_u64(l_osd_stat_bytes, "stat_bytes");
+  osd_plb.add_u64(l_osd_stat_bytes_used, "stat_bytes_used");
+  osd_plb.add_u64(l_osd_stat_bytes_avail, "stat_bytes_avail");
 
   logger = osd_plb.create_perf_counters();
-  g_ceph_context->get_perfcounters_collection()->add(logger);
+  cct->get_perfcounters_collection()->add(logger);
+}
+
+void OSD::create_recoverystate_perf()
+{
+  dout(10) << "create_recoverystate_perf" << dendl;
+
+  PerfCountersBuilder rs_perf(cct, "recoverystate_perf", rs_first, rs_last);
+
+  rs_perf.add_time_avg(rs_initial_latency, "initial_latency");
+  rs_perf.add_time_avg(rs_started_latency, "started_latency");
+  rs_perf.add_time_avg(rs_reset_latency, "reset_latency");
+  rs_perf.add_time_avg(rs_start_latency, "start_latency");
+  rs_perf.add_time_avg(rs_primary_latency, "primary_latency");
+  rs_perf.add_time_avg(rs_peering_latency, "peering_latency");
+  rs_perf.add_time_avg(rs_backfilling_latency, "backfilling_latency");
+  rs_perf.add_time_avg(rs_waitremotebackfillreserved_latency, "waitremotebackfillreserved_latency");
+  rs_perf.add_time_avg(rs_waitlocalbackfillreserved_latency, "waitlocalbackfillreserved_latency");
+  rs_perf.add_time_avg(rs_notbackfilling_latency, "notbackfilling_latency");
+  rs_perf.add_time_avg(rs_repnotrecovering_latency, "repnotrecovering_latency");
+  rs_perf.add_time_avg(rs_repwaitrecoveryreserved_latency, "repwaitrecoveryreserved_latency");
+  rs_perf.add_time_avg(rs_repwaitbackfillreserved_latency, "repwaitbackfillreserved_latency");
+  rs_perf.add_time_avg(rs_RepRecovering_latency, "RepRecovering_latency");
+  rs_perf.add_time_avg(rs_activating_latency, "activating_latency");
+  rs_perf.add_time_avg(rs_waitlocalrecoveryreserved_latency, "waitlocalrecoveryreserved_latency");
+  rs_perf.add_time_avg(rs_waitremoterecoveryreserved_latency, "waitremoterecoveryreserved_latency");
+  rs_perf.add_time_avg(rs_recovering_latency, "recovering_latency");
+  rs_perf.add_time_avg(rs_recovered_latency, "recovered_latency");
+  rs_perf.add_time_avg(rs_clean_latency, "clean_latency");
+  rs_perf.add_time_avg(rs_active_latency, "active_latency");
+  rs_perf.add_time_avg(rs_replicaactive_latency, "replicaactive_latency");
+  rs_perf.add_time_avg(rs_stray_latency, "stray_latency");
+  rs_perf.add_time_avg(rs_getinfo_latency, "getinfo_latency");
+  rs_perf.add_time_avg(rs_getlog_latency, "getlog_latency");
+  rs_perf.add_time_avg(rs_waitactingchange_latency, "waitactingchange_latency");
+  rs_perf.add_time_avg(rs_incomplete_latency, "incomplete_latency");
+  rs_perf.add_time_avg(rs_getmissing_latency, "getmissing_latency");
+  rs_perf.add_time_avg(rs_waitupthru_latency, "waitupthru_latency");
+
+  recoverystate_perf = rs_perf.create_perf_counters();
+  cct->get_perfcounters_collection()->add(recoverystate_perf);
 }
 
 void OSD::suicide(int exitcode)
 {
-  if (g_conf->filestore_blackhole) {
+  if (cct->_conf->filestore_blackhole) {
     derr << " filestore_blackhole=true, doing abbreviated shutdown" << dendl;
     _exit(exitcode);
   }
@@ -1464,11 +1510,11 @@ int OSD::shutdown()
   heartbeat_lock.Unlock();
 
   // Debugging
-  g_ceph_context->_conf->set_val("debug_osd", "100");
-  g_ceph_context->_conf->set_val("debug_journal", "100");
-  g_ceph_context->_conf->set_val("debug_filestore", "100");
-  g_ceph_context->_conf->set_val("debug_ms", "100");
-  g_ceph_context->_conf->apply_changes(NULL);
+  cct->_conf->set_val("debug_osd", "100");
+  cct->_conf->set_val("debug_journal", "100");
+  cct->_conf->set_val("debug_filestore", "100");
+  cct->_conf->set_val("debug_ms", "100");
+  cct->_conf->apply_changes(NULL);
   
   // Shutdown PGs
   for (hash_map<pg_t, PG*>::iterator p = pg_map.begin();
@@ -1477,7 +1523,6 @@ int OSD::shutdown()
     dout(20) << " kicking pg " << p->first << dendl;
     p->second->lock();
     p->second->on_shutdown();
-    p->second->kick();
     p->second->unlock();
     p->second->osr->flush();
   }
@@ -1585,7 +1630,7 @@ int OSD::shutdown()
 #ifdef PG_DEBUG_REFS
   service.dump_live_pgids();
 #endif
-  g_conf->remove_observer(this);
+  cct->_conf->remove_observer(this);
 
   monc->shutdown();
   osd_lock.Unlock();
@@ -1598,6 +1643,7 @@ int OSD::shutdown()
   client_messenger->shutdown();
   cluster_messenger->shutdown();
   hbclient_messenger->shutdown();
+  objecter_messenger->shutdown();
   hb_front_server_messenger->shutdown();
   hb_back_server_messenger->shutdown();
   peering_wq.clear();
@@ -1629,28 +1675,6 @@ int OSD::read_superblock()
   ::decode(superblock, p);
 
   dout(10) << "read_superblock " << superblock << dendl;
-  if (osd_compat.compare(superblock.compat_features) < 0) {
-    derr << "The disk uses features unsupported by the executable." << dendl;
-    derr << " ondisk features " << superblock.compat_features << dendl;
-    derr << " daemon features " << osd_compat << dendl;
-
-    if (osd_compat.writeable(superblock.compat_features)) {
-      derr << "it is still writeable, though. Missing features:" << dendl;
-      CompatSet diff = osd_compat.unsupported(superblock.compat_features);
-      return -EOPNOTSUPP;
-    }
-    else {
-      derr << "Cannot write to disk! Missing features:" << dendl;
-      CompatSet diff = osd_compat.unsupported(superblock.compat_features);
-      return -EOPNOTSUPP;
-    }
-  }
-
-  if (whoami != superblock.whoami) {
-    derr << "read_superblock superblock says osd." << superblock.whoami
-         << ", but i (think i) am osd." << whoami << dendl;
-    return -1;
-  }
   
   return 0;
 }
@@ -1665,17 +1689,17 @@ void OSD::recursive_remove_collection(ObjectStore *store, coll_t tmp)
     make_snapmapper_oid());
   SnapMapper mapper(&driver, 0, 0, 0);
 
-  vector<hobject_t> objects;
+  vector<ghobject_t> objects;
   store->collection_list(tmp, objects);
 
   // delete them.
   ObjectStore::Transaction t;
   unsigned removed = 0;
-  for (vector<hobject_t>::iterator p = objects.begin();
+  for (vector<ghobject_t>::iterator p = objects.begin();
        p != objects.end();
        ++p, removed++) {
     OSDriver::OSTransaction _t(driver.get_transaction(&t));
-    int r = mapper.remove_oid(*p, &_t);
+    int r = mapper.remove_oid(p->hobj, &_t);
     if (r != 0 && r != -ENOENT)
       assert(0);
     t.collection_remove(tmp, *p);
@@ -2141,7 +2165,7 @@ void OSD::build_past_intervals_parallel()
     pg->unlock();
 
     // don't let the transaction get too big
-    if (++num >= g_conf->osd_target_transaction_size) {
+    if (++num >= cct->_conf->osd_target_transaction_size) {
       store->apply_transaction(t);
       t = ObjectStore::Transaction();
       num = 0;
@@ -2177,9 +2201,10 @@ void OSD::handle_pg_peering_evt(
     int role = osdmap->calc_pg_role(whoami, acting, acting.size());
 
     pg_history_t history = info.history;
-    project_pg_history(info.pgid, history, epoch, up, acting);
+    bool valid_history = project_pg_history(
+      info.pgid, history, epoch, up, acting);
 
-    if (epoch < history.same_interval_since) {
+    if (!valid_history || epoch < history.same_interval_since) {
       dout(10) << "get_or_create_pg " << info.pgid << " acting changed in "
 	       << history.same_interval_since << " (msg from " << epoch << ")" << dendl;
       return;
@@ -2364,7 +2389,7 @@ void OSD::calc_priors_during(pg_t pgid, epoch_t start, epoch_t end, set<int>& ps
  * Fill in the passed history so you know same_interval_since, same_up_since,
  * and same_primary_since.
  */
-void OSD::project_pg_history(pg_t pgid, pg_history_t& h, epoch_t from,
+bool OSD::project_pg_history(pg_t pgid, pg_history_t& h, epoch_t from,
 			     const vector<int>& currentup,
 			     const vector<int>& currentacting)
 {
@@ -2378,7 +2403,11 @@ void OSD::project_pg_history(pg_t pgid, pg_history_t& h, epoch_t from,
        e > from;
        e--) {
     // verify during intermediate epoch (e-1)
-    OSDMapRef oldmap = get_map(e-1);
+    OSDMapRef oldmap = service.try_get_map(e-1);
+    if (!oldmap) {
+      dout(15) << __func__ << ": found map gap, returning false" << dendl;
+      return false;
+    }
     assert(oldmap->have_pg_pool(pgid.pool()));
 
     vector<int> up, acting;
@@ -2428,20 +2457,21 @@ void OSD::project_pg_history(pg_t pgid, pg_history_t& h, epoch_t from,
   }
 
   dout(15) << "project_pg_history end " << h << dendl;
+  return true;
 }
 
 // -------------------------------------
 
 float OSDService::get_full_ratio()
 {
-  float full_ratio = g_conf->osd_failsafe_full_ratio;
+  float full_ratio = cct->_conf->osd_failsafe_full_ratio;
   if (full_ratio > 1.0) full_ratio /= 100.0;
   return full_ratio;
 }
 
 float OSDService::get_nearfull_ratio()
 {
-  float nearfull_ratio = g_conf->osd_failsafe_nearfull_ratio;
+  float nearfull_ratio = cct->_conf->osd_failsafe_nearfull_ratio;
   if (nearfull_ratio > 1.0) nearfull_ratio /= 100.0;
   return nearfull_ratio;
 }
@@ -2453,7 +2483,12 @@ void OSDService::check_nearfull_warning(const osd_stat_t &osd_stat)
 
   time_t now = ceph_clock_gettime(NULL);
 
-  float ratio = ((float)osd_stat.kb_used) / ((float)osd_stat.kb);
+  // We base ratio on kb_avail rather than kb_used because they can
+  // differ significantly e.g. on btrfs volumes with a large number of
+  // chunks reserved for metadata, and for our purposes (avoiding
+  // completely filling the disk) it's far more important to know how
+  // much space is available to use than how much we've already used.
+  float ratio = ((float)(osd_stat.kb - osd_stat.kb_avail)) / ((float)osd_stat.kb);
   float nearfull_ratio = get_nearfull_ratio();
   float full_ratio = get_full_ratio();
   cur_ratio = ratio;
@@ -2469,7 +2504,7 @@ void OSDService::check_nearfull_warning(const osd_stat_t &osd_stat)
 
   if (cur_state != new_state) {
     cur_state = new_state;
-  } else if (now - last_msg < g_conf->osd_op_complaint_time) {
+  } else if (now - last_msg < cct->_conf->osd_op_complaint_time) {
     return;
   }
   last_msg = now;
@@ -2491,7 +2526,7 @@ bool OSDService::too_full_for_backfill(double *_ratio, double *_max_ratio)
 {
   Mutex::Locker l(full_status_lock);
   double max_ratio;
-  max_ratio = g_conf->osd_backfill_full_ratio;
+  max_ratio = cct->_conf->osd_backfill_full_ratio;
   if (_ratio)
     *_ratio = cur_ratio;
   if (_max_ratio)
@@ -2506,9 +2541,17 @@ void OSD::update_osd_stat()
   struct statfs stbuf;
   store->statfs(&stbuf);
 
-  osd_stat.kb = stbuf.f_blocks * stbuf.f_bsize / 1024;
-  osd_stat.kb_used = (stbuf.f_blocks - stbuf.f_bfree) * stbuf.f_bsize / 1024;
-  osd_stat.kb_avail = stbuf.f_bavail * stbuf.f_bsize / 1024;
+  uint64_t bytes = stbuf.f_blocks * stbuf.f_bsize;
+  uint64_t used = (stbuf.f_blocks - stbuf.f_bfree) * stbuf.f_bsize;
+  uint64_t avail = stbuf.f_bavail * stbuf.f_bsize;
+
+  osd_stat.kb = bytes >> 10;
+  osd_stat.kb_used = used >> 10;
+  osd_stat.kb_avail = avail >> 10;
+
+  logger->set(l_osd_stat_bytes, bytes);
+  logger->set(l_osd_stat_bytes_used, used);
+  logger->set(l_osd_stat_bytes_avail, avail);
 
   osd_stat.hb_in.clear();
   for (map<int,HeartbeatInfo>::iterator p = heartbeat_peers.begin(); p != heartbeat_peers.end(); ++p)
@@ -2586,13 +2629,13 @@ void OSD::maybe_update_heartbeat_peers()
   assert(osd_lock.is_locked());
 
   if (is_waiting_for_healthy()) {
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(cct);
     if (last_heartbeat_resample == utime_t()) {
       last_heartbeat_resample = now;
       heartbeat_need_update = true;
     } else if (!heartbeat_need_update) {
       utime_t dur = now - last_heartbeat_resample;
-      if (dur > g_conf->osd_heartbeat_grace) {
+      if (dur > cct->_conf->osd_heartbeat_grace) {
 	dout(10) << "maybe_update_heartbeat_peers forcing update after " << dur << " seconds" << dendl;
 	heartbeat_need_update = true;
 	last_heartbeat_resample = now;
@@ -2665,7 +2708,7 @@ void OSD::maybe_update_heartbeat_peers()
   // too few?
   int start = osdmap->get_next_up_osd_after(whoami);
   for (int n = start; n >= 0; ) {
-    if ((int)heartbeat_peers.size() >= g_conf->osd_heartbeat_min_peers)
+    if ((int)heartbeat_peers.size() >= cct->_conf->osd_heartbeat_min_peers)
       break;
     if (!extras.count(n) && !want.count(n) && n != whoami) {
       dout(10) << " adding random peer osd." << n << dendl;
@@ -2679,7 +2722,7 @@ void OSD::maybe_update_heartbeat_peers()
 
   // too many?
   for (set<int>::iterator p = extras.begin();
-       (int)heartbeat_peers.size() > g_conf->osd_heartbeat_min_peers && p != extras.end();
+       (int)heartbeat_peers.size() > cct->_conf->osd_heartbeat_min_peers && p != extras.end();
        ++p) {
     if (want.count(*p))
       continue;
@@ -2729,7 +2772,7 @@ void OSD::handle_osd_ping(MOSDPing *m)
 
   case MOSDPing::PING:
     {
-      if (g_conf->osd_debug_drop_ping_probability > 0) {
+      if (cct->_conf->osd_debug_drop_ping_probability > 0) {
 	if (debug_heartbeat_drops_remaining.count(from)) {
 	  if (debug_heartbeat_drops_remaining[from] == 0) {
 	    debug_heartbeat_drops_remaining.erase(from);
@@ -2740,10 +2783,10 @@ void OSD::handle_osd_ping(MOSDPing *m)
 		    << " remaining to drop" << dendl;
 	    break;
 	  }
-	} else if (g_conf->osd_debug_drop_ping_probability >
+	} else if (cct->_conf->osd_debug_drop_ping_probability >
 	           ((((double)(rand()%100))/100.0))) {
 	  debug_heartbeat_drops_remaining[from] =
-	    g_conf->osd_debug_drop_ping_duration;
+	    cct->_conf->osd_debug_drop_ping_duration;
 	  dout(5) << "Dropping heartbeat from " << from
 		  << ", " << debug_heartbeat_drops_remaining[from]
 		  << " remaining to drop" << dendl;
@@ -2751,7 +2794,7 @@ void OSD::handle_osd_ping(MOSDPing *m)
 	}
       }
 
-      if (!g_ceph_context->get_heartbeat_map()->is_healthy()) {
+      if (!cct->get_heartbeat_map()->is_healthy()) {
 	dout(10) << "internal heartbeat not healthy, dropping ping request" << dendl;
 	break;
       }
@@ -2819,8 +2862,8 @@ void OSD::handle_osd_ping(MOSDPing *m)
 	}
       }
 
-      utime_t cutoff = ceph_clock_now(g_ceph_context);
-      cutoff -= g_conf->osd_heartbeat_grace;
+      utime_t cutoff = ceph_clock_now(cct);
+      cutoff -= cct->_conf->osd_heartbeat_grace;
       if (i->second.is_healthy(cutoff)) {
 	// Cancel false reports
 	if (failure_queue.count(from)) {
@@ -2856,11 +2899,11 @@ void OSD::heartbeat_entry()
   while (!heartbeat_stop) {
     heartbeat();
 
-    double wait = .5 + ((float)(rand() % 10)/10.0) * (float)g_conf->osd_heartbeat_interval;
+    double wait = .5 + ((float)(rand() % 10)/10.0) * (float)cct->_conf->osd_heartbeat_interval;
     utime_t w;
     w.set_from_double(wait);
     dout(30) << "heartbeat_entry sleeping for " << wait << dendl;
-    heartbeat_cond.WaitInterval(g_ceph_context, heartbeat_lock, w);
+    heartbeat_cond.WaitInterval(cct, heartbeat_lock, w);
     if (is_stopping())
       return;
     dout(30) << "heartbeat_entry woke up" << dendl;
@@ -2870,16 +2913,16 @@ void OSD::heartbeat_entry()
 void OSD::heartbeat_check()
 {
   assert(heartbeat_lock.is_locked());
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   double age = hbclient_messenger->get_dispatch_queue_max_age(now);
-  if (age > (g_conf->osd_heartbeat_grace / 2)) {
+  if (age > (cct->_conf->osd_heartbeat_grace / 2)) {
     derr << "skipping heartbeat_check, hbqueue max age: " << age << dendl;
     return; // hb dispatch is too backed up for our hb status to be meaningful
   }
 
   // check for incoming heartbeats (move me elsewhere?)
   utime_t cutoff = now;
-  cutoff -= g_conf->osd_heartbeat_grace;
+  cutoff -= cct->_conf->osd_heartbeat_grace;
   for (map<int,HeartbeatInfo>::iterator p = heartbeat_peers.begin();
        p != heartbeat_peers.end();
        ++p) {
@@ -2928,7 +2971,7 @@ void OSD::heartbeat()
 
   dout(5) << "heartbeat: " << osd_stat << dendl;
 
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
 
   // send heartbeats
   for (map<int,HeartbeatInfo>::iterator i = heartbeat_peers.begin();
@@ -2961,7 +3004,7 @@ void OSD::heartbeat()
   // hmm.. am i all alone?
   dout(30) << "heartbeat lonely?" << dendl;
   if (heartbeat_peers.empty()) {
-    if (now - last_mon_heartbeat > g_conf->osd_mon_heartbeat_interval && is_active()) {
+    if (now - last_mon_heartbeat > cct->_conf->osd_mon_heartbeat_interval && is_active()) {
       last_mon_heartbeat = now;
       dout(10) << "i have no heartbeat peers; checking mon for new map" << dendl;
       monc->sub_want("osdmap", osdmap->get_epoch() + 1, CEPH_SUBSCRIBE_ONETIME);
@@ -3039,19 +3082,19 @@ void OSD::tick()
     heartbeat_lock.Unlock();
 
     // mon report?
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(cct);
     if (outstanding_pg_stats &&
-	(now - g_conf->osd_mon_ack_timeout) > last_pg_stats_ack) {
+	(now - cct->_conf->osd_mon_ack_timeout) > last_pg_stats_ack) {
       dout(1) << "mon hasn't acked PGStats in " << now - last_pg_stats_ack
 	      << " seconds, reconnecting elsewhere" << dendl;
       monc->reopen_session();
-      last_pg_stats_ack = ceph_clock_now(g_ceph_context);  // reset clock
+      last_pg_stats_ack = ceph_clock_now(cct);  // reset clock
       last_pg_stats_sent = utime_t();
     }
-    if (now - last_pg_stats_sent > g_conf->osd_mon_report_interval_max) {
+    if (now - last_pg_stats_sent > cct->_conf->osd_mon_report_interval_max) {
       osd_stat_updated = true;
       do_mon_report();
-    } else if (now - last_mon_report > g_conf->osd_mon_report_interval_min) {
+    } else if (now - last_mon_report > cct->_conf->osd_mon_report_interval_min) {
       do_mon_report();
     }
 
@@ -3131,7 +3174,7 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
 
     string poolstr;
 
-    cmd_getval(g_ceph_context, cmdmap, "pool", poolstr);
+    cmd_getval(service->cct, cmdmap, "pool", poolstr);
     pool = curmap->const_lookup_pg_pool_name(poolstr.c_str());
     //If we can't find it by name then maybe id specified
     if (pool < 0 && isdigit(poolstr[0]))
@@ -3142,7 +3185,7 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
     }
     r = -1;
     string objname, nspace;
-    cmd_getval(g_ceph_context, cmdmap, "objname", objname);
+    cmd_getval(service->cct, cmdmap, "objname", objname);
     std::size_t found = objname.find_first_of('/');
     if (found != string::npos) {
       nspace = objname.substr(0, found);
@@ -3164,8 +3207,8 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
       map<string, bufferlist> newattrs;
       bufferlist val;
       string key, valstr;
-      cmd_getval(g_ceph_context, cmdmap, "key", key);
-      cmd_getval(g_ceph_context, cmdmap, "val", valstr);
+      cmd_getval(service->cct, cmdmap, "key", key);
+      cmd_getval(service->cct, cmdmap, "val", valstr);
 
       val.append(valstr);
       newattrs[key] = val;
@@ -3178,7 +3221,7 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
     } else if (command == "rmomapkey") {
       string key;
       set<string> keys;
-      cmd_getval(g_ceph_context, cmdmap, "key", key);
+      cmd_getval(service->cct, cmdmap, "key", key);
 
       keys.insert(key);
       t.omap_rmkeys(coll_t(pgid), obj, keys);
@@ -3191,7 +3234,7 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
       bufferlist newheader;
       string headerstr;
 
-      cmd_getval(g_ceph_context, cmdmap, "header", headerstr);
+      cmd_getval(service->cct, cmdmap, "header", headerstr);
       newheader.append(headerstr);
       t.omap_setheader(coll_t(pgid), obj, newheader);
       r = store->apply_transaction(t);
@@ -3215,7 +3258,7 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
       }
     } else if (command == "truncobj") {
       int64_t trunclen;
-      cmd_getval(g_ceph_context, cmdmap, "len", trunclen);
+      cmd_getval(service->cct, cmdmap, "len", trunclen);
       t.truncate(coll_t(pgid), obj, trunclen);
       r = store->apply_transaction(t);
       if (r < 0)
@@ -3237,16 +3280,19 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
 
 // =========================================
 bool remove_dir(
+  CephContext *cct,
   ObjectStore *store, SnapMapper *mapper,
   OSDriver *osdriver,
   ObjectStore::Sequencer *osr,
-  coll_t coll, DeletingStateRef dstate)
+  coll_t coll, DeletingStateRef dstate,
+  ThreadPool::TPHandle &handle)
 {
-  vector<hobject_t> olist;
+  vector<ghobject_t> olist;
   int64_t num = 0;
   ObjectStore::Transaction *t = new ObjectStore::Transaction;
-  hobject_t next;
+  ghobject_t next;
   while (!next.is_max()) {
+    handle.reset_tp_timeout();
     store->collection_list_partial(
       coll,
       next,
@@ -3255,20 +3301,22 @@ bool remove_dir(
       0,
       &olist,
       &next);
-    for (vector<hobject_t>::iterator i = olist.begin();
+    for (vector<ghobject_t>::iterator i = olist.begin();
 	 i != olist.end();
 	 ++i, ++num) {
       OSDriver::OSTransaction _t(osdriver->get_transaction(t));
-      int r = mapper->remove_oid(*i, &_t);
+      int r = mapper->remove_oid(i->hobj, &_t);
       if (r != 0 && r != -ENOENT) {
 	assert(0);
       }
       t->remove(coll, *i);
-      if (num >= g_conf->osd_target_transaction_size) {
+      if (num >= cct->_conf->osd_target_transaction_size) {
 	C_SaferCond waiter;
 	store->queue_transaction(osr, t, &waiter);
 	bool cont = dstate->pause_clearing();
+	handle.suspend_tp_timeout();
 	waiter.wait();
+	handle.reset_tp_timeout();
 	if (cont)
 	  cont = dstate->resume_clearing();
 	delete t;
@@ -3284,14 +3332,18 @@ bool remove_dir(
   C_SaferCond waiter;
   store->queue_transaction(osr, t, &waiter);
   bool cont = dstate->pause_clearing();
+  handle.suspend_tp_timeout();
   waiter.wait();
+  handle.reset_tp_timeout();
   if (cont)
     cont = dstate->resume_clearing();
   delete t;
   return cont;
 }
 
-void OSD::RemoveWQ::_process(pair<PGRef, DeletingStateRef> item)
+void OSD::RemoveWQ::_process(
+  pair<PGRef, DeletingStateRef> item,
+  ThreadPool::TPHandle &handle)
 {
   PGRef pg(item.first);
   SnapMapper &mapper = pg->snap_mapper;
@@ -3302,16 +3354,17 @@ void OSD::RemoveWQ::_process(pair<PGRef, DeletingStateRef> item)
   if (!item.second->start_clearing())
     return;
 
-  if (pg->have_temp_coll()) {
+  list<coll_t> colls_to_remove;
+  pg->get_colls(&colls_to_remove);
+  for (list<coll_t>::iterator i = colls_to_remove.begin();
+       i != colls_to_remove.end();
+       ++i) {
     bool cont = remove_dir(
-      store, &mapper, &driver, pg->osr.get(), pg->get_temp_coll(), item.second);
+      pg->cct, store, &mapper, &driver, pg->osr.get(), *i, item.second,
+      handle);
     if (!cont)
       return;
   }
-  bool cont = remove_dir(
-    store, &mapper, &driver, pg->osr.get(), coll, item.second);
-  if (!cont)
-    return;
 
   if (!item.second->start_deleting())
     return;
@@ -3322,9 +3375,12 @@ void OSD::RemoveWQ::_process(pair<PGRef, DeletingStateRef> item)
     OSD::make_infos_oid(),
     pg->log_oid,
     t);
-  if (pg->have_temp_coll())
-    t->remove_collection(pg->get_temp_coll());
-  t->remove_collection(coll);
+
+  for (list<coll_t>::iterator i = colls_to_remove.begin();
+       i != colls_to_remove.end();
+       ++i) {
+    t->remove_collection(*i);
+  }
 
   // We need the sequencer to stick around until the op is complete
   store->queue_transaction(
@@ -3345,7 +3401,7 @@ void OSD::do_mon_report()
 {
   dout(7) << "do_mon_report" << dendl;
 
-  utime_t now(ceph_clock_now(g_ceph_context));
+  utime_t now(ceph_clock_now(cct));
   last_mon_report = now;
 
   // do any pending reports
@@ -3368,7 +3424,7 @@ void OSD::ms_handle_connect(Connection *con)
       send_alive();
       service.send_pg_temp();
       send_failures();
-      send_pg_stats(ceph_clock_now(g_ceph_context));
+      send_pg_stats(ceph_clock_now(cct));
 
       monc->sub_want("osd_pg_creates", 0, CEPH_SUBSCRIBE_ONETIME);
       monc->renew_subs();
@@ -3429,7 +3485,7 @@ void OSD::_maybe_boot(epoch_t oldest, epoch_t newest)
     // send pings sooner rather than later
     heartbeat_kick();
   } else if (osdmap->get_epoch() >= oldest - 1 &&
-	     osdmap->get_epoch() + g_conf->osd_map_message_max > newest) {
+	     osdmap->get_epoch() + cct->_conf->osd_map_message_max > newest) {
     _send_boot();
     return;
   }
@@ -3451,15 +3507,15 @@ void OSD::start_waiting_for_healthy()
 
 bool OSD::_is_healthy()
 {
-  if (!g_ceph_context->get_heartbeat_map()->is_healthy()) {
+  if (!cct->get_heartbeat_map()->is_healthy()) {
     dout(1) << "is_healthy false -- internal heartbeat failed" << dendl;
     return false;
   }
 
   if (is_waiting_for_healthy()) {
     Mutex::Locker l(heartbeat_lock);
-    utime_t cutoff = ceph_clock_now(g_ceph_context);
-    cutoff -= g_conf->osd_heartbeat_grace;
+    utime_t cutoff = ceph_clock_now(cct);
+    cutoff -= cct->_conf->osd_heartbeat_grace;
     int num = 0, up = 0;
     for (map<int,HeartbeatInfo>::iterator p = heartbeat_peers.begin();
 	 p != heartbeat_peers.end();
@@ -3468,7 +3524,7 @@ bool OSD::_is_healthy()
 	++up;
       ++num;
     }
-    if (up < num / 3) {
+    if ((float)up < (float)num * cct->_conf->osd_heartbeat_min_healthy_ratio) {
       dout(1) << "is_healthy false -- only " << up << "/" << num << " up peers (less than 1/3)" << dendl;
       return false;
     }
@@ -3525,7 +3581,7 @@ void OSD::queue_want_up_thru(epoch_t want)
     up_thru_wanted = want;
 
     // expedite, a bit.  WARNING this will somewhat delay other mon queries.
-    last_mon_report = ceph_clock_now(g_ceph_context);
+    last_mon_report = ceph_clock_now(cct);
     send_alive();
   } else {
     dout(10) << "queue_want_up_thru want " << want << " <= queued " << up_thru_wanted 
@@ -3620,7 +3676,7 @@ void OSD::send_failures()
     heartbeat_lock.Lock();
     locked = true;
   }
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   while (!failure_queue.empty()) {
     int osd = failure_queue.begin()->first;
     int failed_for = (int)(double)(now - failure_queue.begin()->second);
@@ -3648,6 +3704,8 @@ void OSD::send_pg_stats(const utime_t &now)
   stat_lock.Lock();
   osd_stat_t cur_stat = osd_stat;
   stat_lock.Unlock();
+
+  osd_stat.fs_perf_stat = store->get_cur_stats();
    
   pg_stat_queue_lock.Lock();
 
@@ -3687,7 +3745,7 @@ void OSD::send_pg_stats(const utime_t &now)
 
     if (!outstanding_pg_stats) {
       outstanding_pg_stats = true;
-      last_pg_stats_ack = ceph_clock_now(g_ceph_context);
+      last_pg_stats_ack = ceph_clock_now(cct);
     }
     monc->send_mon_message(m);
   }
@@ -3704,7 +3762,7 @@ void OSD::handle_pg_stats_ack(MPGStatsAck *ack)
     return;
   }
 
-  last_pg_stats_ack = ceph_clock_now(g_ceph_context);
+  last_pg_stats_ack = ceph_clock_now(cct);
 
   pg_stat_queue_lock.Lock();
 
@@ -3864,6 +3922,10 @@ COMMAND("bench " \
 	"(default 1G size 4MB). Results in log.",
 	"osd", "rw", "cli,rest")
 COMMAND("flush_pg_stats", "flush pg stats", "osd", "rw", "cli,rest")
+COMMAND("heap " \
+	"name=heapcmd,type=CephChoices,strings=dump|start_profiler|stop_profiler|release|stats", \
+	"show heap usage info (available only if compiled with tcmalloc)", \
+	"osd", "rw", "cli,rest")
 COMMAND("debug_dump_missing " \
 	"name=filename,type=CephFilepath",
 	"dump missing objects to a named file", "osd", "r", "cli,rest")
@@ -3917,7 +3979,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
     goto out;
   }
 
-  cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
+  cmd_getval(cct, cmdmap, "prefix", prefix);
 
   if (prefix == "get_command_descriptions") {
     int cmdnum = 0;
@@ -3939,7 +4001,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
     goto out;
   }
 
-  cmd_getval(g_ceph_context, cmdmap, "format", format);
+  cmd_getval(cct, cmdmap, "format", format);
   f.reset(new_formatter(format));
 
   if (prefix == "version") {
@@ -3955,7 +4017,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
   }
   else if (prefix == "injectargs") {
     vector<string> argsvec;
-    cmd_getval(g_ceph_context, cmdmap, "injected_args", argsvec);
+    cmd_getval(cct, cmdmap, "injected_args", argsvec);
 
     if (argsvec.empty()) {
       r = -EINVAL;
@@ -3966,7 +4028,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
     for (vector<string>::iterator a = ++argsvec.begin(); a != argsvec.end(); ++a)
       args += " " + *a;
     osd_lock.Unlock();
-    g_conf->injectargs(args, &ss);
+    cct->_conf->injectargs(args, &ss);
     osd_lock.Lock();
   }
 
@@ -3974,14 +4036,14 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
   // 'tell <pgid>' (which comes in without any of that prefix)?
 
   else if (prefix == "pg" ||
-	   (cmd_getval(g_ceph_context, cmdmap, "pgid", pgidstr) &&
+	   (cmd_getval(cct, cmdmap, "pgid", pgidstr) &&
 	     (prefix == "query" ||
 	      prefix == "mark_unfound_lost" ||
 	      prefix == "list_missing")
 	   )) {
     pg_t pgid;
 
-    if (!cmd_getval(g_ceph_context, cmdmap, "pgid", pgidstr)) {
+    if (!cmd_getval(cct, cmdmap, "pgid", pgidstr)) {
       ss << "no pgid specified";
       r = -EINVAL;
     } else if (!pgid.parse(pgidstr.c_str())) {
@@ -3995,7 +4057,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
       } else {
 	// simulate pg <pgid> cmd= for pg->do-command
 	if (prefix != "pg")
-	  cmd_putval(g_ceph_context, cmdmap, "cmd", prefix);
+	  cmd_putval(cct, cmdmap, "cmd", prefix);
 	r = pg->do_command(cmdmap, ss, data, odata);
 	pg->unlock();
       }
@@ -4006,8 +4068,8 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
     int64_t count;
     int64_t bsize;
     // default count 1G, size 4MB
-    cmd_getval(g_ceph_context, cmdmap, "count", count, (int64_t)1 << 30);
-    cmd_getval(g_ceph_context, cmdmap, "bsize", bsize, (int64_t)4 << 20);
+    cmd_getval(cct, cmdmap, "count", count, (int64_t)1 << 30);
+    cmd_getval(cct, cmdmap, "bsize", bsize, (int64_t)4 << 20);
 
     bufferlist bl;
     bufferptr bp(bsize);
@@ -4017,7 +4079,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
     ObjectStore::Transaction *cleanupt = new ObjectStore::Transaction;
 
     store->sync_and_flush();
-    utime_t start = ceph_clock_now(g_ceph_context);
+    utime_t start = ceph_clock_now(cct);
     for (int64_t pos = 0; pos < count; pos += bsize) {
       char nm[30];
       snprintf(nm, sizeof(nm), "disk_bw_test_%lld", (long long)pos);
@@ -4029,7 +4091,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
       cleanupt->remove(coll_t::META_COLL, soid);
     }
     store->sync_and_flush();
-    utime_t end = ceph_clock_now(g_ceph_context);
+    utime_t end = ceph_clock_now(cct);
 
     // clean up
     store->queue_transaction(NULL, cleanupt);
@@ -4059,7 +4121,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
       ss << "could not issue heap profiler command -- not using tcmalloc!";
     } else {
       string heapcmd;
-      cmd_getval(g_ceph_context, cmdmap, "heapcmd", heapcmd);
+      cmd_getval(cct, cmdmap, "heapcmd", heapcmd);
       // XXX 1-element vector, change at callee or make vector here?
       vector<string> heapcmd_vec;
       get_str_vec(heapcmd, heapcmd_vec);
@@ -4069,7 +4131,7 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
 
   else if (prefix == "debug dump_missing") {
     string file_name;
-    cmd_getval(g_ceph_context, cmdmap, "filename", file_name);
+    cmd_getval(cct, cmdmap, "filename", file_name);
     std::ofstream fout(file_name.c_str());
     if (!fout.is_open()) {
 	ss << "failed to open file '" << file_name << "'";
@@ -4115,27 +4177,27 @@ void OSD::do_command(Connection *con, tid_t tid, vector<string>& cmd, bufferlist
   }
   else if (prefix == "debug kick_recovery_wq") {
     int64_t delay;
-    cmd_getval(g_ceph_context, cmdmap, "delay", delay);
+    cmd_getval(cct, cmdmap, "delay", delay);
     ostringstream oss;
     oss << delay;
-    r = g_conf->set_val("osd_recovery_delay_start", oss.str().c_str());
+    r = cct->_conf->set_val("osd_recovery_delay_start", oss.str().c_str());
     if (r != 0) {
       ss << "kick_recovery_wq: error setting "
 	 << "osd_recovery_delay_start to '" << delay << "': error "
 	 << r;
       goto out;
     }
-    g_conf->apply_changes(NULL);
+    cct->_conf->apply_changes(NULL);
     ss << "kicking recovery queue. set osd_recovery_delay_start "
-       << "to " << g_conf->osd_recovery_delay_start;
-    defer_recovery_until = ceph_clock_now(g_ceph_context);
-    defer_recovery_until += g_conf->osd_recovery_delay_start;
+       << "to " << cct->_conf->osd_recovery_delay_start;
+    defer_recovery_until = ceph_clock_now(cct);
+    defer_recovery_until += cct->_conf->osd_recovery_delay_start;
     recovery_wq.wake();
   }
 
   else if (prefix == "cpu_profiler") {
     string arg;
-    cmd_getval(g_ceph_context, cmdmap, "arg", arg);
+    cmd_getval(cct, cmdmap, "arg", arg);
     vector<string> argvec;
     get_str_vec(arg, argvec);
     cpu_profiler_handle_command(argvec, ds);
@@ -4253,7 +4315,7 @@ bool OSD::_share_map_incoming(entity_name_t name, Connection *con, epoch_t epoch
   }
 
   // does peer have old map?
-  if (name.is_osd() &&
+  if (con->get_messenger() == cluster_messenger &&
       osdmap->is_up(name.num()) &&
       (osdmap->get_cluster_addr(name.num()) == con->get_peer_addr() ||
        osdmap->get_hb_back_addr(name.num()) == con->get_peer_addr())) {
@@ -4326,6 +4388,37 @@ bool OSD::heartbeat_dispatch(Message *m)
   return true;
 }
 
+bool OSDService::ObjecterDispatcher::ms_dispatch(Message *m)
+{
+  Mutex::Locker l(osd->objecter_lock);
+  osd->objecter->dispatch(m);
+  return true;
+}
+
+bool OSDService::ObjecterDispatcher::ms_handle_reset(Connection *con)
+{
+  Mutex::Locker l(osd->objecter_lock);
+  osd->objecter->ms_handle_reset(con);
+  return true;
+}
+
+void OSDService::ObjecterDispatcher::ms_handle_connect(Connection *con)
+{
+  Mutex::Locker l(osd->objecter_lock);
+  return osd->objecter->ms_handle_connect(con);
+}
+
+bool OSDService::ObjecterDispatcher::ms_get_authorizer(int dest_type,
+						       AuthAuthorizer **authorizer,
+						       bool force_new)
+{
+  if (dest_type == CEPH_ENTITY_TYPE_MON)
+    return true;
+  *authorizer = osd->monc->auth->build_authorizer(dest_type);
+  return *authorizer != NULL;
+}
+
+
 bool OSD::ms_dispatch(Message *m)
 {
   if (m->get_type() == MSG_OSD_MARK_ME_DOWN) {
@@ -4408,7 +4501,7 @@ bool OSD::ms_verify_authorizer(Connection *con, int peer_type,
   uint64_t global_id;
   uint64_t auid = CEPH_AUTH_UID_DEFAULT;
 
-  isvalid = authorize_handler->verify_authorizer(g_ceph_context, monc->rotating_secrets,
+  isvalid = authorize_handler->verify_authorizer(cct, monc->rotating_secrets,
 						 authorizer_data, authorizer_reply, name, global_id, caps_info, session_key, &auid);
 
   if (isvalid) {
@@ -4465,7 +4558,7 @@ void OSD::do_waiters()
 
 void OSD::dispatch_op(OpRequestRef op)
 {
-  switch (op->request->get_type()) {
+  switch (op->get_req()->get_type()) {
 
   case MSG_OSD_PG_CREATE:
     handle_pg_create(op);
@@ -4591,7 +4684,7 @@ void OSD::_dispatch(Message *m)
 
   default:
     {
-      OpRequestRef op = op_tracker.create_request(m);
+      OpRequestRef op = op_tracker.create_request<OpRequest>(m);
       op->mark_event("waiting_for_osdmap");
       // no map?  starting up?
       if (!osdmap) {
@@ -4682,17 +4775,17 @@ bool OSD::scrub_should_schedule()
     return false;
   }
 
-  if (loadavgs[0] >= g_conf->osd_scrub_load_threshold) {
+  if (loadavgs[0] >= cct->_conf->osd_scrub_load_threshold) {
     dout(20) << "scrub_should_schedule loadavg " << loadavgs[0]
-	     << " >= max " << g_conf->osd_scrub_load_threshold
+	     << " >= max " << cct->_conf->osd_scrub_load_threshold
 	     << " = no, load too high" << dendl;
     return false;
   }
 
   dout(20) << "scrub_should_schedule loadavg " << loadavgs[0]
-	   << " < max " << g_conf->osd_scrub_load_threshold
+	   << " < max " << cct->_conf->osd_scrub_load_threshold
 	   << " = yes" << dendl;
-  return loadavgs[0] < g_conf->osd_scrub_load_threshold;
+  return loadavgs[0] < cct->_conf->osd_scrub_load_threshold;
 }
 
 void OSD::sched_scrub()
@@ -4703,7 +4796,7 @@ void OSD::sched_scrub()
 
   dout(20) << "sched_scrub load_is_low=" << (int)load_is_low << dendl;
 
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   
   //dout(20) << " " << last_scrub_pg << dendl;
 
@@ -4715,15 +4808,15 @@ void OSD::sched_scrub()
       dout(30) << "sched_scrub examine " << pgid << " at " << t << dendl;
 
       utime_t diff = now - t;
-      if ((double)diff < g_conf->osd_scrub_min_interval) {
+      if ((double)diff < cct->_conf->osd_scrub_min_interval) {
 	dout(10) << "sched_scrub " << pgid << " at " << t
-		 << ": " << (double)diff << " < min (" << g_conf->osd_scrub_min_interval << " seconds)" << dendl;
+		 << ": " << (double)diff << " < min (" << cct->_conf->osd_scrub_min_interval << " seconds)" << dendl;
 	break;
       }
-      if ((double)diff < g_conf->osd_scrub_max_interval && !load_is_low) {
+      if ((double)diff < cct->_conf->osd_scrub_max_interval && !load_is_low) {
 	// save ourselves some effort
 	dout(10) << "sched_scrub " << pgid << " high load at " << t
-		 << ": " << (double)diff << " < max (" << g_conf->osd_scrub_max_interval << " seconds)" << dendl;
+		 << ": " << (double)diff << " < max (" << cct->_conf->osd_scrub_max_interval << " seconds)" << dendl;
 	break;
       }
 
@@ -4731,11 +4824,11 @@ void OSD::sched_scrub()
       if (pg) {
 	if (pg->is_active() &&
 	    (load_is_low ||
-	     (double)diff >= g_conf->osd_scrub_max_interval ||
+	     (double)diff >= cct->_conf->osd_scrub_max_interval ||
 	     pg->scrubber.must_scrub)) {
 	  dout(10) << "sched_scrub scrubbing " << pgid << " at " << t
 		   << (pg->scrubber.must_scrub ? ", explicitly requested" :
-		   ( (double)diff >= g_conf->osd_scrub_max_interval ? ", diff >= max" : ""))
+		   ( (double)diff >= cct->_conf->osd_scrub_max_interval ? ", diff >= max" : ""))
 		   << dendl;
 	  if (pg->sched_scrub()) {
 	    pg->unlock();
@@ -4754,13 +4847,13 @@ bool OSDService::inc_scrubs_pending()
   bool result = false;
 
   sched_scrub_lock.Lock();
-  if (scrubs_pending + scrubs_active < g_conf->osd_max_scrubs) {
+  if (scrubs_pending + scrubs_active < cct->_conf->osd_max_scrubs) {
     dout(20) << "inc_scrubs_pending " << scrubs_pending << " -> " << (scrubs_pending+1)
-	     << " (max " << g_conf->osd_max_scrubs << ", active " << scrubs_active << ")" << dendl;
+	     << " (max " << cct->_conf->osd_max_scrubs << ", active " << scrubs_active << ")" << dendl;
     result = true;
     ++scrubs_pending;
   } else {
-    dout(20) << "inc_scrubs_pending " << scrubs_pending << " + " << scrubs_active << " active >= max " << g_conf->osd_max_scrubs << dendl;
+    dout(20) << "inc_scrubs_pending " << scrubs_pending << " + " << scrubs_active << " active >= max " << cct->_conf->osd_max_scrubs << dendl;
   }
   sched_scrub_lock.Unlock();
 
@@ -4771,7 +4864,7 @@ void OSDService::dec_scrubs_pending()
 {
   sched_scrub_lock.Lock();
   dout(20) << "dec_scrubs_pending " << scrubs_pending << " -> " << (scrubs_pending-1)
-	   << " (max " << g_conf->osd_max_scrubs << ", active " << scrubs_active << ")" << dendl;
+	   << " (max " << cct->_conf->osd_max_scrubs << ", active " << scrubs_active << ")" << dendl;
   --scrubs_pending;
   assert(scrubs_pending >= 0);
   sched_scrub_lock.Unlock();
@@ -4784,12 +4877,12 @@ void OSDService::inc_scrubs_active(bool reserved)
   if (reserved) {
     --(scrubs_pending);
     dout(20) << "inc_scrubs_active " << (scrubs_active-1) << " -> " << scrubs_active
-	     << " (max " << g_conf->osd_max_scrubs
+	     << " (max " << cct->_conf->osd_max_scrubs
 	     << ", pending " << (scrubs_pending+1) << " -> " << scrubs_pending << ")" << dendl;
     assert(scrubs_pending >= 0);
   } else {
     dout(20) << "inc_scrubs_active " << (scrubs_active-1) << " -> " << scrubs_active
-	     << " (max " << g_conf->osd_max_scrubs
+	     << " (max " << cct->_conf->osd_max_scrubs
 	     << ", pending " << scrubs_pending << ")" << dendl;
   }
   sched_scrub_lock.Unlock();
@@ -4799,7 +4892,7 @@ void OSDService::dec_scrubs_active()
 {
   sched_scrub_lock.Lock();
   dout(20) << "dec_scrubs_active " << scrubs_active << " -> " << (scrubs_active-1)
-	   << " (max " << g_conf->osd_max_scrubs << ", pending " << scrubs_pending << ")" << dendl;
+	   << " (max " << cct->_conf->osd_max_scrubs << ", pending " << scrubs_pending << ")" << dendl;
   --scrubs_active;
   sched_scrub_lock.Unlock();
 }
@@ -4818,10 +4911,10 @@ bool OSDService::prepare_to_stop()
 					      osdmap->get_epoch(),
 					      false
 					      ));
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(cct);
     utime_t timeout;
-    timeout.set_from_double(now + g_conf->osd_mon_shutdown_timeout);
-    while ((ceph_clock_now(g_ceph_context) < timeout) &&
+    timeout.set_from_double(now + cct->_conf->osd_mon_shutdown_timeout);
+    while ((ceph_clock_now(cct) < timeout) &&
 	   (state != STOPPING)) {
       is_stopping_cond.WaitUntil(is_stopping_lock, timeout);
     }
@@ -4919,6 +5012,13 @@ void OSD::handle_osd_map(MOSDMap *m)
   if (session)
     session->put();
 
+  // share with the objecter
+  {
+    Mutex::Locker l(service.objecter_lock);
+    m->get();
+    service.objecter->handle_osd_map(m);
+  }
+
   epoch_t first = m->get_first();
   epoch_t last = m->get_last();
   dout(3) << "handle_osd_map epochs [" << first << "," << last << "], i have "
@@ -5033,7 +5133,7 @@ void OSD::handle_osd_map(MOSDMap *m)
       t.remove(coll_t::META_COLL, get_inc_osdmap_pobject_name(e));
       superblock.oldest_map = e+1;
       num++;
-      if (num >= g_conf->osd_target_transaction_size &&
+      if (num >= cct->_conf->osd_target_transaction_size &&
 	  (uint64_t)num > (last - first))  // make sure we at least keep pace with incoming maps
 	break;
     }
@@ -5046,7 +5146,7 @@ void OSD::handle_osd_map(MOSDMap *m)
  
   map_lock.get_write();
 
-  C_Contexts *fin = new C_Contexts(g_ceph_context);
+  C_Contexts *fin = new C_Contexts(cct);
 
   // advance through the new maps
   for (epoch_t cur = start; cur <= superblock.newest_map; cur++) {
@@ -5073,7 +5173,7 @@ void OSD::handle_osd_map(MOSDMap *m)
 
     superblock.current_epoch = cur;
     advance_map(t, fin);
-    had_map_since = ceph_clock_now(g_ceph_context);
+    had_map_since = ceph_clock_now(cct);
   }
 
   if (osdmap->is_up(whoami) &&
@@ -5347,22 +5447,6 @@ void OSD::advance_map(ObjectStore::Transaction& t, C_Contexts *tfin)
       waiting_for_pg.erase(p++);
     }
   }
-  map<pg_t, list<PG::CephPeeringEvtRef> >::iterator q =
-    peering_wait_for_split.begin();
-  while (q != peering_wait_for_split.end()) {
-    pg_t pgid = q->first;
-
-    // am i still primary?
-    vector<int> acting;
-    int nrep = osdmap->pg_to_acting_osds(pgid, acting);
-    int role = osdmap->calc_pg_role(whoami, acting, nrep);
-    if (role >= 0) {
-      ++q;  // still me
-    } else {
-      dout(10) << " discarding waiting ops for " << pgid << dendl;
-      peering_wait_for_split.erase(q++);
-    }
-  }
 }
 
 void OSD::consume_map()
@@ -5507,15 +5591,15 @@ void OSD::send_incremental_map(epoch_t since, Connection *con)
     return;
   }
 
-  if (to > since && (int64_t)(to - since) > g_conf->osd_map_share_max_epochs) {
-    dout(10) << "  " << (to - since) << " > max " << g_conf->osd_map_share_max_epochs
+  if (to > since && (int64_t)(to - since) > cct->_conf->osd_map_share_max_epochs) {
+    dout(10) << "  " << (to - since) << " > max " << cct->_conf->osd_map_share_max_epochs
 	     << ", only sending most recent" << dendl;
-    since = to - g_conf->osd_map_share_max_epochs;
+    since = to - cct->_conf->osd_map_share_max_epochs;
   }
 
   while (since < to) {
-    if (to - since > (epoch_t)g_conf->osd_map_message_max)
-      to = since + g_conf->osd_map_message_max;
+    if (to - since > (epoch_t)cct->_conf->osd_map_message_max)
+      to = since + cct->_conf->osd_map_message_max;
     MOSDMap *m = build_incremental_map_msg(since, to);
     send_map(m, con);
     since = to;
@@ -5582,7 +5666,7 @@ OSDMapRef OSDService::_add_map(OSDMap *o)
 {
   epoch_t e = o->get_epoch();
 
-  if (g_conf->osd_map_dedup) {
+  if (cct->_conf->osd_map_dedup) {
     // Dedup against an existing map at a nearby epoch
     OSDMapRef for_dedup = map_cache.lower_bound(e);
     if (for_dedup) {
@@ -5630,9 +5714,9 @@ bool OSD::require_mon_peer(Message *m)
 
 bool OSD::require_osd_peer(OpRequestRef op)
 {
-  if (!op->request->get_connection()->peer_is_osd()) {
-    dout(0) << "require_osd_peer received from non-osd " << op->request->get_connection()->get_peer_addr()
-	    << " " << *op->request << dendl;
+  if (!op->get_req()->get_connection()->peer_is_osd()) {
+    dout(0) << "require_osd_peer received from non-osd " << op->get_req()->get_connection()->get_peer_addr()
+	    << " " << *op->get_req() << dendl;
     return false;
   }
   return true;
@@ -5644,7 +5728,7 @@ bool OSD::require_osd_peer(OpRequestRef op)
  */
 bool OSD::require_same_or_newer_map(OpRequestRef op, epoch_t epoch)
 {
-  Message *m = op->request;
+  Message *m = op->get_req();
   dout(15) << "require_same_or_newer_map " << epoch << " (i am " << osdmap->get_epoch() << ") " << m << dendl;
 
   assert(osd_lock.is_locked());
@@ -5662,7 +5746,7 @@ bool OSD::require_same_or_newer_map(OpRequestRef op, epoch_t epoch)
   }
 
   // ok, our map is same or newer.. do they still exist?
-  if (m->get_source().is_osd()) {
+  if (m->get_connection()->get_messenger() == cluster_messenger) {
     int from = m->get_source().num();
     if (!osdmap->have_inst(from) ||
 	osdmap->get_cluster_addr(from) != m->get_source_inst().addr) {
@@ -5735,22 +5819,11 @@ void OSD::split_pgs(
     dout(10) << "m_seed " << i->ps() << dendl;
     dout(10) << "split_bits is " << split_bits << dendl;
 
-    rctx->transaction->create_collection(
-      coll_t(*i));
-    rctx->transaction->split_collection(
-      coll_t(parent->info.pgid),
+    parent->split_colls(
+      *i,
       split_bits,
       i->m_seed,
-      coll_t(*i));
-    if (parent->have_temp_coll()) {
-      rctx->transaction->create_collection(
-	coll_t::make_temp_coll(*i));
-      rctx->transaction->split_collection(
-	coll_t::make_temp_coll(parent->info.pgid),
-	split_bits,
-	i->m_seed,
-	coll_t::make_temp_coll(*i));
-    }
+      rctx->transaction);
     parent->split_into(
       *i,
       child,
@@ -5767,14 +5840,14 @@ void OSD::split_pgs(
  */
 void OSD::handle_pg_create(OpRequestRef op)
 {
-  MOSDPGCreate *m = (MOSDPGCreate*)op->request;
+  MOSDPGCreate *m = (MOSDPGCreate*)op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_CREATE);
 
   dout(10) << "handle_pg_create " << *m << dendl;
 
   // drop the next N pg_creates in a row?
   if (debug_drop_pg_create_left < 0 &&
-      g_conf->osd_debug_drop_pg_create_probability >
+      cct->_conf->osd_debug_drop_pg_create_probability >
       ((((double)(rand()%100))/100.0))) {
     debug_drop_pg_create_left = debug_drop_pg_create_duration;
   }
@@ -5787,11 +5860,16 @@ void OSD::handle_pg_create(OpRequestRef op)
     }
   }
 
-  if (!require_mon_peer(op->request)) {
-    // we have to hack around require_mon_peer's interface limits
-    op->request = NULL;
+  /* we have to hack around require_mon_peer's interface limits, so
+   * grab an extra reference before going in. If the peer isn't
+   * a Monitor, the reference is put for us (and then cleared
+   * up automatically by our OpTracker infrastructure). Otherwise,
+   * we put the extra ref ourself.
+   */
+  if (!require_mon_peer(op->get_req()->get())) {
     return;
   }
+  op->get_req()->put();
 
   if (!require_same_or_newer_map(op, m->epoch)) return;
 
@@ -5847,7 +5925,12 @@ void OSD::handle_pg_create(OpRequestRef op)
     utime_t now = ceph_clock_now(NULL);
     history.last_scrub_stamp = now;
     history.last_deep_scrub_stamp = now;
-    project_pg_history(pgid, history, created, up, acting);
+    bool valid_history =
+      project_pg_history(pgid, history, created, up, acting);
+    /* the pg creation message must have come from a mon and therefore
+     * cannot be on the other side of a map gap
+     */
+    assert(valid_history);
     
     // register.
     creating_pgs[pgid].history = history;
@@ -5898,8 +5981,8 @@ void OSD::handle_pg_create(OpRequestRef op)
 PG::RecoveryCtx OSD::create_context()
 {
   ObjectStore::Transaction *t = new ObjectStore::Transaction;
-  C_Contexts *on_applied = new C_Contexts(g_ceph_context);
-  C_Contexts *on_safe = new C_Contexts(g_ceph_context);
+  C_Contexts *on_applied = new C_Contexts(cct);
+  C_Contexts *on_safe = new C_Contexts(cct);
   map< int, map<pg_t,pg_query_t> > *query_map =
     new map<int, map<pg_t, pg_query_t> >;
   map<int,vector<pair<pg_notify_t, pg_interval_map_t> > > *notify_list =
@@ -5920,8 +6003,8 @@ void OSD::dispatch_context_transaction(PG::RecoveryCtx &ctx, PG *pg)
       ctx.transaction, ctx.on_applied, ctx.on_safe);
     assert(tr == 0);
     ctx.transaction = new ObjectStore::Transaction;
-    ctx.on_applied = new C_Contexts(g_ceph_context);
-    ctx.on_safe = new C_Contexts(g_ceph_context);
+    ctx.on_applied = new C_Contexts(cct);
+    ctx.on_safe = new C_Contexts(cct);
   }
 }
 
@@ -6096,7 +6179,7 @@ void OSD::do_infos(map<int,vector<pair<pg_notify_t, pg_interval_map_t> > >& info
  */
 void OSD::handle_pg_notify(OpRequestRef op)
 {
-  MOSDPGNotify *m = (MOSDPGNotify*)op->request;
+  MOSDPGNotify *m = (MOSDPGNotify*)op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_NOTIFY);
 
   dout(7) << "handle_pg_notify from " << m->get_source() << dendl;
@@ -6131,7 +6214,7 @@ void OSD::handle_pg_notify(OpRequestRef op)
 
 void OSD::handle_pg_log(OpRequestRef op)
 {
-  MOSDPGLog *m = (MOSDPGLog*) op->request;
+  MOSDPGLog *m = (MOSDPGLog*) op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_LOG);
   dout(7) << "handle_pg_log " << *m << " from " << m->get_source() << dendl;
 
@@ -6159,7 +6242,7 @@ void OSD::handle_pg_log(OpRequestRef op)
 
 void OSD::handle_pg_info(OpRequestRef op)
 {
-  MOSDPGInfo *m = static_cast<MOSDPGInfo *>(op->request);
+  MOSDPGInfo *m = static_cast<MOSDPGInfo *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_INFO);
   dout(7) << "handle_pg_info " << *m << " from " << m->get_source() << dendl;
 
@@ -6192,7 +6275,7 @@ void OSD::handle_pg_info(OpRequestRef op)
 
 void OSD::handle_pg_trim(OpRequestRef op)
 {
-  MOSDPGTrim *m = (MOSDPGTrim *)op->request;
+  MOSDPGTrim *m = (MOSDPGTrim *)op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_TRIM);
 
   dout(7) << "handle_pg_trim " << *m << " from " << m->get_source() << dendl;
@@ -6245,7 +6328,7 @@ void OSD::handle_pg_trim(OpRequestRef op)
 
 void OSD::handle_pg_scan(OpRequestRef op)
 {
-  MOSDPGScan *m = static_cast<MOSDPGScan*>(op->request);
+  MOSDPGScan *m = static_cast<MOSDPGScan*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_SCAN);
   dout(10) << "handle_pg_scan " << *m << " from " << m->get_source() << dendl;
   
@@ -6273,7 +6356,7 @@ void OSD::handle_pg_scan(OpRequestRef op)
 
 void OSD::handle_pg_backfill(OpRequestRef op)
 {
-  MOSDPGBackfill *m = static_cast<MOSDPGBackfill*>(op->request);
+  MOSDPGBackfill *m = static_cast<MOSDPGBackfill*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_BACKFILL);
   dout(10) << "handle_pg_backfill " << *m << " from " << m->get_source() << dendl;
   
@@ -6301,7 +6384,7 @@ void OSD::handle_pg_backfill(OpRequestRef op)
 
 void OSD::handle_pg_backfill_reserve(OpRequestRef op)
 {
-  MBackfillReserve *m = static_cast<MBackfillReserve*>(op->request);
+  MBackfillReserve *m = static_cast<MBackfillReserve*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_BACKFILL_RESERVE);
 
   if (!require_osd_peer(op))
@@ -6309,6 +6392,34 @@ void OSD::handle_pg_backfill_reserve(OpRequestRef op)
   if (!require_same_or_newer_map(op, m->query_epoch))
     return;
 
+  PG::CephPeeringEvtRef evt;
+  if (m->type == MBackfillReserve::REQUEST) {
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RequestBackfillPrio(m->priority)));
+  } else if (m->type == MBackfillReserve::GRANT) {
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RemoteBackfillReserved()));
+  } else if (m->type == MBackfillReserve::REJECT) {
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RemoteReservationRejected()));
+  } else {
+    assert(0);
+  }
+
+  if (service.splitting(m->pgid)) {
+    peering_wait_for_split[m->pgid].push_back(evt);
+    return;
+  }
+
   PG *pg = 0;
   if (!_have_pg(m->pgid))
     return;
@@ -6316,36 +6427,13 @@ void OSD::handle_pg_backfill_reserve(OpRequestRef op)
   pg = _lookup_lock_pg(m->pgid);
   assert(pg);
 
-  if (m->type == MBackfillReserve::REQUEST) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RequestBackfillPrio(m->priority))));
-  } else if (m->type == MBackfillReserve::GRANT) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RemoteBackfillReserved())));
-  } else if (m->type == MBackfillReserve::REJECT) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RemoteReservationRejected())));
-  } else {
-    assert(0);
-  }
+  pg->queue_peering_event(evt);
   pg->unlock();
 }
 
 void OSD::handle_pg_recovery_reserve(OpRequestRef op)
 {
-  MRecoveryReserve *m = static_cast<MRecoveryReserve*>(op->request);
+  MRecoveryReserve *m = static_cast<MRecoveryReserve*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_RECOVERY_RESERVE);
 
   if (!require_osd_peer(op))
@@ -6353,38 +6441,42 @@ void OSD::handle_pg_recovery_reserve(OpRequestRef op)
   if (!require_same_or_newer_map(op, m->query_epoch))
     return;
 
-  PG *pg = 0;
-  if (!_have_pg(m->pgid))
-    return;
-
-  pg = _lookup_lock_pg(m->pgid);
-  if (!pg)
-    return;
-
+  PG::CephPeeringEvtRef evt;
   if (m->type == MRecoveryReserve::REQUEST) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RequestRecovery())));
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RequestRecovery()));
   } else if (m->type == MRecoveryReserve::GRANT) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RemoteRecoveryReserved())));
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RemoteRecoveryReserved()));
   } else if (m->type == MRecoveryReserve::RELEASE) {
-    pg->queue_peering_event(
-      PG::CephPeeringEvtRef(
-	new PG::CephPeeringEvt(
-	  m->query_epoch,
-	  m->query_epoch,
-	  PG::RecoveryDone())));
+    evt = PG::CephPeeringEvtRef(
+      new PG::CephPeeringEvt(
+	m->query_epoch,
+	m->query_epoch,
+	PG::RecoveryDone()));
   } else {
     assert(0);
   }
+
+  if (service.splitting(m->pgid)) {
+    peering_wait_for_split[m->pgid].push_back(evt);
+    return;
+  }
+
+  PG *pg = 0;
+  if (!_have_pg(m->pgid))
+    return;
+
+  pg = _lookup_lock_pg(m->pgid);
+  assert(pg);
+
+  pg->queue_peering_event(evt);
   pg->unlock();
 }
 
@@ -6397,7 +6489,7 @@ void OSD::handle_pg_query(OpRequestRef op)
 {
   assert(osd_lock.is_locked());
 
-  MOSDPGQuery *m = (MOSDPGQuery*)op->request;
+  MOSDPGQuery *m = (MOSDPGQuery*)op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_QUERY);
 
   if (!require_osd_peer(op))
@@ -6450,9 +6542,11 @@ void OSD::handle_pg_query(OpRequestRef op)
 
     // same primary?
     pg_history_t history = it->second.history;
-    project_pg_history(pgid, history, it->second.epoch_sent, up, acting);
+    bool valid_history =
+      project_pg_history(pgid, history, it->second.epoch_sent, up, acting);
 
-    if (it->second.epoch_sent < history.same_interval_since) {
+    if (!valid_history ||
+        it->second.epoch_sent < history.same_interval_since) {
       dout(10) << " pg " << pgid << " dne, and pg has changed in "
 	       << history.same_interval_since
 	       << " (msg from " << it->second.epoch_sent << ")" << dendl;
@@ -6484,7 +6578,7 @@ void OSD::handle_pg_query(OpRequestRef op)
 
 void OSD::handle_pg_remove(OpRequestRef op)
 {
-  MOSDPGRemove *m = (MOSDPGRemove *)op->request;
+  MOSDPGRemove *m = (MOSDPGRemove *)op->get_req();
   assert(m->get_header().type == MSG_OSD_PG_REMOVE);
   assert(osd_lock.is_locked());
 
@@ -6516,9 +6610,11 @@ void OSD::handle_pg_remove(OpRequestRef op)
     pg_history_t history = pg->info.history;
     vector<int> up, acting;
     osdmap->pg_to_up_acting_osds(pgid, up, acting);
-    project_pg_history(pg->info.pgid, history, pg->get_osdmap()->get_epoch(),
-		       up, acting);
-    if (history.same_interval_since <= m->get_epoch()) {
+    bool valid_history =
+      project_pg_history(pg->info.pgid, history, pg->get_osdmap()->get_epoch(),
+	up, acting);
+    if (valid_history &&
+        history.same_interval_since <= m->get_epoch()) {
       assert(pg->get_primary() == m->get_source().num());
       PGRef _pg(pg);
       _remove_pg(pg);
@@ -6575,7 +6671,7 @@ void OSD::check_replay_queue()
 {
   assert(osd_lock.is_locked());
 
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   list< pair<pg_t,utime_t> > pgids;
   replay_queue_lock.Lock();
   while (!replay_queue.empty() &&
@@ -6619,12 +6715,12 @@ bool OSDService::queue_for_recovery(PG *pg)
 
 bool OSD::_recover_now()
 {
-  if (recovery_ops_active >= g_conf->osd_recovery_max_active) {
+  if (recovery_ops_active >= cct->_conf->osd_recovery_max_active) {
     dout(15) << "_recover_now active " << recovery_ops_active
-	     << " >= max " << g_conf->osd_recovery_max_active << dendl;
+	     << " >= max " << cct->_conf->osd_recovery_max_active << dendl;
     return false;
   }
-  if (ceph_clock_now(g_ceph_context) < defer_recovery_until) {
+  if (ceph_clock_now(cct) < defer_recovery_until) {
     dout(15) << "_recover_now defer until " << defer_recovery_until << dendl;
     return false;
   }
@@ -6636,14 +6732,14 @@ void OSD::do_recovery(PG *pg, ThreadPool::TPHandle &handle)
 {
   // see how many we should try to start.  note that this is a bit racy.
   recovery_wq.lock();
-  int max = MAX(g_conf->osd_recovery_max_active - recovery_ops_active,
-		g_conf->osd_recovery_max_single_start);
+  int max = MIN(cct->_conf->osd_recovery_max_active - recovery_ops_active,
+      cct->_conf->osd_recovery_max_single_start);
   if (max > 0) {
-    dout(10) << "do_recovery can start " << max << " (" << recovery_ops_active << "/" << g_conf->osd_recovery_max_active
+    dout(10) << "do_recovery can start " << max << " (" << recovery_ops_active << "/" << cct->_conf->osd_recovery_max_active
 	     << " rops)" << dendl;
     recovery_ops_active += max;  // take them now, return them if we don't use them.
   } else {
-    dout(10) << "do_recovery can start 0 (" << recovery_ops_active << "/" << g_conf->osd_recovery_max_active
+    dout(10) << "do_recovery can start 0 (" << recovery_ops_active << "/" << cct->_conf->osd_recovery_max_active
 	     << " rops)" << dendl;
   }
   recovery_wq.unlock();
@@ -6665,7 +6761,9 @@ void OSD::do_recovery(PG *pg, ThreadPool::TPHandle &handle)
 #endif
     
     PG::RecoveryCtx rctx = create_context();
-    int started = pg->start_recovery_ops(max, &rctx, handle);
+
+    int started;
+    bool more = pg->start_recovery_ops(max, &rctx, handle, &started);
     dout(10) << "do_recovery started " << started << "/" << max << " on " << *pg << dendl;
 
     /*
@@ -6674,7 +6772,7 @@ void OSD::do_recovery(PG *pg, ThreadPool::TPHandle &handle)
      * It may be that our initial locations were bad and we errored
      * out while trying to pull.
      */
-    if (!started && pg->have_unfound()) {
+    if (!more && pg->have_unfound()) {
       pg->discover_all_missing(*rctx.query_map);
       if (rctx.query_map->empty()) {
 	dout(10) << "do_recovery  no luck, giving up on this pg for now" << dendl;
@@ -6704,7 +6802,7 @@ void OSD::start_recovery_op(PG *pg, const hobject_t& soid)
 {
   recovery_wq.lock();
   dout(10) << "start_recovery_op " << *pg << " " << soid
-	   << " (" << recovery_ops_active << "/" << g_conf->osd_recovery_max_active << " rops)"
+	   << " (" << recovery_ops_active << "/" << cct->_conf->osd_recovery_max_active << " rops)"
 	   << dendl;
   assert(recovery_ops_active >= 0);
   recovery_ops_active++;
@@ -6723,7 +6821,7 @@ void OSD::finish_recovery_op(PG *pg, const hobject_t& soid, bool dequeue)
   recovery_wq.lock();
   dout(10) << "finish_recovery_op " << *pg << " " << soid
 	   << " dequeue=" << dequeue
-	   << " (" << recovery_ops_active << "/" << g_conf->osd_recovery_max_active << " rops)"
+	   << " (" << recovery_ops_active << "/" << cct->_conf->osd_recovery_max_active << " rops)"
 	   << dendl;
 
   // adjust count
@@ -6751,27 +6849,25 @@ void OSD::finish_recovery_op(PG *pg, const hobject_t& soid, bool dequeue)
 
 void OSDService::reply_op_error(OpRequestRef op, int err)
 {
-  reply_op_error(op, err, eversion_t());
+  reply_op_error(op, err, eversion_t(), 0);
 }
 
-void OSDService::reply_op_error(OpRequestRef op, int err, eversion_t v)
+void OSDService::reply_op_error(OpRequestRef op, int err, eversion_t v,
+                                version_t uv)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   assert(m->get_header().type == CEPH_MSG_OSD_OP);
   int flags;
   flags = m->get_flags() & (CEPH_OSD_FLAG_ACK|CEPH_OSD_FLAG_ONDISK);
 
   MOSDOpReply *reply = new MOSDOpReply(m, err, osdmap->get_epoch(), flags);
-  Messenger *msgr = client_messenger;
-  reply->set_version(v);
-  if (m->get_source().is_osd())
-    msgr = cluster_messenger;
-  msgr->send_message(reply, m->get_connection());
+  reply->set_reply_versions(v, uv);
+  m->get_connection()->get_messenger()->send_message(reply, m->get_connection());
 }
 
 void OSDService::handle_misdirected_op(PG *pg, OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   assert(m->get_header().type == CEPH_MSG_OSD_OP);
 
   if (m->get_map_epoch() < pg->info.history.same_primary_since) {
@@ -6790,7 +6886,7 @@ void OSDService::handle_misdirected_op(PG *pg, OpRequestRef op)
 
 void OSD::handle_op(OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   assert(m->get_header().type == CEPH_MSG_OSD_OP);
   if (op_is_discardable(m)) {
     dout(10) << " discardable " << *m << dendl;
@@ -6830,9 +6926,9 @@ void OSD::handle_op(OpRequestRef op)
     }
   }
 
-  if (g_conf->osd_debug_drop_op_probability > 0 &&
+  if (cct->_conf->osd_debug_drop_op_probability > 0 &&
       !m->get_source().is_mds()) {
-    if ((double)rand() / (double)RAND_MAX < g_conf->osd_debug_drop_op_probability) {
+    if ((double)rand() / (double)RAND_MAX < cct->_conf->osd_debug_drop_op_probability) {
       dout(0) << "handle_op DEBUG artificially dropping op " << *m << dendl;
       return;
     }
@@ -6854,11 +6950,11 @@ void OSD::handle_op(OpRequestRef op)
     }
 
     // too big?
-    if (g_conf->osd_max_write_size &&
-	m->get_data_len() > g_conf->osd_max_write_size << 20) {
+    if (cct->_conf->osd_max_write_size &&
+	m->get_data_len() > cct->_conf->osd_max_write_size << 20) {
       // journal can't hold commit!
       derr << "handle_op msg data len " << m->get_data_len()
-	   << " > osd_max_write_size " << (g_conf->osd_max_write_size << 20)
+	   << " > osd_max_write_size " << (cct->_conf->osd_max_write_size << 20)
 	   << " on " << *m << dendl;
       service.reply_op_error(op, -OSD_WRITETOOBIG);
       return;
@@ -6925,7 +7021,7 @@ void OSD::handle_op(OpRequestRef op)
 template<typename T, int MSGTYPE>
 void OSD::handle_replica_op(OpRequestRef op)
 {
-  T *m = static_cast<T *>(op->request);
+  T *m = static_cast<T *>(op->get_req());
   assert(m->get_header().type == MSGTYPE);
 
   dout(10) << __func__ << *m << " epoch " << m->map_epoch << dendl;
@@ -6979,24 +7075,24 @@ bool OSD::op_is_discardable(MOSDOp *op)
  */
 void OSD::enqueue_op(PG *pg, OpRequestRef op)
 {
-  utime_t latency = ceph_clock_now(g_ceph_context) - op->request->get_recv_stamp();
-  dout(15) << "enqueue_op " << op << " prio " << op->request->get_priority()
-	   << " cost " << op->request->get_cost()
+  utime_t latency = ceph_clock_now(cct) - op->get_req()->get_recv_stamp();
+  dout(15) << "enqueue_op " << op << " prio " << op->get_req()->get_priority()
+	   << " cost " << op->get_req()->get_cost()
 	   << " latency " << latency
-	   << " " << *(op->request) << dendl;
+	   << " " << *(op->get_req()) << dendl;
   pg->queue_op(op);
 }
 
 void OSD::OpWQ::_enqueue(pair<PGRef, OpRequestRef> item)
 {
-  unsigned priority = item.second->request->get_priority();
-  unsigned cost = item.second->request->get_cost();
+  unsigned priority = item.second->get_req()->get_priority();
+  unsigned cost = item.second->get_req()->get_cost();
   if (priority >= CEPH_MSG_PRIO_LOW)
     pqueue.enqueue_strict(
-      item.second->request->get_source_inst(),
+      item.second->get_req()->get_source_inst(),
       priority, item);
   else
-    pqueue.enqueue(item.second->request->get_source_inst(),
+    pqueue.enqueue(item.second->get_req()->get_source_inst(),
       priority, cost, item);
   osd->logger->set(l_osd_opq, pqueue.length());
 }
@@ -7011,14 +7107,14 @@ void OSD::OpWQ::_enqueue_front(pair<PGRef, OpRequestRef> item)
       pg_for_processing[&*(item.first)].pop_back();
     }
   }
-  unsigned priority = item.second->request->get_priority();
-  unsigned cost = item.second->request->get_cost();
+  unsigned priority = item.second->get_req()->get_priority();
+  unsigned cost = item.second->get_req()->get_cost();
   if (priority >= CEPH_MSG_PRIO_LOW)
     pqueue.enqueue_strict_front(
-      item.second->request->get_source_inst(),
+      item.second->get_req()->get_source_inst(),
       priority, item);
   else
-    pqueue.enqueue_front(item.second->request->get_source_inst(),
+    pqueue.enqueue_front(item.second->get_req()->get_source_inst(),
       priority, cost, item);
   osd->logger->set(l_osd_opq, pqueue.length());
 }
@@ -7070,11 +7166,11 @@ void OSD::dequeue_op(
   PGRef pg, OpRequestRef op,
   ThreadPool::TPHandle &handle)
 {
-  utime_t latency = ceph_clock_now(g_ceph_context) - op->request->get_recv_stamp();
-  dout(10) << "dequeue_op " << op << " prio " << op->request->get_priority()
-	   << " cost " << op->request->get_cost()
+  utime_t latency = ceph_clock_now(cct) - op->get_req()->get_recv_stamp();
+  dout(10) << "dequeue_op " << op << " prio " << op->get_req()->get_priority()
+	   << " cost " << op->get_req()->get_cost()
 	   << " latency " << latency
-	   << " " << *(op->request)
+	   << " " << *(op->get_req())
 	   << " pg " << *pg << dendl;
   if (pg->deleting)
     return;
@@ -7175,6 +7271,8 @@ const char** OSD::get_tracked_conf_keys() const
 {
   static const char* KEYS[] = {
     "osd_max_backfills",
+    "osd_op_complaint_time", "osd_op_log_threshold",
+    "osd_op_history_size", "osd_op_history_duration",
     NULL
   };
   return KEYS;
@@ -7184,8 +7282,18 @@ void OSD::handle_conf_change(const struct md_config_t *conf,
 			     const std::set <std::string> &changed)
 {
   if (changed.count("osd_max_backfills")) {
-    service.local_reserver.set_max(g_conf->osd_max_backfills);
-    service.remote_reserver.set_max(g_conf->osd_max_backfills);
+    service.local_reserver.set_max(cct->_conf->osd_max_backfills);
+    service.remote_reserver.set_max(cct->_conf->osd_max_backfills);
+  }
+  if (changed.count("osd_op_complaint_time") ||
+      changed.count("osd_op_log_threshold")) {
+    op_tracker.set_complaint_and_threshold(cct->_conf->osd_op_complaint_time,
+                                           cct->_conf->osd_op_log_threshold);
+  }
+  if (changed.count("osd_op_history_size") ||
+      changed.count("osd_op_history_duration")) {
+    op_tracker.set_history_size_and_duration(cct->_conf->osd_op_history_size,
+                                             cct->_conf->osd_op_history_duration);
   }
 }
 
@@ -7193,7 +7301,7 @@ void OSD::handle_conf_change(const struct md_config_t *conf,
 
 int OSD::init_op_flags(OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   vector<OSDOp>::iterator iter;
 
   // client flags have no bearing on whether an op is a read, write, etc.
@@ -7262,3 +7370,34 @@ int OSD::init_op_flags(OpRequestRef op)
 
   return 0;
 }
+
+bool OSD::RecoveryWQ::_enqueue(PG *pg) {
+  if (!pg->recovery_item.is_on_list()) {
+    pg->get("RecoveryWQ");
+    osd->recovery_queue.push_back(&pg->recovery_item);
+
+    if (osd->cct->_conf->osd_recovery_delay_start > 0) {
+      osd->defer_recovery_until = ceph_clock_now(osd->cct);
+      osd->defer_recovery_until += osd->cct->_conf->osd_recovery_delay_start;
+    }
+    return true;
+  }
+  return false;
+}
+
+void OSD::PeeringWQ::_dequeue(list<PG*> *out) {
+  set<PG*> got;
+  for (list<PG*>::iterator i = peering_queue.begin();
+      i != peering_queue.end() &&
+      out->size() < osd->cct->_conf->osd_peering_wq_batch_size;
+      ) {
+        if (in_use.count(*i)) {
+          ++i;
+        } else {
+          out->push_back(*i);
+          got.insert(*i);
+          peering_queue.erase(i++);
+        }
+  }
+  in_use.insert(got.begin(), got.end());
+}
diff --git a/src/osd/OSD.h b/src/osd/OSD.h
index 82a251d..b9fb615 100644
--- a/src/osd/OSD.h
+++ b/src/osd/OSD.h
@@ -27,6 +27,7 @@
 #include "common/WorkQueue.h"
 #include "common/LogClient.h"
 #include "common/AsyncReserver.h"
+#include "common/ceph_context.h"
 
 #include "os/ObjectStore.h"
 #include "OSDCap.h"
@@ -113,10 +114,49 @@ enum {
   l_osd_mape_dup,
 
   l_osd_waiting_for_map,
-  l_osd_peering_latency,
+
+  l_osd_stat_bytes,
+  l_osd_stat_bytes_used,
+  l_osd_stat_bytes_avail,
+
   l_osd_last,
 };
 
+// RecoveryState perf counters
+enum {
+  rs_first = 20000,
+  rs_initial_latency,
+  rs_started_latency,
+  rs_reset_latency,
+  rs_start_latency,
+  rs_primary_latency,
+  rs_peering_latency,
+  rs_backfilling_latency,
+  rs_waitremotebackfillreserved_latency,
+  rs_waitlocalbackfillreserved_latency,
+  rs_notbackfilling_latency,
+  rs_repnotrecovering_latency,
+  rs_repwaitrecoveryreserved_latency,
+  rs_repwaitbackfillreserved_latency,
+  rs_RepRecovering_latency,
+  rs_activating_latency,
+  rs_waitlocalrecoveryreserved_latency,
+  rs_waitremoterecoveryreserved_latency,
+  rs_recovering_latency,
+  rs_recovered_latency,
+  rs_clean_latency,
+  rs_active_latency,
+  rs_replicaactive_latency,
+  rs_stray_latency,
+  rs_getinfo_latency,
+  rs_getlog_latency,
+  rs_waitactingchange_latency,
+  rs_incomplete_latency,
+  rs_getmissing_latency,
+  rs_waitupthru_latency,
+  rs_last,
+};
+
 class Messenger;
 class Message;
 class MonClient;
@@ -126,6 +166,7 @@ class OSDMap;
 class MLog;
 class MClass;
 class MOSDPGMissing;
+class Objecter;
 
 class Watch;
 class Notification;
@@ -138,8 +179,6 @@ class HistoricOpsSocketHook;
 class TestOpsSocketHook;
 struct C_CompleteSplits;
 
-extern const coll_t meta_coll;
-
 typedef std::tr1::shared_ptr<ObjectStore::Sequencer> SequencerRef;
 
 class DeletingState {
@@ -246,6 +285,7 @@ class OSD;
 class OSDService {
 public:
   OSD *osd;
+  CephContext *cct;
   SharedPtrRegistry<pg_t, ObjectStore::Sequencer> osr_registry;
   SharedPtrRegistry<pg_t, DeletingState> deleting_pgs;
   const int whoami;
@@ -258,6 +298,7 @@ private:
   Messenger *&client_messenger;
 public:
   PerfCounters *&logger;
+  PerfCounters *&recoverystate_perf;
   MonClient   *&monc;
   ThreadPool::WorkQueueVal<pair<PGRef, OpRequestRef>, PGRef> &op_wq;
   ThreadPool::BatchWorkQueue<PG> &peering_wq;
@@ -266,6 +307,7 @@ public:
   ThreadPool::WorkQueue<PG> &scrub_wq;
   ThreadPool::WorkQueue<PG> &scrub_finalize_wq;
   ThreadPool::WorkQueue<MOSDRepScrub> &rep_scrub_wq;
+  GenContextWQ push_wq;
   ClassHandler  *&class_handler;
 
   void dequeue_pg(PG *pg, list<OpRequestRef> *dequeued);
@@ -378,9 +420,29 @@ public:
   void dec_scrubs_active();
 
   void reply_op_error(OpRequestRef op, int err);
-  void reply_op_error(OpRequestRef op, int err, eversion_t v);
+  void reply_op_error(OpRequestRef op, int err, eversion_t v, version_t uv);
   void handle_misdirected_op(PG *pg, OpRequestRef op);
 
+  // -- Objecter, for teiring reads/writes from/to other OSDs --
+  Mutex objecter_lock;
+  SafeTimer objecter_timer;
+  OSDMap objecter_osdmap;
+  Objecter *objecter;
+  Finisher objecter_finisher;
+  struct ObjecterDispatcher : public Dispatcher {
+    OSDService *osd;
+    bool ms_dispatch(Message *m);
+    bool ms_handle_reset(Connection *con);
+    void ms_handle_remote_reset(Connection *con) {}
+    void ms_handle_connect(Connection *con);
+    bool ms_get_authorizer(int dest_type,
+			   AuthAuthorizer **authorizer,
+			   bool force_new);
+    ObjecterDispatcher(OSDService *o) : Dispatcher(cct), osd(o) {}
+  } objecter_dispatcher;
+  friend class ObjecterDispatcher;
+
+
   // -- Watch --
   Mutex watch_lock;
   SafeTimer watch_timer;
@@ -572,7 +634,22 @@ public:
 #endif
 
   OSDService(OSD *osd);
+  ~OSDService();
+};
+
+struct C_OSD_SendMessageOnConn: public Context {
+  OSDService *osd;
+  Message *reply;
+  ConnectionRef conn;
+  C_OSD_SendMessageOnConn(
+    OSDService *osd,
+    Message *reply,
+    ConnectionRef conn) : osd(osd), reply(reply), conn(conn) {}
+  void finish(int) {
+    osd->send_message_osd_cluster(reply, conn.get());
+  }
 };
+
 class OSD : public Dispatcher,
 	    public md_config_obs_t {
   /** OSD **/
@@ -591,8 +668,10 @@ protected:
 
   Messenger   *cluster_messenger;
   Messenger   *client_messenger;
+  Messenger   *objecter_messenger;
   MonClient   *monc;
   PerfCounters      *logger;
+  PerfCounters      *recoverystate_perf;
   ObjectStore *store;
 
   LogClient clog;
@@ -613,6 +692,7 @@ protected:
   int dispatch_running;
 
   void create_logger();
+  void create_recoverystate_perf();
   void tick();
   void _dispatch(Message *m);
   void dispatch_op(OpRequestRef op);
@@ -666,6 +746,25 @@ public:
     return oid;
   }
   static void recursive_remove_collection(ObjectStore *store, coll_t tmp);
+
+  /**
+   * get_osd_initial_compat_set()
+   *
+   * Get the initial feature set for this OSD.  Features
+   * here are automatically upgraded.
+   *
+   * Return value: Initial osd CompatSet
+   */
+  static CompatSet get_osd_initial_compat_set();
+
+  /**
+   * get_osd_compat_set()
+   *
+   * Get all features supported by this OSD
+   *
+   * Return value: CompatSet of all supported features
+   */
+  static CompatSet get_osd_compat_set();
   
 
 private:
@@ -794,7 +893,8 @@ public:
   bool heartbeat_dispatch(Message *m);
 
   struct HeartbeatDispatcher : public Dispatcher {
-  private:
+    OSD *osd;
+    HeartbeatDispatcher(OSD *o) : Dispatcher(cct), osd(o) {}
     bool ms_dispatch(Message *m) {
       return osd->heartbeat_dispatch(m);
     };
@@ -808,15 +908,8 @@ public:
       isvalid = true;
       return true;
     }
-  public:
-    OSD *osd;
-    HeartbeatDispatcher(OSD *o) 
-      : Dispatcher(g_ceph_context), osd(o)
-    {
-    }
   } heartbeat_dispatcher;
 
-
 private:
   // -- stats --
   Mutex stat_lock;
@@ -851,7 +944,7 @@ private:
   void test_ops(std::string command, std::string args, ostream& ss);
   friend class TestOpsSocketHook;
   TestOpsSocketHook *test_ops_hook;
-  friend class C_CompleteSplits;
+  friend struct C_CompleteSplits;
 
   // -- op queue --
 
@@ -948,22 +1041,7 @@ private:
     bool _empty() {
       return peering_queue.empty();
     }
-    void _dequeue(list<PG*> *out) {
-      set<PG*> got;
-      for (list<PG*>::iterator i = peering_queue.begin();
-	   i != peering_queue.end() &&
-	     out->size() < g_conf->osd_peering_wq_batch_size;
-	   ) {
-	if (in_use.count(*i)) {
-	  ++i;
-	} else {
-	  out->push_back(*i);
-	  got.insert(*i);
-	  peering_queue.erase(i++);
-	}
-      }
-      in_use.insert(got.begin(), got.end());
-    }
+    void _dequeue(list<PG*> *out);
     void _process(
       const list<PG *> &pgs,
       ThreadPool::TPHandle &handle) {
@@ -1113,8 +1191,12 @@ protected:
   void build_past_intervals_parallel();
 
   void calc_priors_during(pg_t pgid, epoch_t start, epoch_t end, set<int>& pset);
-  void project_pg_history(pg_t pgid, pg_history_t& h, epoch_t from,
-			  const vector<int>& lastup, const vector<int>& lastacting);
+
+  /// project pg history from from to now
+  bool project_pg_history(
+    pg_t pgid, pg_history_t& h, epoch_t from,
+    const vector<int>& lastup, const vector<int>& lastacting
+    ); ///< @return false if there was a map gap between from and now
 
   void wake_pg_waiters(pg_t pgid) {
     if (waiting_for_pg.count(pgid)) {
@@ -1176,7 +1258,7 @@ protected:
   void start_waiting_for_healthy();
   bool _is_healthy();
   
-  friend class C_OSD_GetVersion;
+  friend struct C_OSD_GetVersion;
 
   // -- alive --
   epoch_t up_thru_wanted;
@@ -1339,19 +1421,7 @@ protected:
     bool _empty() {
       return osd->recovery_queue.empty();
     }
-    bool _enqueue(PG *pg) {
-      if (!pg->recovery_item.is_on_list()) {
-	pg->get("RecoveryWQ");
-	osd->recovery_queue.push_back(&pg->recovery_item);
-
-	if (g_conf->osd_recovery_delay_start > 0) {
-	  osd->defer_recovery_until = ceph_clock_now(g_ceph_context);
-	  osd->defer_recovery_until += g_conf->osd_recovery_delay_start;
-	}
-	return true;
-      }
-      return false;
-    }
+    bool _enqueue(PG *pg);
     void _dequeue(PG *pg) {
       if (pg->recovery_item.remove_myself())
 	pg->put("RecoveryWQ");
@@ -1615,7 +1685,7 @@ protected:
       remove_queue.pop_front();
       return item;
     }
-    void _process(pair<PGRef, DeletingStateRef>);
+    void _process(pair<PGRef, DeletingStateRef>, ThreadPool::TPHandle &);
     void _clear() {
       remove_queue.clear();
     }
@@ -1638,22 +1708,28 @@ protected:
  public:
   /* internal and external can point to the same messenger, they will still
    * be cleaned up properly*/
-  OSD(int id, Messenger *internal, Messenger *external,
-      Messenger *hb_client, Messenger *hb_front_server, Messenger *hb_back_server,
+  OSD(CephContext *cct_,
+      int id,
+      Messenger *internal,
+      Messenger *external,
+      Messenger *hb_client,
+      Messenger *hb_front_server,
+      Messenger *hb_back_server,
+      Messenger *osdc_messenger,
       MonClient *mc, const std::string &dev, const std::string &jdev);
   ~OSD();
 
   // static bits
   static int find_osd_dev(char *result, int whoami);
-  static ObjectStore *create_object_store(const std::string &dev, const std::string &jdev);
+  static ObjectStore *create_object_store(CephContext *cct, const std::string &dev, const std::string &jdev);
   static int convertfs(const std::string &dev, const std::string &jdev);
   static int do_convertfs(ObjectStore *store);
   static int convert_collection(ObjectStore *store, coll_t cid);
-  static int mkfs(const std::string &dev, const std::string &jdev,
+  static int mkfs(CephContext *cct, const std::string &dev, const std::string &jdev,
 		  uuid_d fsid, int whoami);
-  static int mkjournal(const std::string &dev, const std::string &jdev);
-  static int flushjournal(const std::string &dev, const std::string &jdev);
-  static int dump_journal(const std::string &dev, const std::string &jdev, ostream& out);
+  static int mkjournal(CephContext *cct, const std::string &dev, const std::string &jdev);
+  static int flushjournal(CephContext *cct, const std::string &dev, const std::string &jdev);
+  static int dump_journal(CephContext *cct, const std::string &dev, const std::string &jdev, ostream& out);
   /* remove any non-user xattrs from a map of them */
   void filter_xattrs(map<string, bufferptr>& attrs) {
     for (map<string, bufferptr>::iterator iter = attrs.begin();
@@ -1666,10 +1742,6 @@ protected:
   }
 
 private:
-  static int write_meta(const std::string &base, const std::string &file,
-			const char *val, size_t vallen);
-  static int read_meta(const std::string &base, const std::string &file,
-		       char *val, size_t vallen);
   static int write_meta(const std::string &base,
 			uuid_d& cluster_fsid, uuid_d& osd_fsid, int whoami);
 public:
@@ -1681,6 +1753,7 @@ public:
   // startup/shutdown
   int pre_init();
   int init();
+  void final_init();
 
   void suicide(int exitcode);
   int shutdown();
@@ -1688,7 +1761,7 @@ public:
   void handle_signal(int signum);
 
   void handle_rep_scrub(MOSDRepScrub *m);
-  void handle_scrub(class MOSDScrub *m);
+  void handle_scrub(struct MOSDScrub *m);
   void handle_osd_ping(class MOSDPing *m);
   void handle_op(OpRequestRef op);
 
diff --git a/src/osd/OSDCap.cc b/src/osd/OSDCap.cc
index ee77f0e..e315835 100644
--- a/src/osd/OSDCap.cc
+++ b/src/osd/OSDCap.cc
@@ -178,7 +178,7 @@ struct OSDCapParser : qi::grammar<Iterator, OSDCap()>
     equoted_string %=
       lexeme['"' >> *(char_ - '"') >> '"'] |
       lexeme['\'' >> *(char_ - '\'') >> '\''];
-    unquoted_word %= +char_("a-zA-Z0-9_-");
+    unquoted_word %= +char_("a-zA-Z0-9_.-");
     str %= quoted_string | unquoted_word;
     estr %= equoted_string | unquoted_word;
 
diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc
index 36a43ff..8007d61 100644
--- a/src/osd/OSDMap.cc
+++ b/src/osd/OSDMap.cc
@@ -757,6 +757,10 @@ uint64_t OSDMap::get_features(uint64_t *pmask) const
     if (p->second.flags & pg_pool_t::FLAG_HASHPSPOOL) {
       features |= CEPH_FEATURE_OSDHASHPSPOOL;
     }
+    if (!p->second.tiers.empty() ||
+	p->second.is_tier()) {
+      features |= CEPH_FEATURE_OSD_CACHEPOOL;
+    }
   }
   mask |= CEPH_FEATURE_OSDHASHPSPOOL;
 
@@ -1743,17 +1747,27 @@ void OSDMap::print_summary(Formatter *f, ostream& out) const
 		   "true" : "false");
     f->close_section();
   } else {
-    out << "e" << get_epoch() << ": "
+    out << "     osdmap e" << get_epoch() << ": "
 	<< get_num_osds() << " osds: "
 	<< get_num_up_osds() << " up, "
-	<< get_num_in_osds() << " in";
-    if (test_flag(CEPH_OSDMAP_FULL))
-      out << " full";
-    else if (test_flag(CEPH_OSDMAP_NEARFULL))
-      out << " nearfull";
+	<< get_num_in_osds() << " in\n";
+    if (flags)
+      out << "            flags " << get_flag_string() << "\n";
   }
 }
 
+void OSDMap::print_oneline_summary(ostream& out) const
+{
+  out << "e" << get_epoch() << ": "
+      << get_num_osds() << " osds: "
+      << get_num_up_osds() << " up, "
+      << get_num_in_osds() << " in";
+  if (test_flag(CEPH_OSDMAP_FULL))
+    out << " full";
+  else if (test_flag(CEPH_OSDMAP_NEARFULL))
+    out << " nearfull";
+}
+
 bool OSDMap::crush_ruleset_in_use(int ruleset) const
 {
   for (map<int64_t,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
@@ -1831,7 +1845,9 @@ void OSDMap::build_simple_crush_map(CephContext *cct, CrushWrapper& crush,
   crush.set_type_name(6, "root");
 
   // root
-  int rootid = crush.add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, 6 /* pool */, 0, NULL, NULL);
+  int rootid;
+  int r = crush.add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, 6 /* pool */, 0, NULL, NULL, &rootid);
+  assert(r == 0);
   crush.set_item_name(rootid, "default");
 
   for (int o=0; o<nosd; o++) {
@@ -1961,7 +1977,9 @@ void OSDMap::build_simple_crush_map_from_conf(CephContext *cct, CrushWrapper& cr
   set<string> hosts, racks;
 
   // root
-  int rootid = crush.add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, 6 /* pool */, 0, NULL, NULL);
+  int rootid;
+  int r = crush.add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_DEFAULT, 6 /* pool */, 0, NULL, NULL, &rootid);
+  assert(r == 0);
   crush.set_item_name(rootid, "default");
 
   // add osds
diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h
index 0badd0a..bd8f09b 100644
--- a/src/osd/OSDMap.h
+++ b/src/osd/OSDMap.h
@@ -165,6 +165,12 @@ public:
     Incremental(bufferlist::iterator &p) {
       decode(p);
     }
+
+    pg_pool_t *get_new_pool(int64_t pool, const pg_pool_t *orig) {
+      if (new_pools.count(pool) == 0)
+	new_pools[pool] = *orig;
+      return &new_pools[pool];
+    }
   };
   
 private:
@@ -606,6 +612,7 @@ private:
 public:
   void print(ostream& out) const;
   void print_summary(Formatter *f, ostream& out) const;
+  void print_oneline_summary(ostream& out) const;
   void print_tree(ostream *out, Formatter *f) const;
 
   string get_flag_string() const;
@@ -621,7 +628,7 @@ WRITE_CLASS_ENCODER_FEATURES(OSDMap::Incremental)
 typedef std::tr1::shared_ptr<const OSDMap> OSDMapRef;
 
 inline ostream& operator<<(ostream& out, const OSDMap& m) {
-  m.print_summary(NULL, out);
+  m.print_oneline_summary(out);
   return out;
 }
 
diff --git a/src/osd/OpRequest.cc b/src/osd/OpRequest.cc
index c694362..0730ce8 100644
--- a/src/osd/OpRequest.cc
+++ b/src/osd/OpRequest.cc
@@ -10,230 +10,23 @@
 #include "messages/MOSDOp.h"
 #include "messages/MOSDSubOp.h"
 #include "include/assert.h"
+#include "osd/osd_types.h"
 
-#define dout_subsys ceph_subsys_optracker
-#undef dout_prefix
-#define dout_prefix _prefix(_dout)
 
-static ostream& _prefix(std::ostream* _dout)
-{
-  return *_dout << "--OSD::tracker-- ";
-}
 
 OpRequest::OpRequest(Message *req, OpTracker *tracker) :
-  request(req), xitem(this),
+  TrackedOp(req, tracker),
   rmw_flags(0),
-  warn_interval_multiplier(1),
-  lock("OpRequest::lock"),
-  tracker(tracker),
-  hit_flag_points(0), latest_flag_point(0),
-  seq(0) {
-  received_time = request->get_recv_stamp();
-  tracker->register_inflight_op(&xitem);
-  if (req->get_priority() < g_conf->osd_client_op_priority) {
+  hit_flag_points(0), latest_flag_point(0) {
+  if (req->get_priority() < tracker->cct->_conf->osd_client_op_priority) {
     // don't warn as quickly for low priority ops
-    warn_interval_multiplier = g_conf->osd_recovery_op_warn_multiple;
+    warn_interval_multiplier = tracker->cct->_conf->osd_recovery_op_warn_multiple;
   }
 }
 
-void OpHistory::on_shutdown()
-{
-  arrived.clear();
-  duration.clear();
-  shutdown = true;
-}
-
-void OpHistory::insert(utime_t now, OpRequestRef op)
-{
-  if (shutdown)
-    return;
-  duration.insert(make_pair(op->get_duration(), op));
-  arrived.insert(make_pair(op->get_arrived(), op));
-  cleanup(now);
-}
-
-void OpHistory::cleanup(utime_t now)
-{
-  while (arrived.size() &&
-	 (now - arrived.begin()->first >
-	  (double)(g_conf->osd_op_history_duration))) {
-    duration.erase(make_pair(
-	arrived.begin()->second->get_duration(),
-	arrived.begin()->second));
-    arrived.erase(arrived.begin());
-  }
-
-  while (duration.size() > g_conf->osd_op_history_size) {
-    arrived.erase(make_pair(
-	duration.begin()->second->get_arrived(),
-	duration.begin()->second));
-    duration.erase(duration.begin());
-  }
-}
-
-void OpHistory::dump_ops(utime_t now, Formatter *f)
-{
-  cleanup(now);
-  f->open_object_section("OpHistory");
-  f->dump_int("num to keep", g_conf->osd_op_history_size);
-  f->dump_int("duration to keep", g_conf->osd_op_history_duration);
-  {
-    f->open_array_section("Ops");
-    for (set<pair<utime_t, OpRequestRef> >::const_iterator i =
-	   arrived.begin();
-	 i != arrived.end();
-	 ++i) {
-      f->open_object_section("Op");
-      i->second->dump(now, f);
-      f->close_section();
-    }
-    f->close_section();
-  }
-  f->close_section();
-}
-
-void OpTracker::dump_historic_ops(Formatter *f)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  utime_t now = ceph_clock_now(g_ceph_context);
-  history.dump_ops(now, f);
-}
-
-void OpTracker::dump_ops_in_flight(Formatter *f)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  f->open_object_section("ops_in_flight"); // overall dump
-  f->dump_int("num_ops", ops_in_flight.size());
-  f->open_array_section("ops"); // list of OpRequests
-  utime_t now = ceph_clock_now(g_ceph_context);
-  for (xlist<OpRequest*>::iterator p = ops_in_flight.begin(); !p.end(); ++p) {
-    f->open_object_section("op");
-    (*p)->dump(now, f);
-    f->close_section(); // this OpRequest
-  }
-  f->close_section(); // list of OpRequests
-  f->close_section(); // overall dump
-}
-
-void OpTracker::register_inflight_op(xlist<OpRequest*>::item *i)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  ops_in_flight.push_back(i);
-  ops_in_flight.back()->seq = seq++;
-}
-
-void OpTracker::unregister_inflight_op(OpRequest *i)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  assert(i->xitem.get_list() == &ops_in_flight);
-  utime_t now = ceph_clock_now(g_ceph_context);
-  i->xitem.remove_myself();
-  i->request->clear_data();
-  history.insert(now, OpRequestRef(i));
-}
-
-bool OpTracker::check_ops_in_flight(std::vector<string> &warning_vector)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  if (!ops_in_flight.size())
-    return false;
-
-  utime_t now = ceph_clock_now(g_ceph_context);
-  utime_t too_old = now;
-  too_old -= g_conf->osd_op_complaint_time;
-
-  utime_t oldest_secs = now - ops_in_flight.front()->received_time;
-
-  dout(10) << "ops_in_flight.size: " << ops_in_flight.size()
-           << "; oldest is " << oldest_secs
-           << " seconds old" << dendl;
-
-  if (oldest_secs < g_conf->osd_op_complaint_time)
-    return false;
-
-  xlist<OpRequest*>::iterator i = ops_in_flight.begin();
-  warning_vector.reserve(g_conf->osd_op_log_threshold + 1);
-
-  int slow = 0;     // total slow
-  int warned = 0;   // total logged
-  while (!i.end() && (*i)->received_time < too_old) {
-    slow++;
-
-    // exponential backoff of warning intervals
-    if (((*i)->received_time +
-	 (g_conf->osd_op_complaint_time *
-	  (*i)->warn_interval_multiplier)) < now) {
-      // will warn
-      if (warning_vector.empty())
-	warning_vector.push_back("");
-      warned++;
-      if (warned > g_conf->osd_op_log_threshold)
-        break;
-
-      utime_t age = now - (*i)->received_time;
-      stringstream ss;
-      ss << "slow request " << age << " seconds old, received at " << (*i)->received_time
-	 << ": " << *((*i)->request) << " currently "
-	 << ((*i)->current.size() ? (*i)->current : (*i)->state_string());
-      warning_vector.push_back(ss.str());
-
-      // only those that have been shown will backoff
-      (*i)->warn_interval_multiplier *= 2;
-    }
-    ++i;
-  }
-
-  // only summarize if we warn about any.  if everything has backed
-  // off, we will stay silent.
-  if (warned > 0) {
-    stringstream ss;
-    ss << slow << " slow requests, " << warned << " included below; oldest blocked for > "
-       << oldest_secs << " secs";
-    warning_vector[0] = ss.str();
-  }
-
-  return warning_vector.size();
-}
-
-void OpTracker::get_age_ms_histogram(pow2_hist_t *h)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-
-  h->clear();
-
-  utime_t now = ceph_clock_now(NULL);
-  unsigned bin = 30;
-  uint32_t lb = 1 << (bin-1);  // lower bound for this bin
-  int count = 0;
-  for (xlist<OpRequest*>::iterator i = ops_in_flight.begin(); !i.end(); ++i) {
-    utime_t age = now - (*i)->received_time;
-    uint32_t ms = (long)(age * 1000.0);
-    if (ms >= lb) {
-      count++;
-      continue;
-    }
-    if (count)
-      h->set(bin, count);
-    while (lb > ms) {
-      bin--;
-      lb >>= 1;
-    }
-    count = 1;
-  }
-  if (count)
-    h->set(bin, count);
-}
-
-void OpRequest::dump(utime_t now, Formatter *f) const
+void OpRequest::_dump(utime_t now, Formatter *f) const
 {
   Message *m = request;
-  stringstream name;
-  m->print(name);
-  f->dump_string("description", name.str().c_str()); // this OpRequest
-  f->dump_unsigned("rmw_flags", rmw_flags);
-  f->dump_stream("received_at") << received_time;
-  f->dump_float("age", now - received_time);
-  f->dump_float("duration", get_duration());
   f->dump_string("flag_point", state_string());
   if (m->get_orig_source().is_client()) {
     f->open_object_section("client_info");
@@ -257,50 +50,35 @@ void OpRequest::dump(utime_t now, Formatter *f) const
   }
 }
 
-void OpTracker::mark_event(OpRequest *op, const string &dest)
+void OpRequest::init_from_message()
 {
-  utime_t now = ceph_clock_now(g_ceph_context);
-  return _mark_event(op, dest, now);
+  if (request->get_type() == CEPH_MSG_OSD_OP) {
+    reqid = static_cast<MOSDOp*>(request)->get_reqid();
+  } else if (request->get_type() == MSG_OSD_SUBOP) {
+    reqid = static_cast<MOSDSubOp*>(request)->reqid;
+  }
 }
 
-void OpTracker::_mark_event(OpRequest *op, const string &evt,
-			    utime_t time)
-{
-  Mutex::Locker locker(ops_in_flight_lock);
-  dout(5) << "reqid: " << op->get_reqid() << ", seq: " << op->seq
-	  << ", time: " << time << ", event: " << evt
-	  << ", request: " << *op->request << dendl;
+bool OpRequest::check_rmw(int flag) {
+  return rmw_flags & flag;
 }
-
-void OpTracker::RemoveOnDelete::operator()(OpRequest *op) {
-  op->mark_event("done");
-  tracker->unregister_inflight_op(op);
-  // Do not delete op, unregister_inflight_op took control
+bool OpRequest::may_read() { return need_read_cap() || need_class_read_cap(); }
+bool OpRequest::may_write() { return need_write_cap() || need_class_write_cap(); }
+bool OpRequest::includes_pg_op() { return check_rmw(CEPH_OSD_RMW_FLAG_PGOP); }
+bool OpRequest::need_read_cap() {
+  return check_rmw(CEPH_OSD_RMW_FLAG_READ);
 }
-
-OpRequestRef OpTracker::create_request(Message *ref)
-{
-  OpRequestRef retval(new OpRequest(ref, this),
-		      RemoveOnDelete(this));
-
-  if (ref->get_type() == CEPH_MSG_OSD_OP) {
-    retval->reqid = static_cast<MOSDOp*>(ref)->get_reqid();
-  } else if (ref->get_type() == MSG_OSD_SUBOP) {
-    retval->reqid = static_cast<MOSDSubOp*>(ref)->reqid;
-  }
-  _mark_event(retval.get(), "header_read", ref->get_recv_stamp());
-  _mark_event(retval.get(), "throttled", ref->get_throttle_stamp());
-  _mark_event(retval.get(), "all_read", ref->get_recv_complete_stamp());
-  _mark_event(retval.get(), "dispatched", ref->get_dispatch_stamp());
-  return retval;
+bool OpRequest::need_write_cap() {
+  return check_rmw(CEPH_OSD_RMW_FLAG_WRITE);
 }
-
-void OpRequest::mark_event(const string &event)
-{
-  utime_t now = ceph_clock_now(g_ceph_context);
-  {
-    Mutex::Locker l(lock);
-    events.push_back(make_pair(now, event));
-  }
-  tracker->mark_event(this, event);
+bool OpRequest::need_class_read_cap() {
+  return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_READ);
+}
+bool OpRequest::need_class_write_cap() {
+  return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_WRITE);
 }
+void OpRequest::set_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_READ; }
+void OpRequest::set_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_WRITE; }
+void OpRequest::set_class_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_READ; }
+void OpRequest::set_class_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_WRITE; }
+void OpRequest::set_pg_op() { rmw_flags |= CEPH_OSD_RMW_FLAG_PGOP; }
diff --git a/src/osd/OpRequest.h b/src/osd/OpRequest.h
index e72f03d..6d367db 100644
--- a/src/osd/OpRequest.h
+++ b/src/osd/OpRequest.h
@@ -23,132 +23,59 @@
 #include "msg/Message.h"
 #include <tr1/memory>
 #include "common/TrackedOp.h"
-#include "osd/osd_types.h"
 
-class OpRequest;
-typedef std::tr1::shared_ptr<OpRequest> OpRequestRef;
-class OpHistory {
-  set<pair<utime_t, OpRequestRef> > arrived;
-  set<pair<double, OpRequestRef> > duration;
-  void cleanup(utime_t now);
-  bool shutdown;
-
-public:
-  OpHistory() : shutdown(false) {}
-  ~OpHistory() {
-    assert(arrived.empty());
-    assert(duration.empty());
-  }
-  void insert(utime_t now, OpRequestRef op);
-  void dump_ops(utime_t now, Formatter *f);
-  void on_shutdown();
-};
-
-class OpTracker {
-  class RemoveOnDelete {
-    OpTracker *tracker;
-  public:
-    RemoveOnDelete(OpTracker *tracker) : tracker(tracker) {}
-    void operator()(OpRequest *op);
-  };
-  friend class RemoveOnDelete;
-  uint64_t seq;
-  Mutex ops_in_flight_lock;
-  xlist<OpRequest *> ops_in_flight;
-  OpHistory history;
-
-public:
-  OpTracker() : seq(0), ops_in_flight_lock("OpTracker mutex") {}
-  void dump_ops_in_flight(Formatter *f);
-  void dump_historic_ops(Formatter *f);
-  void register_inflight_op(xlist<OpRequest*>::item *i);
-  void unregister_inflight_op(OpRequest *i);
-
-  void get_age_ms_histogram(pow2_hist_t *h);
-
-  /**
-   * Look for Ops which are too old, and insert warning
-   * strings for each Op that is too old.
-   *
-   * @param warning_strings A vector<string> reference which is filled
-   * with a warning string for each old Op.
-   * @return True if there are any Ops to warn on, false otherwise.
-   */
-  bool check_ops_in_flight(std::vector<string> &warning_strings);
-  void mark_event(OpRequest *op, const string &evt);
-  void _mark_event(OpRequest *op, const string &evt, utime_t now);
-  OpRequestRef create_request(Message *req);
-  void on_shutdown() {
-    Mutex::Locker l(ops_in_flight_lock);
-    history.on_shutdown();
-  }
-  ~OpTracker() {
-    assert(ops_in_flight.empty());
-  }
+/**
+ * osd request identifier
+ *
+ * caller name + incarnation# + tid to unique identify this request.
+ */
+struct osd_reqid_t {
+  entity_name_t name; // who
+  tid_t         tid;
+  int32_t       inc;  // incarnation
+
+  osd_reqid_t()
+    : tid(0), inc(0) {}
+  osd_reqid_t(const entity_name_t& a, int i, tid_t t)
+    : name(a), tid(t), inc(i) {}
+
+  void encode(bufferlist &bl) const;
+  void decode(bufferlist::iterator &bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<osd_reqid_t*>& o);
 };
+WRITE_CLASS_ENCODER(osd_reqid_t)
 
 /**
  * The OpRequest takes in a Message* and takes over a single reference
  * to it, which it puts() when destroyed.
- * OpRequest is itself ref-counted. The expectation is that you get a Message
- * you want to track, create an OpRequest with it, and then pass around that OpRequest
- * the way you used to pass around the Message.
  */
 struct OpRequest : public TrackedOp {
   friend class OpTracker;
-  friend class OpHistory;
-  Message *request;
-  xlist<OpRequest*>::item xitem;
 
   // rmw flags
   int rmw_flags;
 
-  bool check_rmw(int flag) {
-    return rmw_flags & flag;
-  }
-  bool may_read() { return need_read_cap() || need_class_read_cap(); }
-  bool may_write() { return need_write_cap() || need_class_write_cap(); }
-  bool includes_pg_op() { return check_rmw(CEPH_OSD_RMW_FLAG_PGOP); }
-  bool need_read_cap() {
-    return check_rmw(CEPH_OSD_RMW_FLAG_READ);
-  }
-  bool need_write_cap() {
-    return check_rmw(CEPH_OSD_RMW_FLAG_WRITE);
-  }
-  bool need_class_read_cap() {
-    return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_READ);
-  }
-  bool need_class_write_cap() {
-    return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_WRITE);
-  }
-  void set_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_READ; }
-  void set_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_WRITE; }
-  void set_class_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_READ; }
-  void set_class_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_WRITE; }
-  void set_pg_op() { rmw_flags |= CEPH_OSD_RMW_FLAG_PGOP; }
-
-  utime_t received_time;
-  uint8_t warn_interval_multiplier;
-  utime_t get_arrived() const {
-    return received_time;
-  }
-  double get_duration() const {
-    return events.size() ?
-      (events.rbegin()->first - received_time) :
-      0.0;
-  }
-
-  void dump(utime_t now, Formatter *f) const;
+  bool check_rmw(int flag);
+  bool may_read();
+  bool may_write();
+  bool includes_pg_op();
+  bool need_read_cap();
+  bool need_write_cap();
+  bool need_class_read_cap();
+  bool need_class_write_cap();
+  void set_read();
+  void set_write();
+  void set_class_read();
+  void set_class_write();
+  void set_pg_op();
+
+  void _dump(utime_t now, Formatter *f) const;
 
 private:
-  list<pair<utime_t, string> > events;
-  string current;
-  Mutex lock;
-  OpTracker *tracker;
   osd_reqid_t reqid;
   uint8_t hit_flag_points;
   uint8_t latest_flag_point;
-  uint64_t seq;
   static const uint8_t flag_queued_for_pg=1 << 0;
   static const uint8_t flag_reached_pg =  1 << 1;
   static const uint8_t flag_delayed =     1 << 2;
@@ -157,12 +84,8 @@ private:
   static const uint8_t flag_commit_sent = 1 << 5;
 
   OpRequest(Message *req, OpTracker *tracker);
-public:
-  ~OpRequest() {
-    assert(request);
-    request->put();
-  }
 
+public:
   bool been_queued_for_pg() { return hit_flag_points & flag_queued_for_pg; }
   bool been_reached_pg() { return hit_flag_points & flag_reached_pg; }
   bool been_delayed() { return hit_flag_points & flag_delayed; }
@@ -226,10 +149,15 @@ public:
     latest_flag_point = flag_commit_sent;
   }
 
-  void mark_event(const string &event);
   osd_reqid_t get_reqid() const {
     return reqid;
   }
+
+  void init_from_message();
+
+  typedef std::tr1::shared_ptr<OpRequest> Ref;
 };
 
+typedef OpRequest::Ref OpRequestRef;
+
 #endif /* OPREQUEST_H_ */
diff --git a/src/osd/PG.cc b/src/osd/PG.cc
index e06ddbb..8207a67 100644
--- a/src/osd/PG.cc
+++ b/src/osd/PG.cc
@@ -142,6 +142,7 @@ PG::PG(OSDService *o, OSDMapRef curmap,
        const PGPool &_pool, pg_t p, const hobject_t& loid,
        const hobject_t& ioid) :
   osd(o),
+  cct(o->cct),
   osdriver(osd->store, coll_t(), OSD::make_snapmapper_oid()),
   snap_mapper(
     &osdriver,
@@ -158,7 +159,7 @@ PG::PG(OSDService *o, OSDMapRef curmap,
   deleting(false), dirty_info(false), dirty_big_info(false),
   info(p),
   info_struct_v(0),
-  coll(p), pg_log(g_ceph_context), log_oid(loid), biginfo_oid(ioid),
+  coll(p), pg_log(cct), log_oid(loid), biginfo_oid(ioid),
   recovery_item(this), scrub_item(this), scrub_finalize_item(this), snap_trim_item(this), stat_queue_item(this),
   recovery_ops_active(0),
   waiting_on_backfill(0),
@@ -1094,7 +1095,7 @@ void PG::activate(ObjectStore::Transaction& t,
   if (is_primary() &&
       pool.info.crash_replay_interval > 0 &&
       may_need_replay(get_osdmap())) {
-    replay_until = ceph_clock_now(g_ceph_context);
+    replay_until = ceph_clock_now(cct);
     replay_until += pool.info.crash_replay_interval;
     dout(10) << "activate starting replay interval for " << pool.info.crash_replay_interval
 	     << " until " << replay_until << dendl;
@@ -1223,7 +1224,7 @@ void PG::activate(ObjectStore::Transaction& t,
 	m = new MOSDPGLog(get_osdmap()->get_epoch(), pi);
 
 	// send some recent log, so that op dup detection works well.
-	m->log.copy_up_to(pg_log.get_log(), g_conf->osd_min_pg_log_entries);
+	m->log.copy_up_to(pg_log.get_log(), cct->_conf->osd_min_pg_log_entries);
 	m->info.log_tail = m->log.tail;
 	pi.log_tail = m->log.tail;  // sigh...
 
@@ -1331,10 +1332,10 @@ void PG::do_pending_flush()
 bool PG::op_has_sufficient_caps(OpRequestRef op)
 {
   // only check MOSDOp
-  if (op->request->get_type() != CEPH_MSG_OSD_OP)
+  if (op->get_req()->get_type() != CEPH_MSG_OSD_OP)
     return true;
 
-  MOSDOp *req = static_cast<MOSDOp*>(op->request);
+  MOSDOp *req = static_cast<MOSDOp*>(op->get_req());
 
   OSD::Session *session = (OSD::Session *)req->get_connection()->get_priv();
   if (!session) {
@@ -1397,76 +1398,6 @@ void PG::queue_op(OpRequestRef op)
   osd->op_wq.queue(make_pair(PGRef(this), op));
 }
 
-void PG::do_request(
-  OpRequestRef op,
-  ThreadPool::TPHandle &handle)
-{
-  // do any pending flush
-  do_pending_flush();
-
-  if (!op_has_sufficient_caps(op)) {
-    osd->reply_op_error(op, -EPERM);
-    return;
-  }
-  assert(!op_must_wait_for_map(get_osdmap(), op));
-  if (can_discard_request(op)) {
-    return;
-  }
-  if (!flushed) {
-    dout(20) << " !flushed, waiting for active on " << op << dendl;
-    waiting_for_active.push_back(op);
-    return;
-  }
-
-  switch (op->request->get_type()) {
-  case CEPH_MSG_OSD_OP:
-    if (is_replay() || !is_active()) {
-      dout(20) << " replay, waiting for active on " << op << dendl;
-      waiting_for_active.push_back(op);
-      return;
-    }
-    do_op(op); // do it now
-    break;
-
-  case MSG_OSD_SUBOP:
-    do_sub_op(op);
-    break;
-
-  case MSG_OSD_SUBOPREPLY:
-    do_sub_op_reply(op);
-    break;
-
-  case MSG_OSD_PG_SCAN:
-    do_scan(op, handle);
-    break;
-
-  case MSG_OSD_PG_BACKFILL:
-    do_backfill(op);
-    break;
-
-  case MSG_OSD_PG_PUSH:
-    if (!is_active()) {
-      waiting_for_active.push_back(op);
-      op->mark_delayed("waiting for active");
-      return;
-    }
-    do_push(op);
-    break;
-
-  case MSG_OSD_PG_PULL:
-    do_pull(op);
-    break;
-
-  case MSG_OSD_PG_PUSH_REPLY:
-    do_push_reply(op);
-    break;
-
-  default:
-    assert(0 == "bad message type in do_request");
-  }
-}
-
-
 void PG::replay_queued_ops()
 {
   assert(is_replay() && is_active());
@@ -1486,7 +1417,7 @@ void PG::replay_queued_ops()
       c = p->first;
     }
     dout(10) << "activate replay " << p->first << " "
-             << *p->second->request << dendl;
+             << *p->second->get_req() << dendl;
     replay.push_back(p->second);
   }
   replay_queue.clear();
@@ -1751,6 +1682,8 @@ void PG::split_into(pg_t child_pgid, PG *child, unsigned split_bits)
   info.last_update = pg_log.get_head();
   child->info.last_update = child->pg_log.get_head();
 
+  child->info.last_user_version = info.last_user_version;
+
   info.log_tail = pg_log.get_tail();
   child->info.log_tail = child->pg_log.get_tail();
 
@@ -1916,7 +1849,7 @@ void PG::publish_stats_to_osd()
     else
       state_clear(PG_STATE_INCONSISTENT);
 
-    utime_t now = ceph_clock_now(g_ceph_context);
+    utime_t now = ceph_clock_now(cct);
     info.stats.last_fresh = now;
     if (info.stats.state != state) {
       info.stats.state = state;
@@ -2063,8 +1996,7 @@ void PG::upgrade(ObjectStore *store, const interval_set<snapid_t> &snapcolls)
       hobject_t cur;
       vector<hobject_t> objects;
       while (1) {
-	int r = store->collection_list_partial(
-	  cid,
+	int r = get_pgbackend()->objects_list_partial(
 	  cur,
 	  store->get_ideal_list_min(),
 	  store->get_ideal_list_max(),
@@ -2112,8 +2044,7 @@ void PG::upgrade(ObjectStore *store, const interval_set<snapid_t> &snapcolls)
   while (1) {
     dout(1) << "Updating snap_mapper from main collection, "
 	    << done << " objects done" << dendl;
-    int r = store->collection_list_partial(
-      cid,
+    int r = get_pgbackend()->objects_list_partial(
       cur,
       store->get_ideal_list_min(),
       store->get_ideal_list_max(),
@@ -2136,19 +2067,16 @@ void PG::upgrade(ObjectStore *store, const interval_set<snapid_t> &snapcolls)
 	 ++j) {
       if (j->snap < CEPH_MAXSNAP) {
 	OSDriver::OSTransaction _t(osdriver.get_transaction(&t));
-	bufferptr bp;
-	r = store->getattr(
-	  cid,
+	bufferlist bl;
+	r = get_pgbackend()->objects_get_attr(
 	  *j,
 	  OI_ATTR,
-	  bp);
+	  &bl);
 	if (r < 0) {
 	  derr << __func__ << ": getattr returned "
 	       << cpp_strerror(r) << dendl;
 	  assert(0);
 	}
-	bufferlist bl;
-	bl.push_back(bp);
 	object_info_t oi(bl);
 	set<snapid_t> oi_snaps(oi.snaps.begin(), oi.snaps.end());
 	set<snapid_t> cur_snaps;
@@ -2250,7 +2178,8 @@ epoch_t PG::peek_map_epoch(ObjectStore *store, coll_t coll, hobject_t &infos_oid
   snapid_t snap;
   bool ok = coll.is_pg(pgid, snap);
   assert(ok);
-  store->collection_getattr(coll, "info", *bl);
+  int r = store->collection_getattr(coll, "info", *bl);
+  assert(r > 0);
   bufferlist::iterator bp = bl->begin();
   __u8 struct_v = 0;
   ::decode(struct_v, bp);
@@ -2305,6 +2234,11 @@ void PG::add_log_entry(pg_log_entry_t& e, bufferlist& log_bl)
   assert(e.version > info.last_update);
   info.last_update = e.version;
 
+  // raise user_version, if it increased (it may have not get bumped
+  // by all logged updates)
+  if (e.user_version > info.last_user_version)
+    info.last_user_version = e.user_version;
+
   // log mutation
   pg_log.add(e);
   dout(10) << "add_log_entry " << e << dendl;
@@ -2465,16 +2399,9 @@ void PG::log_weirdness()
 		      << " != info.last_update " << info.last_update
 		      << "\n";
 
-  if (pg_log.get_log().empty()) {
-    // shoudl it be?
-    if (pg_log.get_head() != pg_log.get_tail())
-      osd->clog.error() << info.pgid
-			<< " log bound mismatch, empty but (" << pg_log.get_tail() << ","
-			<< pg_log.get_head() << "]\n";
-  } else {
-    if ((pg_log.get_log().log.begin()->version <= pg_log.get_tail()) || // sloppy check
-	(pg_log.get_log().log.rbegin()->version != pg_log.get_head() &&
-	 !(pg_log.get_head() == pg_log.get_tail())))
+  if (!pg_log.get_log().empty()) {
+    // sloppy check
+    if ((pg_log.get_log().log.begin()->version <= pg_log.get_tail()))
       osd->clog.error() << info.pgid
 			<< " log bound mismatch, info (" << pg_log.get_tail() << ","
 			<< pg_log.get_head() << "]"
@@ -2574,6 +2501,11 @@ void PG::requeue_object_waiters(map<hobject_t, list<OpRequestRef> >& m)
   m.clear();
 }
 
+void PG::requeue_op(OpRequestRef op)
+{
+  osd->op_wq.queue_front(make_pair(PGRef(this), op));
+}
+
 void PG::requeue_ops(list<OpRequestRef> &ls)
 {
   dout(15) << " requeue_ops " << ls << dendl;
@@ -2618,8 +2550,8 @@ bool PG::sched_scrub()
     return false;
   }
 
-  bool time_for_deep = (ceph_clock_now(g_ceph_context) >
-    info.history.last_deep_scrub_stamp + g_conf->osd_deep_scrub_interval);
+  bool time_for_deep = (ceph_clock_now(cct) >
+    info.history.last_deep_scrub_stamp + cct->_conf->osd_deep_scrub_interval);
  
   //NODEEP_SCRUB so ignore time initiated deep-scrub
   if (osd->osd->get_osdmap()->test_flag(CEPH_OSDMAP_NODEEP_SCRUB))
@@ -2685,7 +2617,7 @@ void PG::unreg_next_scrub()
 
 void PG::sub_op_scrub_map(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp *>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
   dout(7) << "sub_op_scrub_map" << dendl;
 
@@ -2771,7 +2703,7 @@ void PG::_scan_list(
         int r;
         __u64 pos = 0;
         while ( (r = osd->store->read(coll, poid, pos,
-                                      g_conf->osd_deep_scrub_stride, bl,
+                                       cct->_conf->osd_deep_scrub_stride, bl,
 		                      true)) > 0) {
 	  handle.reset_tp_timeout();
           h << bl;
@@ -2805,8 +2737,8 @@ void PG::_scan_list(
         assert(iter);
 	uint64_t keys_scanned = 0;
         for (iter->seek_to_first(); iter->valid() ; iter->next()) {
-	  if (g_conf->osd_scan_list_ping_tp_interval &&
-	      (keys_scanned % g_conf->osd_scan_list_ping_tp_interval == 0)) {
+	  if (cct->_conf->osd_scan_list_ping_tp_interval &&
+	      (keys_scanned % cct->_conf->osd_scan_list_ping_tp_interval == 0)) {
 	    handle.reset_tp_timeout();
 	  }
 	  ++keys_scanned;
@@ -2871,7 +2803,7 @@ void PG::_request_scrub_map(int replica, eversion_t version,
 
 void PG::sub_op_scrub_reserve(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
   dout(7) << "sub_op_scrub_reserve" << dendl;
 
@@ -2891,7 +2823,7 @@ void PG::sub_op_scrub_reserve(OpRequestRef op)
 
 void PG::sub_op_scrub_reserve_reply(OpRequestRef op)
 {
-  MOSDSubOpReply *reply = static_cast<MOSDSubOpReply*>(op->request);
+  MOSDSubOpReply *reply = static_cast<MOSDSubOpReply*>(op->get_req());
   assert(reply->get_header().type == MSG_OSD_SUBOPREPLY);
   dout(7) << "sub_op_scrub_reserve_reply" << dendl;
 
@@ -2924,7 +2856,7 @@ void PG::sub_op_scrub_reserve_reply(OpRequestRef op)
 
 void PG::sub_op_scrub_unreserve(OpRequestRef op)
 {
-  assert(op->request->get_header().type == MSG_OSD_SUBOP);
+  assert(op->get_req()->get_header().type == MSG_OSD_SUBOP);
   dout(7) << "sub_op_scrub_unreserve" << dendl;
 
   op->mark_started();
@@ -2936,7 +2868,7 @@ void PG::sub_op_scrub_stop(OpRequestRef op)
 {
   op->mark_started();
 
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
   dout(7) << "sub_op_scrub_stop" << dendl;
 
@@ -2962,7 +2894,7 @@ void PG::schedule_backfill_full_retry()
 {
   Mutex::Locker lock(osd->backfill_request_lock);
   osd->backfill_request_timer.add_event_after(
-    g_conf->osd_backfill_retry_interval,
+    cct->_conf->osd_backfill_retry_interval,
     new QueuePeeringEvt<RequestBackfill>(
       this, get_osdmap()->get_epoch(),
       RequestBackfill()));
@@ -3099,9 +3031,9 @@ int PG::build_scrub_map_chunk(
 
   // objects
   vector<hobject_t> ls;
-  int ret = osd->store->collection_list_range(coll, start, end, 0, &ls);
+  int ret = get_pgbackend()->objects_list_range(start, end, 0, &ls);
   if (ret < 0) {
-    dout(5) << "collection_list_range error: " << ret << dendl;
+    dout(5) << "objects_list_range error: " << ret << dendl;
     return ret;
   }
 
@@ -3621,11 +3553,13 @@ void PG::chunky_scrub(ThreadPool::TPHandle &handle)
           hobject_t start = scrubber.start;
           while (!boundary_found) {
             vector<hobject_t> objects;
-            ret = osd->store->collection_list_partial(coll, start,
-                                                      g_conf->osd_scrub_chunk_min,
-						      g_conf->osd_scrub_chunk_max,
-						      0,
-                                                      &objects, &scrubber.end);
+            ret = get_pgbackend()->objects_list_partial(
+	      start,
+	      cct->_conf->osd_scrub_chunk_min,
+	      cct->_conf->osd_scrub_chunk_max,
+	      0,
+	      &objects,
+	      &scrubber.end);
             assert(ret >= 0);
 
             // in case we don't find a boundary: start again at the end
@@ -4206,7 +4140,7 @@ void PG::scrub_finish()
 
   // finish up
   unreg_next_scrub();
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   info.history.last_scrub = info.last_update;
   info.history.last_scrub_stamp = now;
   if (scrubber.deep) {
@@ -4527,9 +4461,6 @@ void PG::start_peering_interval(const OSDMapRef lastmap,
 {
   const OSDMapRef osdmap = get_osdmap();
 
-  // -- there was a change! --
-  kick();
-
   set_last_peering_reset();
 
   vector<int> oldacting, oldup;
@@ -4683,7 +4614,7 @@ void PG::proc_primary_info(ObjectStore::Transaction &t, const pg_info_t &oinfo)
 
   if (last_complete_ondisk.epoch >= info.history.last_epoch_started) {
     // DEBUG: verify that the snaps are empty in snap_mapper
-    if (g_conf->osd_debug_verify_snaps_on_info) {
+    if (cct->_conf->osd_debug_verify_snaps_on_info) {
       interval_set<snapid_t> p;
       p.union_of(oinfo.purged_snaps, info.purged_snaps);
       p.subtract(info.purged_snaps);
@@ -4742,19 +4673,11 @@ ostream& operator<<(ostream& out, const PG& pg)
       pg.pg_log.get_head() != pg.info.last_update)
     out << " (info mismatch, " << pg.pg_log.get_log() << ")";
 
-  if (pg.pg_log.get_log().empty()) {
-    // shoudl it be?
-    if (pg.pg_log.get_head().version - pg.pg_log.get_tail().version != 0) {
-      out << " (log bound mismatch, empty)";
-    }
-  } else {
-    if ((pg.pg_log.get_log().log.begin()->version <= pg.pg_log.get_tail()) || // sloppy check
-        (pg.pg_log.get_log().log.rbegin()->version != pg.pg_log.get_head() &&
-	 !(pg.pg_log.get_head() == pg.pg_log.get_tail()))) {
+  if (!pg.pg_log.get_log().empty()) {
+    if ((pg.pg_log.get_log().log.begin()->version <= pg.pg_log.get_tail())) {
       out << " (log bound mismatch, actual=["
 	  << pg.pg_log.get_log().log.begin()->version << ","
 	  << pg.pg_log.get_log().log.rbegin()->version << "]";
-      //out << "len=" << pg.log.log.size();
       out << ")";
     }
   }
@@ -4800,7 +4723,7 @@ ostream& operator<<(ostream& out, const PG& pg)
 
 bool PG::can_discard_op(OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   if (OSD::op_is_discardable(m)) {
     dout(20) << " discard " << *m << dendl;
     return true;
@@ -4828,7 +4751,7 @@ bool PG::can_discard_op(OpRequestRef op)
 template<typename T, int MSGTYPE>
 bool PG::can_discard_replica_op(OpRequestRef op)
 {
-  T *m = static_cast<T *>(op->request);
+  T *m = static_cast<T *>(op->get_req());
   assert(m->get_header().type == MSGTYPE);
 
   // same pg?
@@ -4844,7 +4767,7 @@ bool PG::can_discard_replica_op(OpRequestRef op)
 
 bool PG::can_discard_scan(OpRequestRef op)
 {
-  MOSDPGScan *m = static_cast<MOSDPGScan *>(op->request);
+  MOSDPGScan *m = static_cast<MOSDPGScan *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_SCAN);
 
   if (old_peering_msg(m->map_epoch, m->query_epoch)) {
@@ -4856,7 +4779,7 @@ bool PG::can_discard_scan(OpRequestRef op)
 
 bool PG::can_discard_backfill(OpRequestRef op)
 {
-  MOSDPGBackfill *m = static_cast<MOSDPGBackfill *>(op->request);
+  MOSDPGBackfill *m = static_cast<MOSDPGBackfill *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_BACKFILL);
 
   if (old_peering_msg(m->map_epoch, m->query_epoch)) {
@@ -4870,7 +4793,7 @@ bool PG::can_discard_backfill(OpRequestRef op)
 
 bool PG::can_discard_request(OpRequestRef op)
 {
-  switch (op->request->get_type()) {
+  switch (op->get_req()->get_type()) {
   case CEPH_MSG_OSD_OP:
     return can_discard_op(op);
   case MSG_OSD_SUBOP:
@@ -4895,55 +4818,55 @@ bool PG::can_discard_request(OpRequestRef op)
 bool PG::split_request(OpRequestRef op, unsigned match, unsigned bits)
 {
   unsigned mask = ~((~0)<<bits);
-  switch (op->request->get_type()) {
+  switch (op->get_req()->get_type()) {
   case CEPH_MSG_OSD_OP:
-    return (static_cast<MOSDOp*>(op->request)->get_pg().m_seed & mask) == match;
+    return (static_cast<MOSDOp*>(op->get_req())->get_pg().m_seed & mask) == match;
   }
   return false;
 }
 
 bool PG::op_must_wait_for_map(OSDMapRef curmap, OpRequestRef op)
 {
-  switch (op->request->get_type()) {
+  switch (op->get_req()->get_type()) {
   case CEPH_MSG_OSD_OP:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDOp*>(op->request)->get_map_epoch());
+      static_cast<MOSDOp*>(op->get_req())->get_map_epoch());
 
   case MSG_OSD_SUBOP:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDSubOp*>(op->request)->map_epoch);
+      static_cast<MOSDSubOp*>(op->get_req())->map_epoch);
 
   case MSG_OSD_SUBOPREPLY:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDSubOpReply*>(op->request)->map_epoch);
+      static_cast<MOSDSubOpReply*>(op->get_req())->map_epoch);
 
   case MSG_OSD_PG_SCAN:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDPGScan*>(op->request)->map_epoch);
+      static_cast<MOSDPGScan*>(op->get_req())->map_epoch);
 
   case MSG_OSD_PG_BACKFILL:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDPGBackfill*>(op->request)->map_epoch);
+      static_cast<MOSDPGBackfill*>(op->get_req())->map_epoch);
 
   case MSG_OSD_PG_PUSH:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDPGPush*>(op->request)->map_epoch);
+      static_cast<MOSDPGPush*>(op->get_req())->map_epoch);
 
   case MSG_OSD_PG_PULL:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDPGPull*>(op->request)->map_epoch);
+      static_cast<MOSDPGPull*>(op->get_req())->map_epoch);
 
   case MSG_OSD_PG_PUSH_REPLY:
     return !have_same_or_newer_map(
       curmap,
-      static_cast<MOSDPGPushReply*>(op->request)->map_epoch);
+      static_cast<MOSDPGPushReply*>(op->get_req())->map_epoch);
   }
   assert(0);
   return false;
@@ -5058,7 +4981,7 @@ void PG::handle_activate_map(RecoveryCtx *rctx)
   ActMap evt;
   recovery_state.handle_event(evt, rctx);
   if (osdmap_ref->get_epoch() - last_persisted_osdmap_ref->get_epoch() >
-      g_conf->osd_pg_epoch_persisted_max_stale) {
+    cct->_conf->osd_pg_epoch_persisted_max_stale) {
     dout(20) << __func__ << ": Dirtying info: last_persisted is "
 	     << last_persisted_osdmap_ref->get_epoch()
 	     << " while current is " << osdmap_ref->get_epoch() << dendl;
@@ -5112,9 +5035,9 @@ std::ostream& operator<<(std::ostream& oss,
 
 /*------Crashed-------*/
 PG::RecoveryState::Crashed::Crashed(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Crashed")
 {
-  state_name = "Crashed";
   context< RecoveryMachine >().log_enter(state_name);
   assert(0 == "we got a bad state machine event");
 }
@@ -5122,9 +5045,9 @@ PG::RecoveryState::Crashed::Crashed(my_context ctx)
 
 /*------Initial-------*/
 PG::RecoveryState::Initial::Initial(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Initial")
 {
-  state_name = "Initial";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -5166,13 +5089,16 @@ boost::statechart::result PG::RecoveryState::Initial::react(const MLogRec& i)
 void PG::RecoveryState::Initial::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_initial_latency, dur);
 }
 
 /*------Started-------*/
 PG::RecoveryState::Started::Started(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started")
 {
-  state_name = "Started";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -5181,6 +5107,7 @@ PG::RecoveryState::Started::react(const FlushedEvt&)
 {
   PG *pg = context< RecoveryMachine >().pg;
   pg->flushed = true;
+  pg->on_flushed();
   pg->requeue_ops(pg->waiting_for_active);
   return discard_event();
 }
@@ -5212,13 +5139,16 @@ boost::statechart::result PG::RecoveryState::Started::react(const QueryState& q)
 void PG::RecoveryState::Started::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_started_latency, dur);
 }
 
 /*--------Reset---------*/
 PG::RecoveryState::Reset::Reset(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Reset")
 {
-  state_name = "Reset";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   pg->flushed = false;
@@ -5284,13 +5214,16 @@ boost::statechart::result PG::RecoveryState::Reset::react(const QueryState& q)
 void PG::RecoveryState::Reset::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_reset_latency, dur);
 }
 
 /*-------Start---------*/
 PG::RecoveryState::Start::Start(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Start")
 {
-  state_name = "Start";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5306,13 +5239,16 @@ PG::RecoveryState::Start::Start(my_context ctx)
 void PG::RecoveryState::Start::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_start_latency, dur);
 }
 
 /*---------Primary--------*/
 PG::RecoveryState::Primary::Primary(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary")
 {
-  state_name = "Started/Primary";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   assert(pg->want_acting.empty());
@@ -5353,13 +5289,16 @@ void PG::RecoveryState::Primary::exit()
   context< RecoveryMachine >().log_exit(state_name, enter_time);
   PG *pg = context< RecoveryMachine >().pg;
   pg->want_acting.clear();
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_primary_latency, dur);
 }
 
 /*---------Peering--------*/
 PG::RecoveryState::Peering::Peering(my_context ctx)
-  : my_base(ctx), flushed(false)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering"),
+    flushed(false)
 {
-  state_name = "Started/Primary/Peering";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5439,16 +5378,16 @@ void PG::RecoveryState::Peering::exit()
   pg->state_clear(PG_STATE_PEERING);
   pg->clear_probe_targets();
 
-  utime_t dur = ceph_clock_now(g_ceph_context) - enter_time;
-  pg->osd->logger->tinc(l_osd_peering_latency, dur);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_peering_latency, dur);
 }
 
 
 /*------Backfilling-------*/
 PG::RecoveryState::Backfilling::Backfilling(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/Backfilling")
 {
-  state_name = "Started/Primary/Active/Backfilling";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   pg->backfill_reserved = true;
@@ -5477,14 +5416,16 @@ void PG::RecoveryState::Backfilling::exit()
   pg->backfill_reserved = false;
   pg->backfill_reserving = false;
   pg->state_clear(PG_STATE_BACKFILL);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_backfilling_latency, dur);
 }
 
 /*--WaitRemoteBackfillReserved--*/
 
 PG::RecoveryState::WaitRemoteBackfillReserved::WaitRemoteBackfillReserved(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/WaitRemoteBackfillReserved")
 {
-  state_name = "Started/Primary/Active/WaitRemoteBackfillReserved";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   pg->state_set(PG_STATE_BACKFILL_WAIT);
@@ -5509,6 +5450,9 @@ PG::RecoveryState::WaitRemoteBackfillReserved::WaitRemoteBackfillReserved(my_con
 void PG::RecoveryState::WaitRemoteBackfillReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitremotebackfillreserved_latency, dur);
 }
 
 boost::statechart::result
@@ -5534,9 +5478,9 @@ PG::RecoveryState::WaitRemoteBackfillReserved::react(const RemoteReservationReje
 
 /*--WaitLocalBackfillReserved--*/
 PG::RecoveryState::WaitLocalBackfillReserved::WaitLocalBackfillReserved(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/WaitLocalBackfillReserved")
 {
-  state_name = "Started/Primary/Active/WaitLocalBackfillReserved";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   pg->state_set(PG_STATE_BACKFILL_WAIT);
@@ -5551,39 +5495,48 @@ PG::RecoveryState::WaitLocalBackfillReserved::WaitLocalBackfillReserved(my_conte
 void PG::RecoveryState::WaitLocalBackfillReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitlocalbackfillreserved_latency, dur);
 }
 
 /*----NotBackfilling------*/
 PG::RecoveryState::NotBackfilling::NotBackfilling(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/NotBackfilling")
 {
-  state_name = "Started/Primary/Active/NotBackfilling";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
 void PG::RecoveryState::NotBackfilling::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_notbackfilling_latency, dur);
 }
 
 /*---RepNotRecovering----*/
 PG::RecoveryState::RepNotRecovering::RepNotRecovering(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/ReplicaActive/RepNotRecovering")
 {
-  state_name = "Started/ReplicaActive/RepNotRecovering";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
 void PG::RecoveryState::RepNotRecovering::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_repnotrecovering_latency, dur);
 }
 
 /*---RepWaitRecoveryReserved--*/
 PG::RecoveryState::RepWaitRecoveryReserved::RepWaitRecoveryReserved(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/ReplicaActive/RepWaitRecoveryReserved")
 {
-  state_name = "Started/ReplicaActive/RepWaitRecoveryReserved";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
 
@@ -5611,13 +5564,16 @@ PG::RecoveryState::RepWaitRecoveryReserved::react(const RemoteRecoveryReserved &
 void PG::RecoveryState::RepWaitRecoveryReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_repwaitrecoveryreserved_latency, dur);
 }
 
 /*-RepWaitBackfillReserved*/
 PG::RecoveryState::RepWaitBackfillReserved::RepWaitBackfillReserved(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/ReplicaActive/RepWaitBackfillReserved")
 {
-  state_name = "Started/ReplicaActive/RepWaitBackfillReserved";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -5628,7 +5584,7 @@ PG::RecoveryState::RepNotRecovering::react(const RequestBackfillPrio &evt)
 
   double ratio, max_ratio;
   if (pg->osd->too_full_for_backfill(&ratio, &max_ratio) &&
-      !g_conf->osd_debug_skip_full_check_in_backfill_reservation) {
+      !pg->cct->_conf->osd_debug_skip_full_check_in_backfill_reservation) {
     dout(10) << "backfill reservation rejected: full ratio is "
 	     << ratio << ", which is greater than max allowed ratio "
 	     << max_ratio << dendl;
@@ -5646,6 +5602,9 @@ PG::RecoveryState::RepNotRecovering::react(const RequestBackfillPrio &evt)
 void PG::RecoveryState::RepWaitBackfillReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_repwaitbackfillreserved_latency, dur);
 }
 
 boost::statechart::result
@@ -5672,9 +5631,9 @@ PG::RecoveryState::RepWaitBackfillReserved::react(const RemoteReservationRejecte
 
 /*---RepRecovering-------*/
 PG::RecoveryState::RepRecovering::RepRecovering(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/ReplicaActive/RepRecovering")
 {
-  state_name = "Started/ReplicaActive/RepRecovering";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -5691,25 +5650,30 @@ void PG::RecoveryState::RepRecovering::exit()
   context< RecoveryMachine >().log_exit(state_name, enter_time);
   PG *pg = context< RecoveryMachine >().pg;
   pg->osd->remote_reserver.cancel_reservation(pg->info.pgid);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_RepRecovering_latency, dur);
 }
 
 /*------Activating--------*/
 PG::RecoveryState::Activating::Activating(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/Activating")
 {
-  state_name = "Started/Primary/Active/Activating";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
 void PG::RecoveryState::Activating::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_activating_latency, dur);
 }
 
 PG::RecoveryState::WaitLocalRecoveryReserved::WaitLocalRecoveryReserved(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/WaitLocalRecoveryReserved")
 {
-  state_name = "Started/Primary/Active/WaitLocalRecoveryReserved";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
   pg->state_set(PG_STATE_RECOVERY_WAIT);
@@ -5723,13 +5687,16 @@ PG::RecoveryState::WaitLocalRecoveryReserved::WaitLocalRecoveryReserved(my_conte
 void PG::RecoveryState::WaitLocalRecoveryReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitlocalrecoveryreserved_latency, dur);
 }
 
 PG::RecoveryState::WaitRemoteRecoveryReserved::WaitRemoteRecoveryReserved(my_context ctx)
   : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/WaitRemoteRecoveryReserved"),
     acting_osd_it(context< Active >().sorted_acting_set.begin())
 {
-  state_name = "Started/Primary/Active/WaitRemoteRecoveryReserved";
   context< RecoveryMachine >().log_enter(state_name);
   post_event(RemoteRecoveryReserved());
 }
@@ -5767,12 +5734,15 @@ PG::RecoveryState::WaitRemoteRecoveryReserved::react(const RemoteRecoveryReserve
 void PG::RecoveryState::WaitRemoteRecoveryReserved::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitremoterecoveryreserved_latency, dur);
 }
 
 PG::RecoveryState::Recovering::Recovering(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/Recovering")
 {
-  state_name = "Started/Primary/Active/Recovering";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5827,14 +5797,17 @@ PG::RecoveryState::Recovering::react(const RequestBackfill &evt)
 void PG::RecoveryState::Recovering::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_recovering_latency, dur);
 }
 
 PG::RecoveryState::Recovered::Recovered(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/Recovered")
 {
   int newest_update_osd;
 
-  state_name = "Started/Primary/Active/Recovered";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5858,12 +5831,15 @@ PG::RecoveryState::Recovered::Recovered(my_context ctx)
 void PG::RecoveryState::Recovered::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_recovered_latency, dur);
 }
 
 PG::RecoveryState::Clean::Clean(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active/Clean")
 {
-  state_name = "Started/Primary/Active/Clean";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5884,16 +5860,18 @@ void PG::RecoveryState::Clean::exit()
   context< RecoveryMachine >().log_exit(state_name, enter_time);
   PG *pg = context< RecoveryMachine >().pg;
   pg->state_clear(PG_STATE_CLEAN);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_clean_latency, dur);
 }
 
 /*---------Active---------*/
 PG::RecoveryState::Active::Active(my_context ctx)
   : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Active"),
     sorted_acting_set(context< RecoveryMachine >().pg->acting.begin(),
                       context< RecoveryMachine >().pg->acting.end()),
     all_replicas_activated(false)
 {
-  state_name = "Started/Primary/Active";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -5947,7 +5925,7 @@ boost::statechart::result PG::RecoveryState::Active::react(const AdvMap& advmap)
   }
 
   // if we haven't reported our PG stats in a long time, do so now.
-  if (pg->info.stats.reported_epoch + g_conf->osd_pg_stat_report_interval_max < advmap.osdmap->get_epoch()) {
+  if (pg->info.stats.reported_epoch + pg->cct->_conf->osd_pg_stat_report_interval_max < advmap.osdmap->get_epoch()) {
     dout(20) << "reporting stats to osd after " << (advmap.osdmap->get_epoch() - pg->info.stats.reported_epoch)
 	     << " epochs" << dendl;
     pg->publish_stats_to_osd();
@@ -5968,13 +5946,13 @@ boost::statechart::result PG::RecoveryState::Active::react(const ActMap&)
     pg->discover_all_missing(*context< RecoveryMachine >().get_query_map());
   }
 
-  if (g_conf->osd_check_for_log_corruption)
+  if (pg->cct->_conf->osd_check_for_log_corruption)
     pg->check_log_for_corruption(pg->osd->store);
 
   int unfound = pg->pg_log.get_missing().num_missing() - pg->missing_loc.size();
   if (unfound > 0 &&
       pg->all_unfound_are_queried_or_lost(pg->get_osdmap())) {
-    if (g_conf->osd_auto_mark_unfound_lost) {
+    if (pg->cct->_conf->osd_auto_mark_unfound_lost) {
       pg->osd->clog.error() << pg->info.pgid << " has " << unfound
 			    << " objects unfound and apparently lost, would automatically marking lost but NOT IMPLEMENTED\n";
       //pg->mark_all_unfound_lost(*context< RecoveryMachine >().get_cur_transaction());
@@ -6133,14 +6111,15 @@ void PG::RecoveryState::Active::exit()
   pg->state_clear(PG_STATE_BACKFILL_WAIT);
   pg->state_clear(PG_STATE_RECOVERY_WAIT);
   pg->state_clear(PG_STATE_REPLAY);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_active_latency, dur);
 }
 
 /*------ReplicaActive-----*/
 PG::RecoveryState::ReplicaActive::ReplicaActive(my_context ctx) 
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/ReplicaActive")
 {
-  state_name = "Started/ReplicaActive";
-
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -6224,12 +6203,15 @@ void PG::RecoveryState::ReplicaActive::exit()
   context< RecoveryMachine >().log_exit(state_name, enter_time);
   PG *pg = context< RecoveryMachine >().pg;
   pg->osd->remote_reserver.cancel_reservation(pg->info.pgid);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_replicaactive_latency, dur);
 }
 
 /*-------Stray---*/
 PG::RecoveryState::Stray::Stray(my_context ctx) 
-  : my_base(ctx) {
-  state_name = "Started/Stray";
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Stray")
+{
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -6323,13 +6305,16 @@ boost::statechart::result PG::RecoveryState::Stray::react(const ActMap&)
 void PG::RecoveryState::Stray::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_stray_latency, dur);
 }
 
 /*--------GetInfo---------*/
 PG::RecoveryState::GetInfo::GetInfo(my_context ctx)
-  : my_base(ctx) 
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/GetInfo")
 {
-  state_name = "Started/Primary/Peering/GetInfo";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -6495,13 +6480,17 @@ boost::statechart::result PG::RecoveryState::GetInfo::react(const QueryState& q)
 void PG::RecoveryState::GetInfo::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_getinfo_latency, dur);
 }
 
 /*------GetLog------------*/
-PG::RecoveryState::GetLog::GetLog(my_context ctx) : 
-  my_base(ctx), newest_update_osd(-1), msg(0)
+PG::RecoveryState::GetLog::GetLog(my_context ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/GetLog"),
+    newest_update_osd(-1), msg(0)
 {
-  state_name = "Started/Primary/Peering/GetLog";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -6607,13 +6596,16 @@ boost::statechart::result PG::RecoveryState::GetLog::react(const QueryState& q)
 void PG::RecoveryState::GetLog::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_getlog_latency, dur);
 }
 
 /*------WaitActingChange--------*/
 PG::RecoveryState::WaitActingChange::WaitActingChange(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/WaitActingChange")
 {
-  state_name = "Started/Primary/Peering/WaitActingChange";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -6664,13 +6656,16 @@ boost::statechart::result PG::RecoveryState::WaitActingChange::react(const Query
 void PG::RecoveryState::WaitActingChange::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitactingchange_latency, dur);
 }
 
 /*------Incomplete--------*/
 PG::RecoveryState::Incomplete::Incomplete(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/Incomplete")
 {
-  state_name = "Started/Primary/Peering/Incomplete";
   context< RecoveryMachine >().log_enter(state_name);
   PG *pg = context< RecoveryMachine >().pg;
 
@@ -6699,13 +6694,15 @@ void PG::RecoveryState::Incomplete::exit()
   PG *pg = context< RecoveryMachine >().pg;
 
   pg->state_clear(PG_STATE_INCOMPLETE);
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_incomplete_latency, dur);
 }
 
 /*------GetMissing--------*/
 PG::RecoveryState::GetMissing::GetMissing(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/GetMissing")
 {
-  state_name = "Started/Primary/Peering/GetMissing";
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
@@ -6821,13 +6818,16 @@ boost::statechart::result PG::RecoveryState::GetMissing::react(const QueryState&
 void PG::RecoveryState::GetMissing::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_getmissing_latency, dur);
 }
 
 /*---WaitFlushedPeering---*/
 PG::RecoveryState::WaitFlushedPeering::WaitFlushedPeering(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/WaitFlushedPeering")
 {
-  state_name = "Started/Primary/Peering/WaitFlushedPeering";
   PG *pg = context< RecoveryMachine >().pg;
   context< RecoveryMachine >().log_enter(state_name);
   if (context< RecoveryMachine >().pg->flushed)
@@ -6840,6 +6840,7 @@ PG::RecoveryState::WaitFlushedPeering::react(const FlushedEvt &evt)
   PG *pg = context< RecoveryMachine >().pg;
   pg->flushed = true;
   pg->requeue_ops(pg->waiting_for_active);
+  pg->on_flushed();
   return transit< WaitFlushedPeering >();
 }
 
@@ -6855,9 +6856,9 @@ PG::RecoveryState::WaitFlushedPeering::react(const QueryState &q)
 
 /*------WaitUpThru--------*/
 PG::RecoveryState::WaitUpThru::WaitUpThru(my_context ctx)
-  : my_base(ctx)
+  : my_base(ctx),
+    NamedState(context< RecoveryMachine >().pg->cct, "Started/Primary/Peering/WaitUpThru")
 {
-  state_name = "Started/Primary/Peering/WaitUpThru";
   context< RecoveryMachine >().log_enter(state_name);
 }
 
@@ -6899,6 +6900,9 @@ boost::statechart::result PG::RecoveryState::WaitUpThru::react(const QueryState&
 void PG::RecoveryState::WaitUpThru::exit()
 {
   context< RecoveryMachine >().log_exit(state_name, enter_time);
+  PG *pg = context< RecoveryMachine >().pg;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
+  pg->osd->recoverystate_perf->tinc(rs_waitupthru_latency, dur);
 }
 
 /*----RecoveryState::RecoveryMachine Methods-----*/
@@ -6913,9 +6917,9 @@ void PG::RecoveryState::RecoveryMachine::log_enter(const char *state_name)
 
 void PG::RecoveryState::RecoveryMachine::log_exit(const char *state_name, utime_t enter_time)
 {
-  utime_t dur = ceph_clock_now(g_ceph_context) - enter_time;
+  utime_t dur = ceph_clock_now(pg->cct) - enter_time;
   dout(5) << "exit " << state_name << " " << dur << " " << event_count << " " << event_time << dendl;
-  pg->osd->pg_recovery_stats.log_exit(state_name, ceph_clock_now(g_ceph_context) - enter_time,
+  pg->osd->pg_recovery_stats.log_exit(state_name, ceph_clock_now(pg->cct) - enter_time,
 				      event_count, event_time);
   event_count = 0;
   event_time = utime_t();
@@ -7112,6 +7116,22 @@ bool PG::PriorSet::affected_by_map(const OSDMapRef osdmap, const PG *debug_pg) c
   return false;
 }
 
+void PG::RecoveryState::start_handle(RecoveryCtx *new_ctx) {
+  assert(!rctx);
+  rctx = new_ctx;
+  if (rctx)
+    rctx->start_time = ceph_clock_now(pg->cct);
+}
+
+void PG::RecoveryState::end_handle() {
+  if (rctx) {
+    utime_t dur = ceph_clock_now(pg->cct) - rctx->start_time;
+    machine.event_time += dur;
+  }
+  machine.event_count++;
+  rctx = 0;
+}
+
 void intrusive_ptr_add_ref(PG *pg) { pg->get("intptr"); }
 void intrusive_ptr_release(PG *pg) { pg->put("intptr"); }
 
diff --git a/src/osd/PG.h b/src/osd/PG.h
index d4679ce..a1f1d2c 100644
--- a/src/osd/PG.h
+++ b/src/osd/PG.h
@@ -46,7 +46,9 @@
 #include "common/cmdparse.h"
 #include "common/tracked_int_ptr.hpp"
 #include "common/WorkQueue.h"
+#include "common/ceph_context.h"
 #include "include/str_list.h"
+#include "PGBackend.h"
 
 #include <list>
 #include <memory>
@@ -189,8 +191,11 @@ public:
   /*** PG ****/
 protected:
   OSDService *osd;
+  CephContext *cct;
   OSDriver osdriver;
   SnapMapper snap_mapper;
+
+  virtual PGBackend *get_pgbackend() = 0;
 public:
   void update_snap_mapper_bits(uint32_t bits) {
     snap_mapper.update_bits(bits);
@@ -232,7 +237,6 @@ protected:
    * put_unlock() when done with the current pointer (_most common_).
    */  
   Mutex _lock;
-  Cond _cond;
   atomic_t ref;
 
 #ifdef PG_DEBUG_REFS
@@ -261,14 +265,6 @@ public:
   bool is_locked() const {
     return _lock.is_locked();
   }
-  void wait() {
-    assert(_lock.is_locked());
-    _cond.Wait(_lock);
-  }
-  void kick() {
-    assert(_lock.is_locked());
-    _cond.Signal();
-  }
 
 #ifdef PG_DEBUG_REFS
   uint64_t get_with_id();
@@ -392,7 +388,9 @@ public:
     const char *state_name;
     utime_t enter_time;
     const char *get_state_name() { return state_name; }
-    NamedState() : state_name(0), enter_time(ceph_clock_now(g_ceph_context)) {}
+    NamedState(CephContext *cct_, const char *state_name_)
+      : state_name(state_name_),
+        enter_time(ceph_clock_now(cct_)) {};
     virtual ~NamedState() {}
   };
 
@@ -444,14 +442,14 @@ protected:
    */
   struct BackfillInterval {
     // info about a backfill interval on a peer
+    eversion_t version; /// version at which the scan occurred
     map<hobject_t,eversion_t> objects;
     hobject_t begin;
     hobject_t end;
     
     /// clear content
     void clear() {
-      objects.clear();
-      begin = end = hobject_t();
+      *this = BackfillInterval();
     }
 
     void reset(hobject_t start) {
@@ -469,6 +467,14 @@ protected:
       return end == hobject_t::get_max();
     }
 
+    /// removes items <= soid and adjusts begin to the first object
+    void trim_to(const hobject_t &soid) {
+      trim();
+      while (!objects.empty() && objects.begin()->first <= soid) {
+	pop_front();
+      }
+    }
+
     /// Adjusts begin to the first object
     void trim() {
       if (!objects.empty())
@@ -481,10 +487,7 @@ protected:
     void pop_front() {
       assert(!objects.empty());
       objects.erase(objects.begin());
-      if (objects.empty())
-	begin = end;
-      else
-	begin = objects.begin()->first;
+      trim();
     }
 
     /// dump
@@ -524,11 +527,11 @@ protected:
   bool flushed;
 
   // Ops waiting on backfill_pos to change
-  list<OpRequestRef> waiting_for_backfill_pos;
   list<OpRequestRef>            waiting_for_active;
   list<OpRequestRef>            waiting_for_all_missing;
   map<hobject_t, list<OpRequestRef> > waiting_for_missing_object,
-                                        waiting_for_degraded_object;
+			     waiting_for_degraded_object,
+			     waiting_for_blocked_object;
   // Callbacks should assume pg (and nothing else) is locked
   map<hobject_t, list<Context*> > callbacks_for_degraded_object;
   map<eversion_t,list<OpRequestRef> > waiting_for_ack, waiting_for_ondisk;
@@ -536,6 +539,7 @@ protected:
   void split_ops(PG *child, unsigned split_bits);
 
   void requeue_object_waiters(map<hobject_t, list<OpRequestRef> >& m);
+  void requeue_op(OpRequestRef op);
   void requeue_ops(list<OpRequestRef> &l);
 
   // stats that persist lazily
@@ -645,9 +649,14 @@ public:
 
   virtual void check_local() = 0;
 
-  virtual int start_recovery_ops(
+  /**
+   * @param ops_begun returns how many recovery ops the function started
+   * @returns true if any useful work was accomplished; false otherwise
+   */
+  virtual bool start_recovery_ops(
     int max, RecoveryCtx *prctx,
-    ThreadPool::TPHandle &handle) = 0;
+    ThreadPool::TPHandle &handle,
+    int *ops_begun) = 0;
 
   void purge_strays();
 
@@ -874,8 +883,12 @@ public:
   virtual void _scrub(ScrubMap &map) { }
   virtual void _scrub_clear_state() { }
   virtual void _scrub_finish() { }
-  virtual coll_t get_temp_coll() = 0;
-  virtual bool have_temp_coll() = 0;
+  virtual void get_colls(list<coll_t> *out) = 0;
+  virtual void split_colls(
+    pg_t child,
+    int split_bits,
+    int seed,
+    ObjectStore::Transaction *t) = 0;
   virtual bool _report_snap_collection_errors(
     const hobject_t &hoid,
     const map<string, bufferptr> &attrs,
@@ -890,7 +903,7 @@ public:
   void unreg_next_scrub();
 
   void replica_scrub(
-    class MOSDRepScrub *op,
+    struct MOSDRepScrub *op,
     ThreadPool::TPHandle &handle);
   void sub_op_scrub_map(OpRequestRef op);
   void sub_op_scrub_reserve(OpRequestRef op);
@@ -1069,21 +1082,8 @@ public:
 
   /* Encapsulates PG recovery process */
   class RecoveryState {
-    void start_handle(RecoveryCtx *new_ctx) {
-      assert(!rctx);
-      rctx = new_ctx;
-      if (rctx)
-	rctx->start_time = ceph_clock_now(g_ceph_context);
-    }
-
-    void end_handle() {
-      if (rctx) {
-	utime_t dur = ceph_clock_now(g_ceph_context) - rctx->start_time;
-	machine.event_time += dur;
-      }
-      machine.event_count++;
-      rctx = 0;
-    }
+    void start_handle(RecoveryCtx *new_ctx);
+    void end_handle();
 
     /* States */
     struct Initial;
@@ -1806,10 +1806,10 @@ public:
 
 
   // abstract bits
-  void do_request(
+  virtual void do_request(
     OpRequestRef op,
     ThreadPool::TPHandle &handle
-  );
+  ) = 0;
 
   virtual void do_op(OpRequestRef op) = 0;
   virtual void do_sub_op(OpRequestRef op) = 0;
@@ -1819,9 +1819,6 @@ public:
     ThreadPool::TPHandle &handle
   ) = 0;
   virtual void do_backfill(OpRequestRef op) = 0;
-  virtual void do_push(OpRequestRef op) = 0;
-  virtual void do_pull(OpRequestRef op) = 0;
-  virtual void do_push_reply(OpRequestRef op) = 0;
   virtual void snap_trimmer() = 0;
 
   virtual int do_command(cmdmap_t cmdmap, ostream& ss,
diff --git a/src/osd/PGBackend.h b/src/osd/PGBackend.h
new file mode 100644
index 0000000..408c589
--- /dev/null
+++ b/src/osd/PGBackend.h
@@ -0,0 +1,230 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank Storage, Inc.
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#ifndef PGBACKEND_H
+#define PGBACKEND_H
+
+#include "osd_types.h"
+#include "include/Context.h"
+#include <string>
+
+ /**
+  * PGBackend
+  *
+  * PGBackend defines an interface for logic handling IO and
+  * replication on RADOS objects.  The PGBackend implementation
+  * is responsible for:
+  *
+  * 1) Handling client operations
+  * 2) Handling object recovery
+  * 3) Handling object access
+  */
+ class PGBackend {
+ public:	
+   /**
+    * Provides interfaces for PGBackend callbacks
+    *
+    * The intention is that the parent calls into the PGBackend
+    * implementation holding a lock and that the callbacks are
+    * called under the same locks.
+    */
+   class Listener {
+   public:
+     /// Recovery
+
+     virtual void on_local_recover_start(
+       const hobject_t &oid,
+       ObjectStore::Transaction *t) = 0;
+     /**
+      * Called with the transaction recovering oid
+      */
+     virtual void on_local_recover(
+       const hobject_t &oid,
+       const object_stat_sum_t &stat_diff,
+       const ObjectRecoveryInfo &recovery_info,
+       ObjectContextRef obc,
+       ObjectStore::Transaction *t
+       ) = 0;
+
+     /**
+      * Called when transaction recovering oid is durable and
+      * applied on all replicas
+      */
+     virtual void on_global_recover(const hobject_t &oid) = 0;
+
+     /**
+      * Called when peer is recovered
+      */
+     virtual void on_peer_recover(
+       int peer,
+       const hobject_t &oid,
+       const ObjectRecoveryInfo &recovery_info,
+       const object_stat_sum_t &stat
+       ) = 0;
+
+     virtual void begin_peer_recover(
+       int peer,
+       const hobject_t oid) = 0;
+
+     virtual void failed_push(int from, const hobject_t &soid) = 0;
+
+     
+     virtual void cancel_pull(const hobject_t &soid) = 0;
+
+     /**
+      * Bless a context
+      *
+      * Wraps a context in whatever outer layers the parent usually
+      * uses to call into the PGBackend
+      */
+     virtual Context *bless_context(Context *c) = 0;
+     virtual GenContext<ThreadPool::TPHandle&> *bless_gencontext(
+       GenContext<ThreadPool::TPHandle&> *c) = 0;
+
+     virtual void send_message(int to_osd, Message *m) = 0;
+     virtual void queue_transaction(ObjectStore::Transaction *t) = 0;
+     virtual epoch_t get_epoch() = 0;
+     virtual const vector<int> &get_acting() = 0;
+     virtual std::string gen_dbg_prefix() const = 0;
+
+     virtual const map<hobject_t, set<int> > &get_missing_loc() = 0;
+     virtual const map<int, pg_missing_t> &get_peer_missing() = 0;
+     virtual const map<int, pg_info_t> &get_peer_info() = 0;
+     virtual const pg_missing_t &get_local_missing() = 0;
+     virtual const PGLog &get_log() = 0;
+     virtual bool pgb_is_primary() const = 0;
+     virtual OSDMapRef pgb_get_osdmap() const = 0;
+     virtual const pg_info_t &get_info() const = 0;
+
+     virtual ObjectContextRef get_obc(
+       const hobject_t &hoid,
+       map<string, bufferptr> &attrs) = 0;
+
+     virtual ~Listener() {}
+   };
+   Listener *parent;
+   Listener *get_parent() const { return parent; }
+   PGBackend(Listener *l) : parent(l) {}
+   bool is_primary() const { return get_parent()->pgb_is_primary(); }
+   OSDMapRef get_osdmap() const { return get_parent()->pgb_get_osdmap(); }
+   const pg_info_t &get_info() { return get_parent()->get_info(); }
+
+   std::string gen_prefix() const {
+     return parent->gen_dbg_prefix();
+   }
+
+   /**
+    * RecoveryHandle
+    *
+    * We may want to recover multiple objects in the same set of
+    * messages.  RecoveryHandle is an interface for the opaque
+    * object used by the implementation to store the details of
+    * the pending recovery operations.
+    */
+   struct RecoveryHandle {
+     virtual ~RecoveryHandle() {}
+   };
+
+   /// Get a fresh recovery operation
+   virtual RecoveryHandle *open_recovery_op() = 0;
+
+   /// run_recovery_op: finish the operation represented by h
+   virtual void run_recovery_op(
+     RecoveryHandle *h,     ///< [in] op to finish
+     int priority           ///< [in] msg priority
+     ) = 0;
+
+   /**
+    * recover_object
+    *
+    * Triggers a recovery operation on the specified hobject_t
+    * onreadable must be called before onwriteable
+    *
+    * On each replica (primary included), get_parent()->on_not_missing()
+    * must be called when the transaction finalizing the recovery
+    * is queued.  Similarly, get_parent()->on_readable() must be called
+    * when the transaction is applied in the backing store.
+    *
+    * get_parent()->on_not_degraded() should be called on the primary
+    * when writes can resume on the object.
+    *
+    * obc may be NULL if the primary lacks the object.
+    *
+    * head may be NULL only if the head/snapdir is missing
+    *
+    * @param missing [in] set of info, missing pairs for queried nodes
+    * @param overlaps [in] mapping of object to file offset overlaps
+    */
+   virtual void recover_object(
+     const hobject_t &hoid, ///< [in] object to recover
+     ObjectContextRef head,  ///< [in] context of the head/snapdir object
+     ObjectContextRef obc,  ///< [in] context of the object
+     RecoveryHandle *h      ///< [in,out] handle to attach recovery op to
+     ) = 0;
+
+   /// gives PGBackend a crack at an incoming message
+   virtual bool handle_message(
+     OpRequestRef op ///< [in] message received
+     ) = 0; ///< @return true if the message was handled
+
+   virtual void check_recovery_sources(const OSDMapRef osdmap) = 0;
+
+   /**
+    * implementation should clear itself, contexts blessed prior to on_change
+    * won't be called after on_change()
+    */
+   virtual void on_change(ObjectStore::Transaction *t) = 0;
+   virtual void clear_state() = 0;
+
+   virtual void on_flushed() = 0;
+
+
+   virtual void split_colls(
+     pg_t child,
+     int split_bits,
+     int seed,
+     ObjectStore::Transaction *t) = 0;
+
+   virtual void temp_colls(list<coll_t> *out) = 0;
+
+   virtual void dump_recovery_info(Formatter *f) const = 0;
+
+   virtual coll_t get_temp_coll(ObjectStore::Transaction *t) = 0;
+   virtual void add_temp_obj(const hobject_t &oid) = 0;
+   virtual void clear_temp_obj(const hobject_t &oid) = 0;
+
+   virtual ~PGBackend() {}
+
+   /// List objects in collection
+   virtual int objects_list_partial(
+     const hobject_t &begin,
+     int min,
+     int max,
+     snapid_t seq,
+     vector<hobject_t> *ls,
+     hobject_t *next) = 0;
+
+   virtual int objects_list_range(
+     const hobject_t &start,
+     const hobject_t &end,
+     snapid_t seq,
+     vector<hobject_t> *ls) = 0;
+
+   virtual int objects_get_attr(
+     const hobject_t &hoid,
+     const string &attr,
+     bufferlist *out) = 0;
+ };
+
+#endif
diff --git a/src/osd/PGLog.cc b/src/osd/PGLog.cc
index dac1f33..9f6ca1f 100644
--- a/src/osd/PGLog.cc
+++ b/src/osd/PGLog.cc
@@ -52,19 +52,15 @@ void PGLog::IndexedLog::split_into(
 
   if (log.empty())
     tail = head;
-  else
-    head = log.rbegin()->version;
 
   if (olog->empty())
     olog->tail = olog->head;
-  else
-    olog->head = olog->log.rbegin()->version;
 
   olog->index();
   index();
 }
 
-void PGLog::IndexedLog::trim(eversion_t s)
+void PGLog::IndexedLog::trim(eversion_t s, set<eversion_t> *trimmed)
 {
   if (complete_to != log.end() &&
       complete_to->version <= s) {
@@ -77,6 +73,8 @@ void PGLog::IndexedLog::trim(eversion_t s)
     if (e.version > s)
       break;
     generic_dout(20) << "trim " << e << dendl;
+    if (trimmed)
+      trimmed->insert(e.version);
     unindex(e);         // remove from index,
     log.pop_front();    // from log
   }
@@ -142,14 +140,8 @@ void PGLog::trim(eversion_t trim_to, pg_info_t &info)
     assert(trim_to <= info.last_complete);
 
     dout(10) << "trim " << log << " to " << trim_to << dendl;
-    log.trim(trim_to);
+    log.trim(trim_to, &trimmed);
     info.log_tail = log.tail;
-
-    if (log.log.empty()) {
-      mark_dirty_to(eversion_t::max());
-    } else {
-      mark_dirty_to(log.log.front().version);
-    }
   }
 }
 
@@ -368,7 +360,7 @@ void PGLog::rewind_divergent_log(ObjectStore::Transaction& t, eversion_t newhead
     }
     --p;
     mark_dirty_from(p->version);
-    if (p->version == newhead) {
+    if (p->version <= newhead) {
       ++p;
       divergent.splice(divergent.begin(), log.log, p, log.log.end());
       break;
@@ -430,8 +422,6 @@ void PGLog::merge_log(ObjectStore::Transaction& t,
       log.index(*to);
       dout(15) << *to << dendl;
     }
-    assert(to != olog.log.end() ||
-	   (olog.head == info.last_update));
       
     // splice into our log.
     log.log.splice(log.log.begin(),
@@ -514,6 +504,7 @@ void PGLog::merge_log(ObjectStore::Transaction& t,
     log.index();   
 
     info.last_update = log.head = olog.head;
+    info.last_user_version = oinfo.last_user_version;
     info.purged_snaps = oinfo.purged_snaps;
 
     // process divergent items
@@ -541,13 +532,18 @@ void PGLog::write_log(
 	     << "dirty_to: " << dirty_to
 	     << ", dirty_from: " << dirty_from
 	     << ", dirty_divergent_priors: " << dirty_divergent_priors
+	     << ", writeout_from: " << writeout_from
+	     << ", trimmed: " << trimmed
 	     << dendl;
-    _write_log(t, log, log_oid, divergent_priors,
-	       dirty_to,
-	       dirty_from,
-	       dirty_divergent_priors,
-	       !touched_log,
-               &log_keys_debug);
+    _write_log(
+      t, log, log_oid, divergent_priors,
+      dirty_to,
+      dirty_from,
+      writeout_from,
+      trimmed,
+      dirty_divergent_priors,
+      !touched_log,
+      (pg_log_debug ? &log_keys_debug : 0));
     undirty();
   } else {
     dout(10) << "log is not dirty" << dendl;
@@ -557,8 +553,11 @@ void PGLog::write_log(
 void PGLog::write_log(ObjectStore::Transaction& t, pg_log_t &log,
     const hobject_t &log_oid, map<eversion_t, hobject_t> &divergent_priors)
 {
-  _write_log(t, log, log_oid, divergent_priors, eversion_t::max(), eversion_t(),
-	     true, true, 0);
+  _write_log(
+    t, log, log_oid,
+    divergent_priors, eversion_t::max(), eversion_t(), eversion_t(),
+    set<eversion_t>(),
+    true, true, 0);
 }
 
 void PGLog::_write_log(
@@ -566,11 +565,24 @@ void PGLog::_write_log(
   const hobject_t &log_oid, map<eversion_t, hobject_t> &divergent_priors,
   eversion_t dirty_to,
   eversion_t dirty_from,
+  eversion_t writeout_from,
+  const set<eversion_t> &trimmed,
   bool dirty_divergent_priors,
   bool touch_log,
   set<string> *log_keys_debug
   )
 {
+  set<string> to_remove;
+  for (set<eversion_t>::const_iterator i = trimmed.begin();
+       i != trimmed.end();
+       ++i) {
+    to_remove.insert(i->get_key_name());
+    if (log_keys_debug) {
+      assert(log_keys_debug->count(i->get_key_name()));
+      log_keys_debug->erase(i->get_key_name());
+    }
+  }
+
 //dout(10) << "write_log, clearing up to " << dirty_to << dendl;
   if (touch_log)
     t.touch(coll_t(), log_oid);
@@ -598,7 +610,8 @@ void PGLog::_write_log(
   }
 
   for (list<pg_log_entry_t>::reverse_iterator p = log.log.rbegin();
-       p != log.log.rend() && p->version >= dirty_from &&
+       p != log.log.rend() &&
+	 (p->version >= dirty_from || p->version >= writeout_from) &&
 	 p->version >= dirty_to;
        ++p) {
     bufferlist bl(sizeof(*p) * 2);
@@ -620,6 +633,7 @@ void PGLog::_write_log(
     ::encode(divergent_priors, keys["divergent_priors"]);
   }
 
+  t.omap_rmkeys(coll_t::META_COLL, log_oid, to_remove);
   t.omap_setkeys(coll_t::META_COLL, log_oid, keys);
 }
 
@@ -678,6 +692,7 @@ bool PGLog::read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
 	 i != log.log.rend();
 	 ++i) {
       if (i->version <= info.last_complete) break;
+      if (i->soid > info.last_backfill) continue;
       if (did.count(i->soid)) continue;
       did.insert(i->soid);
       
@@ -701,6 +716,7 @@ bool PGLog::read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
 	 i != divergent_priors.rend();
 	 ++i) {
       if (i->first <= info.last_complete) break;
+      if (i->second > info.last_backfill) continue;
       if (did.count(i->second)) continue;
       did.insert(i->second);
       bufferlist bv;
@@ -762,10 +778,6 @@ void PGLog::read_log_old(ObjectStore *store, coll_t coll, hobject_t log_oid,
  
   log.tail = info.log_tail;
 
-  // In case of sobject_t based encoding, may need to list objects in the store
-  // to find hashes
-  vector<hobject_t> ls;
-  
   if (ondisklog_head > 0) {
     // read
     bufferlist bl;
@@ -783,7 +795,6 @@ void PGLog::read_log_old(ObjectStore *store, coll_t coll, hobject_t log_oid,
     assert(log.empty());
     eversion_t last;
     bool reorder = false;
-    bool listed_collection = false;
 
     while (!p.end()) {
       uint64_t pos = ondisklog_tail + p.get_off();
@@ -826,29 +837,7 @@ void PGLog::read_log_old(ObjectStore *store, coll_t coll, hobject_t log_oid,
 	      << e.version << " after " << last << "\n";
       }
 
-      if (e.invalid_hash) {
-	// We need to find the object in the store to get the hash
-	if (!listed_collection) {
-	  store->collection_list(coll, ls);
-	  listed_collection = true;
-	}
-	bool found = false;
-	for (vector<hobject_t>::iterator i = ls.begin();
-	     i != ls.end();
-	     ++i) {
-	  if (i->oid == e.soid.oid && i->snap == e.soid.snap) {
-	    e.soid = *i;
-	    found = true;
-	    break;
-	  }
-	}
-	if (!found) {
-	  // Didn't find the correct hash
-	  std::ostringstream oss;
-	  oss << "Could not find hash for hoid " << e.soid << std::endl;
-	  throw read_log_error(oss.str().c_str());
-	}
-      }
+      assert(!e.invalid_hash);
 
       if (e.invalid_pool) {
 	e.soid.pool = info.pgid.pool();
diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h
index 552f9b0..792191b 100644
--- a/src/osd/PGLog.h
+++ b/src/osd/PGLog.h
@@ -84,11 +84,11 @@ struct PGLog {
     bool logged_req(const osd_reqid_t &r) const {
       return caller_ops.count(r);
     }
-    eversion_t get_request_version(const osd_reqid_t &r) const {
+    const pg_log_entry_t *get_request(const osd_reqid_t &r) const {
       hash_map<osd_reqid_t,pg_log_entry_t*>::const_iterator p = caller_ops.find(r);
       if (p == caller_ops.end())
-	return eversion_t();
-      return p->second->version;    
+	return NULL;
+      return p->second;
     }
 
     void index() {
@@ -142,7 +142,7 @@ struct PGLog {
 	caller_ops[e.reqid] = &(log.back());
     }
 
-    void trim(eversion_t s);
+    void trim(eversion_t s, set<eversion_t> *trimmed);
 
     ostream& print(ostream& out) const;
   };
@@ -150,6 +150,7 @@ struct PGLog {
 
 protected:
   //////////////////// data members ////////////////////
+  bool pg_log_debug;
 
   map<eversion_t, hobject_t> divergent_priors;
   pg_missing_t     missing;
@@ -157,8 +158,10 @@ protected:
 
   /// Log is clean on [dirty_to, dirty_from)
   bool touched_log;
-  eversion_t dirty_to;
-  eversion_t dirty_from;
+  eversion_t dirty_to;         ///< must clear/writeout all keys up to dirty_to
+  eversion_t dirty_from;       ///< must clear/writeout all keys past dirty_from
+  eversion_t writeout_from;    ///< must writout keys past writeout_from
+  set<eversion_t> trimmed;     ///< must clear keys in trimmed
   bool dirty_divergent_priors;
   CephContext *cct;
 
@@ -166,7 +169,9 @@ protected:
     return !touched_log ||
       (dirty_to != eversion_t()) ||
       (dirty_from != eversion_t::max()) ||
-      dirty_divergent_priors;
+      dirty_divergent_priors ||
+      (writeout_from != eversion_t::max()) ||
+      !(trimmed.empty());
   }
   void mark_dirty_to(eversion_t to) {
     if (to > dirty_to)
@@ -176,6 +181,10 @@ protected:
     if (from < dirty_from)
       dirty_from = from;
   }
+  void mark_writeout_from(eversion_t from) {
+    if (from < writeout_from)
+      writeout_from = from;
+  }
   void add_divergent_prior(eversion_t version, hobject_t obj) {
     divergent_priors.insert(make_pair(version, obj));
     dirty_divergent_priors = true;
@@ -205,11 +214,9 @@ protected:
 	 log_keys_debug->erase(i++));
   }
   void check() {
-    assert(log.log.size() == log_keys_debug.size());
-    if (cct &&
-        !(cct->_conf->osd_debug_pg_log_writeout)) {
+    if (!pg_log_debug)
       return;
-    }
+    assert(log.log.size() == log_keys_debug.size());
     for (list<pg_log_entry_t>::iterator i = log.log.begin();
 	 i != log.log.end();
 	 ++i) {
@@ -222,11 +229,15 @@ protected:
     dirty_from = eversion_t::max();
     dirty_divergent_priors = false;
     touched_log = true;
+    trimmed.clear();
+    writeout_from = eversion_t::max();
     check();
   }
 public:
   PGLog(CephContext *cct = 0) :
+    pg_log_debug(!(cct && !(cct->_conf->osd_debug_pg_log_writeout))),
     touched_log(false), dirty_from(eversion_t::max()),
+    writeout_from(eversion_t::max()),
     dirty_divergent_priors(false), cct(cct) {}
 
 
@@ -281,7 +292,7 @@ public:
   void unindex() { log.unindex(); }
 
   void add(pg_log_entry_t& e) {
-    mark_dirty_from(e.version);
+    mark_writeout_from(e.version);
     log.add(e);
   }
 
@@ -374,6 +385,8 @@ public:
     const hobject_t &log_oid, map<eversion_t, hobject_t> &divergent_priors,
     eversion_t dirty_to,
     eversion_t dirty_from,
+    eversion_t writeout_from,
+    const set<eversion_t> &trimmed,
     bool dirty_divergent_priors,
     bool touch_log,
     set<string> *log_keys_debug
@@ -381,8 +394,10 @@ public:
 
   bool read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
 		const pg_info_t &info, ostringstream &oss) {
-    return read_log(store, coll, log_oid, info, divergent_priors,
-		    log, missing, oss, &log_keys_debug);
+    return read_log(
+      store, coll, log_oid, info, divergent_priors,
+      log, missing, oss,
+      (pg_log_debug ? &log_keys_debug : 0));
   }
 
   /// return true if the log should be rewritten
diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc
new file mode 100644
index 0000000..9529e15
--- /dev/null
+++ b/src/osd/ReplicatedBackend.cc
@@ -0,0 +1,268 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank Storage, Inc.
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+#include "ReplicatedBackend.h"
+#include "messages/MOSDSubOp.h"
+#include "messages/MOSDSubOpReply.h"
+#include "messages/MOSDPGPush.h"
+#include "messages/MOSDPGPull.h"
+#include "messages/MOSDPGPushReply.h"
+
+#define dout_subsys ceph_subsys_osd
+#define DOUT_PREFIX_ARGS this
+#undef dout_prefix
+#define dout_prefix _prefix(_dout, this)
+static ostream& _prefix(std::ostream *_dout, ReplicatedBackend *pgb) {
+  return *_dout << pgb->get_parent()->gen_dbg_prefix();
+}
+
+ReplicatedBackend::ReplicatedBackend(
+  PGBackend::Listener *pg, coll_t coll, OSDService *osd) :
+  PGBackend(pg), temp_created(false),
+  temp_coll(coll_t::make_temp_coll(pg->get_info().pgid)),
+  coll(coll), osd(osd), cct(osd->cct) {}
+
+void ReplicatedBackend::run_recovery_op(
+  PGBackend::RecoveryHandle *_h,
+  int priority)
+{
+  RPGHandle *h = static_cast<RPGHandle *>(_h);
+  send_pushes(priority, h->pushes);
+  send_pulls(priority, h->pulls);
+  delete h;
+}
+
+void ReplicatedBackend::recover_object(
+  const hobject_t &hoid,
+  ObjectContextRef head,
+  ObjectContextRef obc,
+  RecoveryHandle *_h
+  )
+{
+  dout(10) << __func__ << ": " << hoid << dendl;
+  RPGHandle *h = static_cast<RPGHandle *>(_h);
+  if (get_parent()->get_local_missing().is_missing(hoid)) {
+    assert(!obc);
+    // pull
+    prepare_pull(
+      hoid,
+      head,
+      h);
+    return;
+  } else {
+    assert(obc);
+    int started = start_pushes(
+      hoid,
+      obc,
+      h);
+    assert(started > 0);
+  }
+}
+
+void ReplicatedBackend::check_recovery_sources(const OSDMapRef osdmap)
+{
+  for(map<int, set<hobject_t> >::iterator i = pull_from_peer.begin();
+      i != pull_from_peer.end();
+      ) {
+    if (osdmap->is_down(i->first)) {
+      dout(10) << "check_recovery_sources resetting pulls from osd." << i->first
+	       << ", osdmap has it marked down" << dendl;
+      for (set<hobject_t>::iterator j = i->second.begin();
+	   j != i->second.end();
+	   ++j) {
+	assert(pulling.count(*j) == 1);
+	get_parent()->cancel_pull(*j);
+	pulling.erase(*j);
+      }
+      pull_from_peer.erase(i++);
+    } else {
+      ++i;
+    }
+  }
+}
+
+bool ReplicatedBackend::handle_message(
+  OpRequestRef op
+  )
+{
+  dout(10) << __func__ << ": " << op << dendl;
+  switch (op->get_req()->get_type()) {
+  case MSG_OSD_PG_PUSH:
+    // TODOXXX: needs to be active possibly
+    do_push(op);
+    return true;
+
+  case MSG_OSD_PG_PULL:
+    do_pull(op);
+    return true;
+
+  case MSG_OSD_PG_PUSH_REPLY:
+    do_push_reply(op);
+    return true;
+
+  case MSG_OSD_SUBOP: {
+    MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
+    if (m->ops.size() >= 1) {
+      OSDOp *first = &m->ops[0];
+      switch (first->op.op) {
+      case CEPH_OSD_OP_PULL:
+	sub_op_pull(op);
+	return true;
+      case CEPH_OSD_OP_PUSH:
+        // TODOXXX: needs to be active possibly
+	sub_op_push(op);
+	return true;
+      default:
+	break;
+      }
+    }
+    break;
+  }
+
+  case MSG_OSD_SUBOPREPLY: {
+    MOSDSubOpReply *r = static_cast<MOSDSubOpReply*>(op->get_req());
+    if (r->ops.size() >= 1) {
+      OSDOp &first = r->ops[0];
+      switch (first.op.op) {
+      case CEPH_OSD_OP_PUSH:
+	// continue peer recovery
+	sub_op_push_reply(op);
+	return true;
+      }
+    }
+    break;
+  }
+
+  default:
+    break;
+  }
+  return false;
+}
+
+void ReplicatedBackend::clear_state()
+{
+  // clear pushing/pulling maps
+  pushing.clear();
+  pulling.clear();
+  pull_from_peer.clear();
+}
+
+void ReplicatedBackend::on_change(ObjectStore::Transaction *t)
+{
+  dout(10) << __func__ << dendl;
+  // clear temp
+  for (set<hobject_t>::iterator i = temp_contents.begin();
+       i != temp_contents.end();
+       ++i) {
+    dout(10) << __func__ << ": Removing oid "
+	     << *i << " from the temp collection" << dendl;
+    t->remove(get_temp_coll(t), *i);
+  }
+  temp_contents.clear();
+  clear_state();
+}
+
+coll_t ReplicatedBackend::get_temp_coll(ObjectStore::Transaction *t)
+{
+  if (temp_created)
+    return temp_coll;
+  if (!osd->store->collection_exists(temp_coll))
+      t->create_collection(temp_coll);
+  temp_created = true;
+  return temp_coll;
+}
+
+void ReplicatedBackend::on_flushed()
+{
+  if (have_temp_coll() &&
+      !osd->store->collection_empty(get_temp_coll())) {
+    vector<hobject_t> objects;
+    osd->store->collection_list(get_temp_coll(), objects);
+    derr << __func__ << ": found objects in the temp collection: "
+	 << objects << ", crashing now"
+	 << dendl;
+    assert(0 == "found garbage in the temp collection");
+  }
+}
+
+
+int ReplicatedBackend::objects_list_partial(
+  const hobject_t &begin,
+  int min,
+  int max,
+  snapid_t seq,
+  vector<hobject_t> *ls,
+  hobject_t *next)
+{
+  vector<ghobject_t> objects;
+  ghobject_t _next;
+  int r = osd->store->collection_list_partial(
+    coll,
+    begin,
+    min,
+    max,
+    seq,
+    &objects,
+    &_next);
+  ls->reserve(objects.size());
+  for (vector<ghobject_t>::iterator i = objects.begin();
+       i != objects.end();
+       ++i) {
+    assert(i->is_degenerate());
+    ls->push_back(i->hobj);
+  }
+  assert(_next.is_degenerate());
+  *next = _next.hobj;
+  return r;
+}
+
+int ReplicatedBackend::objects_list_range(
+  const hobject_t &start,
+  const hobject_t &end,
+  snapid_t seq,
+  vector<hobject_t> *ls)
+{
+  vector<ghobject_t> objects;
+  int r = osd->store->collection_list_range(
+    coll,
+    start,
+    end,
+    seq,
+    &objects);
+  ls->reserve(objects.size());
+  for (vector<ghobject_t>::iterator i = objects.begin();
+       i != objects.end();
+       ++i) {
+    assert(i->is_degenerate());
+    ls->push_back(i->hobj);
+  }
+  return r;
+}
+
+int ReplicatedBackend::objects_get_attr(
+  const hobject_t &hoid,
+  const string &attr,
+  bufferlist *out)
+{
+  bufferptr bp;
+  int r = osd->store->getattr(
+    coll,
+    hoid,
+    attr.c_str(),
+    bp);
+  if (r >= 0 && out) {
+    out->clear();
+    out->push_back(bp);
+  }
+  return r;
+}
diff --git a/src/osd/ReplicatedBackend.h b/src/osd/ReplicatedBackend.h
new file mode 100644
index 0000000..a95a77b
--- /dev/null
+++ b/src/osd/ReplicatedBackend.h
@@ -0,0 +1,329 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank Storage, Inc.
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#ifndef REPBACKEND_H
+#define REPBACKEND_H
+
+#include "OSD.h"
+#include "PGBackend.h"
+#include "osd_types.h"
+
+struct C_ReplicatedBackend_OnPullComplete;
+class ReplicatedBackend : public PGBackend {
+  struct RPGHandle : public PGBackend::RecoveryHandle {
+    map<int, vector<PushOp> > pushes;
+    map<int, vector<PullOp> > pulls;
+  };
+  friend struct C_ReplicatedBackend_OnPullComplete;
+private:
+  bool temp_created;
+  const coll_t temp_coll;
+  coll_t get_temp_coll() const {
+    return temp_coll;
+  }
+  bool have_temp_coll() const { return temp_created; }
+
+  // Track contents of temp collection, clear on reset
+  set<hobject_t> temp_contents;
+public:
+  coll_t coll;
+  OSDService *osd;
+  CephContext *cct;
+
+  ReplicatedBackend(PGBackend::Listener *pg, coll_t coll, OSDService *osd);
+
+  /// @see PGBackend::open_recovery_op
+  RPGHandle *_open_recovery_op() {
+    return new RPGHandle();
+  }
+  PGBackend::RecoveryHandle *open_recovery_op() {
+    return _open_recovery_op();
+  }
+
+  /// @see PGBackend::run_recovery_op
+  void run_recovery_op(
+    PGBackend::RecoveryHandle *h,
+    int priority);
+
+  /// @see PGBackend::recover_object
+  void recover_object(
+    const hobject_t &hoid,
+    ObjectContextRef head,
+    ObjectContextRef obc,
+    RecoveryHandle *h
+    );
+
+  void check_recovery_sources(const OSDMapRef osdmap);
+
+  /// @see PGBackend::handle_message
+  bool handle_message(
+    OpRequestRef op
+    );
+
+  void on_change(ObjectStore::Transaction *t);
+  void clear_state();
+  void on_flushed();
+
+  void temp_colls(list<coll_t> *out) {
+    if (temp_created)
+      out->push_back(temp_coll);
+  }
+  void split_colls(
+    pg_t child,
+    int split_bits,
+    int seed,
+    ObjectStore::Transaction *t) {
+    coll_t target = coll_t::make_temp_coll(child);
+    if (!temp_created)
+      return;
+    t->create_collection(target);
+    t->split_collection(
+      temp_coll,
+      split_bits,
+      seed,
+      target);
+  }
+
+  virtual void dump_recovery_info(Formatter *f) const {
+    {
+      f->open_array_section("pull_from_peer");
+      for (map<int, set<hobject_t> >::const_iterator i = pull_from_peer.begin();
+	   i != pull_from_peer.end();
+	   ++i) {
+	f->open_object_section("pulling_from");
+	f->dump_int("pull_from", i->first);
+	{
+	  f->open_array_section("pulls");
+	  for (set<hobject_t>::const_iterator j = i->second.begin();
+	       j != i->second.end();
+	       ++j) {
+	    f->open_object_section("pull_info");
+	    assert(pulling.count(*j));
+	    pulling.find(*j)->second.dump(f);
+	    f->close_section();
+	  }
+	  f->close_section();
+	}
+	f->close_section();
+      }
+      f->close_section();
+    }
+    {
+      f->open_array_section("pushing");
+      for (map<hobject_t, map<int, PushInfo> >::const_iterator i =
+	     pushing.begin();
+	   i != pushing.end();
+	   ++i) {
+	f->open_object_section("object");
+	f->dump_stream("pushing") << i->first;
+	{
+	  f->open_array_section("pushing_to");
+	  for (map<int, PushInfo>::const_iterator j = i->second.begin();
+	       j != i->second.end();
+	       ++j) {
+	    f->open_object_section("push_progress");
+	    f->dump_stream("object_pushing") << j->first;
+	    {
+	      f->open_object_section("push_info");
+	      j->second.dump(f);
+	      f->close_section();
+	    }
+	    f->close_section();
+	  }
+	  f->close_section();
+	}
+	f->close_section();
+      }
+      f->close_section();
+    }
+  }
+
+  /// List objects in collection
+  int objects_list_partial(
+    const hobject_t &begin,
+    int min,
+    int max,
+    snapid_t seq,
+    vector<hobject_t> *ls,
+    hobject_t *next);
+
+  int objects_list_range(
+    const hobject_t &start,
+    const hobject_t &end,
+    snapid_t seq,
+    vector<hobject_t> *ls);
+
+  int objects_get_attr(
+    const hobject_t &hoid,
+    const string &attr,
+    bufferlist *out);
+private:
+  // push
+  struct PushInfo {
+    ObjectRecoveryProgress recovery_progress;
+    ObjectRecoveryInfo recovery_info;
+    ObjectContextRef obc;
+    object_stat_sum_t stat;
+
+    void dump(Formatter *f) const {
+      {
+	f->open_object_section("recovery_progress");
+	recovery_progress.dump(f);
+	f->close_section();
+      }
+      {
+	f->open_object_section("recovery_info");
+	recovery_info.dump(f);
+	f->close_section();
+      }
+    }
+  };
+  map<hobject_t, map<int, PushInfo> > pushing;
+
+  // pull
+  struct PullInfo {
+    ObjectRecoveryProgress recovery_progress;
+    ObjectRecoveryInfo recovery_info;
+    ObjectContextRef head_ctx;
+    ObjectContextRef obc;
+    object_stat_sum_t stat;
+
+    void dump(Formatter *f) const {
+      {
+	f->open_object_section("recovery_progress");
+	recovery_progress.dump(f);
+	f->close_section();
+      }
+      {
+	f->open_object_section("recovery_info");
+	recovery_info.dump(f);
+	f->close_section();
+      }
+    }
+
+    bool is_complete() const {
+      return recovery_progress.is_complete(recovery_info);
+    }
+  };
+
+  coll_t get_temp_coll(ObjectStore::Transaction *t);
+  void add_temp_obj(const hobject_t &oid) {
+    temp_contents.insert(oid);
+  }
+  void clear_temp_obj(const hobject_t &oid) {
+    temp_contents.erase(oid);
+  }
+
+  map<hobject_t, PullInfo> pulling;
+
+  // Reverse mapping from osd peer to objects beging pulled from that peer
+  map<int, set<hobject_t> > pull_from_peer;
+
+  void sub_op_push(OpRequestRef op);
+  void sub_op_push_reply(OpRequestRef op);
+  void sub_op_pull(OpRequestRef op);
+
+  void _do_push(OpRequestRef op);
+  void _do_pull_response(OpRequestRef op);
+  void do_push(OpRequestRef op) {
+    if (is_primary()) {
+      _do_pull_response(op);
+    } else {
+      _do_push(op);
+    }
+  }
+  void do_pull(OpRequestRef op);
+  void do_push_reply(OpRequestRef op);
+
+  bool handle_push_reply(int peer, PushReplyOp &op, PushOp *reply);
+  void handle_pull(int peer, PullOp &op, PushOp *reply);
+  bool handle_pull_response(
+    int from, PushOp &op, PullOp *response,
+    list<hobject_t> *to_continue,
+    ObjectStore::Transaction *t);
+  void handle_push(int from, PushOp &op, PushReplyOp *response,
+		   ObjectStore::Transaction *t);
+
+  static void trim_pushed_data(const interval_set<uint64_t> &copy_subset,
+			       const interval_set<uint64_t> &intervals_received,
+			       bufferlist data_received,
+			       interval_set<uint64_t> *intervals_usable,
+			       bufferlist *data_usable);
+  void _failed_push(int from, const hobject_t &soid);
+
+  void send_pushes(int prio, map<int, vector<PushOp> > &pushes);
+  void prep_push_op_blank(const hobject_t& soid, PushOp *op);
+  int send_push_op_legacy(int priority, int peer,
+			  PushOp &pop);
+  int send_pull_legacy(int priority, int peer,
+		       const ObjectRecoveryInfo& recovery_info,
+		       ObjectRecoveryProgress progress);
+  void send_pulls(
+    int priority,
+    map<int, vector<PullOp> > &pulls);
+
+  int build_push_op(const ObjectRecoveryInfo &recovery_info,
+		    const ObjectRecoveryProgress &progress,
+		    ObjectRecoveryProgress *out_progress,
+		    PushOp *out_op,
+		    object_stat_sum_t *stat = 0);
+  void submit_push_data(ObjectRecoveryInfo &recovery_info,
+			bool first,
+			bool complete,
+			const interval_set<uint64_t> &intervals_included,
+			bufferlist data_included,
+			bufferlist omap_header,
+			map<string, bufferptr> &attrs,
+			map<string, bufferlist> &omap_entries,
+			ObjectStore::Transaction *t);
+  void submit_push_complete(ObjectRecoveryInfo &recovery_info,
+			    ObjectStore::Transaction *t);
+
+  void calc_clone_subsets(
+    SnapSet& snapset, const hobject_t& poid, const pg_missing_t& missing,
+    const hobject_t &last_backfill,
+    interval_set<uint64_t>& data_subset,
+    map<hobject_t, interval_set<uint64_t> >& clone_subsets);
+  void prepare_pull(
+    const hobject_t& soid,
+    ObjectContextRef headctx,
+    RPGHandle *h);
+  int start_pushes(
+    const hobject_t &soid,
+    ObjectContextRef obj,
+    RPGHandle *h);
+  void prep_push_to_replica(
+    ObjectContextRef obc, const hobject_t& soid, int peer,
+    PushOp *pop);
+  void prep_push(ObjectContextRef obc,
+		 const hobject_t& oid, int dest,
+		 PushOp *op);
+  void prep_push(ObjectContextRef obc,
+		 const hobject_t& soid, int peer,
+		 eversion_t version,
+		 interval_set<uint64_t> &data_subset,
+		 map<hobject_t, interval_set<uint64_t> >& clone_subsets,
+		 PushOp *op);
+  void calc_head_subsets(ObjectContextRef obc, SnapSet& snapset, const hobject_t& head,
+			 const pg_missing_t& missing,
+			 const hobject_t &last_backfill,
+			 interval_set<uint64_t>& data_subset,
+			 map<hobject_t, interval_set<uint64_t> >& clone_subsets);
+  ObjectRecoveryInfo recalc_subsets(
+    const ObjectRecoveryInfo& recovery_info,
+    SnapSetContext *ssc
+    );
+};
+
+#endif
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index ab9c809..19592a6 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -4,6 +4,9 @@
  * Ceph - scalable distributed file system
  *
  * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
  *
  * This is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -12,6 +15,7 @@
  * 
  */
 
+#include "boost/tuple/tuple.hpp"
 #include "PG.h"
 #include "ReplicatedPG.h"
 #include "OSD.h"
@@ -47,6 +51,9 @@
 #include "include/compat.h"
 #include "common/cmdparse.h"
 
+#include "mon/MonClient.h"
+#include "osdc/Objecter.h"
+
 #include "json_spirit/json_spirit_value.h"
 #include "json_spirit/json_spirit_reader.h"
 #include "include/assert.h"  // json_spirit clobbers it
@@ -54,8 +61,9 @@
 #define dout_subsys ceph_subsys_osd
 #define DOUT_PREFIX_ARGS this, osd->whoami, get_osdmap()
 #undef dout_prefix
-#define dout_prefix _prefix(_dout, this, osd->whoami, get_osdmap())
-static ostream& _prefix(std::ostream *_dout, PG *pg, int whoami, OSDMapRef osdmap) {
+#define dout_prefix _prefix(_dout, this)
+template <typename T>
+static ostream& _prefix(std::ostream *_dout, T *pg) {
   return *_dout << pg->gen_prefix();
 }
 
@@ -73,6 +81,166 @@ PGLSFilter::~PGLSFilter()
 {
 }
 
+static void log_subop_stats(
+  OSDService *osd,
+  OpRequestRef op, int tag_inb, int tag_lat)
+{
+  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t latency = now;
+  latency -= op->get_req()->get_recv_stamp();
+
+  uint64_t inb = op->get_req()->get_data().length();
+
+  osd->logger->inc(l_osd_sop);
+
+  osd->logger->inc(l_osd_sop_inb, inb);
+  osd->logger->tinc(l_osd_sop_lat, latency);
+
+  if (tag_inb)
+    osd->logger->inc(tag_inb, inb);
+  osd->logger->tinc(tag_lat, latency);
+}
+
+// ======================
+// PGBackend::Listener
+
+
+void ReplicatedPG::on_local_recover_start(
+  const hobject_t &oid,
+  ObjectStore::Transaction *t)
+{
+  pg_log.revise_have(oid, eversion_t());
+  remove_snap_mapped_object(*t, oid);
+  t->remove(coll, oid);
+}
+
+void ReplicatedPG::on_local_recover(
+  const hobject_t &hoid,
+  const object_stat_sum_t &stat_diff,
+  const ObjectRecoveryInfo &_recovery_info,
+  ObjectContextRef obc,
+  ObjectStore::Transaction *t
+  )
+{
+  ObjectRecoveryInfo recovery_info(_recovery_info);
+  if (recovery_info.soid.snap < CEPH_NOSNAP) {
+    assert(recovery_info.oi.snaps.size());
+    OSDriver::OSTransaction _t(osdriver.get_transaction(t));
+    set<snapid_t> snaps(
+      recovery_info.oi.snaps.begin(),
+      recovery_info.oi.snaps.end());
+    snap_mapper.add_oid(
+      recovery_info.soid,
+      snaps,
+      &_t);
+  }
+
+  if (pg_log.get_missing().is_missing(recovery_info.soid) &&
+      pg_log.get_missing().missing.find(recovery_info.soid)->second.need > recovery_info.version) {
+    assert(is_primary());
+    const pg_log_entry_t *latest = pg_log.get_log().objects.find(recovery_info.soid)->second;
+    if (latest->op == pg_log_entry_t::LOST_REVERT &&
+	latest->reverting_to == recovery_info.version) {
+      dout(10) << " got old revert version " << recovery_info.version
+	       << " for " << *latest << dendl;
+      recovery_info.version = latest->version;
+      // update the attr to the revert event version
+      recovery_info.oi.prior_version = recovery_info.oi.version;
+      recovery_info.oi.version = latest->version;
+      bufferlist bl;
+      ::encode(recovery_info.oi, bl);
+      t->setattr(coll, recovery_info.soid, OI_ATTR, bl);
+    }
+  }
+
+  // keep track of active pushes for scrub
+  ++active_pushes;
+
+  recover_got(recovery_info.soid, recovery_info.version);
+
+  if (is_primary()) {
+    info.stats.stats.sum.add(stat_diff);
+
+    assert(obc);
+    obc->obs.exists = true;
+    obc->ondisk_write_lock();
+    obc->obs.oi = recovery_info.oi;  // may have been updated above
+
+
+    t->register_on_applied(new C_OSD_AppliedRecoveredObject(this, obc));
+    t->register_on_applied_sync(new C_OSD_OndiskWriteUnlock(obc));
+
+    publish_stats_to_osd();
+    if (waiting_for_missing_object.count(hoid)) {
+      dout(20) << " kicking waiters on " << hoid << dendl;
+      requeue_ops(waiting_for_missing_object[hoid]);
+      waiting_for_missing_object.erase(hoid);
+      if (pg_log.get_missing().missing.size() == 0) {
+	requeue_ops(waiting_for_all_missing);
+	waiting_for_all_missing.clear();
+      }
+    }
+  } else {
+    t->register_on_applied(
+      new C_OSD_AppliedRecoveredObjectReplica(this));
+
+  }
+
+  t->register_on_commit(
+    new C_OSD_CommittedPushedObject(
+      this,
+      get_osdmap()->get_epoch(),
+      info.last_complete));
+
+  // update pg
+  dirty_info = true;
+  write_if_dirty(*t);
+
+}
+
+void ReplicatedPG::on_global_recover(
+  const hobject_t &soid)
+{
+  publish_stats_to_osd();
+  dout(10) << "pushed " << soid << " to all replicas" << dendl;
+  map<hobject_t, ObjectContextRef>::iterator i = recovering.find(soid);
+  assert(i != recovering.end());
+  recovering.erase(i);
+  finish_recovery_op(soid);
+  if (waiting_for_degraded_object.count(soid)) {
+    requeue_ops(waiting_for_degraded_object[soid]);
+    waiting_for_degraded_object.erase(soid);
+  }
+  finish_degraded_object(soid);
+}
+
+void ReplicatedPG::on_peer_recover(
+  int peer,
+  const hobject_t &soid,
+  const ObjectRecoveryInfo &recovery_info,
+  const object_stat_sum_t &stat)
+{
+  info.stats.stats.sum.add(stat);
+  publish_stats_to_osd();
+  // done!
+  peer_missing[peer].got(soid, recovery_info.version);
+  if (peer == backfill_target && backfills_in_flight.count(soid)) {
+    map<hobject_t, ObjectContextRef>::iterator i = recovering.find(soid);
+    assert(i != recovering.end());
+    list<OpRequestRef> requeue_list;
+    i->second->drop_backfill_read(&requeue_list);
+    requeue_ops(requeue_list);
+    backfills_in_flight.erase(soid);
+  }
+}
+
+void ReplicatedPG::begin_peer_recover(
+  int peer,
+  const hobject_t soid)
+{
+  peer_missing[peer].revise_have(soid, eversion_t());
+}
+
 // =======================
 // pg changes
 
@@ -111,18 +279,18 @@ void ReplicatedPG::wait_for_missing_object(const hobject_t& soid, OpRequestRef o
   assert(g != missing.missing.end());
   const eversion_t &v(g->second.need);
 
-  map<hobject_t, PullInfo>::const_iterator p = pulling.find(soid);
-  if (p != pulling.end()) {
-    dout(7) << "missing " << soid << " v " << v << ", already pulling." << dendl;
+  map<hobject_t, ObjectContextRef>::const_iterator p = recovering.find(soid);
+  if (p != recovering.end()) {
+    dout(7) << "missing " << soid << " v " << v << ", already recovering." << dendl;
   }
   else if (missing_loc.find(soid) == missing_loc.end()) {
     dout(7) << "missing " << soid << " v " << v << ", is unfound." << dendl;
   }
   else {
-    dout(7) << "missing " << soid << " v " << v << ", pulling." << dendl;
-    map<int, vector<PullOp> > pulls;
-    prepare_pull(soid, v, g_conf->osd_client_op_priority, &pulls);
-    send_pulls(g_conf->osd_client_op_priority, pulls);
+    dout(7) << "missing " << soid << " v " << v << ", recovering." << dendl;
+    PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
+    recover_missing(soid, v, cct->_conf->osd_client_op_priority, h);
+    pgbackend->run_recovery_op(h, cct->_conf->osd_client_op_priority);
   }
   waiting_for_missing_object[soid].push_back(op);
   op->mark_delayed("waiting for missing object");
@@ -144,10 +312,10 @@ bool ReplicatedPG::is_degraded_object(const hobject_t& soid)
       return true;
 
     // Object is degraded if after last_backfill AND
-    // we have are backfilling it
+    // we are backfilling it
     if (peer == backfill_target &&
 	peer_info[peer].last_backfill <= soid &&
-	backfill_pos >= soid &&
+	last_backfill_started >= soid &&
 	backfills_in_flight.count(soid))
       return true;
   }
@@ -159,15 +327,15 @@ void ReplicatedPG::wait_for_degraded_object(const hobject_t& soid, OpRequestRef
   assert(is_degraded_object(soid));
 
   // we don't have it (yet).
-  if (pushing.count(soid)) {
+  if (recovering.count(soid)) {
     dout(7) << "degraded "
 	    << soid 
-	    << ", already pushing"
+	    << ", already recovering"
 	    << dendl;
   } else {
     dout(7) << "degraded " 
 	    << soid 
-	    << ", pushing"
+	    << ", recovering"
 	    << dendl;
     eversion_t v;
     for (unsigned i = 1; i < acting.size(); i++) {
@@ -178,22 +346,19 @@ void ReplicatedPG::wait_for_degraded_object(const hobject_t& soid, OpRequestRef
 	break;
       }
     }
-    map<int, vector<PushOp> > pushes;
-    prep_object_replica_pushes(soid, v, g_conf->osd_client_op_priority, &pushes);
-    send_pushes(g_conf->osd_client_op_priority, pushes);
+    PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
+    prep_object_replica_pushes(soid, v, h);
+    pgbackend->run_recovery_op(h, cct->_conf->osd_client_op_priority);
   }
   waiting_for_degraded_object[soid].push_back(op);
   op->mark_delayed("waiting for degraded object");
 }
 
-void ReplicatedPG::wait_for_backfill_pos(OpRequestRef op)
+void ReplicatedPG::wait_for_blocked_object(const hobject_t& soid, OpRequestRef op)
 {
-  waiting_for_backfill_pos.push_back(op);
-}
-
-void ReplicatedPG::release_waiting_for_backfill_pos()
-{
-  requeue_ops(waiting_for_backfill_pos);
+  dout(10) << __func__ << " " << soid << " " << op << dendl;
+  waiting_for_blocked_object[soid].push_back(op);
+  op->mark_delayed("waiting for blocked object");
 }
 
 bool PGLSParentFilter::filter(bufferlist& xattr_data, bufferlist& outdata)
@@ -231,8 +396,10 @@ bool PGLSPlainFilter::filter(bufferlist& xattr_data, bufferlist& outdata)
 bool ReplicatedPG::pgls_filter(PGLSFilter *filter, hobject_t& sobj, bufferlist& outdata)
 {
   bufferlist bl;
-
-  int ret = osd->store->getattr(coll_t(info.pgid), sobj, filter->get_xattr().c_str(), bl);
+  int ret = pgbackend->objects_get_attr(
+    sobj,
+    filter->get_xattr(),
+    &bl);
   dout(0) << "getattr (sobj=" << sobj << ", attr=" << filter->get_xattr() << ") returned " << ret << dendl;
   if (ret < 0)
     return false;
@@ -275,14 +442,14 @@ int ReplicatedPG::do_command(cmdmap_t cmdmap, ostream& ss,
   string prefix;
   string format;
 
-  cmd_getval(g_ceph_context, cmdmap, "format", format);
+  cmd_getval(cct, cmdmap, "format", format);
   boost::scoped_ptr<Formatter> f(new_formatter(format));
   // demand that we have a formatter
   if (!f)
     f.reset(new_formatter("json"));
 
   string command;
-  cmd_getval(g_ceph_context, cmdmap, "cmd", command);
+  cmd_getval(cct, cmdmap, "cmd", command);
   if (command == "query") {
     f->open_object_section("pg");
     f->dump_string("state", pg_state_string(get_state()));
@@ -309,7 +476,7 @@ int ReplicatedPG::do_command(cmdmap_t cmdmap, ostream& ss,
   }
   else if (command == "mark_unfound_lost") {
     string mulcmd;
-    cmd_getval(g_ceph_context, cmdmap, "mulcmd", mulcmd);
+    cmd_getval(cct, cmdmap, "mulcmd", mulcmd);
     if (mulcmd != "revert") {
       ss << "mode must be 'revert'; mark and delete not yet implemented";
       return -EINVAL;
@@ -329,7 +496,7 @@ int ReplicatedPG::do_command(cmdmap_t cmdmap, ostream& ss,
 
     if (!all_unfound_are_queried_or_lost(get_osdmap())) {
       ss << "pg has " << unfound
-	 << " objects but we haven't probed all sources, not marking lost";
+	 << " unfound objects but we haven't probed all sources, not marking lost";
       return -EINVAL;
     }
 
@@ -340,7 +507,7 @@ int ReplicatedPG::do_command(cmdmap_t cmdmap, ostream& ss,
   else if (command == "list_missing") {
     hobject_t offset;
     string offset_json;
-    if (cmd_getval(g_ceph_context, cmdmap, "offset", offset_json)) {
+    if (cmd_getval(cct, cmdmap, "offset", offset_json)) {
       json_spirit::Value v;
       try {
 	if (!json_spirit::read(offset_json, v))
@@ -364,7 +531,7 @@ int ReplicatedPG::do_command(cmdmap_t cmdmap, ostream& ss,
       f->open_array_section("objects");
       int32_t num = 0;
       bufferlist bl;
-      while (p != missing.missing.end() && num < g_conf->osd_command_max_records) {
+      while (p != missing.missing.end() && num < cct->_conf->osd_command_max_records) {
 	f->open_object_section("object");
 	{
 	  f->open_object_section("oid");
@@ -414,7 +581,7 @@ bool ReplicatedPG::pg_op_must_wait(MOSDOp *op)
 
 void ReplicatedPG::do_pg_op(OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp *>(op->request);
+  MOSDOp *m = static_cast<MOSDOp *>(op->get_req());
   assert(m->get_header().type == CEPH_MSG_OSD_OP);
   dout(10) << "do_pg_op " << *m << dendl;
 
@@ -454,7 +621,7 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
         dout(10) << " pgls pg=" << m->get_pg() << " != " << info.pgid << dendl;
 	result = 0; // hmm?
       } else {
-	unsigned list_size = MIN(g_conf->osd_max_pgls, p->op.pgls.count);
+	unsigned list_size = MIN(cct->_conf->osd_max_pgls, p->op.pgls.count);
 
         dout(10) << " pgls pg=" << m->get_pg() << " count " << list_size << dendl;
 	// read into a buffer
@@ -472,12 +639,13 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
 	hobject_t next;
 	hobject_t current = response.handle;
 	osr->flush();
-	int r = osd->store->collection_list_partial(coll, current,
-						    list_size,
-						    list_size,
-						    snapid,
-						    &sentries,
-						    &next);
+	int r = pgbackend->objects_list_partial(
+	  current,
+	  list_size,
+	  list_size,
+	  snapid,
+	  &sentries,
+	  &next);
 	if (r != 0) {
 	  result = -EINVAL;
 	  break;
@@ -487,19 +655,38 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
 	map<hobject_t, pg_missing_t::item>::const_iterator missing_iter =
 	  pg_log.get_missing().missing.lower_bound(current);
 	vector<hobject_t>::iterator ls_iter = sentries.begin();
+	hobject_t _max = hobject_t::get_max();
 	while (1) {
-	  if (ls_iter == sentries.end()) {
-	    break;
-	  }
+	  const hobject_t &mcand =
+	    missing_iter == pg_log.get_missing().missing.end() ?
+	    _max :
+	    missing_iter->first;
+	  const hobject_t &lcand =
+	    ls_iter == sentries.end() ?
+	    _max :
+	    *ls_iter;
 
 	  hobject_t candidate;
-	  if (missing_iter == pg_log.get_missing().missing.end() ||
-	      *ls_iter < missing_iter->first) {
-	    candidate = *(ls_iter++);
+	  if (mcand == lcand) {
+	    candidate = mcand;
+	    if (!mcand.is_max()) {
+	      ls_iter++;
+	      missing_iter++;
+	    }
+	  } else if (mcand < lcand) {
+	    candidate = mcand;
+	    assert(!mcand.is_max());
+	    ++missing_iter;
 	  } else {
-	    candidate = (missing_iter++)->first;
+	    candidate = lcand;
+	    assert(!lcand.is_max());
+	    ++ls_iter;
 	  }
 
+	  if (candidate >= next) {
+	    break;
+	  }
+	    
 	  if (response.entries.size() == list_size) {
 	    next = candidate;
 	    break;
@@ -515,13 +702,17 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
 	  if (snapid != CEPH_NOSNAP) {
 	    bufferlist bl;
 	    if (candidate.snap == CEPH_NOSNAP) {
-	      osd->store->getattr(coll, candidate, SS_ATTR, bl);
+	      pgbackend->objects_get_attr(
+		candidate,
+		SS_ATTR,
+		&bl);
 	      SnapSet snapset(bl);
 	      if (snapid <= snapset.seq)
 		continue;
 	    } else {
 	      bufferlist attr_bl;
-	      osd->store->getattr(coll, candidate, OI_ATTR, attr_bl);
+	      pgbackend->objects_get_attr(
+		candidate, OI_ATTR, &attr_bl);
 	      object_info_t oi(attr_bl);
 	      vector<snapid_t>::iterator i = find(oi.snaps.begin(),
 						  oi.snaps.end(),
@@ -566,6 +757,7 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
 				       CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK); 
   reply->set_data(outdata);
   reply->set_result(result);
+  reply->set_reply_versions(info.last_update, info.last_user_version);
   osd->send_message_osd_client(reply, m->get_connection());
   delete filter;
 }
@@ -578,14 +770,14 @@ void ReplicatedPG::calc_trim_to()
     return;
   }
 
-  size_t target = g_conf->osd_min_pg_log_entries;
+  size_t target = cct->_conf->osd_min_pg_log_entries;
   if (is_degraded() ||
       state_test(PG_STATE_RECOVERING |
 		 PG_STATE_RECOVERY_WAIT |
 		 PG_STATE_BACKFILL |
 		 PG_STATE_BACKFILL_WAIT |
 		 PG_STATE_BACKFILL_TOOFULL)) {
-    target = g_conf->osd_max_pg_log_entries;
+    target = cct->_conf->osd_max_pg_log_entries;
   }
 
   if (min_last_complete_ondisk != eversion_t() &&
@@ -613,8 +805,11 @@ void ReplicatedPG::calc_trim_to()
 ReplicatedPG::ReplicatedPG(OSDService *o, OSDMapRef curmap,
 			   const PGPool &_pool, pg_t p, const hobject_t& oid,
 			   const hobject_t& ioid) :
-  PG(o, curmap, _pool, p, oid, ioid), temp_created(false),
-  temp_coll(coll_t::make_temp_coll(p)), snap_trimmer_machine(this)
+  PG(o, curmap, _pool, p, oid, ioid),
+  pgbackend(new ReplicatedBackend(this, coll_t(p), o)),
+  snapset_contexts_lock("ReplicatedPG::snapset_contexts"),
+  temp_seq(0),
+  snap_trimmer_machine(this)
 { 
   snap_trimmer_machine.initiate();
 }
@@ -626,13 +821,69 @@ void ReplicatedPG::get_src_oloc(const object_t& oid, const object_locator_t& olo
     src_oloc.key = oid.name;
 }
 
+void ReplicatedPG::do_request(
+  OpRequestRef op,
+  ThreadPool::TPHandle &handle)
+{
+  // do any pending flush
+  do_pending_flush();
+
+  if (!op_has_sufficient_caps(op)) {
+    osd->reply_op_error(op, -EPERM);
+    return;
+  }
+  assert(!op_must_wait_for_map(get_osdmap(), op));
+  if (can_discard_request(op)) {
+    return;
+  }
+  if (!flushed) {
+    dout(20) << " !flushed, waiting for active on " << op << dendl;
+    waiting_for_active.push_back(op);
+    return;
+  }
+
+  if (pgbackend->handle_message(op))
+    return;
+
+  switch (op->get_req()->get_type()) {
+  case CEPH_MSG_OSD_OP:
+    if (is_replay() || !is_active()) {
+      dout(20) << " replay, waiting for active on " << op << dendl;
+      waiting_for_active.push_back(op);
+      return;
+    }
+    do_op(op); // do it now
+    break;
+
+  case MSG_OSD_SUBOP:
+    do_sub_op(op);
+    break;
+
+  case MSG_OSD_SUBOPREPLY:
+    do_sub_op_reply(op);
+    break;
+
+  case MSG_OSD_PG_SCAN:
+    do_scan(op, handle);
+    break;
+
+  case MSG_OSD_PG_BACKFILL:
+    do_backfill(op);
+    break;
+
+  default:
+    assert(0 == "bad message type in do_request");
+  }
+}
+
+
 /** do_op - do an op
  * pg lock will be held (if multithreaded)
  * osd_lock NOT held.
  */
 void ReplicatedPG::do_op(OpRequestRef op)
 {
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
   assert(m->get_header().type == CEPH_MSG_OSD_OP);
   if (op->includes_pg_op()) {
     if (pg_op_must_wait(m)) {
@@ -642,13 +893,21 @@ void ReplicatedPG::do_op(OpRequestRef op)
     return do_pg_op(op);
   }
 
-  dout(10) << "do_op " << *m << (op->may_write() ? " may_write" : "") << dendl;
+  // order this op as a write?
+  bool write_ordered = op->may_write() || (m->get_flags() & CEPH_OSD_FLAG_RWORDERED);
+
+  dout(10) << "do_op " << *m
+	   << (op->may_write() ? " may_write" : "")
+	   << (op->may_read() ? " may_read" : "")
+	   << " -> " << (write_ordered ? "write-ordered" : "read-ordered")
+	   << dendl;
 
   hobject_t head(m->get_oid(), m->get_object_locator().key,
 		 CEPH_NOSNAP, m->get_pg().ps(),
 		 info.pgid.pool(), m->get_object_locator().nspace);
 
-  if (op->may_write() && scrubber.write_blocked_by_scrub(head)) {
+
+  if (write_ordered && scrubber.write_blocked_by_scrub(head)) {
     dout(20) << __func__ << ": waiting for scrub" << dendl;
     waiting_for_active.push_back(op);
     op->mark_delayed("waiting for scrub");
@@ -662,16 +921,11 @@ void ReplicatedPG::do_op(OpRequestRef op)
   }
 
   // degraded object?
-  if (op->may_write() && is_degraded_object(head)) {
+  if (write_ordered && is_degraded_object(head)) {
     wait_for_degraded_object(head, op);
     return;
   }
 
-  if (head == backfill_pos) {
-    wait_for_backfill_pos(op);
-    return;
-  }
-
   // missing snapdir?
   hobject_t snapdir(m->get_oid(), m->get_object_locator().key,
 		    CEPH_SNAPDIR, m->get_pg().ps(), info.pgid.pool(),
@@ -682,7 +936,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
   }
 
   // degraded object?
-  if (op->may_write() && is_degraded_object(snapdir)) {
+  if (write_ordered && is_degraded_object(snapdir)) {
     wait_for_degraded_object(snapdir, op);
     return;
   }
@@ -693,9 +947,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
     return;
   }
 
-  entity_inst_t client = m->get_source_inst();
-
-  ObjectContext *obc;
+  ObjectContextRef obc;
   bool can_create = op->may_write();
   snapid_t snapid;
   int r = find_object_context(
@@ -706,27 +958,32 @@ void ReplicatedPG::do_op(OpRequestRef op)
 	      m->get_object_locator().get_pool(),
 	      m->get_object_locator().nspace),
     &obc, can_create, &snapid);
-  if (r) {
-    if (r == -EAGAIN) {
-      // If we're not the primary of this OSD, and we have
-      // CEPH_OSD_FLAG_LOCALIZE_READS set, we just return -EAGAIN. Otherwise,
-      // we have to wait for the object.
-      if (is_primary() ||
-	  (!(m->get_flags() & CEPH_OSD_FLAG_BALANCE_READS) &&
-	   !(m->get_flags() & CEPH_OSD_FLAG_LOCALIZE_READS))) {
-	// missing the specific snap we need; requeue and wait.
-	assert(!can_create); // only happens on a read
-	hobject_t soid(m->get_oid(), m->get_object_locator().key,
-		       snapid, m->get_pg().ps(),
-		       info.pgid.pool(), m->get_object_locator().nspace);
-	wait_for_missing_object(soid, op);
-	return;
-      }
+
+  if (r == -EAGAIN) {
+    // If we're not the primary of this OSD, and we have
+    // CEPH_OSD_FLAG_LOCALIZE_READS set, we just return -EAGAIN. Otherwise,
+    // we have to wait for the object.
+    if (is_primary() ||
+	(!(m->get_flags() & CEPH_OSD_FLAG_BALANCE_READS) &&
+	 !(m->get_flags() & CEPH_OSD_FLAG_LOCALIZE_READS))) {
+      // missing the specific snap we need; requeue and wait.
+      assert(!can_create); // only happens on a read
+      hobject_t soid(m->get_oid(), m->get_object_locator().key,
+		     snapid, m->get_pg().ps(),
+		     info.pgid.pool(), m->get_object_locator().nspace);
+      wait_for_missing_object(soid, op);
+      return;
     }
+  }
+
+  if (maybe_handle_cache(op, obc, r))
+    return;
+
+  if (r) {
     osd->reply_op_error(op, r);
     return;
   }
-  
+
   // make sure locator is consistent
   object_locator_t oloc(obc->obs.oi.soid);
   if (m->get_object_locator() != oloc) {
@@ -737,49 +994,20 @@ void ReplicatedPG::do_op(OpRequestRef op)
 		     << " op " << *m << "\n";
   }
 
-  if ((op->may_read()) && (obc->obs.oi.lost)) {
-    // This object is lost. Reading from it returns an error.
-    dout(20) << __func__ << ": object " << obc->obs.oi.soid
-	     << " is lost" << dendl;
-    osd->reply_op_error(op, -ENFILE);
+  // io blocked on obc?
+  if (obc->is_blocked()) {
+    wait_for_blocked_object(obc->obs.oi.soid, op);
     return;
   }
+
   dout(25) << __func__ << ": object " << obc->obs.oi.soid
 	   << " has oi of " << obc->obs.oi << dendl;
-  
-  bool ok;
-  dout(10) << "do_op mode is " << mode << dendl;
-  assert(!mode.wake);   // we should never have woken waiters here.
-  if ((op->may_read() && op->may_write()) ||
-      (m->get_flags() & CEPH_OSD_FLAG_RWORDERED))
-    ok = mode.try_rmw(client);
-  else if (op->may_write())
-    ok = mode.try_write(client);
-  else if (op->may_read())
-    ok = mode.try_read(client);
-  else
-    assert(0);
-  if (!ok) {
-    dout(10) << "do_op waiting on mode " << mode << dendl;
-    mode.waiting.push_back(op);
-    op->mark_delayed("waiting on pg mode");
-    return;
-  }
-
-  if (!op->may_write() && !obc->obs.exists) {
-    osd->reply_op_error(op, -ENOENT);
-    put_object_context(obc);
-    return;
-  }
-
-  dout(10) << "do_op mode now " << mode << dendl;
 
   // are writes blocked by another object?
   if (obc->blocked_by) {
     dout(10) << "do_op writes for " << obc->obs.oi.soid << " blocked by "
 	     << obc->blocked_by->obs.oi.soid << dendl;
     wait_for_degraded_object(obc->blocked_by->obs.oi.soid, op);
-    put_object_context(obc);
     return;
   }
 
@@ -796,7 +1024,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
   }
 
   // src_oids
-  map<hobject_t,ObjectContext*> src_obc;
+  map<hobject_t,ObjectContextRef> src_obc;
   for (vector<OSDOp>::iterator p = m->ops.begin(); p != m->ops.end(); ++p) {
     OSDOp& osd_op = *p;
 
@@ -804,7 +1032,6 @@ void ReplicatedPG::do_op(OpRequestRef op)
     if (osd_op.op.op == CEPH_OSD_OP_LIST_SNAPS &&
 	m->get_snapid() != CEPH_SNAPDIR) {
       dout(10) << "LIST_SNAPS with incorrect context" << dendl;
-      put_object_context(obc);
       osd->reply_op_error(op, -EINVAL);
       return;
     }
@@ -817,7 +1044,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
       hobject_t src_oid(osd_op.soid, src_oloc.key, m->get_pg().ps(),
 			info.pgid.pool(), m->get_object_locator().nspace);
       if (!src_obc.count(src_oid)) {
-	ObjectContext *sobc;
+	ObjectContextRef sobc;
 	snapid_t ssnapid;
 
 	int r = find_object_context(src_oid, &sobc, false, &ssnapid);
@@ -828,6 +1055,8 @@ void ReplicatedPG::do_op(OpRequestRef op)
 	  wait_for_missing_object(wait_oid, op);
 	} else if (r) {
 	  osd->reply_op_error(op, r);
+	} else if (sobc->obs.oi.is_whiteout()) {
+	  osd->reply_op_error(op, -ENOENT);
 	} else {
 	  if (sobc->obs.oi.soid.get_key() != obc->obs.oi.soid.get_key() &&
 		   sobc->obs.oi.soid.get_key() != obc->obs.oi.soid.oid.name &&
@@ -839,10 +1068,8 @@ void ReplicatedPG::do_op(OpRequestRef op)
 		   (before_backfill && sobc->obs.oi.soid > backfill_target_info->last_backfill)) {
 	    wait_for_degraded_object(sobc->obs.oi.soid, op);
 	    dout(10) << " writes for " << obc->obs.oi.soid << " now blocked by "
-		   << sobc->obs.oi.soid << dendl;
-	    obc->get();
+		     << sobc->obs.oi.soid << dendl;
 	    obc->blocked_by = sobc;
-	    sobc->get();
 	    sobc->blocking.insert(obc);
 	  } else {
 	    dout(10) << " src_oid " << src_oid << " obc " << src_obc << dendl;
@@ -859,8 +1086,6 @@ void ReplicatedPG::do_op(OpRequestRef op)
       dout(10) << "no src oid specified for multi op " << osd_op << dendl;
       osd->reply_op_error(op, -EINVAL);
     }
-    put_object_contexts(src_obc);
-    put_object_context(obc);
     return;
   }
 
@@ -875,7 +1100,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
       hobject_t clone_oid = obc->obs.oi.soid;
       clone_oid.snap = *p;
       if (!src_obc.count(clone_oid)) {
-	ObjectContext *sobc;
+	ObjectContextRef sobc;
 	snapid_t ssnapid;
 
 	int r = find_object_context(clone_oid, &sobc, false, &ssnapid);
@@ -886,13 +1111,13 @@ void ReplicatedPG::do_op(OpRequestRef op)
 	  wait_for_missing_object(wait_oid, op);
 	} else if (r) {
 	  osd->reply_op_error(op, r);
+	} else if (sobc->obs.oi.is_whiteout()) {
+	  osd->reply_op_error(op, -ENOENT);
 	} else {
 	  dout(10) << " clone_oid " << clone_oid << " obc " << sobc << dendl;
 	  src_obc[clone_oid] = sobc;
 	  continue;
 	}
-	put_object_contexts(src_obc);
-	put_object_context(obc);
 	return;
       } else {
 	continue;
@@ -900,50 +1125,119 @@ void ReplicatedPG::do_op(OpRequestRef op)
     }
   }
 
-  op->mark_started();
-
-  const hobject_t& soid = obc->obs.oi.soid;
   OpContext *ctx = new OpContext(op, m->get_reqid(), m->ops,
 				 &obc->obs, obc->ssc, 
 				 this);
   ctx->obc = obc;
+  if (!get_rw_locks(ctx)) {
+    op->mark_delayed("waiting for rw locks");
+    close_op_ctx(ctx);
+    return;
+  }
+
+  if ((op->may_read()) && (obc->obs.oi.is_lost())) {
+    // This object is lost. Reading from it returns an error.
+    dout(20) << __func__ << ": object " << obc->obs.oi.soid
+	     << " is lost" << dendl;
+    close_op_ctx(ctx);
+    osd->reply_op_error(op, -ENFILE);
+    return;
+  }
+  if (!op->may_write() && (!obc->obs.exists ||
+                           obc->obs.oi.is_whiteout())) {
+    close_op_ctx(ctx);
+    osd->reply_op_error(op, -ENOENT);
+    return;
+  }
+
+  op->mark_started();
   ctx->src_obc = src_obc;
 
-  if (op->may_write()) {
-    // snap
-    if (pool.info.is_pool_snaps_mode()) {
-      // use pool's snapc
-      ctx->snapc = pool.snapc;
+  execute_ctx(ctx);
+}
+
+bool ReplicatedPG::maybe_handle_cache(OpRequestRef op, ObjectContextRef obc,
+                                      int r)
+{
+  if (obc.get() && obc->is_blocked()) {
+    // we're already doing something with this object
+    return false;
+  }
+  switch(pool.info.cache_mode) {
+  case pg_pool_t::CACHEMODE_NONE:
+    return false;
+    break;
+  case pg_pool_t::CACHEMODE_WRITEBACK:
+    if (obc.get()) {
+      return false;
     } else {
-      // client specified snapc
-      ctx->snapc.seq = m->get_snap_seq();
-      ctx->snapc.snaps = m->get_snaps();
+      do_cache_redirect(op, obc);
+      return true;
     }
-    if ((m->get_flags() & CEPH_OSD_FLAG_ORDERSNAP) &&
-	ctx->snapc.seq < obc->ssc->snapset.seq) {
-      dout(10) << " ORDERSNAP flag set and snapc seq " << ctx->snapc.seq
-	       << " < snapset seq " << obc->ssc->snapset.seq
-	       << " on " << soid << dendl;
-      delete ctx;
-      put_object_context(obc);
-      put_object_contexts(src_obc);
-      osd->reply_op_error(op, -EOLDSNAPC);
-      return;
+    break;
+  case pg_pool_t::CACHEMODE_INVALIDATE_FORWARD:
+    do_cache_redirect(op, obc);
+    return true;
+    break;
+  case pg_pool_t::CACHEMODE_READONLY:
+    if (obc.get() && !r) {
+      return false;
+    } else {
+      do_cache_redirect(op, obc);
+      return true;
     }
+    break;
+  default:
+    assert(0);
+  }
+  return false;
+}
+
+void ReplicatedPG::do_cache_redirect(OpRequestRef op, ObjectContextRef obc)
+{
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
+  int flags = m->get_flags() & (CEPH_OSD_FLAG_ACK|CEPH_OSD_FLAG_ONDISK);
+  MOSDOpReply *reply = new MOSDOpReply(m, -ENOENT,
+                                       get_osdmap()->get_epoch(), flags);
+  request_redirect_t redir(m->get_object_locator(), pool.info.tier_of);
+  reply->set_redirect(redir);
+  dout(10) << "sending redirect to pool " << pool.info.tier_of << " for op "
+	   << op << dendl;
+  m->get_connection()->get_messenger()->send_message(reply, m->get_connection());
+  return;
+}
+
+void ReplicatedPG::execute_ctx(OpContext *ctx)
+{
+  dout(10) << __func__ << " " << ctx << dendl;
+  ctx->reset_obs(ctx->obc);
+  OpRequestRef op = ctx->op;
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
+  ObjectContextRef obc = ctx->obc;
+  const hobject_t& soid = obc->obs.oi.soid;
+  map<hobject_t,ObjectContextRef>& src_obc = ctx->src_obc;
+
+  // this method must be idempotent since we may call it several times
+  // before we finally apply the resulting transaction.
+  ctx->op_t = ObjectStore::Transaction();
+  ctx->local_t = ObjectStore::Transaction();
 
-    eversion_t oldv = pg_log.get_log().get_request_version(ctx->reqid);
-    if (oldv != eversion_t()) {
+  // dup/replay?
+  if (op->may_write()) {
+    const pg_log_entry_t *entry = pg_log.get_log().get_request(ctx->reqid);
+    if (entry) {
+      const eversion_t& oldv = entry->version;
       dout(3) << "do_op dup " << ctx->reqid << " was " << oldv << dendl;
-      delete ctx;
-      put_object_context(obc);
-      put_object_contexts(src_obc);
       if (already_complete(oldv)) {
-	osd->reply_op_error(op, 0, oldv);
+	reply_ctx(ctx, 0, oldv, entry->user_version);
       } else {
+	close_op_ctx(ctx);
+
 	if (m->wants_ack()) {
 	  if (already_ack(oldv)) {
 	    MOSDOpReply *reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0);
 	    reply->add_flags(CEPH_OSD_FLAG_ACK);
+	    reply->set_reply_versions(oldv, entry->user_version);
 	    osd->send_message_osd_client(reply, m->get_connection());
 	  } else {
 	    dout(10) << " waiting for " << oldv << " to ack" << dendl;
@@ -959,6 +1253,24 @@ void ReplicatedPG::do_op(OpRequestRef op)
 
     op->mark_started();
 
+    // snap
+    if (pool.info.is_pool_snaps_mode()) {
+      // use pool's snapc
+      ctx->snapc = pool.snapc;
+    } else {
+      // client specified snapc
+      ctx->snapc.seq = m->get_snap_seq();
+      ctx->snapc.snaps = m->get_snaps();
+    }
+    if ((m->get_flags() & CEPH_OSD_FLAG_ORDERSNAP) &&
+	ctx->snapc.seq < obc->ssc->snapset.seq) {
+      dout(10) << " ORDERSNAP flag set and snapc seq " << ctx->snapc.seq
+	       << " < snapset seq " << obc->ssc->snapset.seq
+	       << " on " << obc->obs.oi.soid << dendl;
+      reply_ctx(ctx, -EOLDSNAPC);
+      return;
+    }
+
     // version
     ctx->at_version = pg_log.get_head();
 
@@ -968,7 +1280,7 @@ void ReplicatedPG::do_op(OpRequestRef op)
     assert(ctx->at_version > pg_log.get_head());
 
     ctx->mtime = m->get_mtime();
-    
+
     dout(10) << "do_op " << soid << " " << ctx->ops
 	     << " ov " << obc->obs.oi.version << " av " << ctx->at_version 
 	     << " snapc " << ctx->snapc
@@ -980,20 +1292,16 @@ void ReplicatedPG::do_op(OpRequestRef op)
 	     << dendl;  
   }
 
-  // note my stats
-  utime_t now = ceph_clock_now(g_ceph_context);
+  ctx->user_at_version = obc->obs.oi.user_version;
 
-  // note some basic context for op replication that prepare_transaction may clobber
-  eversion_t old_last_update = pg_log.get_head();
-  bool old_exists = obc->obs.exists;
-  uint64_t old_size = obc->obs.oi.size;
-  eversion_t old_version = obc->obs.oi.version;
+  // note my stats
+  utime_t now = ceph_clock_now(cct);
 
   if (op->may_read()) {
     dout(10) << " taking ondisk_read_lock" << dendl;
     obc->ondisk_read_lock();
   }
-  for (map<hobject_t,ObjectContext*>::iterator p = src_obc.begin(); p != src_obc.end(); ++p) {
+  for (map<hobject_t,ObjectContextRef>::iterator p = src_obc.begin(); p != src_obc.end(); ++p) {
     dout(10) << " taking ondisk_read_lock for src " << p->first << dendl;
     p->second->ondisk_read_lock();
   }
@@ -1004,26 +1312,26 @@ void ReplicatedPG::do_op(OpRequestRef op)
     dout(10) << " dropping ondisk_read_lock" << dendl;
     obc->ondisk_read_unlock();
   }
-  for (map<hobject_t,ObjectContext*>::iterator p = src_obc.begin(); p != src_obc.end(); ++p) {
+  for (map<hobject_t,ObjectContextRef>::iterator p = src_obc.begin(); p != src_obc.end(); ++p) {
     dout(10) << " dropping ondisk_read_lock for src " << p->first << dendl;
     p->second->ondisk_read_unlock();
   }
 
+  if (result == -EINPROGRESS) {
+    // come back later.
+    return;
+  }
+
   if (result == -EAGAIN) {
     // clean up after the ctx
-    delete ctx;
-    put_object_context(obc);
-    put_object_contexts(src_obc);
+    close_op_ctx(ctx);
     return;
   }
 
   // check for full
   if (ctx->delta_stats.num_bytes > 0 &&
       pool.info.get_flags() & pg_pool_t::FLAG_FULL) {
-    delete ctx;
-    put_object_context(obc);
-    put_object_contexts(src_obc);
-    osd->reply_op_error(op, -ENOSPC);
+    reply_ctx(ctx, -ENOSPC);
     return;
   }
 
@@ -1037,39 +1345,43 @@ void ReplicatedPG::do_op(OpRequestRef op)
   // possible to construct an operation that does a read, does a guard
   // check (e.g., CMPXATTR), and then a write.  Then we either succeed
   // with the write, or return a CMPXATTR and the read value.
-  if (ctx->op_t.empty() && !ctx->modify) {
+  if ((ctx->op_t.empty() && !ctx->modify) || result < 0) {
     // read.
     ctx->reply->claim_op_out_data(ctx->ops);
     ctx->reply->get_header().data_off = ctx->data_off;
   } else {
     // write.  normalize the result code.
-    if (result > 0)
+    if (result > 0) {
+      dout(20) << " zeroing write result code " << result << dendl;
       result = 0;
+    }
   }
   ctx->reply->set_result(result);
 
-  if (result >= 0)
-    ctx->reply->set_version(ctx->reply_version);
-  else if (result == -ENOENT)
-    ctx->reply->set_version(info.last_update);
-
   // read or error?
   if (ctx->op_t.empty() || result < 0) {
+    MOSDOpReply *reply = ctx->reply;
+    ctx->reply = NULL;
+
     if (result >= 0) {
       log_op_stats(ctx);
       publish_stats_to_osd();
+
+      // on read, return the current object version
+      reply->set_reply_versions(eversion_t(), ctx->obs->oi.user_version);
+    } else if (result == -ENOENT) {
+      // on ENOENT, set a floor for what the next user version will be. 
+      reply->set_enoent_reply_versions(info.last_update, info.last_user_version);
     }
     
-    MOSDOpReply *reply = ctx->reply;
-    ctx->reply = NULL;
     reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK);
     osd->send_message_osd_client(reply, m->get_connection());
-    delete ctx;
-    put_object_context(obc);
-    put_object_contexts(src_obc);
+    close_op_ctx(ctx);
     return;
   }
 
+  ctx->reply->set_reply_versions(ctx->at_version, ctx->user_at_version);
+
   assert(op->may_write());
 
   // trim log?
@@ -1077,11 +1389,8 @@ void ReplicatedPG::do_op(OpRequestRef op)
 
   append_log(ctx->log, pg_trim_to, ctx->local_t);
   
-  // continuing on to write path, make sure object context is registered
-  assert(obc->registered);
-
   // verify that we are doing this in order?
-  if (g_conf->osd_debug_op_order && m->get_source().is_client()) {
+  if (cct->_conf->osd_debug_op_order && m->get_source().is_client()) {
     map<client_t,tid_t>& cm = debug_op_order[obc->obs.oi.soid];
     tid_t t = m->get_tid();
     client_t n = m->get_source().num();
@@ -1106,26 +1415,37 @@ void ReplicatedPG::do_op(OpRequestRef op)
 
   repop->src_obc.swap(src_obc); // and src_obc.
 
-  issue_repop(repop, now, old_last_update, old_exists, old_size, old_version);
+  issue_repop(repop, now);
 
   eval_repop(repop);
   repop->put();
 }
 
+void ReplicatedPG::reply_ctx(OpContext *ctx, int r)
+{
+  osd->reply_op_error(ctx->op, r);
+  close_op_ctx(ctx);
+}
+
+void ReplicatedPG::reply_ctx(OpContext *ctx, int r, eversion_t v, version_t uv)
+{
+  osd->reply_op_error(ctx->op, r, v, uv);
+  close_op_ctx(ctx);
+}
 
 void ReplicatedPG::log_op_stats(OpContext *ctx)
 {
   OpRequestRef op = ctx->op;
-  MOSDOp *m = static_cast<MOSDOp*>(op->request);
+  MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
 
-  utime_t now = ceph_clock_now(g_ceph_context);
+  utime_t now = ceph_clock_now(cct);
   utime_t latency = now;
-  latency -= ctx->op->request->get_recv_stamp();
+  latency -= ctx->op->get_req()->get_recv_stamp();
 
   utime_t rlatency;
   if (ctx->readable_stamp != utime_t()) {
     rlatency = ctx->readable_stamp;
-    rlatency -= ctx->op->request->get_recv_stamp();
+    rlatency -= ctx->op->get_req()->get_recv_stamp();
   }
 
   uint64_t inb = ctx->bytes_written;
@@ -1155,48 +1475,23 @@ void ReplicatedPG::log_op_stats(OpContext *ctx)
   } else
     assert(0);
 
-  dout(15) << "log_op_stats " << *m
-	   << " inb " << inb
-	   << " outb " << outb
-	   << " rlat " << rlatency
-	   << " lat " << latency << dendl;
-}
-
-void ReplicatedPG::log_subop_stats(OpRequestRef op, int tag_inb, int tag_lat)
-{
-  utime_t now = ceph_clock_now(g_ceph_context);
-  utime_t latency = now;
-  latency -= op->request->get_recv_stamp();
-
-  uint64_t inb = op->request->get_data().length();
-
-  osd->logger->inc(l_osd_sop);
-
-  osd->logger->inc(l_osd_sop_inb, inb);
-  osd->logger->tinc(l_osd_sop_lat, latency);
-
-  if (tag_inb)
-    osd->logger->inc(tag_inb, inb);
-  osd->logger->tinc(tag_lat, latency);
-}
-
-
+  dout(15) << "log_op_stats " << *m
+	   << " inb " << inb
+	   << " outb " << outb
+	   << " rlat " << rlatency
+	   << " lat " << latency << dendl;
+}
 
 void ReplicatedPG::do_sub_op(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(have_same_or_newer_map(m->map_epoch));
   assert(m->get_header().type == MSG_OSD_SUBOP);
-  dout(15) << "do_sub_op " << *op->request << dendl;
+  dout(15) << "do_sub_op " << *op->get_req() << dendl;
 
   OSDOp *first = NULL;
   if (m->ops.size() >= 1) {
     first = &m->ops[0];
-    switch (first->op.op) {
-    case CEPH_OSD_OP_PULL:
-      sub_op_pull(op);
-      return;
-    }
   }
 
   if (!is_active()) {
@@ -1207,9 +1502,6 @@ void ReplicatedPG::do_sub_op(OpRequestRef op)
 
   if (first) {
     switch (first->op.op) {
-    case CEPH_OSD_OP_PUSH:
-      sub_op_push(op);
-      return;
     case CEPH_OSD_OP_DELETE:
       sub_op_remove(op);
       return;
@@ -1233,16 +1525,11 @@ void ReplicatedPG::do_sub_op(OpRequestRef op)
 
 void ReplicatedPG::do_sub_op_reply(OpRequestRef op)
 {
-  MOSDSubOpReply *r = static_cast<MOSDSubOpReply *>(op->request);
+  MOSDSubOpReply *r = static_cast<MOSDSubOpReply *>(op->get_req());
   assert(r->get_header().type == MSG_OSD_SUBOPREPLY);
   if (r->ops.size() >= 1) {
     OSDOp& first = r->ops[0];
     switch (first.op.op) {
-    case CEPH_OSD_OP_PUSH:
-      // continue peer recovery
-      sub_op_push_reply(op);
-      return;
-
     case CEPH_OSD_OP_SCRUB_RESERVE:
       sub_op_scrub_reserve_reply(op);
       return;
@@ -1256,7 +1543,7 @@ void ReplicatedPG::do_scan(
   OpRequestRef op,
   ThreadPool::TPHandle &handle)
 {
-  MOSDPGScan *m = static_cast<MOSDPGScan*>(op->request);
+  MOSDPGScan *m = static_cast<MOSDPGScan*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_SCAN);
   dout(10) << "do_scan " << *m << dendl;
 
@@ -1279,10 +1566,14 @@ void ReplicatedPG::do_scan(
       }
 
       BackfillInterval bi;
-      osr->flush();
+      bi.begin = m->begin;
+      // No need to flush, there won't be any in progress writes occuring
+      // past m->begin
       scan_range(
-	m->begin, g_conf->osd_backfill_scan_min,
-	g_conf->osd_backfill_scan_max, &bi, handle);
+	cct->_conf->osd_backfill_scan_min,
+	cct->_conf->osd_backfill_scan_max,
+	&bi,
+	handle);
       MOSDPGScan *reply = new MOSDPGScan(MOSDPGScan::OP_SCAN_DIGEST,
 					 get_osdmap()->get_epoch(), m->query_epoch,
 					 info.pgid, bi.begin, bi.end);
@@ -1315,11 +1606,6 @@ void ReplicatedPG::do_scan(
 	}
       }
 
-      backfill_pos = backfill_info.begin > peer_backfill_info.begin ?
-	peer_backfill_info.begin : backfill_info.begin;
-      release_waiting_for_backfill_pos();
-      dout(10) << " backfill_pos now " << backfill_pos << dendl;
-
       assert(waiting_on_backfill);
       waiting_on_backfill = false;
       finish_recovery_op(bi.begin);
@@ -1328,9 +1614,9 @@ void ReplicatedPG::do_scan(
   }
 }
 
-void ReplicatedPG::_do_push(OpRequestRef op)
+void ReplicatedBackend::_do_push(OpRequestRef op)
 {
-  MOSDPGPush *m = static_cast<MOSDPGPush *>(op->request);
+  MOSDPGPush *m = static_cast<MOSDPGPush *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_PUSH);
   int from = m->get_source().num();
 
@@ -1345,52 +1631,93 @@ void ReplicatedPG::_do_push(OpRequestRef op)
 
   MOSDPGPushReply *reply = new MOSDPGPushReply;
   reply->set_priority(m->get_priority());
-  reply->pgid = info.pgid;
+  reply->pgid = get_info().pgid;
   reply->map_epoch = m->map_epoch;
   reply->replies.swap(replies);
-  reply->compute_cost(g_ceph_context);
+  reply->compute_cost(cct);
 
-  t->register_on_complete(new C_OSD_SendMessageOnConn(
-			    osd, reply, m->get_connection()));
+  t->register_on_complete(
+    new C_OSD_SendMessageOnConn(
+      osd, reply, m->get_connection()));
 
-  osd->store->queue_transaction(osr.get(), t);
+  get_parent()->queue_transaction(t);
 }
 
-void ReplicatedPG::_do_pull_response(OpRequestRef op)
+struct C_ReplicatedBackend_OnPullComplete : GenContext<ThreadPool::TPHandle&> {
+  ReplicatedBackend *bc;
+  list<hobject_t> to_continue;
+  int priority;
+  C_ReplicatedBackend_OnPullComplete(ReplicatedBackend *bc, int priority)
+    : bc(bc), priority(priority) {}
+
+  void finish(ThreadPool::TPHandle &handle) {
+    ReplicatedBackend::RPGHandle *h = bc->_open_recovery_op();
+    for (list<hobject_t>::iterator i =
+	   to_continue.begin();
+	 i != to_continue.end();
+	 ++i) {
+      map<hobject_t, ReplicatedBackend::PullInfo>::iterator j =
+	bc->pulling.find(*i);
+      assert(j != bc->pulling.end());
+      if (!bc->start_pushes(*i, j->second.obc, h)) {
+	bc->get_parent()->on_global_recover(
+	  *i);
+      }
+      bc->pulling.erase(*i);
+      handle.reset_tp_timeout();
+    }
+    bc->run_recovery_op(h, priority);
+  }
+};
+
+void ReplicatedBackend::_do_pull_response(OpRequestRef op)
 {
-  MOSDPGPush *m = static_cast<MOSDPGPush *>(op->request);
+  MOSDPGPush *m = static_cast<MOSDPGPush *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_PUSH);
   int from = m->get_source().num();
 
   vector<PullOp> replies(1);
   ObjectStore::Transaction *t = new ObjectStore::Transaction;
+  list<hobject_t> to_continue;
   for (vector<PushOp>::iterator i = m->pushes.begin();
        i != m->pushes.end();
        ++i) {
-    bool more = handle_pull_response(from, *i, &(replies.back()), t);
+    bool more = handle_pull_response(from, *i, &(replies.back()), &to_continue, t);
     if (more)
       replies.push_back(PullOp());
   }
+  if (!to_continue.empty()) {
+    C_ReplicatedBackend_OnPullComplete *c =
+      new C_ReplicatedBackend_OnPullComplete(
+	this,
+	m->get_priority());
+    c->to_continue.swap(to_continue);
+    t->register_on_complete(
+      new C_QueueInWQ(
+	&osd->push_wq,
+	get_parent()->bless_gencontext(c)));
+  }
   replies.erase(replies.end() - 1);
 
   if (replies.size()) {
     MOSDPGPull *reply = new MOSDPGPull;
     reply->set_priority(m->get_priority());
-    reply->pgid = info.pgid;
+    reply->pgid = get_info().pgid;
     reply->map_epoch = m->map_epoch;
     reply->pulls.swap(replies);
-    reply->compute_cost(g_ceph_context);
+    reply->compute_cost(cct);
 
-    t->register_on_complete(new C_OSD_SendMessageOnConn(
-			      osd, reply, m->get_connection()));
+    t->register_on_complete(
+      new C_OSD_SendMessageOnConn(
+	osd, reply, m->get_connection()));
   }
 
-  osd->store->queue_transaction(osr.get(), t);
+  get_parent()->queue_transaction(t);
 }
 
-void ReplicatedPG::do_pull(OpRequestRef op)
+void ReplicatedBackend::do_pull(OpRequestRef op)
 {
-  MOSDPGPull *m = static_cast<MOSDPGPull *>(op->request);
+  MOSDPGPull *m = static_cast<MOSDPGPull *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_PULL);
   int from = m->get_source().num();
 
@@ -1404,9 +1731,9 @@ void ReplicatedPG::do_pull(OpRequestRef op)
   send_pushes(m->get_priority(), replies);
 }
 
-void ReplicatedPG::do_push_reply(OpRequestRef op)
+void ReplicatedBackend::do_push_reply(OpRequestRef op)
 {
-  MOSDPGPushReply *m = static_cast<MOSDPGPushReply *>(op->request);
+  MOSDPGPushReply *m = static_cast<MOSDPGPushReply *>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_PUSH_REPLY);
   int from = m->get_source().num();
 
@@ -1427,7 +1754,7 @@ void ReplicatedPG::do_push_reply(OpRequestRef op)
 
 void ReplicatedPG::do_backfill(OpRequestRef op)
 {
-  MOSDPGBackfill *m = static_cast<MOSDPGBackfill*>(op->request);
+  MOSDPGBackfill *m = static_cast<MOSDPGBackfill*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_PG_BACKFILL);
   dout(10) << "do_backfill " << *m << dendl;
 
@@ -1437,12 +1764,12 @@ void ReplicatedPG::do_backfill(OpRequestRef op)
   case MOSDPGBackfill::OP_BACKFILL_FINISH:
     {
       assert(is_replica());
-      assert(g_conf->osd_kill_backfill_at != 1);
+      assert(cct->_conf->osd_kill_backfill_at != 1);
 
       MOSDPGBackfill *reply = new MOSDPGBackfill(MOSDPGBackfill::OP_BACKFILL_FINISH_ACK,
 						 get_osdmap()->get_epoch(), m->query_epoch,
 						 info.pgid);
-      reply->set_priority(g_conf->osd_recovery_op_priority);
+      reply->set_priority(cct->_conf->osd_recovery_op_priority);
       osd->send_message_osd_cluster(reply, m->get_connection());
       queue_peering_event(
 	CephPeeringEvtRef(
@@ -1456,7 +1783,7 @@ void ReplicatedPG::do_backfill(OpRequestRef op)
   case MOSDPGBackfill::OP_BACKFILL_PROGRESS:
     {
       assert(is_replica());
-      assert(g_conf->osd_kill_backfill_at != 2);
+      assert(cct->_conf->osd_kill_backfill_at != 2);
 
       info.last_backfill = m->last_backfill;
       if (m->compat_stat_sum) {
@@ -1476,7 +1803,7 @@ void ReplicatedPG::do_backfill(OpRequestRef op)
   case MOSDPGBackfill::OP_BACKFILL_FINISH_ACK:
     {
       assert(is_primary());
-      assert(g_conf->osd_kill_backfill_at != 3);
+      assert(cct->_conf->osd_kill_backfill_at != 3);
       finish_recovery_op(hobject_t::get_max());
     }
     break;
@@ -1487,14 +1814,13 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
 {
   // load clone info
   bufferlist bl;
-  ObjectContext *obc = 0;
+  ObjectContextRef obc;
   int r = find_object_context(coid, &obc, false, NULL);
   if (r == -ENOENT || coid.snap != obc->obs.oi.soid.snap) {
     derr << __func__ << "could not find coid " << coid << dendl;
     assert(0);
   }
   assert(r == 0);
-  assert(obc->registered);
 
   object_info_t &coi = obc->obs.oi;
   set<snapid_t> old_snaps(coi.snaps.begin(), coi.snaps.end());
@@ -1526,7 +1852,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
     &obc->obs,
     obc->ssc,
     this);
-  ctx->mtime = ceph_clock_now(g_ceph_context);
+  ctx->mtime = ceph_clock_now(cct);
 
   ctx->at_version.epoch = get_osdmap()->get_epoch();
   ctx->at_version.version = pg_log.get_head().version + 1;
@@ -1599,6 +1925,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
 	coid,
 	ctx->at_version,
 	ctx->obs->oi.version,
+	0,
 	osd_reqid_t(),
 	ctx->mtime)
       );
@@ -1621,6 +1948,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
 	coid,
 	coi.version,
 	coi.prior_version,
+	0,
 	osd_reqid_t(),
 	ctx->mtime)
       );
@@ -1636,7 +1964,6 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
     snapset.head_exists ? CEPH_NOSNAP:CEPH_SNAPDIR, coid.hash,
     info.pgid.pool(), coid.get_namespace());
   ctx->snapset_obc = get_object_context(snapoid, false);
-  assert(ctx->snapset_obc->registered);
 
   if (snapset.clones.empty() && !snapset.head_exists) {
     dout(10) << coid << " removing " << snapoid << dendl;
@@ -1646,6 +1973,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
 	snapoid,
 	ctx->at_version,
 	ctx->snapset_obc->obs.oi.version,
+	0,
 	osd_reqid_t(),
 	ctx->mtime)
       );
@@ -1660,6 +1988,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid)
 	snapoid,
 	ctx->at_version,
 	ctx->snapset_obc->obs.oi.version,
+	0,
 	osd_reqid_t(),
 	ctx->mtime)
       );
@@ -1690,7 +2019,6 @@ void ReplicatedPG::snap_trimmer()
   dout(10) << "snap_trimmer entry" << dendl;
   if (is_primary()) {
     entity_inst_t nobody;
-    assert(mode.try_write(nobody));
     if (scrubber.active) {
       dout(10) << " scrubbing, will requeue snap_trimmer after" << dendl;
       scrubber.queue_snap_trim = true;
@@ -2046,11 +2374,11 @@ int ReplicatedPG::do_tmapup(OpContext *ctx, bufferlist::iterator& bp, OSDOp& osd
   return result;
 }
 
-static int check_offset_and_length(uint64_t offset, uint64_t length)
+static int check_offset_and_length(uint64_t offset, uint64_t length, uint64_t max)
 {
-  if (offset >= g_conf->osd_max_object_size ||
-      length > g_conf->osd_max_object_size ||
-      offset + length > g_conf->osd_max_object_size)
+  if (offset >= max ||
+      length > max ||
+      offset + length > max)
     return -EFBIG;
 
   return 0;
@@ -2088,9 +2416,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->user_modify = true;
     }
 
-    ObjectContext *src_obc = 0;
+    ObjectContextRef src_obc;
     if (ceph_osd_op_type_multi(op.op)) {
-      MOSDOp *m = static_cast<MOSDOp *>(ctx->op->request);
+      MOSDOp *m = static_cast<MOSDOp *>(ctx->op->get_req());
       object_locator_t src_oloc;
       get_src_oloc(soid.oid, m->get_object_locator(), src_oloc);
       hobject_t src_oid(osd_op.soid, src_oloc.key, soid.hash,
@@ -2109,9 +2437,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
     // munge ZERO -> TRUNCATE?  (don't munge to DELETE or we risk hosing attributes)
     if (op.op == CEPH_OSD_OP_ZERO &&
 	obs.exists &&
-	op.extent.offset < g_conf->osd_max_object_size &&
+	op.extent.offset < cct->_conf->osd_max_object_size &&
 	op.extent.length >= 1 &&
-	op.extent.length <= g_conf->osd_max_object_size &&
+	op.extent.length <= cct->_conf->osd_max_object_size &&
 	op.extent.offset + op.extent.length >= oi.size) {
       if (op.extent.offset >= oi.size) {
         // no-op
@@ -2127,6 +2455,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       // --- READS ---
 
     case CEPH_OSD_OP_READ:
+      ++ctx->num_read;
       {
 	// read into a buffer
 	bufferlist bl;
@@ -2171,6 +2500,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
     /* map extents */
     case CEPH_OSD_OP_MAPEXT:
+      ++ctx->num_read;
       {
 	// read into a buffer
 	bufferlist bl;
@@ -2186,6 +2516,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
     /* map extents */
     case CEPH_OSD_OP_SPARSE_READ:
+      ++ctx->num_read;
       {
         if (op.extent.truncate_seq) {
           dout(0) << "sparse_read does not support truncation sequence " << dendl;
@@ -2208,7 +2539,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	uint64_t last = op.extent.offset;
         for (miter = m.begin(); miter != m.end(); ++miter) {
 	  // verify hole?
-	  if (g_conf->osd_verify_sparse_read_holes &&
+	  if (cct->_conf->osd_verify_sparse_read_holes &&
 	      last < miter->first) {
 	    bufferlist t;
 	    uint64_t len = miter->first - last;
@@ -2233,7 +2564,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
         }
 
 	// verify trailing hole?
-	if (g_conf->osd_verify_sparse_read_holes) {
+	if (cct->_conf->osd_verify_sparse_read_holes) {
 	  uint64_t end = MIN(op.extent.offset + op.extent.length, oi.size);
 	  if (last < end) {
 	    bufferlist t;
@@ -2297,7 +2628,21 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
 	bufferlist outdata;
 	dout(10) << "call method " << cname << "." << mname << dendl;
+	int prev_rd = ctx->num_read;
+	int prev_wr = ctx->num_write;
 	result = method->exec((cls_method_context_t)&ctx, indata, outdata);
+
+	if (ctx->num_read > prev_rd && !(flags & CLS_METHOD_RD)) {
+	  derr << "method " << cname << "." << mname << " tried to read object but is not marked RD" << dendl;
+	  result = -EIO;
+	  break;
+	}
+	if (ctx->num_write > prev_wr && !(flags & CLS_METHOD_WR)) {
+	  derr << "method " << cname << "." << mname << " tried to update object but is not marked WR" << dendl;
+	  result = -EIO;
+	  break;
+	}
+
 	dout(10) << "method called response length=" << outdata.length() << dendl;
 	op.extent.length = outdata.length();
 	osd_op.outdata.claim_append(outdata);
@@ -2308,6 +2653,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_STAT:
+      // note: stat does not require RD
       {
 	if (obs.exists) {
 	  ::encode(oi.size, osd_op.outdata);
@@ -2322,12 +2668,35 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       }
       break;
 
+    case CEPH_OSD_OP_ISDIRTY:
+      ++ctx->num_read;
+      {
+	bool is_dirty = obs.oi.is_dirty();
+	::encode(is_dirty, osd_op.outdata);
+	ctx->delta_stats.num_rd++;
+	result = 0;
+      }
+      break;
+
+    case CEPH_OSD_OP_UNDIRTY:
+      ++ctx->num_write;
+      {
+	ctx->undirty = true;  // see make_writeable()
+	ctx->modify = true;
+	ctx->delta_stats.num_wr++;
+      }
+      break;
+
     case CEPH_OSD_OP_GETXATTR:
+      ++ctx->num_read;
       {
 	string aname;
 	bp.copy(op.xattr.name_len, aname);
 	string name = "_" + aname;
-	int r = osd->store->getattr(coll, soid, name.c_str(), osd_op.outdata);
+	int r = pgbackend->objects_get_attr(
+	  soid,
+	  name,
+	  &(osd_op.outdata));
 	if (r >= 0) {
 	  op.xattr.value_len = r;
 	  result = 0;
@@ -2339,6 +2708,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
    case CEPH_OSD_OP_GETXATTRS:
+      ++ctx->num_read;
       {
 	map<string,bufferptr> attrset;
         result = osd->store->getattrs(coll, soid, attrset, true);
@@ -2360,6 +2730,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       
     case CEPH_OSD_OP_CMPXATTR:
     case CEPH_OSD_OP_SRC_CMPXATTR:
+      ++ctx->num_read;
       {
 	string aname;
 	bp.copy(op.xattr.name_len, aname);
@@ -2368,9 +2739,15 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	
 	bufferlist xattr;
 	if (op.op == CEPH_OSD_OP_CMPXATTR)
-	  result = osd->store->getattr(coll, soid, name.c_str(), xattr);
+	  result = pgbackend->objects_get_attr(
+	    soid,
+	    name,
+	    &xattr);
 	else
-	  result = osd->store->getattr(coll, src_obc->obs.oi.soid, name.c_str(), xattr);
+	  result = pgbackend->objects_get_attr(
+	    src_obc->obs.oi.soid,
+	    name,
+	    &xattr);
 	if (result < 0 && result != -EEXIST && result != -ENODATA)
 	  break;
 	
@@ -2425,18 +2802,20 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_ASSERT_VER:
+      ++ctx->num_read;
       {
 	uint64_t ver = op.watch.ver;
 	if (!ver)
 	  result = -EINVAL;
-        else if (ver < oi.user_version.version)
+        else if (ver < oi.user_version)
 	  result = -ERANGE;
-	else if (ver > oi.user_version.version)
+	else if (ver > oi.user_version)
 	  result = -EOVERFLOW;
-	break;
       }
+      break;
 
     case CEPH_OSD_OP_LIST_WATCHERS:
+      ++ctx->num_read;
       {
         obj_list_watch_response_t resp;
 
@@ -2462,6 +2841,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       }
 
     case CEPH_OSD_OP_LIST_SNAPS:
+      ++ctx->num_read;
       {
         obj_list_snap_response_t resp;
 
@@ -2482,7 +2862,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
 	  hobject_t clone_oid = soid;
 	  clone_oid.snap = *clone_iter;
-	  ObjectContext *clone_obc = ctx->src_obc[clone_oid];
+	  ObjectContextRef clone_obc = ctx->src_obc[clone_oid];
           assert(clone_obc);
 	  for (vector<snapid_t>::reverse_iterator p = clone_obc->obs.oi.snaps.rbegin();
 	       p != clone_obc->obs.oi.snaps.rend();
@@ -2539,18 +2919,20 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       }
 
     case CEPH_OSD_OP_ASSERT_SRC_VERSION:
+      ++ctx->num_read;
       {
-	uint64_t ver = op.watch.ver;
+	uint64_t ver = op.assert_ver.ver;
 	if (!ver)
 	  result = -EINVAL;
-        else if (ver < src_obc->obs.oi.user_version.version)
+        else if (ver < src_obc->obs.oi.user_version)
 	  result = -ERANGE;
-	else if (ver > src_obc->obs.oi.user_version.version)
+	else if (ver > src_obc->obs.oi.user_version)
 	  result = -EOVERFLOW;
 	break;
       }
 
    case CEPH_OSD_OP_NOTIFY:
+      ++ctx->num_read;
       {
 	uint32_t ver;
 	uint32_t timeout;
@@ -2564,7 +2946,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	  timeout = 0;
 	}
 	if (!timeout)
-	  timeout = g_conf->osd_default_notify_timeout;
+	  timeout = cct->_conf->osd_default_notify_timeout;
 
 	notify_info_t n;
 	n.timeout = timeout;
@@ -2575,6 +2957,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_NOTIFY_ACK:
+      ++ctx->num_read;
       {
 	try {
 	  uint64_t notify_id = 0;
@@ -2599,7 +2982,12 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       // -- object data --
 
     case CEPH_OSD_OP_WRITE:
+      ++ctx->num_write;
       { // write
+	if (op.extent.length != osd_op.indata.length()) {
+	  result = -EINVAL;
+	  break;
+	}
         __u32 seq = oi.truncate_seq;
         if (seq && (seq > op.extent.truncate_seq) &&
             (op.extent.offset + op.extent.length > oi.size)) {
@@ -2607,6 +2995,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	  op.extent.length = (op.extent.offset > oi.size ? 0 : oi.size - op.extent.offset);
 	  dout(10) << " old truncate_seq " << op.extent.truncate_seq << " < current " << seq
 		   << ", adjusting write length to " << op.extent.length << dendl;
+	  bufferlist t;
+	  t.substr_of(osd_op.indata, 0, op.extent.length);
+	  osd_op.indata.swap(t);
         }
 	if (op.extent.truncate_seq > seq) {
 	  // write arrives before trimtrunc
@@ -2628,12 +3019,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	    oi.truncate_size = op.extent.truncate_size;
 	  }
 	}
-	result = check_offset_and_length(op.extent.offset, op.extent.length);
+	result = check_offset_and_length(op.extent.offset, op.extent.length, cct->_conf->osd_max_object_size);
 	if (result < 0)
 	  break;
-	bufferlist nbl;
-	bp.copy(op.extent.length, nbl);
-	t.write(coll, soid, op.extent.offset, op.extent.length, nbl);
+	t.write(coll, soid, op.extent.offset, op.extent.length, osd_op.indata);
 	write_update_size_and_usage(ctx->delta_stats, oi, ssc->snapset, ctx->modified_ranges,
 				    op.extent.offset, op.extent.length, true);
 	if (!obs.exists) {
@@ -2644,19 +3033,22 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
       
     case CEPH_OSD_OP_WRITEFULL:
+      ++ctx->num_write;
       { // write full object
-	result = check_offset_and_length(op.extent.offset, op.extent.length);
+	if (op.extent.length != osd_op.indata.length()) {
+	  result = -EINVAL;
+	  break;
+	}
+	result = check_offset_and_length(op.extent.offset, op.extent.length, cct->_conf->osd_max_object_size);
 	if (result < 0)
 	  break;
-	bufferlist nbl;
-	bp.copy(op.extent.length, nbl);
 	if (obs.exists) {
 	  t.truncate(coll, soid, 0);
 	} else {
 	  ctx->delta_stats.num_objects++;
 	  obs.exists = true;
 	}
-	t.write(coll, soid, op.extent.offset, op.extent.length, nbl);
+	t.write(coll, soid, op.extent.offset, op.extent.length, osd_op.indata);
 	interval_set<uint64_t> ch;
 	if (oi.size > 0)
 	  ch.insert(0, oi.size);
@@ -2672,12 +3064,14 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_ROLLBACK :
+      ++ctx->num_write;
       result = _rollback_to(ctx, op);
       break;
 
     case CEPH_OSD_OP_ZERO:
+      ++ctx->num_write;
       { // zero
-	result = check_offset_and_length(op.extent.offset, op.extent.length);
+	result = check_offset_and_length(op.extent.offset, op.extent.length, cct->_conf->osd_max_object_size);
 	if (result < 0)
 	  break;
 	assert(op.extent.length);
@@ -2693,6 +3087,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       }
       break;
     case CEPH_OSD_OP_CREATE:
+      ++ctx->num_write;
       {
         int flags = le32_to_cpu(op.flags);
 	if (obs.exists && (flags & CEPH_OSD_OP_FLAG_EXCL)) {
@@ -2725,12 +3120,13 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	}
       }
       break;
-      
+
     case CEPH_OSD_OP_TRIMTRUNC:
       op.extent.offset = op.extent.truncate_size;
       // falling through
 
     case CEPH_OSD_OP_TRUNCATE:
+      ++ctx->num_write;
       {
 	// truncate
 	if (!obs.exists) {
@@ -2738,7 +3134,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	  break;
 	}
 
-	if (op.extent.offset > g_conf->osd_max_object_size) {
+	if (op.extent.offset > cct->_conf->osd_max_object_size) {
 	  result = -EFBIG;
 	  break;
 	}
@@ -2773,6 +3169,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
     
     case CEPH_OSD_OP_DELETE:
+      ++ctx->num_write;
       if (ctx->obc->obs.oi.watchers.size()) {
 	// Cannot delete an object with watchers
 	result = -EBUSY;
@@ -2782,6 +3179,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_CLONERANGE:
+      ++ctx->num_read;
+      ++ctx->num_write;
       {
 	if (!obs.exists) {
 	  t.touch(coll, obs.oi.soid);
@@ -2806,21 +3205,21 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
       
     case CEPH_OSD_OP_WATCH:
+      ++ctx->num_write;
       {
         uint64_t cookie = op.watch.cookie;
 	bool do_watch = op.watch.flag & 1;
         entity_name_t entity = ctx->reqid.name;
-	ObjectContext *obc = ctx->obc;
+	ObjectContextRef obc = ctx->obc;
 
-	dout(10) << "watch: ctx->obc=" << (void *)obc << " cookie=" << cookie
+	dout(10) << "watch: ctx->obc=" << (void *)obc.get() << " cookie=" << cookie
 		 << " oi.version=" << oi.version.version << " ctx->at_version=" << ctx->at_version << dendl;
-	dout(10) << "watch: oi.user_version=" << oi.user_version.version << dendl;
+	dout(10) << "watch: oi.user_version=" << oi.user_version<< dendl;
 	dout(10) << "watch: peer_addr="
-	  << ctx->op->request->get_connection()->get_peer_addr() << dendl;
+	  << ctx->op->get_req()->get_connection()->get_peer_addr() << dendl;
 
-	// FIXME: where does the timeout come from?
-	watch_info_t w(cookie, 30,
-	  ctx->op->request->get_connection()->get_peer_addr());
+	watch_info_t w(cookie, cct->_conf->osd_client_watch_timeout,
+	  ctx->op->get_req()->get_connection()->get_peer_addr());
 	if (do_watch) {
 	  if (oi.watchers.count(make_pair(cookie, entity))) {
 	    dout(10) << " found existing watch " << w << " by " << entity << dendl;
@@ -2830,7 +3229,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	    t.nop();  // make sure update the object_info on disk!
 	  }
 	  ctx->watch_connects.push_back(w);
-	  assert(obc->registered);
         } else {
 	  map<pair<uint64_t, entity_name_t>, watch_info_t>::iterator oi_iter =
 	    oi.watchers.find(make_pair(cookie, entity));
@@ -2851,8 +3249,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       // -- object attrs --
       
     case CEPH_OSD_OP_SETXATTR:
+      ++ctx->num_write;
       {
-	if (op.xattr.value_len > g_conf->osd_max_attr_size) {
+	if (cct->_conf->osd_max_attr_size > 0 &&
+	    op.xattr.value_len > cct->_conf->osd_max_attr_size) {
 	  result = -EFBIG;
 	  break;
 	}
@@ -2872,6 +3272,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_RMXATTR:
+      ++ctx->num_write;
       {
 	string aname;
 	bp.copy(op.xattr.name_len, aname);
@@ -2884,6 +3285,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
       // -- fancy writers --
     case CEPH_OSD_OP_APPEND:
+      ++ctx->num_write;
       {
 	// just do it inline; this works because we are happy to execute
 	// fancy op on replicas as well.
@@ -2906,6 +3308,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 
       // -- trivial map --
     case CEPH_OSD_OP_TMAPGET:
+      ++ctx->num_read;
       {
 	vector<OSDOp> nops(1);
 	OSDOp& newop = nops[0];
@@ -2918,6 +3321,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_TMAPPUT:
+      ++ctx->num_write;
       {
 	//_dout_lock.Lock();
 	//osd_op.data.hexdump(*_dout);
@@ -2946,11 +3350,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	  }
 	}
 
-	if (g_conf->osd_tmapput_sets_uses_tmap) {
-	  assert(g_conf->osd_auto_upgrade_tmap);
-	  oi.uses_tmap = true;
-	}
-
 	// write it
 	vector<OSDOp> nops(1);
 	OSDOp& newop = nops[0];
@@ -2976,11 +3375,13 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       break;
 
     case CEPH_OSD_OP_TMAPUP:
+      ++ctx->num_write;
       result = do_tmapup(ctx, bp, osd_op);
       break;
 
       // OMAP Read ops
     case CEPH_OSD_OP_OMAPGETKEYS:
+      ++ctx->num_read;
       {
 	string start_after;
 	uint64_t max_return;
@@ -2994,29 +3395,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	}
 	set<string> out_set;
 
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  dout(20) << "CEPH_OSD_OP_OMAPGETKEYS: "
-		   << " Reading " << oi.soid << " omap from tmap" << dendl;
-	  map<string, bufferlist> vals;
-	  bufferlist header;
-	  int r = _get_tmap(ctx, &vals, &header);
-	  if (r == 0) {
-	    map<string, bufferlist>::iterator iter =
-	      vals.upper_bound(start_after);
-	    for (uint64_t i = 0;
-		 i < max_return && iter != vals.end();
-		 ++i, iter++) {
-	      out_set.insert(iter->first);
-	    }
-	    ::encode(out_set, osd_op.outdata);
-	    ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
-	    ctx->delta_stats.num_rd++;
-	    break;
-	  }
-	  dout(10) << "failed, reading from omap" << dendl;
-	  // No valid tmap, use omap
-	}
-
 	{
 	  ObjectMap::ObjectMapIterator iter = osd->store->get_omap_iterator(
 	    coll, soid
@@ -3034,7 +3412,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->delta_stats.num_rd++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPGETVALS:
+      ++ctx->num_read;
       {
 	string start_after;
 	uint64_t max_return;
@@ -3050,30 +3430,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	}
 	map<string, bufferlist> out_set;
 
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  dout(20) << "CEPH_OSD_OP_OMAPGETVALS: "
-		   << " Reading " << oi.soid << " omap from tmap" << dendl;
-	  map<string, bufferlist> vals;
-	  bufferlist header;
-	  int r = _get_tmap(ctx, &vals, &header);
-	  if (r == 0) {
-	    map<string, bufferlist>::iterator iter = vals.upper_bound(start_after);
-	    if (filter_prefix > start_after) iter = vals.lower_bound(filter_prefix);
-	    for (uint64_t i = 0;
-		 i < max_return && iter != vals.end() &&
-		   iter->first.substr(0, filter_prefix.size()) == filter_prefix;
-		 ++i, iter++) {
-	      out_set.insert(*iter);
-	    }
-	    ::encode(out_set, osd_op.outdata);
-	    ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
-	    ctx->delta_stats.num_rd++;
-	    break;
-	  }
-	  // No valid tmap, use omap
-	  dout(10) << "failed, reading from omap" << dendl;
-	}
-
 	{
 	  ObjectMap::ObjectMapIterator iter = osd->store->get_omap_iterator(
 	    coll, soid
@@ -3097,27 +3453,18 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->delta_stats.num_rd++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPGETHEADER:
+      ++ctx->num_read;
       {
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  dout(20) << "CEPH_OSD_OP_OMAPGETHEADER: "
-		   << " Reading " << oi.soid << " omap from tmap" << dendl;
-	  map<string, bufferlist> vals;
-	  bufferlist header;
-	  int r = _get_tmap(ctx, &vals, &header);
-	  if (r == 0) {
-	    osd_op.outdata.claim(header);
-	    break;
-	  }
-	  // No valid tmap, fall through to omap
-	  dout(10) << "failed, reading from omap" << dendl;
-	}
 	osd->store->omap_get_header(coll, soid, &osd_op.outdata);
 	ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
 	ctx->delta_stats.num_rd++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPGETVALSBYKEYS:
+      ++ctx->num_read;
       {
 	set<string> keys_to_get;
 	try {
@@ -3128,35 +3475,15 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	  goto fail;
 	}
 	map<string, bufferlist> out;
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  dout(20) << "CEPH_OSD_OP_OMAPGET: "
-		   << " Reading " << oi.soid << " omap from tmap" << dendl;
-	  map<string, bufferlist> vals;
-	  bufferlist header;
-	  int r = _get_tmap(ctx, &vals, &header);
-	  if (r == 0) {
-	    for (set<string>::iterator iter = keys_to_get.begin();
-		 iter != keys_to_get.end();
-		 ++iter) {
-	      if (vals.count(*iter)) {
-		out.insert(*(vals.find(*iter)));
-	      }
-	    }
-	    ::encode(out, osd_op.outdata);
-	    ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
-	    ctx->delta_stats.num_rd++;
-	    break;
-	  }
-	  // No valid tmap, use omap
-	  dout(10) << "failed, reading from omap" << dendl;
-	}
 	osd->store->omap_get_values(coll, soid, keys_to_get, &out);
 	::encode(out, osd_op.outdata);
 	ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
 	ctx->delta_stats.num_rd++;
       }
       break;
+
     case CEPH_OSD_OP_OMAP_CMP:
+      ++ctx->num_read;
       {
 	if (!obs.exists) {
 	  result = -ENOENT;
@@ -3220,12 +3547,11 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	}
       }
       break;
+
       // OMAP Write ops
     case CEPH_OSD_OP_OMAPSETVALS:
+      ++ctx->num_write;
       {
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  _copy_up_tmap(ctx);
-	}
 	if (!obs.exists) {
 	  ctx->delta_stats.num_objects++;
 	  obs.exists = true;
@@ -3249,11 +3575,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->delta_stats.num_wr++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPSETHEADER:
+      ++ctx->num_write;
       {
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  _copy_up_tmap(ctx);
-	}
 	if (!obs.exists) {
 	  ctx->delta_stats.num_objects++;
 	  obs.exists = true;
@@ -3263,29 +3588,27 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->delta_stats.num_wr++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPCLEAR:
+      ++ctx->num_write;
       {
 	if (!obs.exists) {
 	  result = -ENOENT;
 	  break;
 	}
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  _copy_up_tmap(ctx);
-	}
 	t.touch(coll, soid);
 	t.omap_clear(coll, soid);
 	ctx->delta_stats.num_wr++;
       }
       break;
+
     case CEPH_OSD_OP_OMAPRMKEYS:
+      ++ctx->num_write;
       {
 	if (!obs.exists) {
 	  result = -ENOENT;
 	  break;
 	}
-	if (oi.uses_tmap && g_conf->osd_auto_upgrade_tmap) {
-	  _copy_up_tmap(ctx);
-	}
 	t.touch(coll, soid);
 	set<string> to_rm;
 	try {
@@ -3299,6 +3622,62 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
 	ctx->delta_stats.num_wr++;
       }
       break;
+
+    case CEPH_OSD_OP_COPY_GET_CLASSIC:
+      ++ctx->num_read;
+      result = fill_in_copy_get(bp, osd_op, oi, true);
+      if (result == -EINVAL)
+	goto fail;
+      break;
+
+    case CEPH_OSD_OP_COPY_GET:
+      ++ctx->num_read;
+      result = fill_in_copy_get(bp, osd_op, oi, false);
+      if (result == -EINVAL)
+	goto fail;
+      break;
+
+    case CEPH_OSD_OP_COPY_FROM:
+      ++ctx->num_write;
+      {
+	object_t src_name;
+	object_locator_t src_oloc;
+	snapid_t src_snapid = (uint64_t)op.copy_from.snapid;
+	version_t src_version = op.copy_from.src_version;
+	try {
+	  ::decode(src_name, bp);
+	  ::decode(src_oloc, bp);
+	}
+	catch (buffer::error& e) {
+	  result = -EINVAL;
+	  goto fail;
+	}
+	if (!ctx->copy_cb) {
+	  // start
+	  pg_t raw_pg;
+	  get_osdmap()->object_locator_to_pg(src_name, src_oloc, raw_pg);
+	  hobject_t src(src_name, src_oloc.key, src_snapid,
+			raw_pg.ps(), raw_pg.pool(),
+			src_oloc.nspace);
+	  if (src == soid) {
+	    dout(20) << " copy from self is invalid" << dendl;
+	    result = -EINVAL;
+	    break;
+	  }
+	  hobject_t temp_target = generate_temp_object();
+	  CopyFromCallback *cb = new CopyFromCallback(ctx, temp_target);
+	  ctx->copy_cb = cb;
+	  start_copy(cb, ctx->obc, src, src_oloc, src_version,
+	                      temp_target);
+	  result = -EINPROGRESS;
+	} else {
+	  // finish
+	  assert(ctx->copy_cb->get_result() >= 0);
+	  result = finish_copyfrom(ctx);
+	}
+      }
+      break;
+
     default:
       dout(1) << "unrecognized osd op " << op.op
 	      << " " << ceph_osd_op_name(op.op)
@@ -3340,22 +3719,6 @@ int ReplicatedPG::_get_tmap(OpContext *ctx,
   return 0;
 }
 
-int ReplicatedPG::_copy_up_tmap(OpContext *ctx)
-{
-  dout(20) << "copying up tmap for " << ctx->new_obs.oi.soid << dendl;
-  ctx->new_obs.oi.uses_tmap = false;
-  map<string, bufferlist> vals;
-  bufferlist header;
-  int r = _get_tmap(ctx, &vals, &header);
-  if (r < 0)
-    return 0;
-  ctx->op_t.omap_setkeys(coll, ctx->new_obs.oi.soid,
-			 vals);
-  ctx->op_t.omap_setheader(coll, ctx->new_obs.oi.soid,
-			   header);
-  return 0;
-}
-
 inline int ReplicatedPG::_delete_head(OpContext *ctx)
 {
   SnapSet& snapset = ctx->new_snapset;
@@ -3398,41 +3761,39 @@ int ReplicatedPG::_rollback_to(OpContext *ctx, ceph_osd_op& op)
 
   dout(10) << "_rollback_to " << soid << " snapid " << snapid << dendl;
 
-  ObjectContext *rollback_to;
+  ObjectContextRef rollback_to;
   int ret = find_object_context(
     hobject_t(soid.oid, soid.get_key(), snapid, soid.hash, info.pgid.pool(), soid.get_namespace()),
     &rollback_to, false, &cloneid);
-  if (ret) {
-    if (-ENOENT == ret) {
-      // there's no snapshot here, or there's no object.
-      // if there's no snapshot, we delete the object; otherwise, do nothing.
-      dout(20) << "_rollback_to deleting head on " << soid.oid
-	       << " because got ENOENT on find_object_context" << dendl;
-      if (ctx->obc->obs.oi.watchers.size()) {
-	// Cannot delete an object with watchers
-	ret = -EBUSY;
-      } else {
-	_delete_head(ctx);
-	ret = 0;
-      }
-    } else if (-EAGAIN == ret) {
-      /* a different problem, like degraded pool
-       * with not-yet-restored object. We shouldn't have been able
-       * to get here; recovery should have completed first! */
-      hobject_t rollback_target(soid.oid, soid.get_key(), cloneid, soid.hash,
-				info.pgid.pool(), soid.get_namespace());
-      assert(is_missing_object(rollback_target));
-      dout(20) << "_rollback_to attempted to roll back to a missing object " 
-	       << rollback_target << " (requested snapid: ) " << snapid << dendl;
-      wait_for_missing_object(rollback_target, ctx->op);
+  if (ret == -ENOENT || (rollback_to && rollback_to->obs.oi.is_whiteout())) {
+    // there's no snapshot here, or there's no object.
+    // if there's no snapshot, we delete the object; otherwise, do nothing.
+    dout(20) << "_rollback_to deleting head on " << soid.oid
+	     << " because got ENOENT|whiteout on find_object_context" << dendl;
+    if (ctx->obc->obs.oi.watchers.size()) {
+      // Cannot delete an object with watchers
+      ret = -EBUSY;
     } else {
-      // ummm....huh? It *can't* return anything else at time of writing.
-      assert(0);
-    }
+      _delete_head(ctx);
+      ret = 0;
+    }
+  } else if (-EAGAIN == ret) {
+    /* a different problem, like degraded pool
+     * with not-yet-restored object. We shouldn't have been able
+     * to get here; recovery should have completed first! */
+    hobject_t rollback_target(soid.oid, soid.get_key(), cloneid, soid.hash,
+			      info.pgid.pool(), soid.get_namespace());
+    assert(is_missing_object(rollback_target));
+    dout(20) << "_rollback_to attempted to roll back to a missing object "
+	     << rollback_target << " (requested snapid: ) " << snapid << dendl;
+    wait_for_missing_object(rollback_target, ctx->op);
+  } else if (ret) {
+    // ummm....huh? It *can't* return anything else at time of writing.
+    assert(0 == "unexpected error code in _rollback_to");
   } else { //we got our context, let's use it to do the rollback!
     hobject_t& rollback_to_sobject = rollback_to->obs.oi.soid;
     if (is_degraded_object(rollback_to_sobject)) {
-      dout(20) << "_rollback_to attempted to roll back to a degraded object " 
+      dout(20) << "_rollback_to attempted to roll back to a degraded object "
 	       << rollback_to_sobject << " (requested snapid: ) " << snapid << dendl;
       wait_for_degraded_object(rollback_to_sobject, ctx->op);
       ret = -EAGAIN;
@@ -3481,7 +3842,6 @@ int ReplicatedPG::_rollback_to(OpContext *ctx, ceph_osd_op& op)
       obs.oi.size = rollback_to->obs.oi.size;
       snapset.head_exists = true;
     }
-    put_object_context(rollback_to);
   }
   return ret;
 }
@@ -3509,6 +3869,15 @@ void ReplicatedPG::make_writeable(OpContext *ctx)
   dout(20) << "make_writeable " << soid << " snapset=" << ctx->snapset
 	   << "  snapc=" << snapc << dendl;;
   
+  // we will mark the object dirty
+  if (ctx->undirty) {
+    dout(20) << " clearing DIRTY flag" << dendl;
+    ctx->new_obs.oi.clear_flag(object_info_t::FLAG_DIRTY);
+  } else {
+    dout(20) << " setting DIRTY flag" << dendl;
+    ctx->new_obs.oi.set_flag(object_info_t::FLAG_DIRTY);
+  }
+
   // use newer snapc?
   if (ctx->new_snapset.seq > snapc.seq) {
     snapc.seq = ctx->new_snapset.seq;
@@ -3537,9 +3906,10 @@ void ReplicatedPG::make_writeable(OpContext *ctx)
     object_info_t static_snap_oi(coid);
     object_info_t *snap_oi;
     if (is_primary()) {
-      ctx->clone_obc = new ObjectContext(static_snap_oi, true, NULL);
-      ctx->clone_obc->get();
-      register_object_context(ctx->clone_obc);
+      ctx->clone_obc = object_contexts.lookup_or_create(static_snap_oi.soid);
+      ctx->clone_obc->destructor_callback = new C_PG_ObjectContext(this, ctx->clone_obc.get());
+      ctx->clone_obc->obs.oi = static_snap_oi;
+      ctx->clone_obc->obs.exists = true;
       snap_oi = &ctx->clone_obc->obs.oi;
     } else {
       snap_oi = &static_snap_oi;
@@ -3570,7 +3940,9 @@ void ReplicatedPG::make_writeable(OpContext *ctx)
 	     << " to " << coid << " v " << ctx->at_version
 	     << " snaps=" << snaps << dendl;
     ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::CLONE, coid, ctx->at_version,
-				  ctx->obs->oi.version, ctx->reqid, ctx->new_obs.oi.mtime));
+				      ctx->obs->oi.version,
+				      ctx->obs->oi.user_version,
+				      osd_reqid_t(), ctx->new_obs.oi.mtime));
     ::encode(snaps, ctx->log.back().snaps);
 
     ctx->at_version.version++;
@@ -3624,7 +3996,7 @@ void ReplicatedPG::add_interval_usage(interval_set<uint64_t>& s, object_stat_sum
 
 void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
 {
-  ConnectionRef conn(ctx->op->request->get_connection());
+  ConnectionRef conn(ctx->op->get_req()->get_connection());
   boost::intrusive_ptr<OSD::Session> session(
     (OSD::Session *)conn->get_priv());
   session->put();  // get_priv() takes a ref, and so does the intrusive_ptr
@@ -3687,7 +4059,7 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
 	p->timeout,
 	p->cookie,
 	osd->get_next_id(get_osdmap()->get_epoch()),
-	ctx->obc->obs.oi.user_version.version,
+	ctx->obc->obs.oi.user_version,
 	osd));
     for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator i =
 	   ctx->obc->watchers.begin();
@@ -3716,19 +4088,19 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
   }
 }
 
-bool ReplicatedPG::have_temp_coll()
+coll_t ReplicatedPG::get_temp_coll(ObjectStore::Transaction *t)
 {
-  return temp_created || osd->store->collection_exists(temp_coll);
+  return pgbackend->get_temp_coll(t);
 }
 
-coll_t ReplicatedPG::get_temp_coll(ObjectStore::Transaction *t)
+hobject_t ReplicatedPG::generate_temp_object()
 {
-  if (temp_created)
-    return temp_coll;
-  if (!osd->store->collection_exists(temp_coll))
-      t->create_collection(temp_coll);
-  temp_created = true;
-  return temp_coll;
+  ostringstream ss;
+  ss << "temp_" << info.pgid << "_" << get_role() << "_" << osd->monc->get_global_id() << "_" << (++temp_seq);
+  hobject_t hoid(object_t(ss.str()), "", CEPH_NOSNAP, 0, -1, "");
+  pgbackend->add_temp_obj(hoid);
+  dout(20) << __func__ << " " << hoid << dendl;
+  return hoid;
 }
 
 int ReplicatedPG::prepare_transaction(OpContext *ctx)
@@ -3759,7 +4131,6 @@ int ReplicatedPG::prepare_transaction(OpContext *ctx)
 
   // read-op?  done?
   if (ctx->op_t.empty() && !ctx->modify) {
-    ctx->reply_version = ctx->obs->oi.user_version;
     unstable_stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
     return result;
   }
@@ -3784,97 +4155,429 @@ int ReplicatedPG::prepare_transaction(OpContext *ctx)
 	ctx->op_t.remove(coll, snapoid);
 	dout(10) << " removing old " << snapoid << dendl;
 
-	ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::DELETE, snapoid, ctx->at_version, old_version,
-				      osd_reqid_t(), ctx->mtime));
- 	ctx->at_version.version++;
+	ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::DELETE, snapoid, ctx->at_version, old_version,
+					  0, osd_reqid_t(), ctx->mtime));
+ 	ctx->at_version.version++;
+
+	ctx->snapset_obc->obs.exists = false;
+      }
+    }
+  } else if (ctx->new_snapset.clones.size()) {
+    // save snapset on _snap
+    hobject_t snapoid(soid.oid, soid.get_key(), CEPH_SNAPDIR, soid.hash,
+		      info.pgid.pool(), soid.get_namespace());
+    dout(10) << " final snapset " << ctx->new_snapset
+	     << " in " << snapoid << dendl;
+    ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::MODIFY, snapoid, ctx->at_version, old_version,
+				      0, osd_reqid_t(), ctx->mtime));
+
+    ctx->snapset_obc = get_object_context(snapoid, true);
+    ctx->snapset_obc->obs.exists = true;
+    ctx->snapset_obc->obs.oi.version = ctx->at_version;
+    ctx->snapset_obc->obs.oi.last_reqid = ctx->reqid;
+    ctx->snapset_obc->obs.oi.mtime = ctx->mtime;
+
+    bufferlist bv(sizeof(ctx->new_obs.oi));
+    ::encode(ctx->snapset_obc->obs.oi, bv);
+    ctx->op_t.touch(coll, snapoid);
+    ctx->op_t.setattr(coll, snapoid, OI_ATTR, bv);
+    ctx->op_t.setattr(coll, snapoid, SS_ATTR, bss);
+    ctx->at_version.version++;
+  }
+
+  // finish and log the op.
+  if (ctx->user_modify) {
+    // update the user_version for any modify ops, except for the watch op
+    ctx->user_at_version = MAX(info.last_user_version, ctx->new_obs.oi.user_version) + 1;
+    /* In order for new clients and old clients to interoperate properly
+     * when exchanging versions, we need to lower bound the user_version
+     * (which our new clients pay proper attention to)
+     * by the at_version (which is all the old clients can ever see). */
+    if (ctx->at_version.version > ctx->user_at_version)
+      ctx->user_at_version = ctx->at_version.version;
+    ctx->new_obs.oi.user_version = ctx->user_at_version;
+  }
+  ctx->bytes_written = ctx->op_t.get_encoded_bytes();
+ 
+  if (ctx->new_obs.exists) {
+    // on the head object
+    ctx->new_obs.oi.version = ctx->at_version;
+    ctx->new_obs.oi.prior_version = old_version;
+    ctx->new_obs.oi.last_reqid = ctx->reqid;
+    if (ctx->mtime != utime_t()) {
+      ctx->new_obs.oi.mtime = ctx->mtime;
+      dout(10) << " set mtime to " << ctx->new_obs.oi.mtime << dendl;
+    } else {
+      dout(10) << " mtime unchanged at " << ctx->new_obs.oi.mtime << dendl;
+    }
+
+    bufferlist bv(sizeof(ctx->new_obs.oi));
+    ::encode(ctx->new_obs.oi, bv);
+    ctx->op_t.setattr(coll, soid, OI_ATTR, bv);
+
+    dout(10) << " final snapset " << ctx->new_snapset
+	     << " in " << soid << dendl;
+    ctx->op_t.setattr(coll, soid, SS_ATTR, bss);   
+  }
+
+  // append to log
+  int logopcode = pg_log_entry_t::MODIFY;
+  if (!ctx->new_obs.exists)
+    logopcode = pg_log_entry_t::DELETE;
+  ctx->log.push_back(pg_log_entry_t(logopcode, soid, ctx->at_version, old_version,
+				ctx->user_at_version, ctx->reqid, ctx->mtime));
+
+  // apply new object state.
+  ctx->obc->obs = ctx->new_obs;
+  ctx->obc->ssc->snapset = ctx->new_snapset;
+  info.stats.stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+
+  if (backfill_target >= 0) {
+    pg_info_t& pinfo = peer_info[backfill_target];
+    if (soid <= pinfo.last_backfill)
+      pinfo.stats.stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+    else if (soid <= last_backfill_started)
+      pending_backfill_updates[soid].stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+  }
+
+  if (scrubber.active && scrubber.is_chunky) {
+    assert(soid < scrubber.start || soid >= scrubber.end);
+    if (soid < scrubber.start)
+      scrub_cstat.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+  }
+
+  return result;
+}
+
+// ========================================================================
+// copyfrom
+
+struct C_Copyfrom : public Context {
+  ReplicatedPGRef pg;
+  hobject_t oid;
+  epoch_t last_peering_reset;
+  tid_t tid;
+  C_Copyfrom(ReplicatedPG *p, hobject_t o, epoch_t lpr)
+    : pg(p), oid(o), last_peering_reset(lpr),
+      tid(0)
+  {}
+  void finish(int r) {
+    pg->lock();
+    if (last_peering_reset == pg->get_last_peering_reset()) {
+      pg->process_copy_chunk(oid, tid, r);
+    }
+    pg->unlock();
+  }
+};
+
+int ReplicatedPG::fill_in_copy_get(bufferlist::iterator& bp, OSDOp& osd_op,
+                                   object_info_t& oi, bool classic)
+{
+  hobject_t& soid = oi.soid;
+  int result = 0;
+  object_copy_cursor_t cursor;
+  uint64_t out_max;
+  try {
+    ::decode(cursor, bp);
+    ::decode(out_max, bp);
+  }
+  catch (buffer::error& e) {
+    result = -EINVAL;
+    return result;
+  }
+
+  object_copy_data_t reply_obj;
+  // size, mtime
+  reply_obj.size = oi.size;
+  reply_obj.mtime = oi.mtime;
+  reply_obj.category = oi.category;
+
+  // attrs
+  map<string,bufferlist>& out_attrs = reply_obj.attrs;
+  if (!cursor.attr_complete) {
+    result = osd->store->getattrs(coll, soid, out_attrs, true);
+    if (result < 0)
+      return result;
+    cursor.attr_complete = true;
+    dout(20) << " got attrs" << dendl;
+  }
+
+  int64_t left = out_max - osd_op.outdata.length();
+
+  // data
+  bufferlist& bl = reply_obj.data;
+  if (left > 0 && !cursor.data_complete) {
+    if (cursor.data_offset < oi.size) {
+      result = osd->store->read(coll, oi.soid, cursor.data_offset, left, bl);
+      if (result < 0)
+	return result;
+      assert(result <= left);
+      left -= result;
+      cursor.data_offset += result;
+    }
+    if (cursor.data_offset == oi.size) {
+      cursor.data_complete = true;
+      dout(20) << " got data" << dendl;
+    }
+  }
+
+  // omap
+  std::map<std::string,bufferlist>& out_omap = reply_obj.omap;
+  if (left > 0 && !cursor.omap_complete) {
+    ObjectMap::ObjectMapIterator iter = osd->store->get_omap_iterator(coll, oi.soid);
+    assert(iter);
+    if (iter->valid()) {
+      iter->upper_bound(cursor.omap_offset);
+      for (; left > 0 && iter->valid(); iter->next()) {
+	out_omap.insert(make_pair(iter->key(), iter->value()));
+	left -= iter->key().length() + 4 + iter->value().length() + 4;
+      }
+    }
+    if (iter->valid()) {
+      cursor.omap_offset = iter->key();
+    } else {
+      cursor.omap_complete = true;
+      dout(20) << " got omap" << dendl;
+    }
+  }
+
+  dout(20) << " cursor.is_complete=" << cursor.is_complete()
+		     << " " << out_attrs.size() << " attrs"
+		     << " " << bl.length() << " bytes"
+		     << " " << out_omap.size() << " keys"
+		     << dendl;
+  reply_obj.cursor = cursor;
+  if (classic) {
+    reply_obj.encode_classic(osd_op.outdata);
+  } else {
+    ::encode(reply_obj, osd_op.outdata);
+  }
+  result = 0;
+  return result;
+}
+
+void ReplicatedPG::start_copy(CopyCallback *cb, ObjectContextRef obc,
+			     hobject_t src, object_locator_t oloc, version_t version,
+			     const hobject_t& temp_dest_oid)
+{
+  const hobject_t& dest = obc->obs.oi.soid;
+  dout(10) << __func__ << " " << dest
+	   << " from " << src << " " << oloc << " v" << version
+	   << dendl;
+
+  // cancel a previous in-progress copy?
+  if (copy_ops.count(dest)) {
+    // FIXME: if the src etc match, we could avoid restarting from the
+    // beginning.
+    CopyOpRef cop = copy_ops[dest];
+    cancel_copy(cop, false);
+  }
+
+  CopyOpRef cop(new CopyOp(cb, obc, src, oloc, version, temp_dest_oid));
+  copy_ops[dest] = cop;
+  ++obc->copyfrom_readside;
+
+  _copy_some(obc, cop);
+}
+
+void ReplicatedPG::_copy_some(ObjectContextRef obc, CopyOpRef cop)
+{
+  dout(10) << __func__ << " " << obc << " " << cop << dendl;
+  ObjectOperation op;
+  if (cop->user_version) {
+    op.assert_version(cop->user_version);
+  } else {
+    // we should learn the version after the first chunk, if we didn't know
+    // it already!
+    assert(cop->cursor.is_initial());
+  }
+  op.copy_get(&cop->cursor, cct->_conf->osd_copyfrom_max_chunk,
+	      &cop->size, &cop->mtime, &cop->category,
+	      &cop->attrs, &cop->data, &cop->omap,
+	      &cop->rval);
+
+  C_Copyfrom *fin = new C_Copyfrom(this, obc->obs.oi.soid,
+				   get_last_peering_reset());
+  osd->objecter_lock.Lock();
+  tid_t tid = osd->objecter->read(cop->src.oid, cop->oloc, op,
+				  cop->src.snap, NULL, 0,
+				  new C_OnFinisher(fin,
+						   &osd->objecter_finisher),
+				  // discover the object version if we don't know it yet
+				  cop->user_version ? NULL : &cop->user_version);
+  fin->tid = tid;
+  cop->objecter_tid = tid;
+  osd->objecter_lock.Unlock();
+}
+
+void ReplicatedPG::process_copy_chunk(hobject_t oid, tid_t tid, int r)
+{
+  dout(10) << __func__ << " tid " << tid << " " << cpp_strerror(r) << dendl;
+  map<hobject_t,CopyOpRef>::iterator p = copy_ops.find(oid);
+  if (p == copy_ops.end()) {
+    dout(10) << __func__ << " no copy_op found" << dendl;
+    return;
+  }
+  CopyOpRef cop = p->second;
+  if (tid != cop->objecter_tid) {
+    dout(10) << __func__ << " tid " << tid << " != cop " << cop
+	     << " tid " << cop->objecter_tid << dendl;
+    return;
+  }
+  ObjectContextRef obc = cop->obc;
+  cop->objecter_tid = 0;
+
+  CopyResults results;
+  if (r >= 0) {
+    assert(cop->rval >= 0);
+
+    if (!cop->cursor.is_complete()) {
+      // write out what we have so far
+      vector<OSDOp> ops;
+      tid_t rep_tid = osd->get_tid();
+      osd_reqid_t reqid(osd->get_cluster_msgr_name(), 0, rep_tid);
+      OpContext *tctx = new OpContext(OpRequestRef(), reqid, ops, &obc->obs, obc->ssc, this);
+      tctx->mtime = ceph_clock_now(g_ceph_context);
+      RepGather *repop = new_repop(tctx, obc, rep_tid);
+
+      if (cop->temp_cursor.is_initial()) {
+	cop->temp_coll = get_temp_coll(&tctx->local_t);
+	repop->ctx->new_temp_oid = cop->temp_oid;
+      }
+
+      _write_copy_chunk(cop, &tctx->op_t);
 
-	ctx->snapset_obc->obs.exists = false;
-	assert(ctx->snapset_obc->registered);
-      }
+      issue_repop(repop, repop->ctx->mtime);
+      eval_repop(repop);
+      repop->put();
+
+      dout(10) << __func__ << " fetching more" << dendl;
+      _copy_some(obc, cop);
+      return;
     }
-  } else if (ctx->new_snapset.clones.size()) {
-    // save snapset on _snap
-    hobject_t snapoid(soid.oid, soid.get_key(), CEPH_SNAPDIR, soid.hash,
-		      info.pgid.pool(), soid.get_namespace());
-    dout(10) << " final snapset " << ctx->new_snapset
-	     << " in " << snapoid << dendl;
-    ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::MODIFY, snapoid, ctx->at_version, old_version,
-				  osd_reqid_t(), ctx->mtime));
+    _build_finish_copy_transaction(cop, results.get<3>());
+    results.get<1>() = cop->temp_cursor.data_offset;
+  }
 
-    ctx->snapset_obc = get_object_context(snapoid, true);
-    ctx->snapset_obc->obs.exists = true;
-    ctx->snapset_obc->obs.oi.version = ctx->at_version;
-    ctx->snapset_obc->obs.oi.last_reqid = ctx->reqid;
-    ctx->snapset_obc->obs.oi.mtime = ctx->mtime;
-    assert(ctx->snapset_obc->registered);
+  dout(20) << __func__ << " complete; committing" << dendl;
+  results.get<0>() = r;
+  results.get<4>() = false;
+  cop->cb->complete(results);
 
-    bufferlist bv(sizeof(ctx->new_obs.oi));
-    ::encode(ctx->snapset_obc->obs.oi, bv);
-    ctx->op_t.touch(coll, snapoid);
-    ctx->op_t.setattr(coll, snapoid, OI_ATTR, bv);
-    ctx->op_t.setattr(coll, snapoid, SS_ATTR, bss);
-    ctx->at_version.version++;
-  }
+  copy_ops.erase(obc->obs.oi.soid);
+  --obc->copyfrom_readside;
+  kick_object_context_blocked(obc);
+}
 
-  // finish and log the op.
-  if (ctx->user_modify) {
-    /* update the user_version for any modify ops, except for the watch op */
-    ctx->new_obs.oi.user_version = ctx->at_version;
+void ReplicatedPG::_write_copy_chunk(CopyOpRef cop, ObjectStore::Transaction *t)
+{
+  dout(20) << __func__ << " " << cop
+	   << " " << cop->attrs.size() << " attrs"
+	   << " " << cop->data.length() << " bytes"
+	   << " " << cop->omap.size() << " keys"
+	   << dendl;
+  if (!cop->temp_cursor.attr_complete) {
+    t->touch(cop->temp_coll, cop->temp_oid);
+    for (map<string,bufferlist>::iterator p = cop->attrs.begin(); p != cop->attrs.end(); ++p)
+      t->setattr(cop->temp_coll, cop->temp_oid, string("_") + p->first, p->second);
+    cop->attrs.clear();
   }
-  ctx->reply_version = ctx->new_obs.oi.user_version;
-  ctx->bytes_written = ctx->op_t.get_encoded_bytes();
-  ctx->new_obs.oi.version = ctx->at_version;
- 
-  if (ctx->new_obs.exists) {
-    // on the head object
-    ctx->new_obs.oi.version = ctx->at_version;
-    ctx->new_obs.oi.prior_version = old_version;
-    ctx->new_obs.oi.last_reqid = ctx->reqid;
-    if (ctx->mtime != utime_t()) {
-      ctx->new_obs.oi.mtime = ctx->mtime;
-      dout(10) << " set mtime to " << ctx->new_obs.oi.mtime << dendl;
-    } else {
-      dout(10) << " mtime unchanged at " << ctx->new_obs.oi.mtime << dendl;
-    }
+  if (!cop->temp_cursor.data_complete) {
+    t->write(cop->temp_coll, cop->temp_oid, cop->temp_cursor.data_offset, cop->data.length(), cop->data);
+    cop->data.clear();
+  }
+  if (!cop->temp_cursor.omap_complete) {
+    t->omap_setkeys(cop->temp_coll, cop->temp_oid, cop->omap);
+    cop->omap.clear();
+  }
+  cop->temp_cursor = cop->cursor;
+}
 
-    bufferlist bv(sizeof(ctx->new_obs.oi));
-    ::encode(ctx->new_obs.oi, bv);
-    ctx->op_t.setattr(coll, soid, OI_ATTR, bv);
+void ReplicatedPG::_build_finish_copy_transaction(CopyOpRef cop,
+                                                  ObjectStore::Transaction& t)
+{
+  ObjectState& obs = cop->obc->obs;
 
-    dout(10) << " final snapset " << ctx->new_snapset
-	     << " in " << soid << dendl;
-    ctx->op_t.setattr(coll, soid, SS_ATTR, bss);   
+  if (obs.exists) {
+    t.remove(coll, obs.oi.soid);
   }
 
-  // append to log
-  int logopcode = pg_log_entry_t::MODIFY;
-  if (!ctx->new_obs.exists)
-    logopcode = pg_log_entry_t::DELETE;
-  ctx->log.push_back(pg_log_entry_t(logopcode, soid, ctx->at_version, old_version,
-				ctx->reqid, ctx->mtime));
+  if (cop->temp_cursor.is_initial()) {
+    // write directly to final object
+    cop->temp_coll = coll;
+    cop->temp_oid = obs.oi.soid;
+    _write_copy_chunk(cop, &t);
+  } else {
+    // finish writing to temp object, then move into place
+    _write_copy_chunk(cop, &t);
+    t.collection_move_rename(cop->temp_coll, cop->temp_oid, coll, obs.oi.soid);
+    pgbackend->clear_temp_obj(cop->temp_oid);
+  }
+}
 
-  // apply new object state.
-  ctx->obc->obs = ctx->new_obs;
-  ctx->obc->ssc->snapset = ctx->new_snapset;
-  info.stats.stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+int ReplicatedPG::finish_copyfrom(OpContext *ctx)
+{
+  dout(20) << "finish_copyfrom on " << ctx->obs->oi.soid << dendl;
+  ObjectState& obs = ctx->new_obs;
+  CopyFromCallback *cb = static_cast<CopyFromCallback*>(ctx->copy_cb);
 
-  if (backfill_target >= 0) {
-    pg_info_t& pinfo = peer_info[backfill_target];
-    if (soid < pinfo.last_backfill)
-      pinfo.stats.stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
-    else if (soid < backfill_pos)
-      pending_backfill_updates[soid].stats.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+  if (!ctx->obs->exists) {
+    ctx->delta_stats.num_objects++;
+    obs.exists = true;
+  }
+  if (cb->is_temp_obj_used()) {
+    ctx->discard_temp_oid = cb->temp_obj;
   }
+  ctx->op_t.swap(cb->results.get<3>());
+  ctx->op_t.append(cb->results.get<3>());
 
-  if (scrubber.active && scrubber.is_chunky) {
-    assert(soid < scrubber.start || soid >= scrubber.end);
-    if (soid < scrubber.start)
-      scrub_cstat.add(ctx->delta_stats, ctx->obc->obs.oi.category);
+  interval_set<uint64_t> ch;
+  if (obs.oi.size > 0)
+    ch.insert(0, obs.oi.size);
+  ctx->modified_ranges.union_of(ch);
+
+  if (cb->get_data_size() != obs.oi.size) {
+    ctx->delta_stats.num_bytes -= obs.oi.size;
+    obs.oi.size = cb->get_data_size();
+    ctx->delta_stats.num_bytes += obs.oi.size;
   }
+  ctx->delta_stats.num_wr++;
+  ctx->delta_stats.num_wr_kb += SHIFT_ROUND_UP(obs.oi.size, 10);
 
-  return result;
+  return 0;
+}
+
+void ReplicatedPG::cancel_copy(CopyOpRef cop, bool requeue)
+{
+  dout(10) << __func__ << " " << cop->obc->obs.oi.soid
+	   << " from " << cop->src << " " << cop->oloc << " v" << cop->user_version
+	   << dendl;
+
+  // cancel objecter op, if we can
+  if (cop->objecter_tid) {
+    Mutex::Locker l(osd->objecter_lock);
+    osd->objecter->op_cancel(cop->objecter_tid);
+  }
+
+  copy_ops.erase(cop->obc->obs.oi.soid);
+  --cop->obc->copyfrom_readside;
+
+  kick_object_context_blocked(cop->obc);
+  bool temp_obj_created = !cop->cursor.is_initial();
+  CopyResults result(-ECANCELED, 0, temp_obj_created,
+                     ObjectStore::Transaction(), requeue);
+  cop->cb->complete(result);
 }
 
+void ReplicatedPG::cancel_copy_ops(bool requeue)
+{
+  dout(10) << __func__ << dendl;
+  map<hobject_t,CopyOpRef>::iterator p = copy_ops.begin();
+  while (p != copy_ops.end()) {
+    // requeue this op? can I queue up all of them?
+    cancel_copy((p++)->second, requeue);
+  }
+}
 
 
 // ========================================================================
@@ -3923,10 +4626,19 @@ void ReplicatedPG::apply_repop(RepGather *repop)
   if (repop->ctx->clone_obc)
     repop->ctx->clone_obc->ondisk_write_lock();
 
+  bool unlock_snapset_obc = false;
+  if (repop->ctx->snapset_obc && repop->ctx->snapset_obc->obs.oi.soid !=
+      repop->obc->obs.oi.soid) {
+    repop->ctx->snapset_obc->ondisk_write_lock();
+    unlock_snapset_obc = true;
+  }
+
   Context *oncommit = new C_OSD_OpCommit(this, repop);
   Context *onapplied = new C_OSD_OpApplied(this, repop);
-  Context *onapplied_sync = new C_OSD_OndiskWriteUnlock(repop->obc,
-							repop->ctx->clone_obc);
+  Context *onapplied_sync = new C_OSD_OndiskWriteUnlock(
+    repop->obc,
+    repop->ctx->clone_obc,
+    unlock_snapset_obc ? repop->ctx->snapset_obc : ObjectContextRef());
   int r = osd->store->queue_transactions(osr.get(), repop->tls, onapplied, oncommit, onapplied_sync, repop->ctx->op);
   if (r) {
     derr << "apply_repop  queue_transactions returned " << r << " on " << *repop << dendl;
@@ -3948,30 +4660,24 @@ void ReplicatedPG::op_applied(RepGather *repop)
   int whoami = osd->get_nodeid();
 
   if (repop->ctx->clone_obc) {
-    put_object_context(repop->ctx->clone_obc);
-    repop->ctx->clone_obc = 0;
+    repop->ctx->clone_obc = ObjectContextRef();
   }
   if (repop->ctx->snapset_obc) {
-    put_object_context(repop->ctx->snapset_obc);
-    repop->ctx->snapset_obc = 0;
+    repop->ctx->snapset_obc = ObjectContextRef();
   }
 
-  dout(10) << "op_applied mode was " << mode << dendl;
-  mode.write_applied();
-  dout(10) << "op_applied mode now " << mode << " (finish_write)" << dendl;
-
-  put_object_context(repop->obc);
-  put_object_contexts(repop->src_obc);
-  repop->obc = 0;
+  repop->src_obc.clear();
 
   if (!repop->aborted) {
     assert(repop->waitfor_ack.count(whoami) ||
 	   repop->waitfor_disk.count(whoami) == 0);  // commit before ondisk
     repop->waitfor_ack.erase(whoami);
 
-    assert(info.last_update >= repop->v);
-    assert(last_update_applied < repop->v);
-    last_update_applied = repop->v;
+    if (repop->v != eversion_t()) {
+      assert(info.last_update >= repop->v);
+      assert(last_update_applied < repop->v);
+      last_update_applied = repop->v;
+    }
 
     // chunky scrub
     if (scrubber.active && scrubber.is_chunky) {
@@ -4018,9 +4724,10 @@ void ReplicatedPG::op_commit(RepGather *repop)
     // is no separate reply sent.
     repop->waitfor_ack.erase(whoami);
     
-    last_update_ondisk = repop->v;
-
-    last_complete_ondisk = repop->pg_local_last_complete;
+    if (repop->v != eversion_t()) {
+      last_update_ondisk = repop->v;
+      last_complete_ondisk = repop->pg_local_last_complete;
+    }
     eval_repop(repop);
   }
 
@@ -4034,26 +4741,23 @@ void ReplicatedPG::eval_repop(RepGather *repop)
 {
   MOSDOp *m = NULL;
   if (repop->ctx->op)
-    m = static_cast<MOSDOp *>(repop->ctx->op->request);
+    m = static_cast<MOSDOp *>(repop->ctx->op->get_req());
 
   if (m)
     dout(10) << "eval_repop " << *repop
 	     << " wants=" << (m->wants_ack() ? "a":"") << (m->wants_ondisk() ? "d":"")
-	     << (repop->done ? " DONE" : "")
+	     << (repop->done() ? " DONE" : "")
 	     << dendl;
   else
     dout(10) << "eval_repop " << *repop << " (no op)"
-	     << (repop->done ? " DONE" : "")
+	     << (repop->done() ? " DONE" : "")
 	     << dendl;
 
-  if (repop->done)
+  if (repop->done())
     return;
 
   // apply?
-  if (!repop->applied && !repop->applying &&
-      ((mode.is_delayed_mode() &&
-	repop->waitfor_ack.size() == 1) ||  // all other replicas have acked
-       mode.is_rmw_mode()))
+  if (!repop->applied && !repop->applying)
     apply_repop(repop);
   
   if (m) {
@@ -4064,6 +4768,8 @@ void ReplicatedPG::eval_repop(RepGather *repop)
     // ondisk?
     if (repop->waitfor_disk.empty()) {
 
+      release_op_ctx_locks(repop->ctx);
+
       log_op_stats(repop->ctx);
       publish_stats_to_osd();
 
@@ -4073,7 +4779,8 @@ void ReplicatedPG::eval_repop(RepGather *repop)
 	for (list<OpRequestRef>::iterator i = waiting_for_ondisk[repop->v].begin();
 	     i != waiting_for_ondisk[repop->v].end();
 	     ++i) {
-	  osd->reply_op_error(*i, 0, repop->v);
+	  osd->reply_op_error(*i, 0, repop->ctx->at_version,
+			      repop->ctx->user_at_version);
 	}
 	waiting_for_ondisk.erase(repop->v);
       }
@@ -4089,8 +4796,11 @@ void ReplicatedPG::eval_repop(RepGather *repop)
 	MOSDOpReply *reply = repop->ctx->reply;
 	if (reply)
 	  repop->ctx->reply = NULL;
-	else
+	else {
 	  reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0);
+	  reply->set_reply_versions(repop->ctx->at_version,
+	                            repop->ctx->user_at_version);
+	}
 	reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK);
 	dout(10) << " sending commit on " << *repop << " " << reply << dendl;
 	assert(entity_name_t::TYPE_OSD != m->get_connection()->peer_type);
@@ -4109,8 +4819,10 @@ void ReplicatedPG::eval_repop(RepGather *repop)
 	for (list<OpRequestRef>::iterator i = waiting_for_ack[repop->v].begin();
 	     i != waiting_for_ack[repop->v].end();
 	     ++i) {
-	  MOSDOp *m = (MOSDOp*)(*i)->request;
+	  MOSDOp *m = (MOSDOp*)(*i)->get_req();
 	  MOSDOpReply *reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0);
+	  reply->set_reply_versions(repop->ctx->at_version,
+	                            repop->ctx->user_at_version);
 	  reply->add_flags(CEPH_OSD_FLAG_ACK);
 	  osd->send_message_osd_client(reply, m->get_connection());
 	}
@@ -4122,8 +4834,11 @@ void ReplicatedPG::eval_repop(RepGather *repop)
 	MOSDOpReply *reply = repop->ctx->reply;
 	if (reply)
 	  repop->ctx->reply = NULL;
-	else
+	else {
 	  reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0);
+	  reply->set_reply_versions(repop->ctx->at_version,
+	                            repop->ctx->user_at_version);
+	}
 	reply->add_flags(CEPH_OSD_FLAG_ACK);
 	dout(10) << " sending ack on " << *repop << " " << reply << dendl;
         assert(entity_name_t::TYPE_OSD != m->get_connection()->peer_type);
@@ -4136,14 +4851,14 @@ void ReplicatedPG::eval_repop(RepGather *repop)
       // _prior_ to being committed; it will not get set with
       // writeahead journaling, for instance.
       if (repop->ctx->readable_stamp == utime_t())
-	repop->ctx->readable_stamp = ceph_clock_now(g_ceph_context);
+	repop->ctx->readable_stamp = ceph_clock_now(cct);
     }
   }
 
   // done.
   if (repop->waitfor_ack.empty() && repop->waitfor_disk.empty() &&
       repop->applied) {
-    repop->done = true;
+    repop->mark_done();
 
     calc_min_last_complete_ondisk();
 
@@ -4165,8 +4880,7 @@ void ReplicatedPG::eval_repop(RepGather *repop)
   }
 }
 
-void ReplicatedPG::issue_repop(RepGather *repop, utime_t now,
-			       eversion_t old_last_update, bool old_exists, uint64_t old_size, eversion_t old_version)
+void ReplicatedPG::issue_repop(RepGather *repop, utime_t now)
 {
   OpContext *ctx = repop->ctx;
   const hobject_t& soid = ctx->obs->oi.soid;
@@ -4201,37 +4915,37 @@ void ReplicatedPG::issue_repop(RepGather *repop, utime_t now,
 				  get_osdmap()->get_epoch(),
 				  repop->rep_tid, repop->ctx->at_version);
     if (ctx->op &&
-	((static_cast<MOSDOp *>(ctx->op->request))->get_flags() & CEPH_OSD_FLAG_PARALLELEXEC)) {
+	((static_cast<MOSDOp *>(ctx->op->get_req()))->get_flags() & CEPH_OSD_FLAG_PARALLELEXEC)) {
       // replicate original op for parallel execution on replica
       assert(0 == "broken implementation, do not use");
-      wr->oloc = object_locator_t(repop->ctx->obs->oi.soid);
-      wr->ops = repop->ctx->ops;
-      wr->mtime = repop->ctx->mtime;
-      wr->old_exists = old_exists;
-      wr->old_size = old_size;
-      wr->old_version = old_version;
-      wr->snapset = repop->obc->ssc->snapset;
-      wr->snapc = repop->ctx->snapc;
-      wr->set_data(repop->ctx->op->request->get_data());   // _copy_ bufferlist
-    } else {
-      // ship resulting transaction, log entries, and pg_stats
-      if (peer == backfill_target && soid >= backfill_pos) {
-	dout(10) << "issue_repop shipping empty opt to osd." << peer << ", object beyond backfill_pos "
-		 << backfill_pos << ", last_backfill is " << pinfo.last_backfill << dendl;
-	ObjectStore::Transaction t;
-	::encode(t, wr->get_data());
-      } else {
-	::encode(repop->ctx->op_t, wr->get_data());
-      }
-      ::encode(repop->ctx->log, wr->logbl);
+    }
 
-      if (backfill_target >= 0 && backfill_target == peer)
-	wr->pg_stats = pinfo.stats;  // reflects backfill progress
-      else
-	wr->pg_stats = info.stats;
+    // ship resulting transaction, log entries, and pg_stats
+    if (peer == backfill_target && soid > last_backfill_started &&
+        // only skip normal (not temp pool=-1) objects
+	soid.pool == (int64_t)info.pgid.pool()) {
+      dout(10) << "issue_repop shipping empty opt to osd." << peer
+	       <<", object beyond last_backfill_started"
+	       << last_backfill_started << ", last_backfill is "
+	       << pinfo.last_backfill << dendl;
+      ObjectStore::Transaction t;
+      ::encode(t, wr->get_data());
+    } else {
+      ::encode(repop->ctx->op_t, wr->get_data());
     }
+
+    ::encode(repop->ctx->log, wr->logbl);
+
+    if (backfill_target >= 0 && backfill_target == peer)
+      wr->pg_stats = pinfo.stats;  // reflects backfill progress
+    else
+      wr->pg_stats = info.stats;
     
     wr->pg_trim_to = pg_trim_to;
+
+    wr->new_temp_oid = repop->ctx->new_temp_oid;
+    wr->discard_temp_oid = repop->ctx->discard_temp_oid;
+
     osd->send_message_osd_cluster(peer, wr, get_osdmap()->get_epoch());
 
     // keep peer_info up to date
@@ -4241,21 +4955,17 @@ void ReplicatedPG::issue_repop(RepGather *repop, utime_t now,
   }
 }
 
-ReplicatedPG::RepGather *ReplicatedPG::new_repop(OpContext *ctx, ObjectContext *obc,
+ReplicatedPG::RepGather *ReplicatedPG::new_repop(OpContext *ctx, ObjectContextRef obc,
 						 tid_t rep_tid)
 {
   if (ctx->op)
-    dout(10) << "new_repop rep_tid " << rep_tid << " on " << *ctx->op->request << dendl;
+    dout(10) << "new_repop rep_tid " << rep_tid << " on " << *ctx->op->get_req() << dendl;
   else
     dout(10) << "new_repop rep_tid " << rep_tid << " (no op)" << dendl;
 
   RepGather *repop = new RepGather(ctx, obc, rep_tid, info.last_complete);
 
-  dout(10) << "new_repop mode was " << mode << dendl;
-  mode.write_start();
-  dout(10) << "new_repop mode now " << mode << " (start_write)" << dendl;
-
-  repop->start = ceph_clock_now(g_ceph_context);
+  repop->start = ceph_clock_now(cct);
 
   repop_queue.push_back(&repop->queue_item);
   repop_map[repop->rep_tid] = repop;
@@ -4268,6 +4978,7 @@ ReplicatedPG::RepGather *ReplicatedPG::new_repop(OpContext *ctx, ObjectContext *
  
 void ReplicatedPG::remove_repop(RepGather *repop)
 {
+  release_op_ctx_locks(repop->ctx);
   repop_map.erase(repop->rep_tid);
   repop->put();
 
@@ -4280,7 +4991,7 @@ void ReplicatedPG::repop_ack(RepGather *repop, int result, int ack_type,
   MOSDOp *m = NULL;
 
   if (repop->ctx->op)
-    m = static_cast<MOSDOp *>(repop->ctx->op->request);
+    m = static_cast<MOSDOp *>(repop->ctx->op->get_req());
 
   if (m)
     dout(7) << "repop_ack rep_tid " << repop->rep_tid << " op " << *m
@@ -4330,16 +5041,14 @@ void ReplicatedPG::repop_ack(RepGather *repop, int result, int ack_type,
 
 void ReplicatedPG::get_watchers(list<obj_watch_item_t> &pg_watchers)
 {
-  for (map<hobject_t, ObjectContext*>::iterator i = object_contexts.begin();
-       i != object_contexts.end();
-       ++i) {
-    i->second->get();
-    get_obc_watchers(i->second, pg_watchers);
-    put_object_context(i->second);
+  pair<hobject_t, ObjectContextRef> i;
+  while (object_contexts.get_next(i.first, &i)) {
+    ObjectContextRef obc(i.second);
+    get_obc_watchers(obc, pg_watchers);
   }
 }
 
-void ReplicatedPG::get_obc_watchers(ObjectContext *obc, list<obj_watch_item_t> &pg_watchers)
+void ReplicatedPG::get_obc_watchers(ObjectContextRef obc, list<obj_watch_item_t> &pg_watchers)
 {
   for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator j =
 	 obc->watchers.begin();
@@ -4363,16 +5072,12 @@ void ReplicatedPG::get_obc_watchers(ObjectContext *obc, list<obj_watch_item_t> &
 void ReplicatedPG::check_blacklisted_watchers()
 {
   dout(20) << "ReplicatedPG::check_blacklisted_watchers for pg " << get_pgid() << dendl;
-  for (map<hobject_t, ObjectContext*>::iterator i = object_contexts.begin();
-       i != object_contexts.end();
-       ++i) {
-    i->second->get();
-    check_blacklisted_obc_watchers(i->second);
-    put_object_context(i->second);
-  }
+  pair<hobject_t, ObjectContextRef> i;
+  while (object_contexts.get_next(i.first, &i))
+    check_blacklisted_obc_watchers(i.second);
 }
 
-void ReplicatedPG::check_blacklisted_obc_watchers(ObjectContext *obc)
+void ReplicatedPG::check_blacklisted_obc_watchers(ObjectContextRef obc)
 {
   dout(20) << "ReplicatedPG::check_blacklisted_obc_watchers for obc " << obc->obs.oi.soid << dendl;
   for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator k =
@@ -4392,10 +5097,11 @@ void ReplicatedPG::check_blacklisted_obc_watchers(ObjectContext *obc)
   }
 }
 
-void ReplicatedPG::populate_obc_watchers(ObjectContext *obc)
+void ReplicatedPG::populate_obc_watchers(ObjectContextRef obc)
 {
   assert(is_active());
-  assert(!is_missing_object(obc->obs.oi.soid) ||
+  assert((recovering.count(obc->obs.oi.soid) ||
+	  !is_missing_object(obc->obs.oi.soid)) ||
 	 (pg_log.get_log().objects.count(obc->obs.oi.soid) && // or this is a revert... see recover_primary()
 	  pg_log.get_log().objects.find(obc->obs.oi.soid)->second->op ==
 	    pg_log_entry_t::LOST_REVERT &&
@@ -4428,7 +5134,7 @@ void ReplicatedPG::populate_obc_watchers(ObjectContext *obc)
 
 void ReplicatedPG::handle_watch_timeout(WatchRef watch)
 {
-  ObjectContext *obc = watch->get_obc(); // handle_watch_timeout owns this ref
+  ObjectContextRef obc = watch->get_obc(); // handle_watch_timeout owns this ref
   dout(10) << "handle_watch_timeout obc " << obc << dendl;
 
   if (is_degraded_object(obc->obs.oi.soid)) {
@@ -4438,7 +5144,6 @@ void ReplicatedPG::handle_watch_timeout(WatchRef watch)
     dout(10) << "handle_watch_timeout waiting for degraded on obj "
 	     << obc->obs.oi.soid
 	     << dendl;
-    put_object_context(obc); // callback got its own ref
     return;
   }
 
@@ -4449,7 +5154,6 @@ void ReplicatedPG::handle_watch_timeout(WatchRef watch)
     scrubber.add_callback(
       watch->get_delayed_cb() // This callback!
       );
-    put_object_context(obc);
     return;
   }
 
@@ -4462,31 +5166,24 @@ void ReplicatedPG::handle_watch_timeout(WatchRef watch)
   osd_reqid_t reqid(osd->get_cluster_msgr_name(), 0, rep_tid);
   OpContext *ctx = new OpContext(OpRequestRef(), reqid, ops,
 				 &obc->obs, obc->ssc, this);
-  ctx->mtime = ceph_clock_now(g_ceph_context);
+  ctx->mtime = ceph_clock_now(cct);
 
   ctx->at_version.epoch = get_osdmap()->get_epoch();
   ctx->at_version.version = pg_log.get_head().version + 1;
 
   entity_inst_t nobody;
 
-  /* Currently, mode.try_write always returns true.  If this changes, we will
-   * need to delay the repop accordingly */
-  assert(mode.try_write(nobody));
   RepGather *repop = new_repop(ctx, obc, rep_tid);
 
   ObjectStore::Transaction *t = &ctx->op_t;
 
   ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::MODIFY, obc->obs.oi.soid,
-				ctx->at_version,
-				obc->obs.oi.version,
-				osd_reqid_t(), ctx->mtime));
-
-  eversion_t old_last_update = pg_log.get_head();
-  bool old_exists = repop->obc->obs.exists;
-  uint64_t old_size = repop->obc->obs.oi.size;
-  eversion_t old_version = repop->obc->obs.oi.version;
+				    ctx->at_version,
+				    obc->obs.oi.version,
+				    0,
+				    osd_reqid_t(), ctx->mtime));
 
-  obc->obs.oi.prior_version = old_version;
+  obc->obs.oi.prior_version = repop->obc->obs.oi.version;
   obc->obs.oi.version = ctx->at_version;
   bufferlist bl;
   ::encode(obc->obs.oi, bl);
@@ -4495,100 +5192,101 @@ void ReplicatedPG::handle_watch_timeout(WatchRef watch)
   append_log(repop->ctx->log, eversion_t(), repop->ctx->local_t);
 
   // obc ref swallowed by repop!
-  issue_repop(repop, repop->ctx->mtime, old_last_update, old_exists,
-	      old_size, old_version);
+  issue_repop(repop, repop->ctx->mtime);
   eval_repop(repop);
+  repop->put();
 }
 
-ObjectContext *ReplicatedPG::_lookup_object_context(const hobject_t& oid)
-{
-  map<hobject_t, ObjectContext*>::iterator p = object_contexts.find(oid);
-  if (p != object_contexts.end())
-    return p->second;
-  return NULL;
-}
-
-ObjectContext *ReplicatedPG::create_object_context(const object_info_t& oi,
-								 SnapSetContext *ssc)
+ObjectContextRef ReplicatedPG::create_object_context(const object_info_t& oi,
+						     SnapSetContext *ssc)
 {
-  ObjectContext *obc = new ObjectContext(oi, false, ssc);
-  dout(10) << "create_object_context " << obc << " " << oi.soid << " " << obc->ref << dendl;
-  register_object_context(obc);
+  ObjectContextRef obc(object_contexts.lookup_or_create(oi.soid));
+  assert(obc->destructor_callback == NULL);
+  obc->destructor_callback = new C_PG_ObjectContext(this, obc.get());  
+  obc->obs.oi = oi;
+  obc->obs.exists = false;
+  obc->ssc = ssc;
+  if (ssc)
+    register_snapset_context(ssc);
+  dout(10) << "create_object_context " << (void*)obc.get() << " " << oi.soid << " " << dendl;
   populate_obc_watchers(obc);
-  obc->ref++;
   return obc;
 }
 
-ObjectContext *ReplicatedPG::get_object_context(const hobject_t& soid,
-							      bool can_create)
-{
-  map<hobject_t, ObjectContext*>::iterator p = object_contexts.find(soid);
-  ObjectContext *obc;
-  if (p != object_contexts.end()) {
-    obc = p->second;
-    dout(10) << "get_object_context " << obc << " " << soid << " " << obc->ref
-	     << " -> " << (obc->ref+1) << dendl;
+ObjectContextRef ReplicatedPG::get_object_context(const hobject_t& soid,
+						  bool can_create,
+						  map<string, bufferptr> *attrs)
+{
+  assert(
+    attrs || !pg_log.get_missing().is_missing(soid) ||
+    // or this is a revert... see recover_primary()
+    (pg_log.get_log().objects.count(soid) &&
+      pg_log.get_log().objects.find(soid)->second->op ==
+      pg_log_entry_t::LOST_REVERT));
+  ObjectContextRef obc = object_contexts.lookup(soid);
+  if (obc) {
+    dout(10) << "get_object_context " << obc << " " << soid << dendl;
   } else {
     // check disk
     bufferlist bv;
-    int r = osd->store->getattr(coll, soid, OI_ATTR, bv);
-    if (r < 0) {
-      if (!can_create)
-	return NULL;   // -ENOENT!
-
-      // new object.
-      object_info_t oi(soid);
-      SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, true, soid.get_namespace());
-      return create_object_context(oi, ssc);
+    if (attrs) {
+      assert(attrs->count(OI_ATTR));
+      bv.push_back(attrs->find(OI_ATTR)->second);
+    } else {
+      int r = pgbackend->objects_get_attr(soid, OI_ATTR, &bv);
+      if (r < 0) {
+	if (!can_create)
+	  return ObjectContextRef();   // -ENOENT!
+
+	// new object.
+	object_info_t oi(soid);
+	SnapSetContext *ssc = get_snapset_context(
+	  soid.oid, soid.get_key(), soid.hash, true, soid.get_namespace(),
+	  soid.has_snapset() ? attrs : 0);
+	return create_object_context(oi, ssc);
+      }
     }
 
     object_info_t oi(bv);
 
     assert(oi.soid.pool == (int64_t)info.pgid.pool());
 
-    SnapSetContext *ssc = NULL;
-    if (can_create)
-      ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, true, soid.get_namespace());
-    obc = new ObjectContext(oi, true, ssc);
+    obc = object_contexts.lookup_or_create(oi.soid);
+    obc->destructor_callback = new C_PG_ObjectContext(this, obc.get());
+    obc->obs.oi = oi;
     obc->obs.exists = true;
 
-    register_object_context(obc);
-
-    if (can_create && !obc->ssc)
-      obc->ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, true, soid.get_namespace());
+    obc->ssc = get_snapset_context(
+      soid.oid, soid.get_key(), soid.hash,
+      true, soid.get_namespace(),
+      soid.has_snapset() ? attrs : 0);
+    register_snapset_context(obc->ssc);
 
     populate_obc_watchers(obc);
     dout(10) << "get_object_context " << obc << " " << soid << " 0 -> 1 read " << obc->obs.oi << dendl;
   }
-  obc->ref++;
   return obc;
 }
 
 void ReplicatedPG::context_registry_on_change()
 {
-  list<ObjectContext *> contexts;
-  for (map<hobject_t, ObjectContext*>::iterator i = object_contexts.begin();
-       i != object_contexts.end();
-       ++i) {
-    i->second->get();
-    contexts.push_back(i->second);
-    for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator j =
-	   i->second->watchers.begin();
-	 j != i->second->watchers.end();
-	 i->second->watchers.erase(j++)) {
-      j->second->discard();
+  pair<hobject_t, ObjectContextRef> i;
+  while (object_contexts.get_next(i.first, &i)) {
+    ObjectContextRef obc(i.second);
+    if (obc) {
+      for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator j =
+	     obc->watchers.begin();
+	   j != obc->watchers.end();
+	   obc->watchers.erase(j++)) {
+	j->second->discard();
+      }
     }
   }
-  for (list<ObjectContext *>::iterator i = contexts.begin();
-       i != contexts.end();
-       contexts.erase(i++)) {
-    put_object_context(*i);
-  }
 }
 
 
 int ReplicatedPG::find_object_context(const hobject_t& oid,
-				      ObjectContext **pobc,
+				      ObjectContextRef *pobc,
 				      bool can_create,
 				      snapid_t *psnapid)
 {
@@ -4600,11 +5298,10 @@ int ReplicatedPG::find_object_context(const hobject_t& oid,
   // want the snapdir?
   if (oid.snap == CEPH_SNAPDIR) {
     // return head or snapdir, whichever exists.
-    ObjectContext *obc = get_object_context(head, can_create);
+    ObjectContextRef obc = get_object_context(head, can_create);
     if (obc && !obc->obs.exists) {
       // ignore it if the obc exists but the object doesn't
-      put_object_context(obc);
-      obc = NULL;
+      obc = ObjectContextRef();
     }
     if (!obc) {
       obc = get_object_context(snapdir, can_create);
@@ -4622,7 +5319,7 @@ int ReplicatedPG::find_object_context(const hobject_t& oid,
 
   // want the head?
   if (oid.snap == CEPH_NOSNAP) {
-    ObjectContext *obc = get_object_context(head, can_create);
+    ObjectContextRef obc = get_object_context(head, can_create);
     if (!obc)
       return -ENOENT;
     dout(10) << "find_object_context " << oid << " @" << oid.snap << dendl;
@@ -4645,7 +5342,7 @@ int ReplicatedPG::find_object_context(const hobject_t& oid,
   // head?
   if (oid.snap > ssc->snapset.seq) {
     if (ssc->snapset.head_exists) {
-      ObjectContext *obc = get_object_context(head, false);
+      ObjectContextRef obc = get_object_context(head, false);
       dout(10) << "find_object_context  " << head
 	       << " want " << oid.snap << " > snapset seq " << ssc->snapset.seq
 	       << " -- HIT " << obc->obs
@@ -4690,7 +5387,7 @@ int ReplicatedPG::find_object_context(const hobject_t& oid,
     return -EAGAIN;
   }
 
-  ObjectContext *obc = get_object_context(soid, false);
+  ObjectContextRef obc = get_object_context(soid, false);
   assert(obc);
 
   // clone
@@ -4705,48 +5402,17 @@ int ReplicatedPG::find_object_context(const hobject_t& oid,
   } else {
     dout(20) << "find_object_context  " << soid << " [" << first << "," << last
 	     << "] does not contain " << oid.snap << " -- DNE" << dendl;
-    put_object_context(obc);
     return -ENOENT;
   }
 }
 
-void ReplicatedPG::put_object_context(ObjectContext *obc)
-{
-  dout(10) << "put_object_context " << obc << " " << obc->obs.oi.soid << " "
-	   << obc->ref << " -> " << (obc->ref-1) << dendl;
-
-  if (mode.wake) {
-    requeue_ops(mode.waiting);
-    for (list<Cond*>::iterator p = mode.waiting_cond.begin(); p != mode.waiting_cond.end(); ++p)
-      (*p)->Signal();
-    mode.wake = false;
-  }
-
-  --obc->ref;
-  if (obc->ref == 0) {
-    if (obc->ssc)
-      put_snapset_context(obc->ssc);
-
-    if (obc->registered)
-      object_contexts.erase(obc->obs.oi.soid);
-    delete obc;
-
-    if (object_contexts.empty())
-      kick();
-  }
-}
-
-void ReplicatedPG::put_object_contexts(map<hobject_t,ObjectContext*>& obcv)
+void ReplicatedPG::object_context_destructor_callback(ObjectContext *obc)
 {
-  if (obcv.empty())
-    return;
-  dout(10) << "put_object_contexts " << obcv << dendl;
-  for (map<hobject_t,ObjectContext*>::iterator p = obcv.begin(); p != obcv.end(); ++p)
-    put_object_context(p->second);
-  obcv.clear();
+  if (obc->ssc)
+    put_snapset_context(obc->ssc);
 }
 
-void ReplicatedPG::add_object_context_to_pg_stat(ObjectContext *obc, pg_stat_t *pgstat)
+void ReplicatedPG::add_object_context_to_pg_stat(ObjectContextRef obc, pg_stat_t *pgstat)
 {
   object_info_t& oi = obc->obs.oi;
 
@@ -4786,57 +5452,79 @@ void ReplicatedPG::add_object_context_to_pg_stat(ObjectContext *obc, pg_stat_t *
     pgstat->stats.cat_sum[oi.category].add(stat);
 }
 
+void ReplicatedPG::kick_object_context_blocked(ObjectContextRef obc)
+{
+  const hobject_t& soid = obc->obs.oi.soid;
+  map<hobject_t, list<OpRequestRef> >::iterator p = waiting_for_blocked_object.find(soid);
+  if (p == waiting_for_blocked_object.end())
+    return;
+
+  if (obc->is_blocked()) {
+    dout(10) << __func__ << " " << soid << " still blocked" << dendl;
+    return;
+  }
+
+  list<OpRequestRef>& ls = p->second;
+  dout(10) << __func__ << " " << soid << " requeuing " << ls.size() << " requests" << dendl;
+  requeue_ops(ls);
+  waiting_for_blocked_object.erase(p);
+}
+
 SnapSetContext *ReplicatedPG::create_snapset_context(const object_t& oid)
 {
+  Mutex::Locker l(snapset_contexts_lock);
   SnapSetContext *ssc = new SnapSetContext(oid);
-  dout(10) << "create_snapset_context " << ssc << " " << ssc->oid << dendl;
-  register_snapset_context(ssc);
+  _register_snapset_context(ssc);
   ssc->ref++;
   return ssc;
 }
 
-SnapSetContext *ReplicatedPG::get_snapset_context(const object_t& oid,
-						  const string& key,
-						  ps_t seed,
-						  bool can_create,
-						  const string& nspace)
+SnapSetContext *ReplicatedPG::get_snapset_context(
+  const object_t& oid,
+  const string& key,
+  ps_t seed,
+  bool can_create,
+  const string& nspace,
+  map<string, bufferptr> *attrs)
 {
+  Mutex::Locker l(snapset_contexts_lock);
   SnapSetContext *ssc;
   map<object_t, SnapSetContext*>::iterator p = snapset_contexts.find(oid);
   if (p != snapset_contexts.end()) {
     ssc = p->second;
   } else {
     bufferlist bv;
-    hobject_t head(oid, key, CEPH_NOSNAP, seed,
-		   info.pgid.pool(), nspace);
-    int r = osd->store->getattr(coll, head, SS_ATTR, bv);
-    if (r < 0) {
-      // try _snapset
-      hobject_t snapdir(oid, key, CEPH_SNAPDIR, seed,
-			info.pgid.pool(), nspace);
-      r = osd->store->getattr(coll, snapdir, SS_ATTR, bv);
-      if (r < 0 && !can_create)
-	return NULL;
+    if (!attrs) {
+      hobject_t head(oid, key, CEPH_NOSNAP, seed,
+		     info.pgid.pool(), nspace);
+      int r = pgbackend->objects_get_attr(head, SS_ATTR, &bv);
+      if (r < 0) {
+	// try _snapset
+	hobject_t snapdir(oid, key, CEPH_SNAPDIR, seed,
+			  info.pgid.pool(), nspace);
+	r = pgbackend->objects_get_attr(snapdir, SS_ATTR, &bv);
+	if (r < 0 && !can_create)
+	  return NULL;
+      }
+    } else {
+      assert(attrs->count(SS_ATTR));
+      bv.push_back(attrs->find(SS_ATTR)->second);
     }
     ssc = new SnapSetContext(oid);
-    register_snapset_context(ssc);
-    if (r >= 0) {
+    _register_snapset_context(ssc);
+    if (bv.length()) {
       bufferlist::iterator bvp = bv.begin();
       ssc->snapset.decode(bvp);
     }
   }
   assert(ssc);
-  dout(10) << "get_snapset_context " << ssc->oid << " "
-	   << ssc->ref << " -> " << (ssc->ref+1) << dendl;
   ssc->ref++;
   return ssc;
 }
 
 void ReplicatedPG::put_snapset_context(SnapSetContext *ssc)
 {
-  dout(10) << "put_snapset_context " << ssc->oid << " "
-	   << ssc->ref << " -> " << (ssc->ref-1) << dendl;
-
+  Mutex::Locker l(snapset_contexts_lock);
   --ssc->ref;
   if (ssc->ref == 0) {
     if (ssc->registered)
@@ -4849,7 +5537,7 @@ void ReplicatedPG::put_snapset_context(SnapSetContext *ssc)
 
 void ReplicatedPG::sub_op_modify(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
 
   const hobject_t& soid = m->poid;
@@ -4892,71 +5580,51 @@ void ReplicatedPG::sub_op_modify(OpRequestRef op)
   rm->epoch_started = get_osdmap()->get_epoch();
 
   if (!m->noop) {
-    if (m->logbl.length()) {
-      // shipped transaction and log entries
-      vector<pg_log_entry_t> log;
-      
-      bufferlist::iterator p = m->get_data().begin();
-
-      ::decode(rm->opt, p);
-      if (!(m->get_connection()->get_features() & CEPH_FEATURE_OSD_SNAPMAPPER))
-	rm->opt.set_tolerate_collection_add_enoent();
-      p = m->logbl.begin();
-      ::decode(log, p);
-      if (m->hobject_incorrect_pool) {
-	for (vector<pg_log_entry_t>::iterator i = log.begin();
-	     i != log.end();
-	     ++i) {
-	  if (i->soid.pool == -1)
-	    i->soid.pool = info.pgid.pool();
-	}
-	rm->opt.set_pool_override(info.pgid.pool());
+    assert(m->logbl.length());
+    // shipped transaction and log entries
+    vector<pg_log_entry_t> log;
+
+    bufferlist::iterator p = m->get_data().begin();
+
+    if (m->new_temp_oid != hobject_t()) {
+      dout(20) << __func__ << " start tracking temp " << m->new_temp_oid << dendl;
+      pgbackend->add_temp_obj(m->new_temp_oid);
+      get_temp_coll(&rm->localt);
+    }
+    if (m->discard_temp_oid != hobject_t()) {
+      dout(20) << __func__ << " stop tracking temp " << m->discard_temp_oid << dendl;
+      pgbackend->clear_temp_obj(m->discard_temp_oid);
+    }
+
+    ::decode(rm->opt, p);
+    if (!(m->get_connection()->get_features() & CEPH_FEATURE_OSD_SNAPMAPPER))
+      rm->opt.set_tolerate_collection_add_enoent();
+    p = m->logbl.begin();
+    ::decode(log, p);
+    if (m->hobject_incorrect_pool) {
+      for (vector<pg_log_entry_t>::iterator i = log.begin();
+	  i != log.end();
+	  ++i) {
+	if (i->soid.pool == -1)
+	  i->soid.pool = info.pgid.pool();
       }
-      rm->opt.set_replica();
-      
-      info.stats = m->pg_stats;
-      if (!rm->opt.empty()) {
-	// If the opt is non-empty, we infer we are before
-	// last_backfill (according to the primary, not our
-	// not-quite-accurate value), and should update the
-	// collections now.  Otherwise, we do it later on push.
-	update_snap_map(log, rm->localt);
-      }
-      append_log(log, m->pg_trim_to, rm->localt);
-
-      rm->tls.push_back(&rm->localt);
-      rm->tls.push_back(&rm->opt);
-
-    } else {
-      // do op
-      assert(0);
-
-      // TODO: this is severely broken because we don't know whether this object is really lost or
-      // not. We just always assume that it's not right now.
-      // Also, we're taking the address of a variable on the stack. 
-      object_info_t oi(soid);
-      oi.lost = false; // I guess?
-      oi.version = m->old_version;
-      oi.size = m->old_size;
-      ObjectState obs(oi, m->old_exists);
-      SnapSetContext ssc(m->poid.oid);
-      
-      rm->ctx = new OpContext(op, m->reqid, m->ops, &obs, &ssc, this);
-      
-      rm->ctx->mtime = m->mtime;
-      rm->ctx->at_version = m->version;
-      rm->ctx->snapc = m->snapc;
+      rm->opt.set_pool_override(info.pgid.pool());
+    }
+    rm->opt.set_replica();
 
-      ssc.snapset = m->snapset;
-      rm->ctx->obc->ssc = &ssc;
-      
-      prepare_transaction(rm->ctx);
-      append_log(rm->ctx->log, m->pg_trim_to, rm->ctx->local_t);
-    
-      rm->tls.push_back(&rm->ctx->op_t);
-      rm->tls.push_back(&rm->ctx->local_t);
+    info.stats = m->pg_stats;
+    if (!rm->opt.empty()) {
+      // If the opt is non-empty, we infer we are before
+      // last_backfill (according to the primary, not our
+      // not-quite-accurate value), and should update the
+      // collections now.  Otherwise, we do it later on push.
+      update_snap_map(log, rm->localt);
     }
+    append_log(log, m->pg_trim_to, rm->localt);
 
+    rm->tls.push_back(&rm->localt);
+    rm->tls.push_back(&rm->opt);
+    
     rm->bytes_written = rm->opt.get_encoded_bytes();
 
   } else {
@@ -4988,8 +5656,8 @@ void ReplicatedPG::sub_op_modify_applied(RepModify *rm)
   rm->applied = true;
 
   if (!pg_has_reset_since(rm->epoch_started)) {
-    dout(10) << "sub_op_modify_applied on " << rm << " op " << *rm->op->request << dendl;
-    MOSDSubOp *m = static_cast<MOSDSubOp*>(rm->op->request);
+    dout(10) << "sub_op_modify_applied on " << rm << " op " << *rm->op->get_req() << dendl;
+    MOSDSubOp *m = static_cast<MOSDSubOp*>(rm->op->get_req());
     assert(m->get_header().type == MSG_OSD_SUBOP);
     
     if (!rm->committed) {
@@ -4999,9 +5667,11 @@ void ReplicatedPG::sub_op_modify_applied(RepModify *rm)
       osd->send_message_osd_cluster(rm->ackerosd, ack, get_osdmap()->get_epoch());
     }
     
-    assert(info.last_update >= m->version);
-    assert(last_update_applied < m->version);
-    last_update_applied = m->version;
+    if (m->version != eversion_t()) {
+      assert(info.last_update >= m->version);
+      assert(last_update_applied < m->version);
+      last_update_applied = m->version;
+    }
     if (scrubber.active_rep_scrub) {
       if (last_update_applied == scrubber.active_rep_scrub->scrub_to) {
 	osd->rep_scrub_wq.queue(scrubber.active_rep_scrub);
@@ -5009,7 +5679,7 @@ void ReplicatedPG::sub_op_modify_applied(RepModify *rm)
       }
     }
   } else {
-    dout(10) << "sub_op_modify_applied on " << rm << " op " << *rm->op->request
+    dout(10) << "sub_op_modify_applied on " << rm << " op " << *rm->op->get_req()
 	     << " from epoch " << rm->epoch_started << " < last_peering_reset "
 	     << last_peering_reset << dendl;
   }
@@ -5031,24 +5701,24 @@ void ReplicatedPG::sub_op_modify_commit(RepModify *rm)
 
   if (!pg_has_reset_since(rm->epoch_started)) {
     // send commit.
-    dout(10) << "sub_op_modify_commit on op " << *rm->op->request
+    dout(10) << "sub_op_modify_commit on op " << *rm->op->get_req()
 	     << ", sending commit to osd." << rm->ackerosd
 	     << dendl;
     
     if (get_osdmap()->is_up(rm->ackerosd)) {
       last_complete_ondisk = rm->last_complete;
-      MOSDSubOpReply *commit = new MOSDSubOpReply(static_cast<MOSDSubOp*>(rm->op->request), 0, get_osdmap()->get_epoch(), CEPH_OSD_FLAG_ONDISK);
+      MOSDSubOpReply *commit = new MOSDSubOpReply(static_cast<MOSDSubOp*>(rm->op->get_req()), 0, get_osdmap()->get_epoch(), CEPH_OSD_FLAG_ONDISK);
       commit->set_last_complete_ondisk(rm->last_complete);
       commit->set_priority(CEPH_MSG_PRIO_HIGH); // this better match ack priority!
       osd->send_message_osd_cluster(rm->ackerosd, commit, get_osdmap()->get_epoch());
     }
   } else {
-    dout(10) << "sub_op_modify_commit " << rm << " op " << *rm->op->request
+    dout(10) << "sub_op_modify_commit " << rm << " op " << *rm->op->get_req()
 	     << " from epoch " << rm->epoch_started << " < last_peering_reset "
 	     << last_peering_reset << dendl;
   }
   
-  log_subop_stats(rm->op, l_osd_sop_w_inb, l_osd_sop_w_lat);
+  log_subop_stats(osd, rm->op, l_osd_sop_w_inb, l_osd_sop_w_lat);
   bool done = rm->applied && rm->committed;
   unlock();
   if (done) {
@@ -5060,7 +5730,7 @@ void ReplicatedPG::sub_op_modify_commit(RepModify *rm)
 
 void ReplicatedPG::sub_op_modify_reply(OpRequestRef op)
 {
-  MOSDSubOpReply *r = static_cast<MOSDSubOpReply*>(op->request);
+  MOSDSubOpReply *r = static_cast<MOSDSubOpReply*>(op->get_req());
   assert(r->get_header().type == MSG_OSD_SUBOPREPLY);
 
   op->mark_started();
@@ -5089,11 +5759,12 @@ void ReplicatedPG::sub_op_modify_reply(OpRequestRef op)
 
 // ===========================================================
 
-void ReplicatedPG::calc_head_subsets(ObjectContext *obc, SnapSet& snapset, const hobject_t& head,
-				     pg_missing_t& missing,
-				     const hobject_t &last_backfill,
-				     interval_set<uint64_t>& data_subset,
-				     map<hobject_t, interval_set<uint64_t> >& clone_subsets)
+void ReplicatedBackend::calc_head_subsets(
+  ObjectContextRef obc, SnapSet& snapset, const hobject_t& head,
+  const pg_missing_t& missing,
+  const hobject_t &last_backfill,
+  interval_set<uint64_t>& data_subset,
+  map<hobject_t, interval_set<uint64_t> >& clone_subsets)
 {
   dout(10) << "calc_head_subsets " << head
 	   << " clone_overlap " << snapset.clone_overlap << dendl;
@@ -5102,7 +5773,7 @@ void ReplicatedPG::calc_head_subsets(ObjectContext *obc, SnapSet& snapset, const
   if (size)
     data_subset.insert(0, size);
 
-  if (!g_conf->osd_recover_clone_overlap) {
+  if (!cct->_conf->osd_recover_clone_overlap) {
     dout(10) << "calc_head_subsets " << head << " -- osd_recover_clone_overlap disabled" << dendl;
     return;
   }
@@ -5128,6 +5799,13 @@ void ReplicatedPG::calc_head_subsets(ObjectContext *obc, SnapSet& snapset, const
 	     << " overlap " << prev << dendl;
   }
 
+
+  if (cloning.num_intervals() > cct->_conf->osd_recover_clone_overlap_limit) {
+    dout(10) << "skipping clone, too many holes" << dendl;
+    clone_subsets.clear();
+    cloning.clear();
+  }
+
   // what's left for us to push?
   data_subset.subtract(cloning);
 
@@ -5136,11 +5814,12 @@ void ReplicatedPG::calc_head_subsets(ObjectContext *obc, SnapSet& snapset, const
 	   << "  clone_subsets " << clone_subsets << dendl;
 }
 
-void ReplicatedPG::calc_clone_subsets(SnapSet& snapset, const hobject_t& soid,
-				      const pg_missing_t& missing,
-				      const hobject_t &last_backfill,
-				      interval_set<uint64_t>& data_subset,
-				      map<hobject_t, interval_set<uint64_t> >& clone_subsets)
+void ReplicatedBackend::calc_clone_subsets(
+  SnapSet& snapset, const hobject_t& soid,
+  const pg_missing_t& missing,
+  const hobject_t &last_backfill,
+  interval_set<uint64_t>& data_subset,
+  map<hobject_t, interval_set<uint64_t> >& clone_subsets)
 {
   dout(10) << "calc_clone_subsets " << soid
 	   << " clone_overlap " << snapset.clone_overlap << dendl;
@@ -5149,7 +5828,7 @@ void ReplicatedPG::calc_clone_subsets(SnapSet& snapset, const hobject_t& soid,
   if (size)
     data_subset.insert(0, size);
 
-  if (!g_conf->osd_recover_clone_overlap) {
+  if (!cct->_conf->osd_recover_clone_overlap) {
     dout(10) << "calc_clone_subsets " << soid << " -- osd_recover_clone_overlap disabled" << dendl;
     return;
   }
@@ -5197,6 +5876,13 @@ void ReplicatedPG::calc_clone_subsets(SnapSet& snapset, const hobject_t& soid,
     dout(10) << "calc_clone_subsets " << soid << " does not have next " << c
 	     << " overlap " << next << dendl;
   }
+
+  if (cloning.num_intervals() > cct->_conf->osd_recover_clone_overlap_limit) {
+    dout(10) << "skipping clone, too many holes" << dendl;
+    clone_subsets.clear();
+    cloning.clear();
+  }
+
   
   // what's left for us to push?
   data_subset.subtract(cloning);
@@ -5218,95 +5904,69 @@ void ReplicatedPG::calc_clone_subsets(SnapSet& snapset, const hobject_t& soid,
  */
 enum { PULL_NONE, PULL_OTHER, PULL_YES };
 
-int ReplicatedPG::prepare_pull(
-  const hobject_t& soid, eversion_t v,
-  int priority,
-  map<int, vector<PullOp> > *pulls)
-{
+void ReplicatedBackend::prepare_pull(
+  const hobject_t& soid,
+  ObjectContextRef headctx,
+  RPGHandle *h)
+{
+  assert(get_parent()->get_local_missing().missing.count(soid));
+  eversion_t v = get_parent()->get_local_missing().missing.find(
+    soid)->second.need;
+  const map<hobject_t, set<int> > &missing_loc(
+    get_parent()->get_missing_loc());
+  const map<int, pg_missing_t > &peer_missing(
+    get_parent()->get_peer_missing());
   int fromosd = -1;
-  map<hobject_t,set<int> >::iterator q = missing_loc.find(soid);
-  if (q != missing_loc.end()) {
-    // randomize the list of possible sources
-    // should we take weights into account?
-    vector<int> shuffle(q->second.begin(), q->second.end());
-    random_shuffle(shuffle.begin(), shuffle.end());
-    for (vector<int>::iterator p = shuffle.begin();
-	 p != shuffle.end();
-	 ++p) {
-      if (get_osdmap()->is_up(*p)) {
-	fromosd = *p;
-	break;
-      }
-    }
-  }
-  if (fromosd < 0) {
-    dout(7) << "pull " << soid
-	    << " v " << v 
-	    << " but it is unfound" << dendl;
-    return PULL_NONE;
-  }
+  map<hobject_t,set<int> >::const_iterator q = missing_loc.find(soid);
+  assert(q != missing_loc.end());
+  assert(!q->second.empty());
+
+  // pick a pullee
+  vector<int> shuffle(q->second.begin(), q->second.end());
+  random_shuffle(shuffle.begin(), shuffle.end());
+  vector<int>::iterator p = shuffle.begin();
+  assert(get_osdmap()->is_up(*p));
+  fromosd = *p;
+  assert(fromosd >= 0);
+
+  dout(7) << "pull " << soid
+	  << "v " << v
+	  << " on osds " << *p
+	  << " from osd." << fromosd
+	  << dendl;
 
   assert(peer_missing.count(fromosd));
-  if (peer_missing[fromosd].is_missing(soid, v)) {
-    assert(peer_missing[fromosd].missing[soid].have != v);
+  const pg_missing_t &pmissing = peer_missing.find(fromosd)->second;
+  if (pmissing.is_missing(soid, v)) {
+    assert(pmissing.missing.find(soid)->second.have != v);
     dout(10) << "pulling soid " << soid << " from osd " << fromosd
-	     << " at version " << peer_missing[fromosd].missing[soid].have
+	     << " at version " << pmissing.missing.find(soid)->second.have
 	     << " rather than at version " << v << dendl;
-    v = peer_missing[fromosd].missing[soid].have;
-    assert(pg_log.get_log().objects.count(soid) &&
-	   pg_log.get_log().objects.find(soid)->second->op == pg_log_entry_t::LOST_REVERT &&
-	   pg_log.get_log().objects.find(soid)->second->reverting_to == v);
+    v = pmissing.missing.find(soid)->second.have;
+    assert(get_parent()->get_log().get_log().objects.count(soid) &&
+	   (get_parent()->get_log().get_log().objects.find(soid)->second->op ==
+	    pg_log_entry_t::LOST_REVERT) &&
+	   (get_parent()->get_log().get_log().objects.find(
+	     soid)->second->reverting_to ==
+	    v));
   }
   
-  dout(7) << "pull " << soid
-	  << " v " << v 
-	  << " on osds " << missing_loc[soid]
-	  << " from osd." << fromosd
-	  << dendl;
-
   ObjectRecoveryInfo recovery_info;
 
-  // is this a snapped object?  if so, consult the snapset.. we may not need the entire object!
-  if (soid.snap && soid.snap < CEPH_NOSNAP) {
-    // do we have the head and/or snapdir?
-    hobject_t head = soid;
-    head.snap = CEPH_NOSNAP;
-    if (pg_log.get_missing().is_missing(head)) {
-      if (pulling.count(head)) {
-	dout(10) << " missing but already pulling head " << head << dendl;
-	return PULL_NONE;
-      } else {
-	int r = prepare_pull(
-	  head, pg_log.get_missing().missing.find(head)->second.need, priority,
-	  pulls);
-	if (r != PULL_NONE)
-	  return PULL_OTHER;
-	return PULL_NONE;
-      }
-    }
-    head.snap = CEPH_SNAPDIR;
-    if (pg_log.get_missing().is_missing(head)) {
-      if (pulling.count(head)) {
-	dout(10) << " missing but already pulling snapdir " << head << dendl;
-	return PULL_NONE;
-      } else {
-	int r = prepare_pull(
-	  head, pg_log.get_missing().missing.find(head)->second.need, priority,
-	  pulls);
-	if (r != PULL_NONE)
-	  return PULL_OTHER;
-	return PULL_NONE;
-      }
-    }
-
+  if (soid.is_snap()) {
+    assert(!get_parent()->get_local_missing().is_missing(
+	     soid.get_head()) ||
+	   !get_parent()->get_local_missing().is_missing(
+	     soid.get_snapdir()));
+    assert(headctx);
     // check snapset
-    SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false, soid.get_namespace());
+    SnapSetContext *ssc = headctx->ssc;
     assert(ssc);
     dout(10) << " snapset " << ssc->snapset << dendl;
-    calc_clone_subsets(ssc->snapset, soid, pg_log.get_missing(), info.last_backfill,
+    calc_clone_subsets(ssc->snapset, soid, get_parent()->get_local_missing(),
+		       get_info().last_backfill,
 		       recovery_info.copy_subset,
 		       recovery_info.clone_subset);
-    put_snapset_context(ssc);
     // FIXME: this may overestimate if we are pulling multiple clones in parallel...
     dout(10) << " pulling " << recovery_info << dendl;
   } else {
@@ -5316,8 +5976,8 @@ int ReplicatedPG::prepare_pull(
     recovery_info.size = ((uint64_t)-1);
   }
 
-  (*pulls)[fromosd].push_back(PullOp());
-  PullOp &op = (*pulls)[fromosd].back();
+  h->pulls[fromosd].push_back(PullOp());
+  PullOp &op = h->pulls[fromosd].back();
   op.soid = soid;
 
   op.recovery_info = recovery_info;
@@ -5328,14 +5988,81 @@ int ReplicatedPG::prepare_pull(
   op.recovery_progress.data_recovered_to = 0;
   op.recovery_progress.first = true;
 
-  assert(!pulling.count(soid));
-  pull_from_peer[fromosd].insert(soid);
-  PullInfo &pi = pulling[soid];
-  pi.recovery_info = op.recovery_info;
-  pi.recovery_progress = op.recovery_progress;
-  pi.priority = priority;
+  assert(!pulling.count(soid));
+  pull_from_peer[fromosd].insert(soid);
+  PullInfo &pi = pulling[soid];
+  pi.head_ctx = headctx;
+  pi.recovery_info = op.recovery_info;
+  pi.recovery_progress = op.recovery_progress;
+}
+
+int ReplicatedPG::recover_missing(
+  const hobject_t &soid, eversion_t v,
+  int priority,
+  PGBackend::RecoveryHandle *h)
+{
+  map<hobject_t,set<int> >::iterator q = missing_loc.find(soid);
+  if (q == missing_loc.end()) {
+    dout(7) << "pull " << soid
+	    << " v " << v 
+	    << " but it is unfound" << dendl;
+    return PULL_NONE;
+  }
+
+  // is this a snapped object?  if so, consult the snapset.. we may not need the entire object!
+  ObjectContextRef obc;
+  ObjectContextRef head_obc;
+  if (soid.snap && soid.snap < CEPH_NOSNAP) {
+    // do we have the head and/or snapdir?
+    hobject_t head = soid.get_head();
+    if (pg_log.get_missing().is_missing(head)) {
+      if (recovering.count(head)) {
+	dout(10) << " missing but already recovering head " << head << dendl;
+	return PULL_NONE;
+      } else {
+	int r = recover_missing(
+	  head, pg_log.get_missing().missing.find(head)->second.need, priority,
+	  h);
+	if (r != PULL_NONE)
+	  return PULL_OTHER;
+	return PULL_NONE;
+      }
+    }
+    head = soid.get_snapdir();
+    if (pg_log.get_missing().is_missing(head)) {
+      if (recovering.count(head)) {
+	dout(10) << " missing but already recovering snapdir " << head << dendl;
+	return PULL_NONE;
+      } else {
+	int r = recover_missing(
+	  head, pg_log.get_missing().missing.find(head)->second.need, priority,
+	  h);
+	if (r != PULL_NONE)
+	  return PULL_OTHER;
+	return PULL_NONE;
+      }
+    }
 
+    // we must have one or the other
+    head_obc = get_object_context(
+      soid.get_head(),
+      false,
+      0);
+    if (!head_obc)
+      head_obc = get_object_context(
+	soid.get_snapdir(),
+	false,
+	0);
+    assert(head_obc);
+  }
   start_recovery_op(soid);
+  assert(!recovering.count(soid));
+  recovering.insert(make_pair(soid, obc));
+  pgbackend->recover_object(
+    soid,
+    head_obc,
+    obc,
+    h);
   return PULL_YES;
 }
 
@@ -5359,15 +6086,14 @@ void ReplicatedPG::send_remove_op(const hobject_t& oid, eversion_t v, int peer)
  * intelligently push an object to a replica.  make use of existing
  * clones/heads and dup data ranges where possible.
  */
-void ReplicatedPG::prep_push_to_replica(
-  ObjectContext *obc, const hobject_t& soid, int peer,
-  int prio,
+void ReplicatedBackend::prep_push_to_replica(
+  ObjectContextRef obc, const hobject_t& soid, int peer,
   PushOp *pop)
 {
   const object_info_t& oi = obc->obs.oi;
   uint64_t size = obc->obs.oi.size;
 
-  dout(10) << __func__ << soid << " v" << oi.version
+  dout(10) << __func__ << ": " << soid << " v" << oi.version
 	   << " size " << size << " to osd." << peer << dendl;
 
   map<hobject_t, interval_set<uint64_t> > clone_subsets;
@@ -5380,41 +6106,48 @@ void ReplicatedPG::prep_push_to_replica(
 
     // try to base push off of clones that succeed/preceed poid
     // we need the head (and current SnapSet) locally to do that.
-    if (pg_log.get_missing().is_missing(head)) {
+    if (get_parent()->get_local_missing().is_missing(head)) {
       dout(15) << "push_to_replica missing head " << head << ", pushing raw clone" << dendl;
-      return prep_push(prio, obc, soid, peer, pop);
+      return prep_push(obc, soid, peer, pop);
     }
     hobject_t snapdir = head;
     snapdir.snap = CEPH_SNAPDIR;
-    if (pg_log.get_missing().is_missing(snapdir)) {
-      dout(15) << "push_to_replica missing snapdir " << snapdir << ", pushing raw clone" << dendl;
-      return prep_push(prio, obc, soid, peer, pop);
+    if (get_parent()->get_local_missing().is_missing(snapdir)) {
+      dout(15) << "push_to_replica missing snapdir " << snapdir
+	       << ", pushing raw clone" << dendl;
+      return prep_push(obc, soid, peer, pop);
     }
     
-    SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false, soid.get_namespace());
+    SnapSetContext *ssc = obc->ssc;
     assert(ssc);
     dout(15) << "push_to_replica snapset is " << ssc->snapset << dendl;
-    calc_clone_subsets(ssc->snapset, soid, peer_missing[peer],
-		       peer_info[peer].last_backfill,
+    map<int, pg_missing_t>::const_iterator pm =
+      get_parent()->get_peer_missing().find(peer);
+    assert(pm != get_parent()->get_peer_missing().end());
+    map<int, pg_info_t>::const_iterator pi =
+      get_parent()->get_peer_info().find(peer);
+    assert(pi != get_parent()->get_peer_info().end());
+    calc_clone_subsets(ssc->snapset, soid,
+		       pm->second,
+		       pi->second.last_backfill,
 		       data_subset, clone_subsets);
-    put_snapset_context(ssc);
   } else if (soid.snap == CEPH_NOSNAP) {
     // pushing head or unversioned object.
     // base this on partially on replica's clones?
-    SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false, soid.get_namespace());
+    SnapSetContext *ssc = obc->ssc;
     assert(ssc);
     dout(15) << "push_to_replica snapset is " << ssc->snapset << dendl;
-    calc_head_subsets(obc, ssc->snapset, soid, peer_missing[peer],
-		      peer_info[peer].last_backfill,
-		      data_subset, clone_subsets);
-    put_snapset_context(ssc);
+    calc_head_subsets(
+      obc,
+      ssc->snapset, soid, get_parent()->get_peer_missing().find(peer)->second,
+      get_parent()->get_peer_info().find(peer)->second.last_backfill,
+      data_subset, clone_subsets);
   }
 
-  prep_push(prio, obc, soid, peer, oi.version, data_subset, clone_subsets, pop);
+  prep_push(obc, soid, peer, oi.version, data_subset, clone_subsets, pop);
 }
 
-void ReplicatedPG::prep_push(int prio,
-			     ObjectContext *obc,
+void ReplicatedBackend::prep_push(ObjectContextRef obc,
 			     const hobject_t& soid, int peer,
 			     PushOp *pop)
 {
@@ -5423,23 +6156,23 @@ void ReplicatedPG::prep_push(int prio,
     data_subset.insert(0, obc->obs.oi.size);
   map<hobject_t, interval_set<uint64_t> > clone_subsets;
 
-  prep_push(prio, obc, soid, peer,
+  prep_push(obc, soid, peer,
 	    obc->obs.oi.version, data_subset, clone_subsets,
 	    pop);
 }
 
-void ReplicatedPG::prep_push(
-  int prio,
-  ObjectContext *obc,
+void ReplicatedBackend::prep_push(
+  ObjectContextRef obc,
   const hobject_t& soid, int peer,
   eversion_t version,
   interval_set<uint64_t> &data_subset,
   map<hobject_t, interval_set<uint64_t> >& clone_subsets,
   PushOp *pop)
 {
-  peer_missing[peer].revise_have(soid, eversion_t());
+  get_parent()->begin_peer_recover(peer, soid);
   // take note.
   PushInfo &pi = pushing[soid][peer];
+  pi.obc = obc;
   pi.recovery_info.size = obc->obs.oi.size;
   pi.recovery_info.copy_subset = data_subset;
   pi.recovery_info.clone_subset = clone_subsets;
@@ -5450,19 +6183,20 @@ void ReplicatedPG::prep_push(
   pi.recovery_progress.data_recovered_to = 0;
   pi.recovery_progress.data_complete = 0;
   pi.recovery_progress.omap_complete = 0;
-  pi.priority = prio;
 
   ObjectRecoveryProgress new_progress;
-  build_push_op(pi.recovery_info,
-		pi.recovery_progress,
-		&new_progress,
-		pop);
+  int r = build_push_op(pi.recovery_info,
+			pi.recovery_progress,
+			&new_progress,
+			pop,
+			&(pi.stat));
+  assert(r == 0);
   pi.recovery_progress = new_progress;
 }
 
-int ReplicatedPG::send_pull_legacy(int prio, int peer,
-			    const ObjectRecoveryInfo &recovery_info,
-			    ObjectRecoveryProgress progress)
+int ReplicatedBackend::send_pull_legacy(int prio, int peer,
+					const ObjectRecoveryInfo &recovery_info,
+					ObjectRecoveryProgress progress)
 {
   // send op
   tid_t tid = osd->get_tid();
@@ -5475,14 +6209,14 @@ int ReplicatedPG::send_pull_legacy(int prio, int peer,
 	   << " from osd." << peer
 	   << " tid " << tid << dendl;
 
-  MOSDSubOp *subop = new MOSDSubOp(rid, info.pgid, recovery_info.soid,
+  MOSDSubOp *subop = new MOSDSubOp(rid, get_info().pgid, recovery_info.soid,
 				   false, CEPH_OSD_FLAG_ACK,
 				   get_osdmap()->get_epoch(), tid,
 				   recovery_info.version);
   subop->set_priority(prio);
   subop->ops = vector<OSDOp>(1);
   subop->ops[0].op.op = CEPH_OSD_OP_PULL;
-  subop->ops[0].op.extent.length = g_conf->osd_recovery_max_chunk;
+  subop->ops[0].op.extent.length = cct->_conf->osd_recovery_max_chunk;
   subop->recovery_info = recovery_info;
   subop->recovery_progress = progress;
 
@@ -5492,7 +6226,7 @@ int ReplicatedPG::send_pull_legacy(int prio, int peer,
   return 0;
 }
 
-void ReplicatedPG::submit_push_data(
+void ReplicatedBackend::submit_push_data(
   ObjectRecoveryInfo &recovery_info,
   bool first,
   bool complete,
@@ -5514,9 +6248,7 @@ void ReplicatedPG::submit_push_data(
   }
 
   if (first) {
-    pg_log.revise_have(recovery_info.soid, eversion_t());
-    remove_snap_mapped_object(*t, recovery_info.soid);
-    t->remove(coll, recovery_info.soid);
+    get_parent()->on_local_recover_start(recovery_info.soid, t);
     t->remove(get_temp_coll(t), recovery_info.soid);
     t->touch(target_coll, recovery_info.soid);
     t->omap_setheader(target_coll, recovery_info.soid, omap_header);
@@ -5550,8 +6282,8 @@ void ReplicatedPG::submit_push_data(
   }
 }
 
-void ReplicatedPG::submit_push_complete(ObjectRecoveryInfo &recovery_info,
-					ObjectStore::Transaction *t)
+void ReplicatedBackend::submit_push_complete(ObjectRecoveryInfo &recovery_info,
+					     ObjectStore::Transaction *t)
 {
   for (map<hobject_t, interval_set<uint64_t> >::const_iterator p =
 	 recovery_info.clone_subset.begin();
@@ -5566,67 +6298,29 @@ void ReplicatedPG::submit_push_complete(ObjectRecoveryInfo &recovery_info,
 		     q.get_start(), q.get_len(), q.get_start());
     }
   }
-
-  if (recovery_info.soid.snap < CEPH_NOSNAP) {
-    assert(recovery_info.oi.snaps.size());
-    OSDriver::OSTransaction _t(osdriver.get_transaction(t));
-    set<snapid_t> snaps(
-      recovery_info.oi.snaps.begin(),
-      recovery_info.oi.snaps.end());
-    snap_mapper.add_oid(
-      recovery_info.soid,
-      snaps,
-      &_t);
-  }
-
-  if (pg_log.get_missing().is_missing(recovery_info.soid) &&
-      pg_log.get_missing().missing.find(recovery_info.soid)->second.need > recovery_info.version) {
-    assert(is_primary());
-    const pg_log_entry_t *latest = pg_log.get_log().objects.find(recovery_info.soid)->second;
-    if (latest->op == pg_log_entry_t::LOST_REVERT &&
-	latest->reverting_to == recovery_info.version) {
-      dout(10) << " got old revert version " << recovery_info.version
-	       << " for " << *latest << dendl;
-      recovery_info.version = latest->version;
-      // update the attr to the revert event version
-      recovery_info.oi.prior_version = recovery_info.oi.version;
-      recovery_info.oi.version = latest->version;
-      bufferlist bl;
-      ::encode(recovery_info.oi, bl);
-      t->setattr(coll, recovery_info.soid, OI_ATTR, bl);
-    }
-  }
-  recover_got(recovery_info.soid, recovery_info.version);
-
-  // update pg
-  dirty_info = true;
-  write_if_dirty(*t);
 }
 
-ObjectRecoveryInfo ReplicatedPG::recalc_subsets(const ObjectRecoveryInfo& recovery_info)
+ObjectRecoveryInfo ReplicatedBackend::recalc_subsets(
+  const ObjectRecoveryInfo& recovery_info,
+  SnapSetContext *ssc)
 {
   if (!recovery_info.soid.snap || recovery_info.soid.snap >= CEPH_NOSNAP)
     return recovery_info;
-
-  SnapSetContext *ssc = get_snapset_context(recovery_info.soid.oid,
-					    recovery_info.soid.get_key(),
-					    recovery_info.soid.hash,
-					    false,
-					    recovery_info.soid.get_namespace());
-  assert(ssc);
   ObjectRecoveryInfo new_info = recovery_info;
   new_info.copy_subset.clear();
   new_info.clone_subset.clear();
   assert(ssc);
-  calc_clone_subsets(ssc->snapset, new_info.soid, pg_log.get_missing(), info.last_backfill,
+  calc_clone_subsets(ssc->snapset, new_info.soid, get_parent()->get_local_missing(),
+		     get_info().last_backfill,
 		     new_info.copy_subset, new_info.clone_subset);
-  put_snapset_context(ssc);
   return new_info;
 }
 
-bool ReplicatedPG::handle_pull_response(
+bool ReplicatedBackend::handle_pull_response(
   int from, PushOp &pop, PullOp *response,
-  ObjectStore::Transaction *t)
+  list<hobject_t> *to_continue,
+  ObjectStore::Transaction *t
+  )
 {
   interval_set<uint64_t> data_included = pop.data_included;
   bufferlist data;
@@ -5658,7 +6352,13 @@ bool ReplicatedPG::handle_pull_response(
       pop.recovery_info.copy_subset);
   }
 
-  pi.recovery_info = recalc_subsets(pi.recovery_info);
+  bool first = pi.recovery_progress.first;
+  if (first) {
+    pi.obc = get_parent()->get_obc(pi.recovery_info.soid, pop.attrset);
+    pi.recovery_info.oi = pi.obc->obs.oi;
+    pi.recovery_info = recalc_subsets(pi.recovery_info, pi.obc->ssc);
+  }
+
 
   interval_set<uint64_t> usable_intervals;
   bufferlist usable_data;
@@ -5670,33 +6370,15 @@ bool ReplicatedPG::handle_pull_response(
   data_included = usable_intervals;
   data.claim(usable_data);
 
-  info.stats.stats.sum.num_bytes_recovered += data.length();
 
-  bool first = pi.recovery_progress.first;
   pi.recovery_progress = pop.after_progress;
 
+  pi.stat.num_bytes_recovered += data.length();
+
   dout(10) << "new recovery_info " << pi.recovery_info
 	   << ", new progress " << pi.recovery_progress
 	   << dendl;
 
-  if (first) {
-    bufferlist oibl;
-    if (pop.attrset.count(OI_ATTR)) {
-      oibl.push_back(pop.attrset[OI_ATTR]);
-      ::decode(pi.recovery_info.oi, oibl);
-    } else {
-      assert(0);
-    }
-    bufferlist ssbl;
-    if (pop.attrset.count(SS_ATTR)) {
-      ssbl.push_back(pop.attrset[SS_ATTR]);
-      ::decode(pi.recovery_info.ss, ssbl);
-    } else {
-      assert(pi.recovery_info.soid.snap != CEPH_NOSNAP &&
-	     pi.recovery_info.soid.snap != CEPH_SNAPDIR);
-    }
-  }
-
   bool complete = pi.is_complete();
 
   submit_push_data(pi.recovery_info, first,
@@ -5707,53 +6389,16 @@ bool ReplicatedPG::handle_pull_response(
 		   pop.omap_entries,
 		   t);
 
-  info.stats.stats.sum.num_keys_recovered += pop.omap_entries.size();
-
-  if (complete) {
-    info.stats.stats.sum.num_objects_recovered++;
-
-    SnapSetContext *ssc;
-    if (hoid.snap == CEPH_NOSNAP || hoid.snap == CEPH_SNAPDIR) {
-      ssc = create_snapset_context(hoid.oid);
-      ssc->snapset = pi.recovery_info.ss;
-    } else {
-      ssc = get_snapset_context(hoid.oid, hoid.get_key(), hoid.hash, false,
-	hoid.get_namespace());
-      assert(ssc);
-    }
-    ObjectContext *obc = create_object_context(pi.recovery_info.oi, ssc);
-    obc->obs.exists = true;
-
-    obc->ondisk_write_lock();
-
-    // keep track of active pushes for scrub
-    ++active_pushes;
-
-    t->register_on_applied(new C_OSD_AppliedRecoveredObject(this, obc));
-    t->register_on_applied_sync(new C_OSD_OndiskWriteUnlock(obc));
-    t->register_on_complete(
-      new C_OSD_CompletedPull(this, hoid, get_osdmap()->get_epoch()));
-  }
-
-  t->register_on_commit(
-    new C_OSD_CommittedPushedObject(
-      this,
-      get_osdmap()->get_epoch(),
-      info.last_complete));
+  pi.stat.num_keys_recovered += pop.omap_entries.size();
 
   if (complete) {
-    pulling.erase(hoid);
+    to_continue->push_back(hoid);
+    pi.stat.num_objects_recovered++;
+    get_parent()->on_local_recover(
+      hoid, pi.stat, pi.recovery_info, pi.obc, t);
     pull_from_peer[from].erase(hoid);
-    publish_stats_to_osd();
-    if (waiting_for_missing_object.count(hoid)) {
-      dout(20) << " kicking waiters on " << hoid << dendl;
-      requeue_ops(waiting_for_missing_object[hoid]);
-      waiting_for_missing_object.erase(hoid);
-      if (pg_log.get_missing().missing.size() == 0) {
-	requeue_ops(waiting_for_all_missing);
-	waiting_for_all_missing.clear();
-      }
-    }
+    if (pull_from_peer[from].empty())
+      pull_from_peer.erase(from);
     return false;
   } else {
     response->soid = pop.soid;
@@ -5769,11 +6414,11 @@ struct C_OnPushCommit : public Context {
   C_OnPushCommit(ReplicatedPG *pg, OpRequestRef op) : pg(pg), op(op) {}
   void finish(int) {
     op->mark_event("committed");
-    pg->log_subop_stats(op, l_osd_push_inb, l_osd_sop_push_lat);
+    log_subop_stats(pg->osd, op, l_osd_push_inb, l_osd_sop_push_lat);
   }
 };
 
-void ReplicatedPG::handle_push(
+void ReplicatedBackend::handle_push(
   int from, PushOp &pop, PushReplyOp *response,
   ObjectStore::Transaction *t)
 {
@@ -5787,12 +6432,7 @@ void ReplicatedPG::handle_push(
   bool complete = pop.after_progress.data_complete &&
     pop.after_progress.omap_complete;
 
-  // keep track of active pushes for scrub
-  ++active_pushes;
-
   response->soid = pop.recovery_info.soid;
-  t->register_on_applied(
-    new C_OSD_AppliedRecoveredObjectReplica(this));
   submit_push_data(pop.recovery_info,
 		   first,
 		   complete,
@@ -5803,14 +6443,16 @@ void ReplicatedPG::handle_push(
 		   pop.omap_entries,
 		   t);
 
-  t->register_on_commit(
-    new C_OSD_CommittedPushedObject(
-      this,
-      get_osdmap()->get_epoch(),
-      info.last_complete));
+  if (complete)
+    get_parent()->on_local_recover(
+      pop.recovery_info.soid,
+      object_stat_sum_t(),
+      pop.recovery_info,
+      ObjectContextRef(), // ok, is replica
+      t);
 }
 
-void ReplicatedPG::send_pushes(int prio, map<int, vector<PushOp> > &pushes)
+void ReplicatedBackend::send_pushes(int prio, map<int, vector<PushOp> > &pushes)
 {
   for (map<int, vector<PushOp> >::iterator i = pushes.begin();
        i != pushes.end();
@@ -5834,28 +6476,28 @@ void ReplicatedPG::send_pushes(int prio, map<int, vector<PushOp> > &pushes)
 	uint64_t cost = 0;
 	uint64_t pushes = 0;
 	MOSDPGPush *msg = new MOSDPGPush();
-	msg->pgid = info.pgid;
+	msg->pgid = get_info().pgid;
 	msg->map_epoch = get_osdmap()->get_epoch();
 	msg->set_priority(prio);
 	for (;
 	     (j != i->second.end() &&
-	      cost < g_conf->osd_max_push_cost &&
-	      pushes < g_conf->osd_max_push_objects) ;
+	      cost < cct->_conf->osd_max_push_cost &&
+	      pushes < cct->_conf->osd_max_push_objects) ;
 	     ++j) {
 	  dout(20) << __func__ << ": sending push " << *j
 		   << " to osd." << i->first << dendl;
-	  cost += j->cost(g_ceph_context);
+	  cost += j->cost(cct);
 	  pushes += 1;
 	  msg->pushes.push_back(*j);
 	}
-	msg->compute_cost(g_ceph_context);
+	msg->compute_cost(cct);
 	osd->send_message_osd_cluster(msg, con);
       }
     }
   }
 }
 
-void ReplicatedPG::send_pulls(int prio, map<int, vector<PullOp> > &pulls)
+void ReplicatedBackend::send_pulls(int prio, map<int, vector<PullOp> > &pulls)
 {
   for (map<int, vector<PullOp> >::iterator i = pulls.begin();
        i != pulls.end();
@@ -5882,31 +6524,20 @@ void ReplicatedPG::send_pulls(int prio, map<int, vector<PullOp> > &pulls)
 	       << " to osd." << i->first << dendl;
       MOSDPGPull *msg = new MOSDPGPull();
       msg->set_priority(prio);
-      msg->pgid = info.pgid;
+      msg->pgid = get_info().pgid;
       msg->map_epoch = get_osdmap()->get_epoch();
       msg->pulls.swap(i->second);
-      msg->compute_cost(g_ceph_context);
+      msg->compute_cost(cct);
       osd->send_message_osd_cluster(msg, con);
     }
   }
 }
 
-int ReplicatedPG::send_push(int prio, int peer,
-			    const ObjectRecoveryInfo &recovery_info,
-			    const ObjectRecoveryProgress &progress,
-			    ObjectRecoveryProgress *out_progress)
-{
-  PushOp op;
-  int r = build_push_op(recovery_info, progress, out_progress, &op);
-  if (r < 0)
-    return r;
-  return send_push_op_legacy(prio, peer, op);
-}
-
-int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
-				const ObjectRecoveryProgress &progress,
-				ObjectRecoveryProgress *out_progress,
-				PushOp *out_op)
+int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,
+				     const ObjectRecoveryProgress &progress,
+				     ObjectRecoveryProgress *out_progress,
+				     PushOp *out_op,
+				     object_stat_sum_t *stat)
 {
   ObjectRecoveryProgress _new_progress;
   if (!out_progress)
@@ -5930,8 +6561,9 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
     object_info_t oi(bv);
 
     if (oi.version != recovery_info.version) {
-      osd->clog.error() << info.pgid << " push "
+      osd->clog.error() << get_info().pgid << " push "
 			<< recovery_info.soid << " v "
+			<< recovery_info.version
 			<< " failed because local copy is "
 			<< oi.version << "\n";
       return -EINVAL;
@@ -5940,7 +6572,7 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
     new_progress.first = false;
   }
 
-  uint64_t available = g_conf->osd_recovery_max_chunk;
+  uint64_t available = cct->_conf->osd_recovery_max_chunk;
   if (!progress.omap_complete) {
     ObjectMap::ObjectMapIterator iter =
       osd->store->get_omap_iterator(coll,
@@ -5993,11 +6625,14 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
 
   if (new_progress.is_complete(recovery_info)) {
     new_progress.data_complete = true;
-    info.stats.stats.sum.num_objects_recovered++;
+    if (stat)
+      stat->num_objects_recovered++;
   }
 
-  info.stats.stats.sum.num_keys_recovered += out_op->omap_entries.size();
-  info.stats.stats.sum.num_bytes_recovered += out_op->data.length();
+  if (stat) {
+    stat->num_keys_recovered += out_op->omap_entries.size();
+    stat->num_bytes_recovered += out_op->data.length();
+  }
 
   osd->logger->inc(l_osd_push);
   osd->logger->inc(l_osd_push_outb, out_op->data.length());
@@ -6011,11 +6646,11 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
   return 0;
 }
 
-int ReplicatedPG::send_push_op_legacy(int prio, int peer, PushOp &pop)
+int ReplicatedBackend::send_push_op_legacy(int prio, int peer, PushOp &pop)
 {
   tid_t tid = osd->get_tid();
   osd_reqid_t rid(osd->get_cluster_msgr_name(), 0, tid);
-  MOSDSubOp *subop = new MOSDSubOp(rid, info.pgid, pop.soid,
+  MOSDSubOp *subop = new MOSDSubOp(rid, get_info().pgid, pop.soid,
 				   false, 0, get_osdmap()->get_epoch(),
 				   tid, pop.recovery_info.version);
   subop->ops = vector<OSDOp>(1);
@@ -6036,16 +6671,16 @@ int ReplicatedPG::send_push_op_legacy(int prio, int peer, PushOp &pop)
   return 0;
 }
 
-void ReplicatedPG::prep_push_op_blank(const hobject_t& soid, PushOp *op)
+void ReplicatedBackend::prep_push_op_blank(const hobject_t& soid, PushOp *op)
 {
   op->recovery_info.version = eversion_t();
   op->version = eversion_t();
   op->soid = soid;
 }
 
-void ReplicatedPG::sub_op_push_reply(OpRequestRef op)
+void ReplicatedBackend::sub_op_push_reply(OpRequestRef op)
 {
-  MOSDSubOpReply *reply = static_cast<MOSDSubOpReply*>(op->request);
+  MOSDSubOpReply *reply = static_cast<MOSDSubOpReply*>(op->get_req());
   const hobject_t& soid = reply->get_poid();
   assert(reply->get_header().type == MSG_OSD_SUBOPREPLY);
   dout(10) << "sub_op_push_reply from " << reply->get_source() << " " << *reply << dendl;
@@ -6058,10 +6693,10 @@ void ReplicatedPG::sub_op_push_reply(OpRequestRef op)
   PushOp pop;
   bool more = handle_push_reply(peer, rop, &pop);
   if (more)
-    send_push_op_legacy(pushing[soid][peer].priority, peer, pop);
+    send_push_op_legacy(op->get_req()->get_priority(), peer, pop);
 }
 
-bool ReplicatedPG::handle_push_reply(int peer, PushReplyOp &op, PushOp *reply)
+bool ReplicatedBackend::handle_push_reply(int peer, PushReplyOp &op, PushOp *reply)
 {
   const hobject_t &soid = op.soid;
   if (pushing.count(soid) == 0) {
@@ -6081,32 +6716,25 @@ bool ReplicatedPG::handle_push_reply(int peer, PushReplyOp &op, PushOp *reply)
 	       << pi->recovery_progress.data_recovered_to
 	       << " of " << pi->recovery_info.copy_subset << dendl;
       ObjectRecoveryProgress new_progress;
-      build_push_op(
+      int r = build_push_op(
 	pi->recovery_info,
-	pi->recovery_progress, &new_progress, reply);
+	pi->recovery_progress, &new_progress, reply,
+	&(pi->stat));
+      assert(r == 0);
       pi->recovery_progress = new_progress;
       return true;
     } else {
       // done!
-      if (peer == backfill_target && backfills_in_flight.count(soid))
-	backfills_in_flight.erase(soid);
-      else
-	peer_missing[peer].got(soid, pi->recovery_info.version);
+      get_parent()->on_peer_recover(
+	peer, soid, pi->recovery_info,
+	pi->stat);
       
       pushing[soid].erase(peer);
       pi = NULL;
       
-      publish_stats_to_osd();
       
       if (pushing[soid].empty()) {
-	pushing.erase(soid);
-	dout(10) << "pushed " << soid << " to all replicas" << dendl;
-	finish_recovery_op(soid);
-	if (waiting_for_degraded_object.count(soid)) {
-	  requeue_ops(waiting_for_degraded_object[soid]);
-	  waiting_for_degraded_object.erase(soid);
-	}
-	finish_degraded_object(soid);
+	get_parent()->on_global_recover(soid);
       } else {
 	dout(10) << "pushed " << soid << ", still waiting for push ack from " 
 		 << pushing[soid].size() << " others" << dendl;
@@ -6119,18 +6747,14 @@ bool ReplicatedPG::handle_push_reply(int peer, PushReplyOp &op, PushOp *reply)
 void ReplicatedPG::finish_degraded_object(const hobject_t& oid)
 {
   dout(10) << "finish_degraded_object " << oid << dendl;
-  map<hobject_t, ObjectContext *>::iterator i = object_contexts.find(oid);
-  if (i != object_contexts.end()) {
-    i->second->get();
-    for (set<ObjectContext*>::iterator j = i->second->blocking.begin();
-	 j != i->second->blocking.end();
-	 i->second->blocking.erase(j++)) {
+  ObjectContextRef obc(object_contexts.lookup(oid));
+  if (obc) {
+    for (set<ObjectContextRef>::iterator j = obc->blocking.begin();
+	 j != obc->blocking.end();
+	 obc->blocking.erase(j++)) {
       dout(10) << " no longer blocking writes for " << (*j)->obs.oi.soid << dendl;
-      (*j)->blocked_by = NULL;
-      put_object_context(*j);
-      put_object_context(i->second);
+      (*j)->blocked_by = ObjectContextRef();
     }
-    put_object_context(i->second);
   }
   if (callbacks_for_degraded_object.count(oid)) {
     list<Context*> contexts;
@@ -6148,9 +6772,9 @@ void ReplicatedPG::finish_degraded_object(const hobject_t& oid)
  * process request to pull an entire object.
  * NOTE: called from opqueue.
  */
-void ReplicatedPG::sub_op_pull(OpRequestRef op)
+void ReplicatedBackend::sub_op_pull(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
 
   op->mark_started();
@@ -6175,16 +6799,17 @@ void ReplicatedPG::sub_op_pull(OpRequestRef op)
     m->get_source().num(),
     reply);
 
-  log_subop_stats(op, 0, l_osd_sop_pull_lat);
+  log_subop_stats(osd, op, 0, l_osd_sop_pull_lat);
 }
 
-void ReplicatedPG::handle_pull(int peer, PullOp &op, PushOp *reply)
+void ReplicatedBackend::handle_pull(int peer, PullOp &op, PushOp *reply)
 {
   const hobject_t &soid = op.soid;
   struct stat st;
   int r = osd->store->stat(coll, soid, &st);
   if (r != 0) {
-    osd->clog.error() << info.pgid << " " << peer << " tried to pull " << soid
+    osd->clog.error() << get_info().pgid << " "
+		      << peer << " tried to pull " << soid
 		      << " but got " << cpp_strerror(-r) << "\n";
     prep_push_op_blank(soid, reply);
   } else {
@@ -6235,11 +6860,10 @@ void ReplicatedPG::_committed_pushed_object(
   unlock();
 }
 
-void ReplicatedPG::_applied_recovered_object(ObjectContext *obc)
+void ReplicatedPG::_applied_recovered_object(ObjectContextRef obc)
 {
   lock();
   dout(10) << "_applied_recovered_object " << *obc << dendl;
-  put_object_context(obc);
 
   assert(active_pushes >= 1);
   --active_pushes;
@@ -6302,7 +6926,7 @@ void ReplicatedPG::recover_got(hobject_t oid, eversion_t v)
  * @param intervals_usable intervals we want to keep
  * @param data_usable matching data we want to keep
  */
-void ReplicatedPG::trim_pushed_data(
+void ReplicatedBackend::trim_pushed_data(
   const interval_set<uint64_t> &copy_subset,
   const interval_set<uint64_t> &intervals_received,
   bufferlist data_received,
@@ -6340,10 +6964,10 @@ void ReplicatedPG::trim_pushed_data(
 /** op_push
  * NOTE: called from opqueue.
  */
-void ReplicatedPG::sub_op_push(OpRequestRef op)
+void ReplicatedBackend::sub_op_push(OpRequestRef op)
 {
   op->mark_started();
-  MOSDSubOp *m = static_cast<MOSDSubOp *>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp *>(op->get_req());
 
   PushOp pop;
   pop.soid = m->recovery_info.soid;
@@ -6360,14 +6984,29 @@ void ReplicatedPG::sub_op_push(OpRequestRef op)
 
   if (is_primary()) {
     PullOp resp;
-    bool more = handle_pull_response(m->get_source().num(), pop, &resp, t);
+    RPGHandle *h = _open_recovery_op();
+    list<hobject_t> to_continue;
+    bool more = handle_pull_response(
+      m->get_source().num(), pop, &resp,
+      &to_continue, t);
     if (more) {
       send_pull_legacy(
 	m->get_priority(),
 	m->get_source().num(),
 	resp.recovery_info,
 	resp.recovery_progress);
-    }
+    } else {
+      C_ReplicatedBackend_OnPullComplete *c =
+	new C_ReplicatedBackend_OnPullComplete(
+	  this,
+	  op->get_req()->get_priority());
+      c->to_continue.swap(to_continue);
+      t->register_on_complete(
+	new C_QueueInWQ(
+	  &osd->push_wq,
+	  get_parent()->bless_gencontext(c)));
+    }
+    run_recovery_op(h, op->get_req()->get_priority());
   } else {
     PushReplyOp resp;
     MOSDSubOpReply *reply = new MOSDSubOpReply(
@@ -6376,15 +7015,16 @@ void ReplicatedPG::sub_op_push(OpRequestRef op)
     assert(entity_name_t::TYPE_OSD == m->get_connection()->peer_type);
     handle_push(m->get_source().num(), pop, &resp, t);
     t->register_on_complete(new C_OSD_SendMessageOnConn(
-			     osd, reply, m->get_connection()));
+			      osd, reply, m->get_connection()));
   }
-  t->register_on_commit(new C_OnPushCommit(this, op));
-  osd->store->queue_transaction(osr.get(), t);
+  get_parent()->queue_transaction(t);
   return;
 }
 
-void ReplicatedPG::_failed_push(int from, const hobject_t &soid)
+void ReplicatedPG::failed_push(int from, const hobject_t &soid)
 {
+  assert(recovering.count(soid));
+  recovering.erase(soid);
   map<hobject_t,set<int> >::iterator p = missing_loc.find(soid);
   if (p != missing_loc.end()) {
     dout(0) << "_failed_push " << soid << " from osd." << from
@@ -6397,15 +7037,21 @@ void ReplicatedPG::_failed_push(int from, const hobject_t &soid)
     dout(0) << "_failed_push " << soid << " from osd." << from
 	    << " but not in missing_loc ???" << dendl;
   }
-
   finish_recovery_op(soid);  // close out this attempt,
+}
+
+void ReplicatedBackend::_failed_push(int from, const hobject_t &soid)
+{
+  get_parent()->failed_push(from, soid);
   pull_from_peer[from].erase(soid);
+  if (pull_from_peer[from].empty())
+    pull_from_peer.erase(from);
   pulling.erase(soid);
 }
 
 void ReplicatedPG::sub_op_remove(OpRequestRef op)
 {
-  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->request);
+  MOSDSubOp *m = static_cast<MOSDSubOp*>(op->get_req());
   assert(m->get_header().type == MSG_OSD_SUBOP);
   dout(7) << "sub_op_remove " << m->poid << dendl;
 
@@ -6445,7 +7091,7 @@ eversion_t ReplicatedPG::pick_newest_available(const hobject_t& oid)
 
 /* Mark an object as lost
  */
-ObjectContext *ReplicatedPG::mark_object_lost(ObjectStore::Transaction *t,
+ObjectContextRef ReplicatedPG::mark_object_lost(ObjectStore::Transaction *t,
 							    const hobject_t &oid, eversion_t version,
 							    utime_t mtime, int what)
 {
@@ -6459,14 +7105,14 @@ ObjectContext *ReplicatedPG::mark_object_lost(ObjectStore::Transaction *t,
 
   // Add log entry
   ++info.last_update.version;
-  pg_log_entry_t e(what, oid, info.last_update, version, osd_reqid_t(), mtime);
+  pg_log_entry_t e(what, oid, info.last_update, version, 0, osd_reqid_t(), mtime);
   pg_log.add(e);
   
-  ObjectContext *obc = get_object_context(oid, true);
+  ObjectContextRef obc = get_object_context(oid, true);
 
   obc->ondisk_write_lock();
 
-  obc->obs.oi.lost = true;
+  obc->obs.oi.set_flag(object_info_t::FLAG_LOST);
   obc->obs.oi.version = info.last_update;
   obc->obs.oi.prior_version = version;
 
@@ -6479,7 +7125,7 @@ ObjectContext *ReplicatedPG::mark_object_lost(ObjectStore::Transaction *t,
 
 struct C_PG_MarkUnfoundLost : public Context {
   ReplicatedPGRef pg;
-  list<ObjectContext*> obcs;
+  list<ObjectContextRef> obcs;
   C_PG_MarkUnfoundLost(ReplicatedPG *p) : pg(p) {}
   void finish(int r) {
     pg->_finish_mark_all_unfound_lost(obcs);
@@ -6499,7 +7145,7 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
   ObjectStore::Transaction *t = new ObjectStore::Transaction;
   C_PG_MarkUnfoundLost *c = new C_PG_MarkUnfoundLost(this);
 
-  utime_t mtime = ceph_clock_now(g_ceph_context);
+  utime_t mtime = ceph_clock_now(cct);
   info.last_update.epoch = get_osdmap()->get_epoch();
   const pg_missing_t &missing = pg_log.get_missing();
   map<hobject_t, pg_missing_t::item>::const_iterator m = missing.missing.begin();
@@ -6512,7 +7158,7 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
       continue;
     }
 
-    ObjectContext *obc = NULL;
+    ObjectContextRef obc;
     eversion_t prev;
 
     switch (what) {
@@ -6530,7 +7176,7 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
 	++info.last_update.version;
 	pg_log_entry_t e(
 	  pg_log_entry_t::LOST_REVERT, oid, info.last_update,
-	  m->second.need, osd_reqid_t(), mtime);
+	  m->second.need, 0, osd_reqid_t(), mtime);
 	e.reverting_to = prev;
 	pg_log.add(e);
 	dout(10) << e << dendl;
@@ -6547,7 +7193,7 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
 	// log it
       	++info.last_update.version;
 	pg_log_entry_t e(pg_log_entry_t::LOST_DELETE, oid, info.last_update, m->second.need,
-		     osd_reqid_t(), mtime);
+		     0, osd_reqid_t(), mtime);
 	pg_log.add(e);
 	dout(10) << e << dendl;
 
@@ -6571,13 +7217,16 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
   pg_log.get_log().print(*_dout);
   *_dout << dendl;
 
+  info.stats.stats_invalid = true;
+
   if (missing.num_missing() == 0) {
     // advance last_complete since nothing else is missing!
     info.last_complete = info.last_update;
-    dirty_info = true;
-    write_if_dirty(*t);
   }
 
+  dirty_info = true;
+  write_if_dirty(*t);
+
   osd->store->queue_transaction(osr.get(), t, c, NULL, new C_OSD_OndiskWriteUnlockList(&c->obcs));
 	      
   // Send out the PG log to all replicas
@@ -6588,7 +7237,7 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
   osd->queue_for_recovery(this);
 }
 
-void ReplicatedPG::_finish_mark_all_unfound_lost(list<ObjectContext*>& obcs)
+void ReplicatedPG::_finish_mark_all_unfound_lost(list<ObjectContextRef>& obcs)
 {
   lock();
   dout(10) << "_finish_mark_all_unfound_lost " << dendl;
@@ -6597,11 +7246,7 @@ void ReplicatedPG::_finish_mark_all_unfound_lost(list<ObjectContext*>& obcs)
     requeue_ops(waiting_for_all_missing);
   waiting_for_all_missing.clear();
 
-  while (!obcs.empty()) {
-    ObjectContext *obc = obcs.front();
-    put_object_context(obc);
-    obcs.pop_front();
-  }
+  obcs.clear();
   unlock();
 }
 
@@ -6629,7 +7274,7 @@ void ReplicatedPG::apply_and_flush_repops(bool requeue)
 
     if (requeue) {
       if (repop->ctx->op) {
-	dout(10) << " requeuing " << *repop->ctx->op->request << dendl;
+	dout(10) << " requeuing " << *repop->ctx->op->get_req() << dendl;
 	rq.push_back(repop->ctx->op);
 	repop->ctx->op = OpRequestRef();
       }
@@ -6655,6 +7300,16 @@ void ReplicatedPG::apply_and_flush_repops(bool requeue)
   waiting_for_ack.clear();
 }
 
+void ReplicatedPG::on_flushed()
+{
+  pair<hobject_t, ObjectContextRef> i;
+  while (object_contexts.get_next(i.first, &i)) {
+    derr << "on_flushed: object " << i.first << " obc still alive" << dendl;
+  }
+  assert(object_contexts.empty());
+  pgbackend->on_flushed();
+}
+
 void ReplicatedPG::on_removal(ObjectStore::Transaction *t)
 {
   dout(10) << "on_removal" << dendl;
@@ -6684,6 +7339,7 @@ void ReplicatedPG::on_shutdown()
   deleting = true;
 
   unreg_next_scrub();
+  cancel_copy_ops(false);
   apply_and_flush_repops(false);
   context_registry_on_change();
 
@@ -6695,29 +7351,15 @@ void ReplicatedPG::on_shutdown()
   cancel_recovery();
 }
 
-void ReplicatedPG::on_flushed()
-{
-  assert(object_contexts.empty());
-  if (have_temp_coll() &&
-      !osd->store->collection_empty(get_temp_coll())) {
-    vector<hobject_t> objects;
-    osd->store->collection_list(get_temp_coll(), objects);
-    derr << __func__ << ": found objects in the temp collection: "
-	 << objects << ", crashing now"
-	 << dendl;
-    assert(0 == "found garbage in the temp collection");
-  }
-}
-
 void ReplicatedPG::on_activate()
 {
   for (unsigned i = 1; i<acting.size(); i++) {
     if (peer_info[acting[i]].last_backfill != hobject_t::get_max()) {
       assert(backfill_target == -1);
       backfill_target = acting[i];
-      backfill_pos = peer_info[acting[i]].last_backfill;
+      last_backfill_started = peer_info[acting[i]].last_backfill;
       dout(10) << " chose backfill target osd." << backfill_target
-	       << " from " << backfill_pos << dendl;
+	       << " from " << last_backfill_started << dendl;
     }
   }
 }
@@ -6734,37 +7376,42 @@ void ReplicatedPG::on_change(ObjectStore::Transaction *t)
 
   context_registry_on_change();
 
+  cancel_copy_ops(is_primary());
+
   // requeue object waiters
-  requeue_ops(waiting_for_backfill_pos);
-  requeue_object_waiters(waiting_for_missing_object);
+  if (is_primary()) {
+    requeue_object_waiters(waiting_for_missing_object);
+  } else {
+    waiting_for_missing_object.clear();
+  }
   for (map<hobject_t,list<OpRequestRef> >::iterator p = waiting_for_degraded_object.begin();
        p != waiting_for_degraded_object.end();
        waiting_for_degraded_object.erase(p++)) {
-    requeue_ops(p->second);
+    if (is_primary())
+      requeue_ops(p->second);
+    else
+      p->second.clear();
     finish_degraded_object(p->first);
   }
+  for (map<hobject_t,list<OpRequestRef> >::iterator p = waiting_for_blocked_object.begin();
+       p != waiting_for_blocked_object.end();
+       waiting_for_blocked_object.erase(p++)) {
+    if (is_primary())
+      requeue_ops(p->second);
+    else
+      p->second.clear();
+  }
 
-  requeue_ops(waiting_for_all_missing);
-  waiting_for_all_missing.clear();
+  if (is_primary())
+    requeue_ops(waiting_for_all_missing);
+  else
+    waiting_for_all_missing.clear();
 
   // this will requeue ops we were working on but didn't finish, and
   // any dups
   apply_and_flush_repops(is_primary());
 
-  // clear pushing/pulling maps
-  pushing.clear();
-  pulling.clear();
-  pull_from_peer.clear();
-
-  // clear temp
-  for (set<hobject_t>::iterator i = temp_contents.begin();
-       i != temp_contents.end();
-       ++i) {
-    dout(10) << __func__ << ": Removing oid "
-	     << *i << " from the temp collection" << dendl;
-    t->remove(get_temp_coll(t), *i);
-  }
-  temp_contents.clear();
+  pgbackend->on_change(t);
 
   // clear snap_trimmer state
   snap_trimmer_machine.process_event(Reset());
@@ -6787,12 +7434,27 @@ void ReplicatedPG::_clear_recovery_state()
 #ifdef DEBUG_RECOVERY_OIDS
   recovering_oids.clear();
 #endif
-  backfill_pos = hobject_t();
-  backfills_in_flight.clear();
+  last_backfill_started = hobject_t();
+  list<OpRequestRef> blocked_ops;
+  set<hobject_t>::iterator i = backfills_in_flight.begin();
+  while (i != backfills_in_flight.end()) {
+    assert(recovering.count(*i));
+    recovering[*i]->drop_backfill_read(&blocked_ops);
+    requeue_ops(blocked_ops);
+    backfills_in_flight.erase(i++);
+  }
+  assert(backfills_in_flight.empty());
   pending_backfill_updates.clear();
-  pulling.clear();
-  pushing.clear();
-  pull_from_peer.clear();
+  recovering.clear();
+  pgbackend->clear_state();
+}
+
+void ReplicatedPG::cancel_pull(const hobject_t &soid)
+{
+  assert(recovering.count(soid));
+  recovering.erase(soid);
+  finish_recovery_op(soid);
+  pg_log.set_last_requested(0); // get recover_primary to start over
 }
 
 void ReplicatedPG::check_recovery_sources(const OSDMapRef osdmap)
@@ -6811,26 +7473,10 @@ void ReplicatedPG::check_recovery_sources(const OSDMapRef osdmap)
     }
     dout(10) << "check_recovery_sources source osd." << *p << " now down" << dendl;
     now_down.insert(*p);
-
-    // reset pulls?
-    map<int, set<hobject_t> >::iterator j = pull_from_peer.find(*p);
-    if (j != pull_from_peer.end()) {
-      dout(10) << "check_recovery_sources resetting pulls from osd." << *p
-	       << ", osdmap has it marked down" << dendl;
-      for (set<hobject_t>::iterator i = j->second.begin();
-	   i != j->second.end();
-	   ++i) {
-	assert(pulling.count(*i) == 1);
-	pulling.erase(*i);
-	finish_recovery_op(*i);
-      }
-      pg_log.set_last_requested(0);
-      pull_from_peer.erase(j++);
-    }
-
-    // remove from missing_loc_sources
     missing_loc_sources.erase(p++);
   }
+  pgbackend->check_recovery_sources(osdmap);
+
   if (now_down.empty()) {
     dout(10) << "check_recovery_sources no source osds (" << missing_loc_sources << ") went down" << dendl;
   } else {
@@ -6879,17 +7525,22 @@ void ReplicatedPG::check_recovery_sources(const OSDMapRef osdmap)
 }
   
 
-int ReplicatedPG::start_recovery_ops(
+bool ReplicatedPG::start_recovery_ops(
   int max, RecoveryCtx *prctx,
-  ThreadPool::TPHandle &handle)
+  ThreadPool::TPHandle &handle,
+  int *ops_started)
 {
-  int started = 0;
+  int& started = *ops_started;
+  started = 0;
+  bool work_in_progress = false;
   assert(is_primary());
 
   if (!state_test(PG_STATE_RECOVERING) &&
       !state_test(PG_STATE_BACKFILL)) {
+    /* TODO: I think this case is broken and will make do_recovery()
+     * unhappy since we're returning false */
     dout(10) << "recovery raced and were queued twice, ignoring!" << dendl;
-    return 0;
+    return false;
   }
 
   const pg_missing_t &missing = pg_log.get_missing();
@@ -6915,8 +7566,12 @@ int ReplicatedPG::start_recovery_ops(
     started = recover_replicas(max, handle);
   }
 
+  if (started)
+    work_in_progress = true;
+
   bool deferred_backfill = false;
-  if (state_test(PG_STATE_BACKFILL) &&
+  if (recovering.empty() &&
+      state_test(PG_STATE_BACKFILL) &&
       backfill_target >= 0 && started < max &&
       missing.num_missing() == 0 &&
       !waiting_on_backfill) {
@@ -6937,29 +7592,38 @@ int ReplicatedPG::start_recovery_ops(
       }
       deferred_backfill = true;
     } else {
-      started += recover_backfill(max - started, handle);
+      started += recover_backfill(max - started, handle, &work_in_progress);
     }
   }
 
   dout(10) << " started " << started << dendl;
   osd->logger->inc(l_osd_rop, started);
 
-  if (started || recovery_ops_active > 0 || deferred_backfill)
-    return started;
+  if (!recovering.empty() ||
+      work_in_progress || recovery_ops_active > 0 || deferred_backfill)
+    return work_in_progress;
 
+  assert(recovering.empty());
   assert(recovery_ops_active == 0);
 
   int unfound = get_num_unfound();
   if (unfound) {
     dout(10) << " still have " << unfound << " unfound" << dendl;
-    return started;
+    return work_in_progress;
   }
 
   if (missing.num_missing() > 0) {
     // this shouldn't happen!
     osd->clog.error() << info.pgid << " recovery ending with " << missing.num_missing()
 		      << ": " << missing.missing << "\n";
-    return started;
+    return work_in_progress;
+  }
+
+  if (needs_recovery()) {
+    // this shouldn't happen!
+    // We already checked num_missing() so we must have missing replicas
+    osd->clog.error() << info.pgid << " recovery ending with missing replicas\n";
+    return work_in_progress;
   }
 
   if (state_test(PG_STATE_RECOVERING)) {
@@ -7005,7 +7669,8 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
 
   const pg_missing_t &missing = pg_log.get_missing();
 
-  dout(10) << "recover_primary pulling " << pulling.size() << " in pg" << dendl;
+  dout(10) << "recover_primary recovering " << recovering.size()
+	   << " in pg" << dendl;
   dout(10) << "recover_primary " << missing << dendl;
   dout(25) << "recover_primary " << missing.missing << dendl;
 
@@ -7014,7 +7679,7 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
   int started = 0;
   int skipped = 0;
 
-  map<int, vector<PullOp> > pulls;
+  PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
   map<version_t, hobject_t>::const_iterator p =
     missing.rmissing.lower_bound(pg_log.get_log().last_requested);
   while (p != missing.rmissing.end()) {
@@ -7045,8 +7710,8 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
 	     << (unfound ? " (unfound)":"")
 	     << (missing.is_missing(soid) ? " (missing)":"")
 	     << (missing.is_missing(head) ? " (missing head)":"")
-             << (pulling.count(soid) ? " (pulling)":"")
-	     << (pulling.count(head) ? " (pulling head)":"")
+             << (recovering.count(soid) ? " (recovering)":"")
+	     << (recovering.count(head) ? " (recovering head)":"")
              << dendl;
 
     if (latest) {
@@ -7062,7 +7727,7 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
       case pg_log_entry_t::LOST_REVERT:
 	{
 	  if (item.have == latest->reverting_to) {
-	    ObjectContext *obc = get_object_context(soid, true);
+	    ObjectContextRef obc = get_object_context(soid, true);
 	    
 	    if (obc->obs.oi.version == latest->version) {
 	      // I'm already reverting
@@ -7121,14 +7786,14 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
       }
     }
    
-    if (!pulling.count(soid)) {
-      if (pulling.count(head)) {
+    if (!recovering.count(soid)) {
+      if (recovering.count(head)) {
 	++skipped;
       } else if (unfound) {
 	++skipped;
       } else {
-	int r = prepare_pull(
-	  soid, need, g_conf->osd_recovery_op_priority, &pulls);
+	int r = recover_missing(
+	  soid, need, cct->_conf->osd_recovery_op_priority, h);
 	switch (r) {
 	case PULL_YES:
 	  ++started;
@@ -7150,19 +7815,19 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle)
     if (!skipped)
       pg_log.set_last_requested(v);
   }
-
-  send_pulls(g_conf->osd_recovery_op_priority, pulls);
+ 
+  pgbackend->run_recovery_op(h, cct->_conf->osd_recovery_op_priority);
   return started;
 }
 
 int ReplicatedPG::prep_object_replica_pushes(
-  const hobject_t& soid, eversion_t v, int prio,
-  map<int, vector<PushOp> > *pushes)
+  const hobject_t& soid, eversion_t v,
+  PGBackend::RecoveryHandle *h)
 {
   dout(10) << __func__ << ": on " << soid << dendl;
 
   // NOTE: we know we will get a valid oloc off of disk here.
-  ObjectContext *obc = get_object_context(soid, false);
+  ObjectContextRef obc = get_object_context(soid, false);
   if (!obc) {
     pg_log.missing_add(soid, v, eversion_t());
     bool uhoh = true;
@@ -7184,31 +7849,46 @@ int ReplicatedPG::prep_object_replica_pushes(
     return 0;
   }
 
-  dout(10) << " ondisk_read_lock for " << soid << dendl;
+  start_recovery_op(soid);
+  assert(!recovering.count(soid));
+  recovering.insert(make_pair(soid, obc));
+
+  /* We need this in case there is an in progress write on the object.  In fact,
+   * the only possible write is an update to the xattr due to a lost_revert --
+   * a client write would be blocked since the object is degraded.
+   * In almost all cases, therefore, this lock should be uncontended.
+   */
   obc->ondisk_read_lock();
-  
+  pgbackend->recover_object(
+    soid,
+    ObjectContextRef(),
+    obc, // has snapset context
+    h);
+  obc->ondisk_read_unlock();
+  return 1;
+}
+
+int ReplicatedBackend::start_pushes(
+  const hobject_t &soid,
+  ObjectContextRef obc,
+  RPGHandle *h)
+{
+  int pushes = 0;
   // who needs it?  
-  bool started = false;
-  for (unsigned i=1; i<acting.size(); i++) {
-    int peer = acting[i];
-    if (peer_missing.count(peer) &&
-	peer_missing[peer].is_missing(soid)) {
-      if (!started) {
-	start_recovery_op(soid);
-	started = true;
-      }
-      (*pushes)[peer].push_back(PushOp());
-      prep_push_to_replica(obc, soid, peer, prio,
-		      &((*pushes)[peer].back())
+  for (unsigned i=1; i<get_parent()->get_acting().size(); i++) {
+    int peer = get_parent()->get_acting()[i];
+    map<int, pg_missing_t>::const_iterator j =
+      get_parent()->get_peer_missing().find(peer);
+    assert(j != get_parent()->get_peer_missing().end());
+    if (j->second.is_missing(soid)) {
+      ++pushes;
+      h->pushes[peer].push_back(PushOp());
+      prep_push_to_replica(obc, soid, peer,
+			   &(h->pushes[peer].back())
 	);
     }
   }
-  
-  dout(10) << " ondisk_read_unlock on " << soid << dendl;
-  obc->ondisk_read_unlock();
-  put_object_context(obc);
-
-  return 1;
+  return pushes;
 }
 
 int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle)
@@ -7216,13 +7896,15 @@ int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle)
   dout(10) << __func__ << "(" << max << ")" << dendl;
   int started = 0;
 
-  map<int, vector<PushOp> > pushes;
+  PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
 
   // this is FAR from an optimal recovery order.  pretty lame, really.
   for (unsigned i=1; i<acting.size(); i++) {
     int peer = acting[i];
     map<int, pg_missing_t>::const_iterator pm = peer_missing.find(peer);
     assert(pm != peer_missing.end());
+    map<int, pg_info_t>::const_iterator pi = peer_info.find(peer);
+    assert(pi != peer_info.end());
     size_t m_sz = pm->second.num_missing();
 
     dout(10) << " peer osd." << peer << " missing " << m_sz << " objects." << dendl;
@@ -7236,8 +7918,17 @@ int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle)
       handle.reset_tp_timeout();
       const hobject_t soid(p->second);
 
-      if (pushing.count(soid)) {
-	dout(10) << __func__ << ": already pushing " << soid << dendl;
+      if (soid > pi->second.last_backfill) {
+	if (!recovering.count(soid)) {
+	  derr << __func__ << ": object added to missing set for backfill, but "
+	       << "is not in recovering, error!" << dendl;
+	  assert(0);
+	}
+	continue;
+      }
+
+      if (recovering.count(soid)) {
+	dout(10) << __func__ << ": already recovering" << soid << dendl;
 	continue;
       }
 
@@ -7252,13 +7943,11 @@ int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle)
       dout(10) << __func__ << ": recover_object_replicas(" << soid << ")" << dendl;
       map<hobject_t,pg_missing_t::item>::const_iterator r = m.missing.find(soid);
       started += prep_object_replica_pushes(soid, r->second.need,
-					    g_conf->osd_recovery_op_priority,
-					    &pushes);
+					    h);
     }
   }
 
-  send_pushes(g_conf->osd_recovery_op_priority, pushes);
-
+  pgbackend->run_recovery_op(h, cct->_conf->osd_recovery_op_priority);
   return started;
 }
 
@@ -7280,12 +7969,17 @@ int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle)
  * All objects < MIN(peer_backfill_info.begin, backfill_info.begin) in PG are
  * backfilled.  No deleted objects in this interval remain on backfill_target.
  *
- * peer_info[backfill_target].last_backfill = MIN(peer_backfill_info.begin,
- * backfill_info.begin, backfills_in_flight)
+ * All objects <= peer_info[backfill_target].last_backfill have been backfilled
+ * to backfill_target
+ *
+ * There *MAY* be objects between last_backfill_started and
+ * MIN(peer_backfill_info.begin, backfill_info.begin) in the event that client
+ * io created objects since the last scan.  For this reason, we call
+ * update_range() again before continuing backfill.
  */
 int ReplicatedPG::recover_backfill(
   int max,
-  ThreadPool::TPHandle &handle)
+  ThreadPool::TPHandle &handle, bool *work_started)
 {
   dout(10) << "recover_backfill (" << max << ")" << dendl;
   assert(backfill_target >= 0);
@@ -7300,40 +7994,36 @@ int ReplicatedPG::recover_backfill(
   }
 
   dout(10) << " peer osd." << backfill_target
-	   << " pos " << backfill_pos
+	   << " last_backfill_started " << last_backfill_started
 	   << " info " << pinfo
 	   << " interval " << pbi.begin << "-" << pbi.end
 	   << " " << pbi.objects.size() << " objects" << dendl;
 
-  int local_min = osd->store->get_ideal_list_min();
-  int local_max = osd->store->get_ideal_list_max();
-
-  // re-scan our local interval to cope with recent changes
-  // FIXME: we could track the eversion_t when we last scanned, and invalidate
-  // that way.  or explicitly modify/invalidate when we actually change specific
-  // objects.
-  dout(10) << " rescanning local backfill_info from " << backfill_pos << dendl;
-  backfill_info.clear();
-  osr->flush();
-  scan_range(backfill_pos, local_min, local_max, &backfill_info, handle);
+  // update our local interval to cope with recent changes
+  backfill_info.begin = last_backfill_started;
+  update_range(&backfill_info, handle);
 
   int ops = 0;
-  map<hobject_t, pair<eversion_t, eversion_t> > to_push;
+  map<hobject_t,
+      boost::tuple<eversion_t, eversion_t, ObjectContextRef> > to_push;
   map<hobject_t, eversion_t> to_remove;
   set<hobject_t> add_to_stat;
 
-  pbi.trim();
-  backfill_info.trim();
+  pbi.trim_to(last_backfill_started);
+  backfill_info.trim_to(last_backfill_started);
 
+  hobject_t backfill_pos = MIN(backfill_info.begin, pbi.begin);
   while (ops < max) {
     if (backfill_info.begin <= pbi.begin &&
 	!backfill_info.extends_to_end() && backfill_info.empty()) {
-      osr->flush();
-      scan_range(backfill_info.end, local_min, local_max, &backfill_info,
-		 handle);
+      hobject_t next = backfill_info.end;
+      backfill_info.clear();
+      backfill_info.begin = next;
+      backfill_info.end = hobject_t::get_max();
+      update_range(&backfill_info, handle);
       backfill_info.trim();
     }
-    backfill_pos = backfill_info.begin > pbi.begin ? pbi.begin : backfill_info.begin;
+    backfill_pos = MIN(backfill_info.begin, pbi.begin);
 
     dout(20) << "   my backfill " << backfill_info.begin << "-" << backfill_info.end
 	     << " " << backfill_info.objects << dendl;
@@ -7366,73 +8056,101 @@ int ReplicatedPG::recover_backfill(
 	  waiting_for_degraded_object[pbi.begin]);
 	waiting_for_degraded_object.erase(pbi.begin);
       }
+      last_backfill_started = pbi.begin;
       pbi.pop_front();
       // Don't increment ops here because deletions
       // are cheap and not replied to unlike real recovery_ops,
       // and we can't increment ops without requeueing ourself
       // for recovery.
     } else if (pbi.begin == backfill_info.begin) {
-      if (pbi.objects.begin()->second !=
-	  backfill_info.objects.begin()->second) {
-	dout(20) << " replacing peer " << pbi.begin << " with local "
-		 << backfill_info.objects.begin()->second << dendl;
-	to_push[pbi.begin] = make_pair(backfill_info.objects.begin()->second,
-				       pbi.objects.begin()->second);
-	ops++;
+      eversion_t& obj_v = backfill_info.objects.begin()->second;
+      if (pbi.objects.begin()->second != obj_v) {
+	ObjectContextRef obc = get_object_context(backfill_info.begin, false);
+	assert(obc);
+	if (obc->get_backfill_read()) {
+	  dout(20) << " replacing peer " << pbi.begin << " with local "
+		   << obj_v << dendl;
+	  to_push[pbi.begin] = boost::make_tuple(
+	    obj_v, pbi.objects.begin()->second, obc);
+	  ops++;
+	} else {
+	  *work_started = true;
+	  dout(20) << "backfill blocking on " << backfill_info.begin
+		   << "; could not get rw_manager lock" << dendl;
+	  break;
+	}
       } else {
 	dout(20) << " keeping peer " << pbi.begin << " "
 		 << pbi.objects.begin()->second << dendl;
 	// Object was degraded, but won't be recovered
 	if (waiting_for_degraded_object.count(pbi.begin)) {
-	  requeue_ops(
-	    waiting_for_degraded_object[pbi.begin]);
+	  requeue_ops(waiting_for_degraded_object[pbi.begin]);
 	  waiting_for_degraded_object.erase(pbi.begin);
 	}
       }
+      last_backfill_started = pbi.begin;
       add_to_stat.insert(pbi.begin);
       backfill_info.pop_front();
       pbi.pop_front();
     } else {
-      dout(20) << " pushing local " << backfill_info.begin << " "
-	       << backfill_info.objects.begin()->second
-	       << " to peer osd." << backfill_target << dendl;
-      to_push[backfill_info.begin] =
-	make_pair(backfill_info.objects.begin()->second,
-		  eversion_t());
-      add_to_stat.insert(backfill_info.begin);
-      backfill_info.pop_front();
-      ops++;
+      ObjectContextRef obc = get_object_context(backfill_info.begin, false);
+      assert(obc);
+      if (obc->get_backfill_read()) {
+	dout(20) << " pushing local " << backfill_info.begin << " "
+		 << backfill_info.objects.begin()->second
+		 << " to peer osd." << backfill_target << dendl;
+	to_push[backfill_info.begin] =
+	  boost::make_tuple(
+	    backfill_info.objects.begin()->second,
+	    eversion_t(),
+	    obc);
+	add_to_stat.insert(backfill_info.begin);
+	last_backfill_started = backfill_info.begin;
+	backfill_info.pop_front();
+	ops++;
+      } else {
+	*work_started = true;
+	dout(20) << "backfill blocking on " << backfill_info.begin
+		 << "; could not get rw_manager lock" << dendl;
+	break;
+      }
     }
   }
-  backfill_pos = backfill_info.begin > pbi.begin ? pbi.begin : backfill_info.begin;
+  backfill_pos = MIN(backfill_info.begin, pbi.begin);
 
   for (set<hobject_t>::iterator i = add_to_stat.begin();
        i != add_to_stat.end();
        ++i) {
-    ObjectContext *obc = get_object_context(*i, false);
+    ObjectContextRef obc = get_object_context(*i, false);
     pg_stat_t stat;
     add_object_context_to_pg_stat(obc, &stat);
     pending_backfill_updates[*i] = stat;
-    put_object_context(obc);
   }
   for (map<hobject_t, eversion_t>::iterator i = to_remove.begin();
        i != to_remove.end();
        ++i) {
     handle.reset_tp_timeout();
+
+    // ordered before any subsequent updates
     send_remove_op(i->first, i->second, backfill_target);
+
+    pending_backfill_updates[i->first]; // add empty stat!
   }
 
+  PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
   map<int, vector<PushOp> > pushes;
-  for (map<hobject_t, pair<eversion_t, eversion_t> >::iterator i = to_push.begin();
+  for (map<hobject_t,
+	   boost::tuple<eversion_t, eversion_t, ObjectContextRef> >::iterator i =
+	     to_push.begin();
        i != to_push.end();
        ++i) {
     handle.reset_tp_timeout();
     prep_backfill_object_push(
-      i->first, i->second.first, i->second.second, backfill_target, &pushes);
+      i->first, i->second.get<0>(), i->second.get<1>(), i->second.get<2>(),
+      backfill_target, h);
   }
-  send_pushes(g_conf->osd_recovery_op_priority, pushes);
+  pgbackend->run_recovery_op(h, cct->_conf->osd_recovery_op_priority);
 
-  release_waiting_for_backfill_pos();
   dout(5) << "backfill_pos is " << backfill_pos << " and pinfo.last_backfill is "
 	  << pinfo.last_backfill << dendl;
   for (set<hobject_t>::iterator i = backfills_in_flight.begin();
@@ -7441,18 +8159,41 @@ int ReplicatedPG::recover_backfill(
     dout(20) << *i << " is still in flight" << dendl;
   }
 
-  hobject_t bound = backfills_in_flight.size() ?
+  hobject_t next_backfill_to_complete = backfills_in_flight.size() ?
     *(backfills_in_flight.begin()) : backfill_pos;
-  if (bound > pinfo.last_backfill) {
-    pinfo.last_backfill = bound;
-    for (map<hobject_t, pg_stat_t>::iterator i = pending_backfill_updates.begin();
-	 i != pending_backfill_updates.end() && i->first < bound;
-	 pending_backfill_updates.erase(i++)) {
-      pinfo.stats.add(i->second);
-    }
+  hobject_t new_last_backfill = pinfo.last_backfill;
+  for (map<hobject_t, pg_stat_t>::iterator i = pending_backfill_updates.begin();
+       i != pending_backfill_updates.end() &&
+	 i->first < next_backfill_to_complete;
+       pending_backfill_updates.erase(i++)) {
+    pinfo.stats.add(i->second);
+    assert(i->first > new_last_backfill);
+    new_last_backfill = i->first;
+  }
+
+  /* If last_backfill is snapdir, we know that head necessarily cannot exist,
+   * therefore it's safe to bump the snap up to NOSNAP.  This is necessary
+   * since we need avoid having SNAPDIR backfilled and HEAD not backfilled
+   * since a transaction on HEAD might change SNAPDIR
+   */
+  if (new_last_backfill.is_snapdir())
+    new_last_backfill = new_last_backfill.get_head();
+  if (last_backfill_started.is_snapdir())
+    last_backfill_started = last_backfill_started.get_head();
+
+  assert(!pending_backfill_updates.empty() ||
+	 new_last_backfill == last_backfill_started);
+  if (pending_backfill_updates.empty() &&
+      backfill_pos.is_max()) {
+    assert(backfills_in_flight.empty());
+    new_last_backfill = backfill_pos;
+    last_backfill_started = backfill_pos;
+  }
+  if (new_last_backfill > pinfo.last_backfill) {
+    pinfo.last_backfill = new_last_backfill;
     epoch_t e = get_osdmap()->get_epoch();
     MOSDPGBackfill *m = NULL;
-    if (bound.is_max()) {
+    if (pinfo.last_backfill.is_max()) {
       m = new MOSDPGBackfill(MOSDPGBackfill::OP_BACKFILL_FINISH, e, e, info.pgid);
       // Use default priority here, must match sub_op priority
       /* pinfo.stats might be wrong if we did log-based recovery on the
@@ -7464,63 +8205,134 @@ int ReplicatedPG::recover_backfill(
       m = new MOSDPGBackfill(MOSDPGBackfill::OP_BACKFILL_PROGRESS, e, e, info.pgid);
       // Use default priority here, must match sub_op priority
     }
-    m->last_backfill = bound;
+    m->last_backfill = pinfo.last_backfill;
     m->stats = pinfo.stats;
     osd->send_message_osd_cluster(backfill_target, m, get_osdmap()->get_epoch());
   }
 
   dout(10) << " peer num_objects now " << pinfo.stats.stats.sum.num_objects
 	   << " / " << info.stats.stats.sum.num_objects << dendl;
+  if (ops)
+    *work_started = true;
   return ops;
 }
 
 void ReplicatedPG::prep_backfill_object_push(
-  hobject_t oid, eversion_t v, eversion_t have, int peer,
-  map<int, vector<PushOp> > *pushes)
+  hobject_t oid, eversion_t v, eversion_t have,
+  ObjectContextRef obc,
+  int peer,
+  PGBackend::RecoveryHandle *h)
 {
   dout(10) << "push_backfill_object " << oid << " v " << v << " to osd." << peer << dendl;
 
   backfills_in_flight.insert(oid);
+  map<int, pg_missing_t>::iterator bpm = peer_missing.find(backfill_target);
+  assert(bpm != peer_missing.end());
+  bpm->second.add(oid, eversion_t(), eversion_t());
+
+  assert(!recovering.count(oid));
+
+  start_recovery_op(oid);
+  recovering.insert(make_pair(oid, obc));
 
-  if (!pushing.count(oid))
-    start_recovery_op(oid);
-  ObjectContext *obc = get_object_context(oid, false);
+  // We need to take the read_lock here in order to flush in-progress writes
   obc->ondisk_read_lock();
-  (*pushes)[peer].push_back(PushOp());
-  prep_push_to_replica(obc, oid, peer, g_conf->osd_recovery_op_priority,
-		       &((*pushes)[peer].back()));
+  pgbackend->recover_object(
+    oid,
+    ObjectContextRef(),
+    obc,
+    h);
   obc->ondisk_read_unlock();
-  put_object_context(obc);
+}
+
+void ReplicatedPG::update_range(
+  BackfillInterval *bi,
+  ThreadPool::TPHandle &handle)
+{
+  int local_min = cct->_conf->osd_backfill_scan_min;
+  int local_max = cct->_conf->osd_backfill_scan_max;
+
+  if (bi->version < info.log_tail) {
+    dout(10) << __func__<< ": bi is old, rescanning local backfill_info"
+	     << dendl;
+    if (last_update_applied >= info.log_tail) {
+      bi->version = last_update_applied;
+    } else {
+      osr->flush();
+      bi->version = info.last_update;
+    }
+    scan_range(local_min, local_max, bi, handle);
+  }
+
+  if (bi->version >= info.last_update) {
+    dout(10) << __func__<< ": bi is current " << dendl;
+    assert(bi->version == info.last_update);
+  } else if (bi->version >= info.log_tail) {
+    assert(!pg_log.get_log().empty());
+    dout(10) << __func__<< ": bi is old, (" << bi->version
+	     << ") can be updated with log" << dendl;
+    list<pg_log_entry_t>::const_iterator i =
+      pg_log.get_log().log.end();
+    --i;
+    while (i != pg_log.get_log().log.begin() &&
+           i->version > bi->version) {
+      --i;
+    }
+    if (i->version == bi->version)
+      ++i;
+
+    assert(i != pg_log.get_log().log.end());
+    dout(10) << __func__ << ": updating from version " << i->version
+	     << dendl;
+    for (; i != pg_log.get_log().log.end(); ++i) {
+      const hobject_t &soid = i->soid;
+      if (soid >= bi->begin && soid < bi->end) {
+	if (i->is_update()) {
+	  dout(10) << __func__ << ": " << i->soid << " updated to version "
+		   << i->version << dendl;
+	  bi->objects.erase(i->soid);
+	  bi->objects.insert(
+	    make_pair(
+	      i->soid,
+	      i->version));
+	} else if (i->is_delete()) {
+	  dout(10) << __func__ << ": " << i->soid << " removed" << dendl;
+	  bi->objects.erase(i->soid);
+	}
+      }
+    }
+    bi->version = info.last_update;
+  } else {
+    assert(0 == "scan_range should have raised bi->version past log_tail");
+  }
 }
 
 void ReplicatedPG::scan_range(
-  hobject_t begin, int min, int max, BackfillInterval *bi,
+  int min, int max, BackfillInterval *bi,
   ThreadPool::TPHandle &handle)
 {
   assert(is_locked());
-  dout(10) << "scan_range from " << begin << dendl;
-  bi->begin = begin;
+  dout(10) << "scan_range from " << bi->begin << dendl;
   bi->objects.clear();  // for good measure
 
   vector<hobject_t> ls;
   ls.reserve(max);
-  int r = osd->store->collection_list_partial(coll, begin, min, max,
-					      0, &ls, &bi->end);
+  int r = pgbackend->objects_list_partial(bi->begin, min, max, 0, &ls, &bi->end);
   assert(r >= 0);
   dout(10) << " got " << ls.size() << " items, next " << bi->end << dendl;
   dout(20) << ls << dendl;
 
   for (vector<hobject_t>::iterator p = ls.begin(); p != ls.end(); ++p) {
     handle.reset_tp_timeout();
-    ObjectContext *obc = NULL;
+    ObjectContextRef obc;
     if (is_primary())
-      obc = _lookup_object_context(*p);
+      obc = object_contexts.lookup(*p);
     if (obc) {
       bi->objects[*p] = obc->obs.oi.version;
       dout(20) << "  " << *p << " " << obc->obs.oi.version << dendl;
     } else {
       bufferlist bl;
-      int r = osd->store->getattr(coll, *p, OI_ATTR, bl);
+      int r = pgbackend->objects_get_attr(*p, OI_ATTR, &bl);
       assert(r >= 0);
       object_info_t oi(bl);
       bi->objects[*p] = oi.version;
@@ -7540,7 +8352,7 @@ void ReplicatedPG::check_local()
 
   assert(info.last_update >= pg_log.get_tail());  // otherwise we need some help!
 
-  if (!g_conf->osd_debug_verify_stray_on_activate)
+  if (!cct->_conf->osd_debug_verify_stray_on_activate)
     return;
 
   // just scan the log.
@@ -7790,9 +8602,10 @@ void ReplicatedPG::SnapTrimmer::log_exit(const char *state_name, utime_t enter_t
 		     << "SnapTrimmer state<" << get_state_name() << ">: ")
 
 /* NotTrimming */
-ReplicatedPG::NotTrimming::NotTrimming(my_context ctx) : my_base(ctx)
+ReplicatedPG::NotTrimming::NotTrimming(my_context ctx)
+  : my_base(ctx), 
+    NamedState(context< SnapTrimmer >().pg->cct, "NotTrimming")
 {
-  state_name = "NotTrimming";
   context< SnapTrimmer >().requeue = false;
   context< SnapTrimmer >().log_enter(state_name);
 }
@@ -7831,15 +8644,23 @@ boost::statechart::result ReplicatedPG::NotTrimming::react(const SnapTrim&)
 }
 
 /* TrimmingObjects */
-ReplicatedPG::TrimmingObjects::TrimmingObjects(my_context ctx) : my_base(ctx)
+ReplicatedPG::TrimmingObjects::TrimmingObjects(my_context ctx)
+  : my_base(ctx),
+    NamedState(context< SnapTrimmer >().pg->cct, "Trimming/TrimmingObjects")
 {
-  state_name = "Trimming/TrimmingObjects";
   context< SnapTrimmer >().log_enter(state_name);
 }
 
 void ReplicatedPG::TrimmingObjects::exit()
 {
   context< SnapTrimmer >().log_exit(state_name, enter_time);
+  // Clean up repops in case of reset
+  set<RepGather *> &repops = context<SnapTrimmer>().repops;
+  for (set<RepGather *>::iterator i = repops.begin();
+       i != repops.end();
+       repops.erase(i++)) {
+    (*i)->put();
+  }
 }
 
 boost::statechart::result ReplicatedPG::TrimmingObjects::react(const SnapTrim&)
@@ -7866,24 +8687,20 @@ boost::statechart::result ReplicatedPG::TrimmingObjects::react(const SnapTrim&)
   dout(10) << "TrimmingObjects react trimming " << pos << dendl;
   RepGather *repop = pg->trim_object(pos);
   assert(repop);
-
   repop->queue_snap_trimmer = true;
-  eversion_t old_last_update = pg->pg_log.get_head();
-  bool old_exists = repop->obc->obs.exists;
-  uint64_t old_size = repop->obc->obs.oi.size;
-  eversion_t old_version = repop->obc->obs.oi.version;
 
   pg->append_log(repop->ctx->log, eversion_t(), repop->ctx->local_t);
-  pg->issue_repop(repop, repop->ctx->mtime, old_last_update, old_exists, old_size, old_version);
+  pg->issue_repop(repop, repop->ctx->mtime);
   pg->eval_repop(repop);
 
   repops.insert(repop);
   return discard_event();
 }
 /* WaitingOnReplicasObjects */
-ReplicatedPG::WaitingOnReplicas::WaitingOnReplicas(my_context ctx) : my_base(ctx)
+ReplicatedPG::WaitingOnReplicas::WaitingOnReplicas(my_context ctx)
+  : my_base(ctx),
+    NamedState(context< SnapTrimmer >().pg->cct, "Trimming/WaitingOnReplicas")
 {
-  state_name = "Trimming/WaitingOnReplicas";
   context< SnapTrimmer >().log_enter(state_name);
   context< SnapTrimmer >().requeue = false;
 }
diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h
index 41c8106..d1779d1 100644
--- a/src/osd/ReplicatedPG.h
+++ b/src/osd/ReplicatedPG.h
@@ -3,6 +3,9 @@
  * Ceph - scalable distributed file system
  *
  * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
  *
  * This is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -15,6 +18,7 @@
 #define CEPH_REPLICATEDPG_H
 
 #include <boost/optional.hpp>
+#include <boost/tuple/tuple.hpp>
 
 #include "include/assert.h" 
 #include "common/cmdparse.h"
@@ -27,6 +31,12 @@
 #include "messages/MOSDOp.h"
 #include "messages/MOSDOpReply.h"
 #include "messages/MOSDSubOp.h"
+
+#include "common/sharedptr_registry.hpp"
+
+#include "PGBackend.h"
+#include "ReplicatedBackend.h"
+
 class MOSDSubOpReply;
 
 class ReplicatedPG;
@@ -74,184 +84,236 @@ public:
   virtual bool filter(bufferlist& xattr_data, bufferlist& outdata);
 };
 
-class ReplicatedPG : public PG {
+class ReplicatedPG : public PG, public PGBackend::Listener {
   friend class OSD;
   friend class Watch;
-public:  
+
+public:
 
   /*
-    object access states:
-
-    - idle
-      - no in-progress or waiting writes.
-      - read: ok
-      - write: ok.  move to 'delayed' or 'rmw'
-      - rmw: ok.  move to 'rmw'
-	  
-    - delayed
-      - delayed write in progress.  delay write application on primary.
-      - when done, move to 'idle'
-      - read: ok
-      - write: ok
-      - rmw: no.  move to 'delayed-flushing'
-
-    - rmw
-      - rmw cycles in flight.  applied immediately at primary.
-      - when done, move to 'idle'
-      - read: same client ok.  otherwise, move to 'rmw-flushing'
-      - write: same client ok.  otherwise, start write, but also move to 'rmw-flushing'
-      - rmw: same client ok.  otherwise, move to 'rmw-flushing'
-      
-    - delayed-flushing
-      - waiting for delayed writes to flush, then move to 'rmw'
-      - read, write, rmw: wait
-
-    - rmw-flushing
-      - waiting for rmw to flush, then move to 'idle'
-      - read, write, rmw: wait
-    
+   * state associated with a copy operation
    */
+  struct OpContext;
+  class CopyCallback;
 
-  struct AccessMode {
-    typedef enum {
-      IDLE,
-      DELAYED,
-      RMW,
-      DELAYED_FLUSHING,
-      RMW_FLUSHING
-    } state_t;
-    static const char *get_state_name(int s) {
-      switch (s) {
-      case IDLE: return "idle";
-      case DELAYED: return "delayed";
-      case RMW: return "rmw";
-      case DELAYED_FLUSHING: return "delayed-flushing";
-      case RMW_FLUSHING: return "rmw-flushing";
-      default: return "???";
-      }
-    }
-    state_t state;
-    int num_wr;
-    list<OpRequestRef> waiting;
-    list<Cond*> waiting_cond;
-    bool wake;
-
-    AccessMode() : state(IDLE),
-		   num_wr(0), wake(false) {}
-
-    void check_mode() {
-      assert(state != DELAYED_FLUSHING && state != RMW_FLUSHING);
-      if (num_wr == 0)
-	state = IDLE;
-    }
+  struct CopyOp {
+    CopyCallback *cb;
+    ObjectContextRef obc;
+    hobject_t src;
+    object_locator_t oloc;
+    version_t user_version;
 
-    bool want_delayed() {
-      check_mode();
-      switch (state) {
-      case IDLE:
-	state = DELAYED;
-      case DELAYED:
-	return true;
-      case RMW:
-	state = RMW_FLUSHING;
-	return true;
-      case DELAYED_FLUSHING:
-      case RMW_FLUSHING:
-	return false;
-      default:
-	assert(0);
-      }
-    }
-    bool want_rmw() {
-      check_mode();
-      switch (state) {
-      case IDLE:
-	state = RMW;
-	return true;
-      case DELAYED:
-	state = DELAYED_FLUSHING;
-	return false;
-      case RMW:
-	state = RMW_FLUSHING;
-	return false;
-      case DELAYED_FLUSHING:
-      case RMW_FLUSHING:
-	return false;
-      default:
-	assert(0);
-      }
-    }
+    tid_t objecter_tid;
 
-    bool try_read(entity_inst_t& c) {
-      check_mode();
-      switch (state) {
-      case IDLE:
-      case DELAYED:
-      case RMW:
-	return true;
-      case DELAYED_FLUSHING:
-      case RMW_FLUSHING:
-	return false;
-      default:
-	assert(0);
-      }
-    }
-    bool try_write(entity_inst_t& c) {
-      check_mode();
-      switch (state) {
-      case IDLE:
-	state = RMW;  /* default to RMW; it's a better all around policy */
-      case DELAYED:
-      case RMW:
-	return true;
-      case DELAYED_FLUSHING:
-      case RMW_FLUSHING:
-	return false;
-      default:
-	assert(0);
+    object_copy_cursor_t cursor;
+    uint64_t size;
+    utime_t mtime;
+    string category;
+    map<string,bufferlist> attrs;
+    bufferlist data;
+    map<string,bufferlist> omap;
+    int rval;
+
+    coll_t temp_coll;
+    hobject_t temp_oid;
+    object_copy_cursor_t temp_cursor;
+
+    CopyOp(CopyCallback *cb_, ObjectContextRef _obc, hobject_t s, object_locator_t l,
+           version_t v, const hobject_t& dest)
+      : cb(cb_), obc(_obc), src(s), oloc(l), user_version(v),
+	objecter_tid(0),
+	size(0),
+	rval(-1),
+	temp_oid(dest)
+    {}
+  };
+  typedef boost::shared_ptr<CopyOp> CopyOpRef;
+
+  /**
+   * The CopyCallback class defines an interface for completions to the
+   * copy_start code. Users of the copy infrastructure must implement
+   * one and give an instance of the class to start_copy.
+   *
+   * The implementer is responsible for making sure that the CopyCallback
+   * can associate itself with the correct copy operation. The presence
+   * of the closing Transaction ensures that write operations can be performed
+   * atomically with the copy being completed (which doing them in separate
+   * transactions would not allow); if you are doing the copy for a read
+   * op you will have to generate a separate op to finish the copy with.
+   */
+  /// return code, total object size, data in temp object?, final Transaction, should requeue Op
+  typedef boost::tuple<int, size_t, bool, ObjectStore::Transaction, bool> CopyResults;
+  class CopyCallback : public GenContext<CopyResults&> {
+  protected:
+    CopyCallback() {}
+    /**
+     * results.get<0>() is the return code: 0 for success; -ECANCELLED if
+     * the operation was cancelled by the local OSD; -errno for other issues.
+     * results.get<1>() is the total size of the object (for updating pg stats)
+     * results.get<2>() indicates whether we have already written data to
+     * the temp object (so it needs to get cleaned up, if the return code
+     * indicates a failure)
+     * results.get<3>() is a Transaction; if non-empty you need to perform
+     * its results before any other accesses to the object in order to
+     * complete the copy.
+     * results.get<4>() is a bool; if true you must requeue the client Op
+     * after processing the rest of the results (this will only be true
+     * in conjunction with an ECANCELED return code).
+     */
+    virtual void finish(CopyResults& results_) = 0;
+
+  public:
+    /// Provide the final size of the copied object to the CopyCallback
+    virtual ~CopyCallback() {};
+  };
+
+  class CopyFromCallback: public CopyCallback {
+  public:
+    CopyResults results;
+    OpContext *ctx;
+    hobject_t temp_obj;
+    CopyFromCallback(OpContext *ctx_, const hobject_t& temp_obj_) :
+      ctx(ctx_), temp_obj(temp_obj_) {}
+    ~CopyFromCallback() {}
+
+    virtual void finish(CopyResults& results_) {
+      results = results_;
+      int r = results.get<0>();
+      if (r >= 0) {
+	ctx->pg->execute_ctx(ctx);
       }
-    }
-    bool try_rmw(entity_inst_t& c) {
-      check_mode();
-      switch (state) {
-      case IDLE:
-	state = RMW;
-	return true;
-      case DELAYED:
-	state = DELAYED_FLUSHING;
-	return false;
-      case RMW:
-	return true;
-      case DELAYED_FLUSHING:
-      case RMW_FLUSHING:
-	return false;
-      default:
-	assert(0);
+      ctx->copy_cb = NULL;
+      if (r < 0) {
+	if (r != -ECANCELED) { // on cancel just toss it out; client resends
+	  ctx->pg->osd->reply_op_error(ctx->op, r);
+	} else if (results_.get<4>()) {
+	  ctx->pg->requeue_op(ctx->op);
+	}
+	ctx->pg->close_op_ctx(ctx);
       }
     }
 
-    bool is_delayed_mode() {
-      return state == DELAYED || state == DELAYED_FLUSHING;
-    }
-    bool is_rmw_mode() {
-      return state == RMW || state == RMW_FLUSHING;
-    }
+    bool is_temp_obj_used() { return results.get<2>(); }
+    uint64_t get_data_size() { return results.get<1>(); }
+    int get_result() { return results.get<0>(); }
+  };
+  friend class CopyFromCallback;
 
-    void write_start() {
-      num_wr++;
-      assert(state == DELAYED || state == RMW);
-    }
-    void write_applied() {
-      assert(num_wr > 0);
-      --num_wr;
-      if (num_wr == 0) {
-	state = IDLE;
-	wake = true;
-      }
+  boost::scoped_ptr<PGBackend> pgbackend;
+  PGBackend *get_pgbackend() {
+    return pgbackend.get();
+  }
+
+  /// Listener methods
+  void on_local_recover_start(
+    const hobject_t &oid,
+    ObjectStore::Transaction *t);
+  void on_local_recover(
+    const hobject_t &oid,
+    const object_stat_sum_t &stat_diff,
+    const ObjectRecoveryInfo &recovery_info,
+    ObjectContextRef obc,
+    ObjectStore::Transaction *t
+    );
+  void on_peer_recover(
+    int peer,
+    const hobject_t &oid,
+    const ObjectRecoveryInfo &recovery_info,
+    const object_stat_sum_t &stat
+    );
+  void begin_peer_recover(
+    int peer,
+    const hobject_t oid);
+  void on_global_recover(
+    const hobject_t &oid);
+  void failed_push(int from, const hobject_t &soid);
+  void cancel_pull(const hobject_t &soid);
+
+  template <typename T>
+  class BlessedGenContext : public GenContext<T> {
+    ReplicatedPG *pg;
+    GenContext<T> *c;
+    epoch_t e;
+  public:
+    BlessedGenContext(ReplicatedPG *pg, GenContext<T> *c, epoch_t e)
+      : pg(pg), c(c), e(e) {}
+    void finish(T t) {
+      pg->lock();
+      if (pg->pg_has_reset_since(e))
+	delete c;
+      else
+	c->complete(t);
+      pg->unlock();
     }
-    void write_commit() {
+  };
+  class BlessedContext : public Context {
+    ReplicatedPG *pg;
+    Context *c;
+    epoch_t e;
+  public:
+    BlessedContext(ReplicatedPG *pg, Context *c, epoch_t e)
+      : pg(pg), c(c), e(e) {}
+    void finish(int r) {
+      pg->lock();
+      if (pg->pg_has_reset_since(e))
+	delete c;
+      else
+	c->complete(r);
+      pg->unlock();
     }
   };
+  Context *bless_context(Context *c) {
+    return new BlessedContext(this, c, get_osdmap()->get_epoch());
+  }
+  GenContext<ThreadPool::TPHandle&> *bless_gencontext(
+    GenContext<ThreadPool::TPHandle&> *c) {
+    return new BlessedGenContext<ThreadPool::TPHandle&>(
+      this, c, get_osdmap()->get_epoch());
+  }
+    
+  void send_message(int to_osd, Message *m) {
+    osd->send_message_osd_cluster(to_osd, m, get_osdmap()->get_epoch());
+  }
+  void queue_transaction(ObjectStore::Transaction *t) {
+    osd->store->queue_transaction(osr.get(), t);
+  }
+  epoch_t get_epoch() {
+    return get_osdmap()->get_epoch();
+  }
+  const vector<int> &get_acting() {
+    return acting;
+  }
+  std::string gen_dbg_prefix() const { return gen_prefix(); }
+  
+  const map<hobject_t, set<int> > &get_missing_loc() {
+    return missing_loc;
+  }
+  const map<int, pg_missing_t> &get_peer_missing() {
+    return peer_missing;
+  }
+  const map<int, pg_info_t> &get_peer_info() {
+    return peer_info;
+  }
+  const pg_missing_t &get_local_missing() {
+    return pg_log.get_missing();
+  }
+  const PGLog &get_log() {
+    return pg_log;
+  }
+  bool pgb_is_primary() const {
+    return is_primary();
+  }
+  OSDMapRef pgb_get_osdmap() const {
+    return get_osdmap();
+  }
+  const pg_info_t &get_info() const {
+    return info;
+  }
+  ObjectContextRef get_obc(
+    const hobject_t &hoid,
+    map<string, bufferptr> &attrs) {
+    return get_object_context(hoid, true, &attrs);
+  }
 
   /*
    * Capture all object state associated with an in-progress read or write.
@@ -259,7 +321,7 @@ public:
   struct OpContext {
     OpRequestRef op;
     osd_reqid_t reqid;
-    vector<OSDOp>& ops;
+    vector<OSDOp> ops;
 
     const ObjectState *obs; // Old objectstate
     const SnapSet *snapset; // Old snapset
@@ -271,6 +333,7 @@ public:
 
     bool modify;          // (force) modification (even if op_t is empty)
     bool user_modify;     // user-visible modification
+    bool undirty;         // user explicitly un-dirtying this object
 
     // side effects
     list<watch_info_t> watch_connects;
@@ -290,7 +353,7 @@ public:
     utime_t mtime;
     SnapContext snapc;           // writer snap context
     eversion_t at_version;       // pg's current version pointer
-    eversion_t reply_version;    // the version that we report the client (depends on the op)
+    version_t user_at_version;   // pg's current user version pointer
 
     int current_osd_subop_num;
 
@@ -298,10 +361,10 @@ public:
     vector<pg_log_entry_t> log;
 
     interval_set<uint64_t> modified_ranges;
-    ObjectContext *obc;          // For ref counting purposes
-    map<hobject_t,ObjectContext*> src_obc;
-    ObjectContext *clone_obc;    // if we created a clone
-    ObjectContext *snapset_obc;  // if we created/deleted a snapdir
+    ObjectContextRef obc;
+    map<hobject_t,ObjectContextRef> src_obc;
+    ObjectContextRef clone_obc;    // if we created a clone
+    ObjectContextRef snapset_obc;  // if we created/deleted a snapdir
 
     int data_off;        // FIXME: we may want to kill this msgr hint off at some point!
 
@@ -310,6 +373,15 @@ public:
     utime_t readable_stamp;  // when applied on all replicas
     ReplicatedPG *pg;
 
+    int num_read;    ///< count read ops
+    int num_write;   ///< count update ops
+
+    CopyFromCallback *copy_cb;
+
+    hobject_t new_temp_oid, discard_temp_oid;  ///< temp objects we should start/stop tracking
+
+    enum { W_LOCK, R_LOCK, NONE } lock_to_release;
+
     OpContext(const OpContext& other);
     const OpContext& operator=(const OpContext& other);
 
@@ -318,17 +390,29 @@ public:
 	      ReplicatedPG *_pg) :
       op(_op), reqid(_reqid), ops(_ops), obs(_obs), snapset(0),
       new_obs(_obs->oi, _obs->exists),
-      modify(false), user_modify(false),
-      bytes_written(0), bytes_read(0),
+      modify(false), user_modify(false), undirty(false),
+      bytes_written(0), bytes_read(0), user_at_version(0),
       current_osd_subop_num(0),
-      obc(0), clone_obc(0), snapset_obc(0), data_off(0), reply(NULL), pg(_pg) { 
+      data_off(0), reply(NULL), pg(_pg),
+      num_read(0),
+      num_write(0),
+      copy_cb(NULL),
+      lock_to_release(NONE) {
       if (_ssc) {
 	new_snapset = _ssc->snapset;
 	snapset = &_ssc->snapset;
       }
     }
+    void reset_obs(ObjectContextRef obc) {
+      new_obs = ObjectState(obc->obs.oi, obc->obs.exists);
+      if (obc->ssc) {
+	new_snapset = obc->ssc->snapset;
+	snapset = &obc->ssc->snapset;
+      }
+    }
     ~OpContext() {
       assert(!clone_obc);
+      assert(lock_to_release == NONE);
       if (reply)
 	reply->put();
     }
@@ -338,6 +422,7 @@ public:
    * State on the PG primary associated with the replicated mutation
    */
   class RepGather {
+    bool is_done;
   public:
     xlist<RepGather*>::item queue_item;
     int nref;
@@ -345,12 +430,12 @@ public:
     eversion_t v;
 
     OpContext *ctx;
-    ObjectContext *obc;
-    map<hobject_t,ObjectContext*> src_obc;
+    ObjectContextRef obc;
+    map<hobject_t,ObjectContextRef> src_obc;
 
     tid_t rep_tid;
 
-    bool applying, applied, aborted, done;
+    bool applying, applied, aborted;
 
     set<int>  waitfor_ack;
     //set<int>  waitfor_nvram;
@@ -359,6 +444,8 @@ public:
     //bool sent_nvram;
     bool sent_disk;
     
+    Context *ondone; ///< if set, this Context will be activated when repop is done
+
     utime_t   start;
     
     eversion_t          pg_local_last_complete;
@@ -366,16 +453,18 @@ public:
     list<ObjectStore::Transaction*> tls;
     bool queue_snap_trimmer;
     
-    RepGather(OpContext *c, ObjectContext *pi, tid_t rt, 
+    RepGather(OpContext *c, ObjectContextRef pi, tid_t rt, 
 	      eversion_t lc) :
+      is_done(false),
       queue_item(this),
       nref(1),
       ctx(c), obc(pi),
       rep_tid(rt), 
-      applying(false), applied(false), aborted(false), done(false),
+      applying(false), applied(false), aborted(false),
       sent_ack(false),
       //sent_nvram(false),
       sent_disk(false),
+      ondone(NULL),
       pg_local_last_complete(lc),
       queue_snap_trimmer(false) { }
 
@@ -385,20 +474,86 @@ public:
     void put() {
       assert(nref > 0);
       if (--nref == 0) {
-	assert(!obc);
 	assert(src_obc.empty());
-	delete ctx;
+	delete ctx; // must already be unlocked
 	delete this;
 	//generic_dout(0) << "deleting " << this << dendl;
       }
     }
+    void mark_done() {
+      is_done = true;
+      if (ondone)
+	ondone->complete(0);
+    }
+    bool done() {
+      return is_done;
+    }
   };
 
 
 
 protected:
 
-  AccessMode mode;
+  /**
+   * Grabs locks for OpContext, should be cleaned up in close_op_ctx
+   *
+   * @param ctx [in,out] ctx to get locks for
+   * @return true on success, false if we are queued
+   */
+  bool get_rw_locks(OpContext *ctx) {
+    if (ctx->op->may_write()) {
+      if (ctx->obc->get_write(ctx->op)) {
+	ctx->lock_to_release = OpContext::W_LOCK;
+	return true;
+      } else {
+	return false;
+      }
+    } else {
+      assert(ctx->op->may_read());
+      if (ctx->obc->get_read(ctx->op)) {
+	ctx->lock_to_release = OpContext::R_LOCK;
+	return true;
+      } else {
+	return false;
+      }
+    }
+  }
+
+  /**
+   * Cleans up OpContext
+   *
+   * @param ctx [in] ctx to clean up
+   */
+  void close_op_ctx(OpContext *ctx) {
+    release_op_ctx_locks(ctx);
+    delete ctx;
+  }
+
+  /**
+   * Releases ctx locks
+   *
+   * @param ctx [in] ctx to clean up
+   */
+  void release_op_ctx_locks(OpContext *ctx) {
+    list<OpRequestRef> to_req;
+    bool requeue_recovery = false;
+    switch (ctx->lock_to_release) {
+    case OpContext::W_LOCK:
+      ctx->obc->put_write(&to_req, &requeue_recovery);
+      if (requeue_recovery)
+	osd->recovery_wq.queue(this);
+      break;
+    case OpContext::R_LOCK:
+      ctx->obc->put_read(&to_req);
+      break;
+    case OpContext::NONE:
+      break;
+    default:
+      assert(0);
+    };
+    ctx->lock_to_release = OpContext::NONE;
+    requeue_ops(to_req);
+  }
 
   // replica ops
   // [primary|tail]
@@ -409,9 +564,8 @@ protected:
   void op_applied(RepGather *repop);
   void op_commit(RepGather *repop);
   void eval_repop(RepGather*);
-  void issue_repop(RepGather *repop, utime_t now,
-		   eversion_t old_last_update, bool old_exists, uint64_t old_size, eversion_t old_version);
-  RepGather *new_repop(OpContext *ctx, ObjectContext *obc, tid_t rep_tid);
+  void issue_repop(RepGather *repop, utime_t now);
+  RepGather *new_repop(OpContext *ctx, ObjectContextRef obc, tid_t rep_tid);
   void remove_repop(RepGather *repop);
   void repop_ack(RepGather *repop,
                  int result, int ack_type,
@@ -444,60 +598,64 @@ protected:
 
   friend class C_OSD_OpCommit;
   friend class C_OSD_OpApplied;
-  friend class C_OnPushCommit;
+  friend struct C_OnPushCommit;
 
   // projected object info
-  map<hobject_t, ObjectContext*> object_contexts;
+  SharedPtrRegistry<hobject_t, ObjectContext> object_contexts;
   map<object_t, SnapSetContext*> snapset_contexts;
+  Mutex snapset_contexts_lock;
 
   // debug order that client ops are applied
   map<hobject_t, map<client_t, tid_t> > debug_op_order;
 
-  void populate_obc_watchers(ObjectContext *obc);
-  void check_blacklisted_obc_watchers(ObjectContext *);
+  void populate_obc_watchers(ObjectContextRef obc);
+  void check_blacklisted_obc_watchers(ObjectContextRef obc);
   void check_blacklisted_watchers();
   void get_watchers(list<obj_watch_item_t> &pg_watchers);
-  void get_obc_watchers(ObjectContext *obc, list<obj_watch_item_t> &pg_watchers);
+  void get_obc_watchers(ObjectContextRef obc, list<obj_watch_item_t> &pg_watchers);
 public:
   void handle_watch_timeout(WatchRef watch);
 protected:
 
-  ObjectContext *lookup_object_context(const hobject_t& soid) {
-    if (object_contexts.count(soid)) {
-      ObjectContext *obc = object_contexts[soid];
-      obc->ref++;
-      return obc;
-    }
-    return NULL;
-  }
-  ObjectContext *_lookup_object_context(const hobject_t& oid);
-  ObjectContext *create_object_context(const object_info_t& oi, SnapSetContext *ssc);
-  ObjectContext *get_object_context(const hobject_t& soid, bool can_create);
-  void register_object_context(ObjectContext *obc) {
-    if (!obc->registered) {
-      assert(object_contexts.count(obc->obs.oi.soid) == 0);
-      obc->registered = true;
-      object_contexts[obc->obs.oi.soid] = obc;
-    }
-    if (obc->ssc)
-      register_snapset_context(obc->ssc);
-  }
+  ObjectContextRef create_object_context(const object_info_t& oi, SnapSetContext *ssc);
+  ObjectContextRef get_object_context(
+    const hobject_t& soid,
+    bool can_create,
+    map<string, bufferptr> *attrs = 0
+    );
 
   void context_registry_on_change();
-  void put_object_context(ObjectContext *obc);
-  void put_object_contexts(map<hobject_t,ObjectContext*>& obcv);
+  void object_context_destructor_callback(ObjectContext *obc);
+  struct C_PG_ObjectContext : public Context {
+    ReplicatedPGRef pg;
+    ObjectContext *obc;
+    C_PG_ObjectContext(ReplicatedPG *p, ObjectContext *o) :
+      pg(p), obc(o) {}
+    void finish(int r) {
+      pg->object_context_destructor_callback(obc);
+     }
+  };
+
   int find_object_context(const hobject_t& oid,
-			  ObjectContext **pobc,
+			  ObjectContextRef *pobc,
 			  bool can_create, snapid_t *psnapid=NULL);
 
-  void add_object_context_to_pg_stat(ObjectContext *obc, pg_stat_t *stat);
+  void add_object_context_to_pg_stat(ObjectContextRef obc, pg_stat_t *stat);
 
   void get_src_oloc(const object_t& oid, const object_locator_t& oloc, object_locator_t& src_oloc);
 
   SnapSetContext *create_snapset_context(const object_t& oid);
-  SnapSetContext *get_snapset_context(const object_t& oid, const string &key,
-				      ps_t seed, bool can_create, const string &nspace);
+  SnapSetContext *get_snapset_context(
+    const object_t& oid, const string &key,
+    ps_t seed, bool can_create, const string &nspace,
+    map<string, bufferptr> *attrs = 0
+    );
   void register_snapset_context(SnapSetContext *ssc) {
+    Mutex::Locker l(snapset_contexts_lock);
+    _register_snapset_context(ssc);
+  }
+  void _register_snapset_context(SnapSetContext *ssc) {
+    assert(snapset_contexts_lock.is_locked());
     if (!ssc->registered) {
       assert(snapset_contexts.count(ssc->oid) == 0);
       ssc->registered = true;
@@ -506,93 +664,7 @@ protected:
   }
   void put_snapset_context(SnapSetContext *ssc);
 
-  // push
-  struct PushInfo {
-    ObjectRecoveryProgress recovery_progress;
-    ObjectRecoveryInfo recovery_info;
-    int priority;
-
-    void dump(Formatter *f) const {
-      {
-	f->open_object_section("recovery_progress");
-	recovery_progress.dump(f);
-	f->close_section();
-      }
-      {
-	f->open_object_section("recovery_info");
-	recovery_info.dump(f);
-	f->close_section();
-      }
-    }
-  };
-  map<hobject_t, map<int, PushInfo> > pushing;
-
-  // pull
-  struct PullInfo {
-    ObjectRecoveryProgress recovery_progress;
-    ObjectRecoveryInfo recovery_info;
-    int priority;
-
-    void dump(Formatter *f) const {
-      {
-	f->open_object_section("recovery_progress");
-	recovery_progress.dump(f);
-	f->close_section();
-      }
-      {
-	f->open_object_section("recovery_info");
-	recovery_info.dump(f);
-	f->close_section();
-      }
-    }
-
-    bool is_complete() const {
-      return recovery_progress.is_complete(recovery_info);
-    }
-  };
-  map<hobject_t, PullInfo> pulling;
-
-  // Track contents of temp collection, clear on reset
-  set<hobject_t> temp_contents;
-
-  ObjectRecoveryInfo recalc_subsets(const ObjectRecoveryInfo& recovery_info);
-  static void trim_pushed_data(const interval_set<uint64_t> &copy_subset,
-			       const interval_set<uint64_t> &intervals_received,
-			       bufferlist data_received,
-			       interval_set<uint64_t> *intervals_usable,
-			       bufferlist *data_usable);
-  bool handle_pull_response(
-    int from, PushOp &op, PullOp *response,
-    ObjectStore::Transaction *t);
-  void handle_push(
-    int from, PushOp &op, PushReplyOp *response,
-    ObjectStore::Transaction *t);
-  void send_pushes(int prio, map<int, vector<PushOp> > &pushes);
-  int send_push(int priority, int peer,
-		const ObjectRecoveryInfo& recovery_info,
-		const ObjectRecoveryProgress &progress,
-		ObjectRecoveryProgress *out_progress = 0);
-  int build_push_op(const ObjectRecoveryInfo &recovery_info,
-		    const ObjectRecoveryProgress &progress,
-		    ObjectRecoveryProgress *out_progress,
-		    PushOp *out_op);
-  int send_push_op_legacy(int priority, int peer,
-		   PushOp &pop);
-    
-  int send_pull_legacy(int priority, int peer,
-		const ObjectRecoveryInfo& recovery_info,
-		ObjectRecoveryProgress progress);
-  void submit_push_data(ObjectRecoveryInfo &recovery_info,
-			bool first,
-			bool complete,
-			const interval_set<uint64_t> &intervals_included,
-			bufferlist data_included,
-			bufferlist omap_header,
-			map<string, bufferptr> &attrs,
-			map<string, bufferlist> &omap_entries,
-			ObjectStore::Transaction *t);
-  void submit_push_complete(ObjectRecoveryInfo &recovery_info,
-			    ObjectStore::Transaction *t);
+  map<hobject_t, ObjectContextRef> recovering;
 
   /*
    * Backfill
@@ -603,7 +675,7 @@ protected:
    *   - are on the peer
    *   - are included in the peer stats
    *
-   * objects between last_backfill and backfill_pos
+   * objects \in (last_backfill, last_backfill_started]
    *   - are on the peer or are in backfills_in_flight
    *   - are not included in pg stats (yet)
    *   - have their stats in pending_backfill_updates on the primary
@@ -614,7 +686,7 @@ protected:
   void dump_recovery_info(Formatter *f) const {
     f->dump_int("backfill_target", get_backfill_target());
     f->dump_int("waiting_on_backfill", waiting_on_backfill);
-    f->dump_stream("backfill_pos") << backfill_pos;
+    f->dump_stream("last_backfill_started") << last_backfill_started;
     {
       f->open_object_section("backfill_info");
       backfill_info.dump(f);
@@ -635,121 +707,56 @@ protected:
       f->close_section();
     }
     {
-      f->open_array_section("pull_from_peer");
-      for (map<int, set<hobject_t> >::const_iterator i = pull_from_peer.begin();
-	   i != pull_from_peer.end();
+      f->open_array_section("recovering");
+      for (map<hobject_t, ObjectContextRef>::const_iterator i = recovering.begin();
+	   i != recovering.end();
 	   ++i) {
-	f->open_object_section("pulling_from");
-	f->dump_int("pull_from", i->first);
-	{
-	  f->open_array_section("pulls");
-	  for (set<hobject_t>::const_iterator j = i->second.begin();
-	       j != i->second.end();
-	       ++j) {
-	    f->open_object_section("pull_info");
-	    assert(pulling.count(*j));
-	    pulling.find(*j)->second.dump(f);
-	    f->close_section();
-	  }
-	  f->close_section();
-	}
-	f->close_section();
+	f->dump_stream("object") << i->first;
       }
       f->close_section();
     }
     {
-      f->open_array_section("pushing");
-      for (map<hobject_t, map<int, PushInfo> >::const_iterator i =
-	     pushing.begin();
-	   i != pushing.end();
-	   ++i) {
-	f->open_object_section("object");
-	f->dump_stream("pushing") << i->first;
-	{
-	  f->open_array_section("pushing_to");
-	  for (map<int, PushInfo>::const_iterator j = i->second.begin();
-	       j != i->second.end();
-	       ++j) {
-	    f->open_object_section("push_progress");
-	    f->dump_stream("object_pushing") << j->first;
-	    {
-	      f->open_object_section("push_info");
-	      j->second.dump(f);
-	      f->close_section();
-	    }
-	    f->close_section();
-	  }
-	  f->close_section();
-	}
-	f->close_section();
-      }
+      f->open_object_section("pg_backend");
+      pgbackend->dump_recovery_info(f);
       f->close_section();
     }
   }
 
-  /// leading edge of backfill
-  hobject_t backfill_pos;
-
-  // Reverse mapping from osd peer to objects beging pulled from that peer
-  map<int, set<hobject_t> > pull_from_peer;
+  /// last backfill operation started
+  hobject_t last_backfill_started;
 
   int prep_object_replica_pushes(const hobject_t& soid, eversion_t v,
-				 int priority,
-				 map<int, vector<PushOp> > *pushes);
-  void calc_head_subsets(ObjectContext *obc, SnapSet& snapset, const hobject_t& head,
-			 pg_missing_t& missing,
-			 const hobject_t &last_backfill,
-			 interval_set<uint64_t>& data_subset,
-			 map<hobject_t, interval_set<uint64_t> >& clone_subsets);
-  void calc_clone_subsets(SnapSet& snapset, const hobject_t& poid, const pg_missing_t& missing,
-			  const hobject_t &last_backfill,
-			  interval_set<uint64_t>& data_subset,
-			  map<hobject_t, interval_set<uint64_t> >& clone_subsets);
-  void prep_push_to_replica(
-    ObjectContext *obc,
-    const hobject_t& oid,
-    int dest,
-    int priority,
-    PushOp *push_op);
-  void prep_push(int priority,
-		 ObjectContext *obc,
-		 const hobject_t& oid, int dest,
-		 PushOp *op);
-  void prep_push(int priority,
-		 ObjectContext *obc,
-		 const hobject_t& soid, int peer,
-		 eversion_t version,
-		 interval_set<uint64_t> &data_subset,
-		 map<hobject_t, interval_set<uint64_t> >& clone_subsets,
-		 PushOp *op);
-  void prep_push_op_blank(const hobject_t& soid, PushOp *op);
+				 PGBackend::RecoveryHandle *h);
 
   void finish_degraded_object(const hobject_t& oid);
 
   // Cancels/resets pulls from peer
   void check_recovery_sources(const OSDMapRef map);
 
-  void send_pulls(
-    int priority,
-    map<int, vector<PullOp> > &pulls);
-  int prepare_pull(
-    const hobject_t& oid, eversion_t v,
+  int recover_missing(
+    const hobject_t& oid,
+    eversion_t v,
     int priority,
-    map<int, vector<PullOp> > *pulls
-    );
+    PGBackend::RecoveryHandle *h);
 
   // low level ops
 
   void _make_clone(ObjectStore::Transaction& t,
 		   const hobject_t& head, const hobject_t& coid,
 		   object_info_t *poi);
+  void execute_ctx(OpContext *ctx);
+  void reply_ctx(OpContext *ctx, int err);
+  void reply_ctx(OpContext *ctx, int err, eversion_t v, version_t uv);
   void make_writeable(OpContext *ctx);
   void log_op_stats(OpContext *ctx);
 
   void write_update_size_and_usage(object_stat_sum_t& stats, object_info_t& oi,
 				   SnapSet& ss, interval_set<uint64_t>& modified,
 				   uint64_t offset, uint64_t length, bool count_bytes);
-  void add_interval_usage(interval_set<uint64_t>& s, object_stat_sum_t& st);  
+  void add_interval_usage(interval_set<uint64_t>& s, object_stat_sum_t& st);
+
+  inline bool maybe_handle_cache(OpRequestRef op, ObjectContextRef obc, int r);
+  void do_cache_redirect(OpRequestRef op, ObjectContextRef obc);
 
   int prepare_transaction(OpContext *ctx);
   
@@ -759,13 +766,18 @@ protected:
   void _clear_recovery_state();
 
   void queue_for_recovery();
-  int start_recovery_ops(
+  bool start_recovery_ops(
     int max, RecoveryCtx *prctx,
-    ThreadPool::TPHandle &handle);
+    ThreadPool::TPHandle &handle, int *started);
 
   int recover_primary(int max, ThreadPool::TPHandle &handle);
   int recover_replicas(int max, ThreadPool::TPHandle &handle);
-  int recover_backfill(int max, ThreadPool::TPHandle &handle);
+  /**
+   * @param work_started will be set to true if recover_backfill got anywhere
+   * @returns the number of operations started
+   */
+  int recover_backfill(int max, ThreadPool::TPHandle &handle,
+                       bool *work_started);
 
   /**
    * scan a (hash) range of objects in the current pg
@@ -776,13 +788,20 @@ protected:
    * @bi [out] resulting map of objects to eversion_t's
    */
   void scan_range(
-    hobject_t begin, int min, int max, BackfillInterval *bi,
+    int min, int max, BackfillInterval *bi,
     ThreadPool::TPHandle &handle
     );
 
+  /// Update a hash range to reflect changes since the last scan
+  void update_range(
+    BackfillInterval *bi,        ///< [in,out] interval to update
+    ThreadPool::TPHandle &handle ///< [in] tp handle
+    );
+
   void prep_backfill_object_push(
-    hobject_t oid, eversion_t v, eversion_t have, int peer,
-    map<int, vector<PushOp> > *pushes);
+    hobject_t oid, eversion_t v, eversion_t have, ObjectContextRef obc,
+    int peer,
+    PGBackend::RecoveryHandle *h);
   void send_remove_op(const hobject_t& oid, eversion_t v, int peer);
 
 
@@ -819,26 +838,31 @@ protected:
     }
   };
   struct C_OSD_OndiskWriteUnlock : public Context {
-    ObjectContext *obc, *obc2;
-    C_OSD_OndiskWriteUnlock(ObjectContext *o, ObjectContext *o2=0) : obc(o), obc2(o2) {}
+    ObjectContextRef obc, obc2, obc3;
+    C_OSD_OndiskWriteUnlock(
+      ObjectContextRef o,
+      ObjectContextRef o2 = ObjectContextRef(),
+      ObjectContextRef o3 = ObjectContextRef()) : obc(o), obc2(o2), obc3(o3) {}
     void finish(int r) {
       obc->ondisk_write_unlock();
       if (obc2)
 	obc2->ondisk_write_unlock();
+      if (obc3)
+	obc3->ondisk_write_unlock();
     }
   };
   struct C_OSD_OndiskWriteUnlockList : public Context {
-    list<ObjectContext*> *pls;
-    C_OSD_OndiskWriteUnlockList(list<ObjectContext*> *l) : pls(l) {}
+    list<ObjectContextRef> *pls;
+    C_OSD_OndiskWriteUnlockList(list<ObjectContextRef> *l) : pls(l) {}
     void finish(int r) {
-      for (list<ObjectContext*>::iterator p = pls->begin(); p != pls->end(); ++p)
+      for (list<ObjectContextRef>::iterator p = pls->begin(); p != pls->end(); ++p)
 	(*p)->ondisk_write_unlock();
     }
   };
   struct C_OSD_AppliedRecoveredObject : public Context {
     ReplicatedPGRef pg;
-    ObjectContext *obc;
-    C_OSD_AppliedRecoveredObject(ReplicatedPG *p, ObjectContext *o) :
+    ObjectContextRef obc;
+    C_OSD_AppliedRecoveredObject(ReplicatedPG *p, ObjectContextRef o) :
       pg(p), obc(o) {}
     void finish(int r) {
       pg->_applied_recovered_object(obc);
@@ -856,35 +880,6 @@ protected:
       pg->_committed_pushed_object(epoch, last_complete);
     }
   };
-  struct C_OSD_SendMessageOnConn: public Context {
-    OSDService *osd;
-    Message *reply;
-    ConnectionRef conn;
-    C_OSD_SendMessageOnConn(
-      OSDService *osd,
-      Message *reply,
-      ConnectionRef conn) : osd(osd), reply(reply), conn(conn) {}
-    void finish(int) {
-      osd->send_message_osd_cluster(reply, conn.get());
-    }
-  };
-  struct C_OSD_CompletedPull : public Context {
-    ReplicatedPGRef pg;
-    hobject_t hoid;
-    epoch_t epoch;
-    C_OSD_CompletedPull(
-      ReplicatedPG *pg,
-      const hobject_t &hoid,
-      epoch_t epoch) : pg(pg), hoid(hoid), epoch(epoch) {}
-    void finish(int) {
-      pg->lock();
-      if (!pg->pg_has_reset_since(epoch)) {
-	pg->finish_recovery_op(hoid);
-      }
-      pg->unlock();
-    }
-  };
-  friend class C_OSD_CompletedPull;
   struct C_OSD_AppliedRecoveredObjectReplica : public Context {
     ReplicatedPGRef pg;
     C_OSD_AppliedRecoveredObjectReplica(ReplicatedPG *p) :
@@ -901,19 +896,39 @@ protected:
   void sub_op_modify_commit(RepModify *rm);
 
   void sub_op_modify_reply(OpRequestRef op);
-  void _applied_recovered_object(ObjectContext *obc);
+  void _applied_recovered_object(ObjectContextRef obc);
   void _applied_recovered_object_replica();
   void _committed_pushed_object(epoch_t epoch, eversion_t lc);
   void recover_got(hobject_t oid, eversion_t v);
-  void sub_op_push(OpRequestRef op);
-  void _failed_push(int from, const hobject_t &soid);
-  void sub_op_push_reply(OpRequestRef op);
-  bool handle_push_reply(int peer, PushReplyOp &op, PushOp *reply);
-  void sub_op_pull(OpRequestRef op);
-  void handle_pull(int peer, PullOp &op, PushOp *reply);
 
-  void log_subop_stats(OpRequestRef op, int tag_inb, int tag_lat);
+  // -- copyfrom --
+  map<hobject_t, CopyOpRef> copy_ops;
 
+  int fill_in_copy_get(bufferlist::iterator& bp, OSDOp& op,
+                       object_info_t& oi, bool classic);
+  /**
+   * To copy an object, call start_copy.
+   *
+   * @param cb: The CopyCallback to be activated when the copy is complete
+   * @param obc: The ObjectContext we are copying into
+   * @param src: The source object
+   * @param oloc: the source object locator
+   * @param version: the version of the source object to copy (0 for any)
+   * @param temp_dest_oid: the temporary object to use for large objects
+   */
+  void start_copy(CopyCallback *cb, ObjectContextRef obc, hobject_t src,
+                 object_locator_t oloc, version_t version,
+                 const hobject_t& temp_dest_oid);
+  void process_copy_chunk(hobject_t oid, tid_t tid, int r);
+  void _write_copy_chunk(CopyOpRef cop, ObjectStore::Transaction *t);
+  void _copy_some(ObjectContextRef obc, CopyOpRef cop);
+  void _build_finish_copy_transaction(CopyOpRef cop,
+                                      ObjectStore::Transaction& t);
+  int finish_copyfrom(OpContext *ctx);
+  void cancel_copy(CopyOpRef cop, bool requeue);
+  void cancel_copy_ops(bool requeue);
+
+  friend class C_Copyfrom;
 
   // -- scrub --
   virtual void _scrub(ScrubMap& map);
@@ -940,6 +955,9 @@ public:
   int do_command(cmdmap_t cmdmap, ostream& ss, bufferlist& idata,
 		 bufferlist& odata);
 
+  void do_request(
+    OpRequestRef op,
+    ThreadPool::TPHandle &handle);
   void do_op(OpRequestRef op);
   bool pg_op_must_wait(MOSDOp *op);
   void do_pg_op(OpRequestRef op);
@@ -949,17 +967,7 @@ public:
     OpRequestRef op,
     ThreadPool::TPHandle &handle);
   void do_backfill(OpRequestRef op);
-  void _do_push(OpRequestRef op);
-  void _do_pull_response(OpRequestRef op);
-  void do_push(OpRequestRef op) {
-    if (is_primary()) {
-      _do_pull_response(op);
-    } else {
-      _do_push(op);
-    }
-  }
-  void do_pull(OpRequestRef op);
-  void do_push_reply(OpRequestRef op);
+
   RepGather *trim_object(const hobject_t &coid);
   void snap_trimmer();
   int do_osd_ops(OpContext *ctx, vector<OSDOp>& ops);
@@ -969,13 +977,27 @@ public:
 
   void do_osd_op_effects(OpContext *ctx);
 private:
-  bool temp_created;
-  coll_t temp_coll;
+  uint64_t temp_seq; ///< last id for naming temp objects
   coll_t get_temp_coll(ObjectStore::Transaction *t);
+  hobject_t generate_temp_object();  ///< generate a new temp object name
 public:
-  bool have_temp_coll();
-  coll_t get_temp_coll() {
-    return temp_coll;
+  void get_colls(list<coll_t> *out) {
+    out->push_back(coll);
+    return pgbackend->temp_colls(out);
+  }
+  void split_colls(
+    pg_t child,
+    int split_bits,
+    int seed,
+    ObjectStore::Transaction *t) {
+    coll_t target = coll_t(child);
+    t->create_collection(target);
+    t->split_collection(
+      coll,
+      split_bits,
+      seed,
+      target);
+    pgbackend->split_colls(child, split_bits, seed, t);
   }
 private:
   struct NotTrimming;
@@ -1031,7 +1053,6 @@ private:
 
   int _get_tmap(OpContext *ctx, map<string, bufferlist> *out,
 		bufferlist *header);
-  int _copy_up_tmap(OpContext *ctx);
   int _delete_head(OpContext *ctx);
   int _rollback_to(OpContext *ctx, ceph_osd_op& op);
 public:
@@ -1042,18 +1063,30 @@ public:
   bool is_missing_object(const hobject_t& oid);
   void wait_for_missing_object(const hobject_t& oid, OpRequestRef op);
   void wait_for_all_missing(OpRequestRef op);
-  void wait_for_backfill_pos(OpRequestRef op);
-  void release_waiting_for_backfill_pos();
 
   bool is_degraded_object(const hobject_t& oid);
   void wait_for_degraded_object(const hobject_t& oid, OpRequestRef op);
 
+  void wait_for_blocked_object(const hobject_t& soid, OpRequestRef op);
+  void kick_object_context_blocked(ObjectContextRef obc);
+
+  struct C_KickBlockedObject : public Context {
+    ObjectContextRef obc;
+    ReplicatedPG *pg;
+    C_KickBlockedObject(ObjectContextRef obc_, ReplicatedPG *pg_) :
+      obc(obc_), pg(pg_) {}
+  protected:
+    void finish(int r) {
+      pg->kick_object_context_blocked(obc);
+    }
+  };
+
   void mark_all_unfound_lost(int what);
   eversion_t pick_newest_available(const hobject_t& oid);
-  ObjectContext *mark_object_lost(ObjectStore::Transaction *t,
+  ObjectContextRef mark_object_lost(ObjectStore::Transaction *t,
 				  const hobject_t& oid, eversion_t version,
 				  utime_t mtime, int what);
-  void _finish_mark_all_unfound_lost(list<ObjectContext*>& obcs);
+  void _finish_mark_all_unfound_lost(list<ObjectContextRef>& obcs);
 
   void on_role_change();
   void on_change(ObjectStore::Transaction *t);
@@ -1074,16 +1107,7 @@ inline ostream& operator<<(ostream& out, ReplicatedPG::RepGather& repop)
     //<< " wfnvram=" << repop.waitfor_nvram
       << " wfdisk=" << repop.waitfor_disk;
   if (repop.ctx->op)
-    out << " op=" << *(repop.ctx->op->request);
-  out << ")";
-  return out;
-}
-
-inline ostream& operator<<(ostream& out, ReplicatedPG::AccessMode& mode)
-{
-  out << mode.get_state_name(mode.state) << "(wr=" << mode.num_wr;
-  if (mode.wake)
-    out << " WAKE";
+    out << " op=" << *(repop.ctx->op->get_req());
   out << ")";
   return out;
 }
diff --git a/src/osd/SnapMapper.h b/src/osd/SnapMapper.h
index 560cc43..f0d0baa 100644
--- a/src/osd/SnapMapper.h
+++ b/src/osd/SnapMapper.h
@@ -21,7 +21,7 @@
 #include <string.h>
 
 #include "common/map_cacher.hpp"
-#include "os/hobject.h"
+#include "common/hobject.h"
 #include "include/buffer.h"
 #include "include/encoding.h"
 #include "include/object.h"
diff --git a/src/osd/Watch.cc b/src/osd/Watch.cc
index 8a084ca..ffa3adc 100644
--- a/src/osd/Watch.cc
+++ b/src/osd/Watch.cc
@@ -250,15 +250,14 @@ public:
 string Watch::gen_dbg_prefix() {
   stringstream ss;
   ss << pg->gen_prefix() << " -- Watch(" 
-     << make_pair(cookie, entity)
-     << ", obc->ref=" << (obc ? obc->ref : -1) << ") ";
+     << make_pair(cookie, entity) << ") ";
   return ss.str();
 }
 
 Watch::Watch(
   ReplicatedPG *pg,
   OSDService *osd,
-  ObjectContext *obc,
+  ObjectContextRef obc,
   uint32_t timeout,
   uint64_t cookie,
   entity_name_t entity,
@@ -272,7 +271,6 @@ Watch::Watch(
     addr(addr),
     entity(entity),
     discarded(false) {
-  obc->get();
   dout(10) << "Watch()" << dendl;
 }
 
@@ -292,13 +290,6 @@ Context *Watch::get_delayed_cb()
   return cb;
 }
 
-ObjectContext *Watch::get_obc()
-{
-  assert(obc);
-  obc->get();
-  return obc;
-}
-
 void Watch::register_cb()
 {
   Mutex::Locker l(osd->watch_lock);
@@ -370,8 +361,7 @@ void Watch::discard_state()
     sessionref->put();
     conn = ConnectionRef();
   }
-  pg->put_object_context(obc);
-  obc = NULL;
+  obc = ObjectContextRef();
 }
 
 bool Watch::is_discarded()
@@ -428,7 +418,7 @@ void Watch::notify_ack(uint64_t notify_id)
 
 WatchRef Watch::makeWatchRef(
   ReplicatedPG *pg, OSDService *osd,
-  ObjectContext *obc, uint32_t timeout, uint64_t cookie, entity_name_t entity, entity_addr_t addr)
+  ObjectContextRef obc, uint32_t timeout, uint64_t cookie, entity_name_t entity, entity_addr_t addr)
 {
   WatchRef ret(new Watch(pg, osd, obc, timeout, cookie, entity, addr));
   ret->set_self(ret);
diff --git a/src/osd/Watch.h b/src/osd/Watch.h
index d912e91..ecb61ad 100644
--- a/src/osd/Watch.h
+++ b/src/osd/Watch.h
@@ -31,7 +31,7 @@ class OSDService;
 class ReplicatedPG;
 void intrusive_ptr_add_ref(ReplicatedPG *pg);
 void intrusive_ptr_release(ReplicatedPG *pg);
-class ObjectContext;
+struct ObjectContext;
 class MWatchNotify;
 
 class Watch;
@@ -42,7 +42,7 @@ class Notify;
 typedef std::tr1::shared_ptr<Notify> NotifyRef;
 typedef std::tr1::weak_ptr<Notify> WNotifyRef;
 
-class CancelableContext;
+struct CancelableContext;
 
 /**
  * Notify tracks the progress of a particular notify
@@ -151,7 +151,7 @@ class Watch {
 
   OSDService *osd;
   boost::intrusive_ptr<ReplicatedPG> pg;
-  ObjectContext *obc;
+  std::tr1::shared_ptr<ObjectContext> obc;
 
   std::map<uint64_t, NotifyRef> in_progress_notifies;
 
@@ -165,7 +165,7 @@ class Watch {
 
   Watch(
     ReplicatedPG *pg, OSDService *osd,
-    ObjectContext *obc, uint32_t timeout,
+    std::tr1::shared_ptr<ObjectContext> obc, uint32_t timeout,
     uint64_t cookie, entity_name_t entity,
     entity_addr_t addr);
 
@@ -187,7 +187,7 @@ public:
   string gen_dbg_prefix();
   static WatchRef makeWatchRef(
     ReplicatedPG *pg, OSDService *osd,
-    ObjectContext *obc, uint32_t timeout, uint64_t cookie, entity_name_t entity, entity_addr_t addr);
+    std::tr1::shared_ptr<ObjectContext> obc, uint32_t timeout, uint64_t cookie, entity_name_t entity, entity_addr_t addr);
   void set_self(WatchRef _self) {
     self = _self;
   }
@@ -195,8 +195,8 @@ public:
   /// Does not grant a ref count!
   boost::intrusive_ptr<ReplicatedPG> get_pg() { return pg; }
 
-  /// Grants a ref count!
-  ObjectContext *get_obc();
+  std::tr1::shared_ptr<ObjectContext> get_obc() { return obc; }
+
   uint64_t get_cookie() const { return cookie; }
   entity_name_t get_entity() const { return entity; }
   entity_addr_t get_peer_addr() const { return addr; }
diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc
index 0e8ecb9..4a9a96c 100644
--- a/src/osd/osd_types.cc
+++ b/src/osd/osd_types.cc
@@ -101,6 +101,41 @@ void object_locator_t::generate_test_instances(list<object_locator_t*>& o)
   o.push_back(new object_locator_t(12, "n1", "key2"));
 }
 
+// -- request_redirect_t --
+void request_redirect_t::encode(bufferlist& bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(redirect_locator, bl);
+  ::encode(redirect_object, bl);
+  ::encode(osd_instructions, bl);
+  ENCODE_FINISH(bl);
+}
+
+void request_redirect_t::decode(bufferlist::iterator& bl)
+{
+  DECODE_START(1, bl);
+  ::decode(redirect_locator, bl);
+  ::decode(redirect_object, bl);
+  ::decode(osd_instructions, bl);
+  DECODE_FINISH(bl);
+}
+
+void request_redirect_t::dump(Formatter *f) const
+{
+  f->dump_string("object", redirect_object);
+  f->open_object_section("locator");
+  redirect_locator.dump(f);
+  f->close_section(); // locator
+}
+
+void request_redirect_t::generate_test_instances(list<request_redirect_t*>& o)
+{
+  object_locator_t loc(1, "redir_obj");
+  o.push_back(new request_redirect_t());
+  o.push_back(new request_redirect_t(loc, 0));
+  o.push_back(new request_redirect_t(loc, "redir_obj"));
+  o.push_back(new request_redirect_t(loc));
+}
 
 // -- pow2_hist_t --
 void pow2_hist_t::dump(Formatter *f) const
@@ -136,6 +171,36 @@ void pow2_hist_t::generate_test_instances(list<pow2_hist_t*>& ls)
   ls.back()->h.push_back(2);
 }
 
+void filestore_perf_stat_t::dump(Formatter *f) const
+{
+  f->dump_unsigned("commit_latency_ms", filestore_commit_latency);
+  f->dump_unsigned("apply_latency_ms", filestore_apply_latency);
+}
+
+void filestore_perf_stat_t::encode(bufferlist &bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(filestore_commit_latency, bl);
+  ::encode(filestore_apply_latency, bl);
+  ENCODE_FINISH(bl);
+}
+
+void filestore_perf_stat_t::decode(bufferlist::iterator &bl)
+{
+  DECODE_START(1, bl);
+  ::decode(filestore_commit_latency, bl);
+  ::decode(filestore_apply_latency, bl);
+  DECODE_FINISH(bl);
+}
+
+void filestore_perf_stat_t::generate_test_instances(std::list<filestore_perf_stat_t*>& o)
+{
+  o.push_back(new filestore_perf_stat_t());
+  o.push_back(new filestore_perf_stat_t());
+  o.back()->filestore_commit_latency = 20;
+  o.back()->filestore_apply_latency = 30;
+}
+
 // -- osd_stat_t --
 void osd_stat_t::dump(Formatter *f) const
 {
@@ -155,11 +220,14 @@ void osd_stat_t::dump(Formatter *f) const
   f->open_object_section("op_queue_age_hist");
   op_queue_age_hist.dump(f);
   f->close_section();
+  f->open_object_section("fs_perf_stat");
+  fs_perf_stat.dump(f);
+  f->close_section();
 }
 
 void osd_stat_t::encode(bufferlist &bl) const
 {
-  ENCODE_START(3, 2, bl);
+  ENCODE_START(4, 2, bl);
   ::encode(kb, bl);
   ::encode(kb_used, bl);
   ::encode(kb_avail, bl);
@@ -168,12 +236,13 @@ void osd_stat_t::encode(bufferlist &bl) const
   ::encode(hb_in, bl);
   ::encode(hb_out, bl);
   ::encode(op_queue_age_hist, bl);
+  ::encode(fs_perf_stat, bl);
   ENCODE_FINISH(bl);
 }
 
 void osd_stat_t::decode(bufferlist::iterator &bl)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(3, 2, 2, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(4, 2, 2, bl);
   ::decode(kb, bl);
   ::decode(kb_used, bl);
   ::decode(kb_avail, bl);
@@ -183,6 +252,8 @@ void osd_stat_t::decode(bufferlist::iterator &bl)
   ::decode(hb_out, bl);
   if (struct_v >= 3)
     ::decode(op_queue_age_hist, bl);
+  if (struct_v >= 4)
+    ::decode(fs_perf_stat, bl);
   DECODE_FINISH(bl);
 }
 
@@ -322,6 +393,8 @@ ostream& operator<<(ostream& out, const pg_t &pg)
 
 // -- coll_t --
 
+const coll_t coll_t::META_COLL("meta");
+
 bool coll_t::is_temp(pg_t& pgid) const
 {
   const char *cstr(str.c_str());
@@ -582,6 +655,7 @@ void pool_snap_info_t::generate_test_instances(list<pool_snap_info_t*>& o)
 void pg_pool_t::dump(Formatter *f) const
 {
   f->dump_unsigned("flags", get_flags());
+  f->dump_string("flags_names", get_flags_string());
   f->dump_int("type", get_type());
   f->dump_int("size", get_size());
   f->dump_int("min_size", get_min_size());
@@ -605,6 +679,22 @@ void pg_pool_t::dump(Formatter *f) const
   f->dump_stream("removed_snaps") << removed_snaps;
   f->dump_int("quota_max_bytes", quota_max_bytes);
   f->dump_int("quota_max_objects", quota_max_objects);
+  f->open_array_section("tiers");
+  for (set<uint64_t>::const_iterator p = tiers.begin(); p != tiers.end(); ++p)
+    f->dump_int("pool_id", *p);
+  f->close_section();
+  f->dump_int("tier_of", tier_of);
+  f->dump_int("read_tier", read_tier);
+  f->dump_int("write_tier", write_tier);
+  f->dump_string("cache_mode", get_cache_mode_name());
+  f->open_array_section("properties");
+  for (map<string,string>::const_iterator i = properties.begin();
+       i != properties.end();
+       ++i) {
+    string name = i->first;
+    f->dump_string(name.c_str(), i->second);
+  }
+  f->close_section();
 }
 
 
@@ -809,7 +899,7 @@ void pg_pool_t::encode(bufferlist& bl, uint64_t features) const
     return;
   }
 
-  ENCODE_START(8, 5, bl);
+  ENCODE_START(10, 5, bl);
   ::encode(type, bl);
   ::encode(size, bl);
   ::encode(crush_ruleset, bl);
@@ -830,6 +920,13 @@ void pg_pool_t::encode(bufferlist& bl, uint64_t features) const
   ::encode(min_size, bl);
   ::encode(quota_max_bytes, bl);
   ::encode(quota_max_objects, bl);
+  ::encode(tiers, bl);
+  ::encode(tier_of, bl);
+  __u8 c = cache_mode;
+  ::encode(c, bl);
+  ::encode(read_tier, bl);
+  ::encode(write_tier, bl);
+  ::encode(properties, bl);
   ENCODE_FINISH(bl);
 }
 
@@ -888,6 +985,18 @@ void pg_pool_t::decode(bufferlist::iterator& bl)
     ::decode(quota_max_bytes, bl);
     ::decode(quota_max_objects, bl);
   }
+  if (struct_v >= 9) {
+    ::decode(tiers, bl);
+    ::decode(tier_of, bl);
+    __u8 v;
+    ::decode(v, bl);
+    cache_mode = (cache_mode_t)v;
+    ::decode(read_tier, bl);
+    ::decode(write_tier, bl);
+  }
+  if (struct_v >= 10) {
+    ::decode(properties, bl);
+  }
   DECODE_FINISH(bl);
   calc_pg_masks();
 }
@@ -923,6 +1032,14 @@ void pg_pool_t::generate_test_instances(list<pg_pool_t*>& o)
   a.removed_snaps.insert(2);   // not quite valid to combine with snaps!
   a.quota_max_bytes = 2473;
   a.quota_max_objects = 4374;
+  a.tiers.insert(0);
+  a.tiers.insert(1);
+  a.tier_of = 2;
+  a.cache_mode = CACHEMODE_WRITEBACK;
+  a.read_tier = 1;
+  a.write_tier = 1;
+  a.properties["p-1"] = "v-1";
+  a.properties["empty"] = string();
   o.push_back(new pg_pool_t(a));
 }
 
@@ -938,13 +1055,23 @@ ostream& operator<<(ostream& out, const pg_pool_t& p)
       << " last_change " << p.get_last_change()
       << " owner " << p.get_auid();
   if (p.flags)
-    out << " flags " << p.flags;
+    out << " flags " << p.get_flags_string();
   if (p.crash_replay_interval)
     out << " crash_replay_interval " << p.crash_replay_interval;
   if (p.quota_max_bytes)
     out << " max_bytes " << p.quota_max_bytes;
   if (p.quota_max_objects)
     out << " max_objects " << p.quota_max_objects;
+  if (p.tiers.size())
+    out << " tiers " << p.tiers;
+  if (p.is_tier())
+    out << " tier_of " << p.tier_of;
+  if (p.has_read_tier())
+    out << " read_tier " << p.read_tier;
+  if (p.has_write_tier())
+    out << " write_tier " << p.write_tier;
+  if (p.cache_mode)
+    out << " cache_mode " << p.get_cache_mode_name();
   return out;
 }
 
@@ -1517,7 +1644,7 @@ void pg_history_t::generate_test_instances(list<pg_history_t*>& o)
 
 void pg_info_t::encode(bufferlist &bl) const
 {
-  ENCODE_START(27, 26, bl);
+  ENCODE_START(28, 26, bl);
   ::encode(pgid, bl);
   ::encode(last_update, bl);
   ::encode(last_complete, bl);
@@ -1527,12 +1654,13 @@ void pg_info_t::encode(bufferlist &bl) const
   history.encode(bl);
   ::encode(purged_snaps, bl);
   ::encode(last_epoch_started, bl);
+  ::encode(last_user_version, bl);
   ENCODE_FINISH(bl);
 }
 
 void pg_info_t::decode(bufferlist::iterator &bl)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(27, 26, 26, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(28, 26, 26, bl);
   if (struct_v < 23) {
     old_pg_t opgid;
     ::decode(opgid, bl);
@@ -1562,6 +1690,10 @@ void pg_info_t::decode(bufferlist::iterator &bl)
   } else {
     ::decode(last_epoch_started, bl);
   }
+  if (struct_v >= 28)
+    ::decode(last_user_version, bl);
+  else
+    last_user_version = last_update.version;
   DECODE_FINISH(bl);
 }
 
@@ -1573,6 +1705,7 @@ void pg_info_t::dump(Formatter *f) const
   f->dump_stream("last_update") << last_update;
   f->dump_stream("last_complete") << last_complete;
   f->dump_stream("log_tail") << log_tail;
+  f->dump_int("last_user_version", last_user_version);
   f->dump_stream("last_backfill") << last_backfill;
   f->dump_stream("purged_snaps") << purged_snaps;
   f->open_object_section("history");
@@ -1598,6 +1731,7 @@ void pg_info_t::generate_test_instances(list<pg_info_t*>& o)
   o.back()->pgid = pg_t(1, 2, -1);
   o.back()->last_update = eversion_t(3, 4);
   o.back()->last_complete = eversion_t(5, 6);
+  o.back()->last_user_version = 2;
   o.back()->log_tail = eversion_t(7, 8);
   o.back()->last_backfill = hobject_t(object_t("objname"), "key", 123, 456, -1, "");
   list<pg_stat_t*> s;
@@ -1876,7 +2010,7 @@ void pg_log_entry_t::decode_with_checksum(bufferlist::iterator& p)
 
 void pg_log_entry_t::encode(bufferlist &bl) const
 {
-  ENCODE_START(7, 4, bl);
+  ENCODE_START(8, 4, bl);
   ::encode(op, bl);
   ::encode(soid, bl);
   ::encode(version, bl);
@@ -1898,12 +2032,13 @@ void pg_log_entry_t::encode(bufferlist &bl) const
   if (op == LOST_REVERT)
     ::encode(prior_version, bl);
   ::encode(snaps, bl);
+  ::encode(user_version, bl);
   ENCODE_FINISH(bl);
 }
 
 void pg_log_entry_t::decode(bufferlist::iterator &bl)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(7, 4, 4, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(8, 4, 4, bl);
   ::decode(op, bl);
   if (struct_v < 2) {
     sobject_t old_soid;
@@ -1940,6 +2075,11 @@ void pg_log_entry_t::decode(bufferlist::iterator &bl)
     ::decode(snaps, bl);
   }
 
+  if (struct_v >= 8)
+    ::decode(user_version, bl);
+  else
+    user_version = version.version;
+
   DECODE_FINISH(bl);
 }
 
@@ -1972,7 +2112,8 @@ void pg_log_entry_t::generate_test_instances(list<pg_log_entry_t*>& o)
   o.push_back(new pg_log_entry_t());
   hobject_t oid(object_t("objname"), "key", 123, 456, 0, "");
   o.push_back(new pg_log_entry_t(MODIFY, oid, eversion_t(1,2), eversion_t(3,4),
-				 osd_reqid_t(entity_name_t::CLIENT(777), 8, 999), utime_t(8,9)));
+				 1, osd_reqid_t(entity_name_t::CLIENT(777), 8, 999),
+				 utime_t(8,9)));
 }
 
 ostream& operator<<(ostream& out, const pg_log_entry_t& e)
@@ -2333,6 +2474,144 @@ void pg_missing_t::split_into(
   }
 }
 
+// -- object_copy_cursor_t --
+
+void object_copy_cursor_t::encode(bufferlist& bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(attr_complete, bl);
+  ::encode(data_offset, bl);
+  ::encode(data_complete, bl);
+  ::encode(omap_offset, bl);
+  ::encode(omap_complete, bl);
+  ENCODE_FINISH(bl);
+}
+
+void object_copy_cursor_t::decode(bufferlist::iterator &bl)
+{
+  DECODE_START(1, bl);
+  ::decode(attr_complete, bl);
+  ::decode(data_offset, bl);
+  ::decode(data_complete, bl);
+  ::decode(omap_offset, bl);
+  ::decode(omap_complete, bl);
+  DECODE_FINISH(bl);
+}
+
+void object_copy_cursor_t::dump(Formatter *f) const
+{
+  f->dump_unsigned("attr_complete", (int)attr_complete);
+  f->dump_unsigned("data_offset", data_offset);
+  f->dump_unsigned("data_complete", (int)data_complete);
+  f->dump_string("omap_offset", omap_offset);
+  f->dump_unsigned("omap_complete", (int)omap_complete);
+}
+
+void object_copy_cursor_t::generate_test_instances(list<object_copy_cursor_t*>& o)
+{
+  o.push_back(new object_copy_cursor_t);
+  o.push_back(new object_copy_cursor_t);
+  o.back()->attr_complete = true;
+  o.back()->data_offset = 123;
+  o.push_back(new object_copy_cursor_t);
+  o.back()->attr_complete = true;
+  o.back()->data_complete = true;
+  o.back()->omap_offset = "foo";
+  o.push_back(new object_copy_cursor_t);
+  o.back()->attr_complete = true;
+  o.back()->data_complete = true;
+  o.back()->omap_complete = true;
+}
+
+// -- object_copy_data_t --
+
+void object_copy_data_t::encode_classic(bufferlist& bl) const
+{
+  ::encode(size, bl);
+  ::encode(mtime, bl);
+  ::encode(attrs, bl);
+  ::encode(data, bl);
+  ::encode(omap, bl);
+  ::encode(cursor, bl);
+}
+
+void object_copy_data_t::decode_classic(bufferlist::iterator& bl)
+{
+  ::decode(size, bl);
+  ::decode(mtime, bl);
+  ::decode(attrs, bl);
+  ::decode(data, bl);
+  ::decode(omap, bl);
+  ::decode(cursor, bl);
+}
+
+void object_copy_data_t::encode(bufferlist& bl) const
+{
+  ENCODE_START(1, 1, bl);
+  ::encode(size, bl);
+  ::encode(mtime, bl);
+  ::encode(category, bl);
+  ::encode(attrs, bl);
+  ::encode(data, bl);
+  ::encode(omap, bl);
+  ::encode(cursor, bl);
+  ENCODE_FINISH(bl);
+}
+
+void object_copy_data_t::decode(bufferlist::iterator& bl)
+{
+  DECODE_START(1, bl);
+  ::decode(size, bl);
+  ::decode(mtime, bl);
+  ::decode(category, bl);
+  ::decode(attrs, bl);
+  ::decode(data, bl);
+  ::decode(omap, bl);
+  ::decode(cursor, bl);
+  DECODE_FINISH(bl);
+}
+
+void object_copy_data_t::generate_test_instances(list<object_copy_data_t*>& o)
+{
+  o.push_back(new object_copy_data_t());
+
+  list<object_copy_cursor_t*> cursors;
+  object_copy_cursor_t::generate_test_instances(cursors);
+  list<object_copy_cursor_t*>::iterator ci = cursors.begin();
+  o.back()->cursor = **(ci++);
+
+  o.push_back(new object_copy_data_t());
+  o.back()->cursor = **(ci++);
+
+  o.push_back(new object_copy_data_t());
+  o.back()->size = 1234;
+  o.back()->mtime.set_from_double(1234);
+  bufferptr bp("there", 5);
+  bufferlist bl;
+  bl.push_back(bp);
+  o.back()->attrs["hello"] = bl;
+  bufferptr bp2("not", 3);
+  bufferlist bl2;
+  bl2.push_back(bp2);
+  o.back()->omap["why"] = bl2;
+  bufferptr databp("iamsomedatatocontain", 20);
+  o.back()->data.push_back(databp);
+}
+
+void object_copy_data_t::dump(Formatter *f) const
+{
+  f->open_object_section("cursor");
+  cursor.dump(f);
+  f->close_section(); // cursor
+  f->dump_int("size", size);
+  f->dump_stream("mtime") << mtime;
+  /* we should really print out the attrs here, but bufferlist
+     const-correctness prents that */
+  f->dump_int("attrs_size", attrs.size());
+  f->dump_int("omap_size", omap.size());
+  f->dump_int("data_length", data.length());
+}
+
 // -- pg_create_t --
 
 void pg_create_t::encode(bufferlist &bl) const
@@ -2607,9 +2886,8 @@ void object_info_t::copy_user_bits(const object_info_t& other)
   last_reqid = other.last_reqid;
   truncate_seq = other.truncate_seq;
   truncate_size = other.truncate_size;
-  lost = other.lost;
+  flags = other.flags;
   category = other.category;
-  uses_tmap = other.uses_tmap;
 }
 
 ps_t object_info_t::legacy_object_locator_to_ps(const object_t &oid, 
@@ -2635,7 +2913,7 @@ void object_info_t::encode(bufferlist& bl) const
        ++i) {
     old_watchers.insert(make_pair(i->first.second, i->second));
   }
-  ENCODE_START(11, 8, bl);
+  ENCODE_START(13, 8, bl);
   ::encode(soid, bl);
   ::encode(myoloc, bl);	//Retained for compatibility
   ::encode(category, bl);
@@ -2650,18 +2928,23 @@ void object_info_t::encode(bufferlist& bl) const
     ::encode(snaps, bl);
   ::encode(truncate_seq, bl);
   ::encode(truncate_size, bl);
-  ::encode(lost, bl);
+  ::encode(is_lost(), bl);
   ::encode(old_watchers, bl);
-  ::encode(user_version, bl);
-  ::encode(uses_tmap, bl);
+  /* shenanigans to avoid breaking backwards compatibility in the disk format.
+   * When we can, switch this out for simply putting the version_t on disk. */
+  eversion_t user_eversion(0, user_version);
+  ::encode(user_eversion, bl);
+  ::encode(test_flag(FLAG_USES_TMAP), bl);
   ::encode(watchers, bl);
+  __u32 _flags = flags;
+  ::encode(_flags, bl);
   ENCODE_FINISH(bl);
 }
 
 void object_info_t::decode(bufferlist::iterator& bl)
 {
   object_locator_t myoloc;
-  DECODE_START_LEGACY_COMPAT_LEN(11, 8, 8, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(13, 8, 8, bl);
   map<entity_name_t, watch_info_t> old_watchers;
   if (struct_v >= 2 && struct_v <= 5) {
     sobject_t obj;
@@ -2691,18 +2974,30 @@ void object_info_t::decode(bufferlist::iterator& bl)
     ::decode(snaps, bl);
   ::decode(truncate_seq, bl);
   ::decode(truncate_size, bl);
-  if (struct_v >= 3)
-    ::decode(lost, bl);
-  else
-    lost = false;
+  if (struct_v >= 3) {
+    // if this is struct_v >= 13, we will overwrite this
+    // below since this field is just here for backwards
+    // compatibility
+    __u8 lo;
+    ::decode(lo, bl);
+    flags = (flag_t)lo;
+  } else {
+    flags = (flag_t)0;
+  }
   if (struct_v >= 4) {
     ::decode(old_watchers, bl);
-    ::decode(user_version, bl);
+    eversion_t user_eversion;
+    ::decode(user_eversion, bl);
+    user_version = user_eversion.version;
   }
-  if (struct_v >= 9)
+  if (struct_v >= 9) {
+    bool uses_tmap = false;
     ::decode(uses_tmap, bl);
-  else
-    uses_tmap = true;
+    if (uses_tmap)
+      set_flag(FLAG_USES_TMAP);
+  } else {
+    set_flag(FLAG_USES_TMAP);
+  }
   if (struct_v < 10)
     soid.pool = myoloc.pool;
   if (struct_v >= 11) {
@@ -2716,6 +3011,11 @@ void object_info_t::decode(bufferlist::iterator& bl)
 	  make_pair(i->second.cookie, i->first), i->second));
     }
   }
+  if (struct_v >= 13) {
+    __u32 _flags;
+    ::decode(_flags, bl);
+    flags = (flag_t)_flags;
+  }
   DECODE_FINISH(bl);
 }
 
@@ -2730,7 +3030,8 @@ void object_info_t::dump(Formatter *f) const
   f->dump_stream("last_reqid") << last_reqid;
   f->dump_unsigned("size", size);
   f->dump_stream("mtime") << mtime;
-  f->dump_unsigned("lost", lost);
+  f->dump_unsigned("lost", (int)is_lost());
+  f->dump_unsigned("flags", (int)flags);
   f->dump_stream("wrlock_by") << wrlock_by;
   f->open_array_section("snaps");
   for (vector<snapid_t>::const_iterator p = snaps.begin(); p != snaps.end(); ++p)
@@ -2766,8 +3067,8 @@ ostream& operator<<(ostream& out, const object_info_t& oi)
     out << " wrlock_by=" << oi.wrlock_by;
   else
     out << " " << oi.snaps;
-  if (oi.lost)
-    out << " LOST";
+  if (oi.flags)
+    out << " " << oi.get_flag_string();
   out << ")";
   return out;
 }
@@ -3321,6 +3622,11 @@ ostream& operator<<(ostream& out, const OSDOp& op)
     case CEPH_OSD_OP_DELETE:
     case CEPH_OSD_OP_LIST_WATCHERS:
     case CEPH_OSD_OP_LIST_SNAPS:
+    case CEPH_OSD_OP_UNDIRTY:
+    case CEPH_OSD_OP_ISDIRTY:
+      break;
+    case CEPH_OSD_OP_ASSERT_VER:
+      out << " v" << op.op.assert_ver.ver;
       break;
     case CEPH_OSD_OP_TRUNCATE:
       out << " " << op.op.extent.offset;
@@ -3336,6 +3642,11 @@ ostream& operator<<(ostream& out, const OSDOp& op)
       out << (op.op.watch.flag ? " add":" remove")
 	  << " cookie " << op.op.watch.cookie << " ver " << op.op.watch.ver;
       break;
+    case CEPH_OSD_OP_COPY_GET_CLASSIC:
+      out << " max " << op.op.copy_get.max;
+    case CEPH_OSD_OP_COPY_FROM:
+      out << " ver " << op.op.copy_from.src_version;
+      break;
     default:
       out << " " << op.op.extent.offset << "~" << op.op.extent.length;
       if (op.op.extent.truncate_seq)
diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h
index bf04e8e..351d050 100644
--- a/src/osd/osd_types.h
+++ b/src/osd/osd_types.h
@@ -23,11 +23,13 @@
 #include "include/types.h"
 #include "include/utime.h"
 #include "include/CompatSet.h"
+#include "include/histogram.h"
 #include "include/interval_set.h"
 #include "common/snap_types.h"
 #include "common/Formatter.h"
-#include "os/hobject.h"
+#include "common/hobject.h"
 #include "Watch.h"
+#include "OpRequest.h"
 
 #define CEPH_OSD_ONDISK_MAGIC "ceph osd volume v026"
 
@@ -41,32 +43,13 @@
 #define CEPH_OSD_FEATURE_INCOMPAT_LEVELDBINFO CompatSet::Feature(8, "leveldbinfo")
 #define CEPH_OSD_FEATURE_INCOMPAT_LEVELDBLOG CompatSet::Feature(9, "leveldblog")
 #define CEPH_OSD_FEATURE_INCOMPAT_SNAPMAPPER CompatSet::Feature(10, "snapmapper")
+#define CEPH_OSD_FEATURE_INCOMPAT_SHARDS CompatSet::Feature(11, "sharded objects")
 
 
 typedef hobject_t collection_list_handle_t;
 
+typedef uint8_t shard_id_t;
 
-/**
- * osd request identifier
- *
- * caller name + incarnation# + tid to unique identify this request.
- */
-struct osd_reqid_t {
-  entity_name_t name; // who
-  tid_t         tid;
-  int32_t       inc;  // incarnation
-
-  osd_reqid_t()
-    : tid(0), inc(0) {}
-  osd_reqid_t(const entity_name_t& a, int i, tid_t t)
-    : name(a), tid(t), inc(i) {}
-
-  void encode(bufferlist &bl) const;
-  void decode(bufferlist::iterator &bl);
-  void dump(Formatter *f) const;
-  static void generate_test_instances(list<osd_reqid_t*>& o);
-};
-WRITE_CLASS_ENCODER(osd_reqid_t)
 
 inline ostream& operator<<(ostream& out, const osd_reqid_t& r) {
   return out << r.name << "." << r.inc << ":" << r.tid;
@@ -129,6 +112,10 @@ struct object_locator_t {
     nspace = "";
   }
 
+  bool empty() const {
+    return pool == -1;
+  }
+
   void encode(bufferlist& bl) const;
   void decode(bufferlist::iterator& p);
   void dump(Formatter *f) const;
@@ -153,6 +140,47 @@ inline ostream& operator<<(ostream& out, const object_locator_t& loc)
   return out;
 }
 
+struct request_redirect_t {
+private:
+  object_locator_t redirect_locator; ///< this is authoritative
+  string redirect_object; ///< If non-empty, the request goes to this object name
+  bufferlist osd_instructions; ///< a bufferlist for the OSDs, passed but not interpreted by clients
+
+  friend ostream& operator<<(ostream& out, const request_redirect_t& redir);
+public:
+
+  request_redirect_t() {}
+  explicit request_redirect_t(const object_locator_t& orig, int64_t rpool) :
+      redirect_locator(orig) { redirect_locator.pool = rpool; }
+  explicit request_redirect_t(const object_locator_t& rloc) :
+      redirect_locator(rloc) {}
+  explicit request_redirect_t(const object_locator_t& orig,
+                              const string& robj) :
+      redirect_locator(orig), redirect_object(robj) {}
+
+  void set_instructions(const bufferlist& bl) { osd_instructions = bl; }
+  const bufferlist& get_instructions() { return osd_instructions; }
+
+  bool empty() const { return redirect_locator.empty() &&
+			      redirect_object.empty(); }
+
+  void combine_with_locator(object_locator_t& orig, string& obj) const {
+    orig = redirect_locator;
+    if (!redirect_object.empty())
+      obj = redirect_object;
+  }
+
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<request_redirect_t*>& o);
+};
+WRITE_CLASS_ENCODER(request_redirect_t)
+
+inline ostream& operator<<(ostream& out, const request_redirect_t& redir) {
+  out << "object " << redir.redirect_object << ", locator{" << redir.redirect_locator << "}";
+  return out;
+}
 
 // Internal OSD op flags - set by the OSD based on the op types
 enum {
@@ -508,66 +536,33 @@ inline ostream& operator<<(ostream& out, const eversion_t e) {
   return out << e.epoch << "'" << e.version;
 }
 
-
 /**
- * power of 2 histogram
+ * filestore_perf_stat_t
+ *
+ * current perf information about the osd
  */
-struct pow2_hist_t {
-  /**
-   * histogram
-   *
-   * bin size is 2^index
-   * value is count of elements that are <= the current bin but > the previous bin.
-   */
-  vector<int32_t> h;
+struct filestore_perf_stat_t {
+  // cur_op_latency is in ms since double add/sub are not associative
+  uint32_t filestore_commit_latency;
+  uint32_t filestore_apply_latency;
 
-private:
-  /// expand to at least another's size
-  void _expand_to(unsigned s) {
-    if (s > h.size())
-      h.resize(s, 0);
-  }
-  /// drop useless trailing 0's
-  void _contract() {
-    unsigned p = h.size();
-    while (p > 0 && h[p-1] == 0)
-      --p;
-    h.resize(p);
-  }
+  filestore_perf_stat_t() :
+    filestore_commit_latency(0), filestore_apply_latency(0) {}
 
-public:
-  void clear() {
-    h.clear();
-  }
-  void set(int bin, int32_t v) {
-    _expand_to(bin + 1);
-    h[bin] = v;
-    _contract();
-  }
-
-  void add(const pow2_hist_t& o) {
-    _expand_to(o.h.size());
-    for (unsigned p = 0; p < o.h.size(); ++p)
-      h[p] += o.h[p];
-    _contract();
+  void add(const filestore_perf_stat_t &o) {
+    filestore_commit_latency += o.filestore_commit_latency;
+    filestore_apply_latency += o.filestore_apply_latency;
   }
-  void sub(const pow2_hist_t& o) {
-    _expand_to(o.h.size());
-    for (unsigned p = 0; p < o.h.size(); ++p)
-      h[p] -= o.h[p];
-    _contract();
+  void sub(const filestore_perf_stat_t &o) {
+    filestore_commit_latency -= o.filestore_commit_latency;
+    filestore_apply_latency -= o.filestore_apply_latency;
   }
-
-  int32_t upper_bound() const {
-    return 1 << h.size();
-  }
-
   void dump(Formatter *f) const;
   void encode(bufferlist &bl) const;
   void decode(bufferlist::iterator &bl);
-  static void generate_test_instances(std::list<pow2_hist_t*>& o);
+  static void generate_test_instances(std::list<filestore_perf_stat_t*>& o);
 };
-WRITE_CLASS_ENCODER(pow2_hist_t)
+WRITE_CLASS_ENCODER(filestore_perf_stat_t)
 
 /** osd_stat
  * aggregate stats for an osd
@@ -579,6 +574,8 @@ struct osd_stat_t {
 
   pow2_hist_t op_queue_age_hist;
 
+  filestore_perf_stat_t fs_perf_stat;
+
   osd_stat_t() : kb(0), kb_used(0), kb_avail(0),
 		 snap_trim_queue_len(0), num_snap_trimming(0) {}
 
@@ -589,6 +586,7 @@ struct osd_stat_t {
     snap_trim_queue_len += o.snap_trim_queue_len;
     num_snap_trimming += o.num_snap_trimming;
     op_queue_age_hist.add(o.op_queue_age_hist);
+    fs_perf_stat.add(o.fs_perf_stat);
   }
   void sub(const osd_stat_t& o) {
     kb -= o.kb;
@@ -597,6 +595,7 @@ struct osd_stat_t {
     snap_trim_queue_len -= o.snap_trim_queue_len;
     num_snap_trimming -= o.num_snap_trimming;
     op_queue_age_hist.sub(o.op_queue_age_hist);
+    fs_perf_stat.sub(o.fs_perf_stat);
   }
 
   void dump(Formatter *f) const;
@@ -690,11 +689,6 @@ struct pg_pool_t {
     TYPE_REP = 1,     // replication
     TYPE_RAID4 = 2,   // raid4 (never implemented)
   };
-  enum {
-    FLAG_HASHPSPOOL = 1, // hash pg seed and pool together (instead of adding)
-    FLAG_FULL       = 2, // pool is full
-  };
-
   static const char *get_type_name(int t) {
     switch (t) {
     case TYPE_REP: return "rep";
@@ -706,6 +700,63 @@ struct pg_pool_t {
     return get_type_name(type);
   }
 
+  enum {
+    FLAG_HASHPSPOOL = 1, // hash pg seed and pool together (instead of adding)
+    FLAG_FULL       = 2, // pool is full
+  };
+
+  static const char *get_flag_name(int f) {
+    switch (f) {
+    case FLAG_HASHPSPOOL: return "hashpspool";
+    case FLAG_FULL: return "full";
+    default: return "???";
+    }
+  }
+  static string get_flags_string(uint64_t f) {
+    string s;
+    for (unsigned n=0; f && n<64; ++n) {
+      if (f & (1ull << n)) {
+	if (s.length())
+	  s += ",";
+	s += get_flag_name(1ull << n);
+      }
+    }
+    return s;
+  }
+  string get_flags_string() const {
+    return get_flags_string(flags);
+  }
+
+  typedef enum {
+    CACHEMODE_NONE = 0,                  ///< no caching
+    CACHEMODE_WRITEBACK = 1,             ///< write to cache, flush later
+    CACHEMODE_INVALIDATE_FORWARD = 2,    ///< delete from cache, forward write
+    CACHEMODE_READONLY = 3,              ///< handle reads, forward writes [not strongly consistent]
+  } cache_mode_t;
+  static const char *get_cache_mode_name(cache_mode_t m) {
+    switch (m) {
+    case CACHEMODE_NONE: return "none";
+    case CACHEMODE_WRITEBACK: return "writeback";
+    case CACHEMODE_INVALIDATE_FORWARD: return "invalidate+forward";
+    case CACHEMODE_READONLY: return "readonly";
+    default: return "unknown";
+    }
+  }
+  static cache_mode_t get_cache_mode_from_str(const string& s) {
+    if (s == "none")
+      return CACHEMODE_NONE;
+    if (s == "writeback")
+      return CACHEMODE_WRITEBACK;
+    if (s == "invalidate+forward")
+      return CACHEMODE_INVALIDATE_FORWARD;
+    if (s == "readonly")
+      return CACHEMODE_READONLY;
+    return (cache_mode_t)-1;
+  }
+  const char *get_cache_mode_name() const {
+    return get_cache_mode_name(cache_mode);
+  }
+
   uint64_t flags;           /// FLAG_* 
   __u8 type;                /// TYPE_*
   __u8 size, min_size;      /// number of osds in each pg
@@ -713,7 +764,10 @@ struct pg_pool_t {
   __u8 object_hash;         /// hash mapping object name to ps
 private:
   __u32 pg_num, pgp_num;    /// number of pgs
+
+
 public:
+  map<string,string> properties;  /// interpreted according to the pool type
   epoch_t last_change;      /// most recent epoch changed, exclusing snapshot changes
   snapid_t snap_seq;        /// seq for per-pool snapshot
   epoch_t snap_epoch;       /// osdmap epoch of last snap
@@ -739,6 +793,21 @@ public:
 
   int pg_num_mask, pgp_num_mask;
 
+  set<uint64_t> tiers;      ///< pools that are tiers of us
+  int64_t tier_of;         ///< pool for which we are a tier
+  // Note that write wins for read+write ops
+  int64_t read_tier;       ///< pool/tier for objecter to direct reads to
+  int64_t write_tier;      ///< pool/tier for objecter to direct writes to
+  cache_mode_t cache_mode;  ///< cache pool mode
+
+
+  bool is_tier() const { return tier_of >= 0; }
+  void clear_tier() { tier_of = -1; }
+  bool has_read_tier() const { return read_tier >= 0; }
+  void clear_read_tier() { read_tier = -1; }
+  bool has_write_tier() const { return write_tier >= 0; }
+  void clear_write_tier() { write_tier = -1; }
+
   pg_pool_t()
     : flags(0), type(0), size(0), min_size(0),
       crush_ruleset(0), object_hash(0),
@@ -748,7 +817,10 @@ public:
       auid(0),
       crash_replay_interval(0),
       quota_max_bytes(0), quota_max_objects(0),
-      pg_num_mask(0), pgp_num_mask(0) { }
+      pg_num_mask(0), pgp_num_mask(0),
+      tier_of(-1), read_tier(-1), write_tier(-1),
+      cache_mode(CACHEMODE_NONE)
+  { }
 
   void dump(Formatter *f) const;
 
@@ -1235,6 +1307,8 @@ struct pg_info_t {
   eversion_t last_complete;  // last version pg was complete through.
   epoch_t last_epoch_started;// last epoch at which this pg started on this osd
   
+  version_t last_user_version; // last user object version applied to store
+
   eversion_t log_tail;     // oldest log entry.
 
   hobject_t last_backfill;   // objects >= this and < last_complete may be missing
@@ -1246,11 +1320,13 @@ struct pg_info_t {
   pg_history_t history;
 
   pg_info_t()
-    : last_epoch_started(0), last_backfill(hobject_t::get_max())
+    : last_epoch_started(0), last_user_version(0),
+      last_backfill(hobject_t::get_max())
   { }
   pg_info_t(pg_t p)
     : pgid(p),
-      last_epoch_started(0), last_backfill(hobject_t::get_max())
+      last_epoch_started(0), last_user_version(0),
+      last_backfill(hobject_t::get_max())
   { }
   
   bool is_empty() const { return last_update.version == 0; }
@@ -1449,6 +1525,7 @@ struct pg_log_entry_t {
   __s32      op;
   hobject_t  soid;
   eversion_t version, prior_version, reverting_to;
+  version_t user_version; // the user version for this entry
   osd_reqid_t reqid;  // caller+tid to uniquely identify request
   utime_t     mtime;  // this is the _user_ mtime, mind you
   bufferlist snaps;   // only for clone entries
@@ -1458,12 +1535,14 @@ struct pg_log_entry_t {
   uint64_t offset;   // [soft state] my offset on disk
       
   pg_log_entry_t()
-    : op(0), invalid_hash(false), invalid_pool(false), offset(0) {}
+    : op(0), user_version(0),
+      invalid_hash(false), invalid_pool(false), offset(0) {}
   pg_log_entry_t(int _op, const hobject_t& _soid, 
 		 const eversion_t& v, const eversion_t& pv,
+		 version_t uv,
 		 const osd_reqid_t& rid, const utime_t& mt)
     : op(_op), soid(_soid), version(v),
-      prior_version(pv),
+      prior_version(pv), user_version(uv),
       reqid(rid), mtime(mt), invalid_hash(false), invalid_pool(false),
       offset(0) {}
       
@@ -1727,6 +1806,70 @@ struct pg_ls_response_t {
 
 WRITE_CLASS_ENCODER(pg_ls_response_t)
 
+/**
+ * object_copy_cursor_t
+ */
+struct object_copy_cursor_t {
+  bool attr_complete;
+  uint64_t data_offset;
+  bool data_complete;
+  string omap_offset;
+  bool omap_complete;
+
+  object_copy_cursor_t()
+    : attr_complete(false),
+      data_offset(0),
+      data_complete(false),
+      omap_complete(false)
+  {}
+
+  bool is_initial() const {
+    return !attr_complete && data_offset == 0 && omap_offset.empty();
+  }
+  bool is_complete() const {
+    return attr_complete && data_complete && omap_complete;
+  }
+
+  static void generate_test_instances(list<object_copy_cursor_t*>& o);
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator &bl);
+  void dump(Formatter *f) const;
+};
+WRITE_CLASS_ENCODER(object_copy_cursor_t)
+
+/**
+ * object_copy_data_t
+ *
+ * Return data from a copy request. The semantics are a little strange
+ * as a result of the encoding's heritage.
+ *
+ * In particular, the sender unconditionally fills in the cursor (from what
+ * it receives and sends), the size, and the mtime, but is responsible for
+ * figuring out whether it should put any data in the attrs, data, or
+ * omap members (corresponding to xattrs, object data, and the omap entries)
+ * based on external data (the client includes a max amount to return with
+ * the copy request). The client then looks into the attrs, data, and/or omap
+ * based on the contents of the cursor.
+ */
+struct object_copy_data_t {
+  object_copy_cursor_t cursor;
+  uint64_t size;
+  utime_t mtime;
+  map<string, bufferlist> attrs;
+  bufferlist data;
+  map<string, bufferlist> omap;
+  string category;
+public:
+  object_copy_data_t() : size((uint64_t)-1) {}
+
+  static void generate_test_instances(list<object_copy_data_t*>& o);
+  void encode_classic(bufferlist& bl) const;
+  void decode_classic(bufferlist::iterator& bl);
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+};
+WRITE_CLASS_ENCODER(object_copy_data_t)
 
 /**
  * pg creation info
@@ -1859,7 +2002,7 @@ struct SnapSet {
   map<snapid_t, interval_set<uint64_t> > clone_overlap;  // overlap w/ next newest
   map<snapid_t, uint64_t> clone_size;
 
-  SnapSet() : head_exists(false) {}
+  SnapSet() : seq(0), head_exists(false) {}
   SnapSet(bufferlist& bl) {
     bufferlist::iterator p = bl.begin();
     decode(p);
@@ -1920,27 +2063,73 @@ struct object_info_t {
   string category;
 
   eversion_t version, prior_version;
-  eversion_t user_version;
+  version_t user_version;
   osd_reqid_t last_reqid;
 
   uint64_t size;
   utime_t mtime;
-  bool lost;
+
+  // note: these are currently encoded into a total 16 bits; see
+  // encode()/decode() for the weirdness.
+  typedef enum {
+    FLAG_LOST     = 1<<0,
+    FLAG_WHITEOUT = 1<<1,  // object logically does not exist
+    FLAG_DIRTY    = 1<<2,  // object has been modified since last flushed or undirtied
+    // ...
+    FLAG_USES_TMAP = 1<<8,  // deprecated; no longer used.
+  } flag_t;
+
+  flag_t flags;
+
+  static string get_flag_string(flag_t flags) {
+    string s;
+    if (flags & FLAG_LOST)
+      s += "|lost";
+    if (flags & FLAG_WHITEOUT)
+      s += "|whiteout";
+    if (flags & FLAG_DIRTY)
+      s += "|dirty";
+    if (flags & FLAG_USES_TMAP)
+      s += "|uses_tmap";
+    if (s.length())
+      return s.substr(1);
+    return s;
+  }
+  string get_flag_string() const {
+    return get_flag_string(flags);
+  }
 
   osd_reqid_t wrlock_by;   // [head]
   vector<snapid_t> snaps;  // [clone]
 
   uint64_t truncate_seq, truncate_size;
 
-
   map<pair<uint64_t, entity_name_t>, watch_info_t> watchers;
-  bool uses_tmap;
 
   void copy_user_bits(const object_info_t& other);
 
   static ps_t legacy_object_locator_to_ps(const object_t &oid, 
 					  const object_locator_t &loc);
 
+  bool test_flag(flag_t f) const {
+    return (flags & f) == f;
+  }
+  void set_flag(flag_t f) {
+    flags = (flag_t)(flags | f);
+  }
+  void clear_flag(flag_t f) {
+    flags = (flag_t)(flags & ~f);
+  }
+  bool is_lost() const {
+    return test_flag(FLAG_LOST);
+  }
+  bool is_whiteout() const {
+    return test_flag(FLAG_WHITEOUT);
+  }
+  bool is_dirty() const {
+    return test_flag(FLAG_DIRTY);
+  }
+
   void encode(bufferlist& bl) const;
   void decode(bufferlist::iterator& bl);
   void decode(bufferlist& bl) {
@@ -1951,13 +2140,14 @@ struct object_info_t {
   static void generate_test_instances(list<object_info_t*>& o);
 
   explicit object_info_t()
-    : size(0), lost(false),
-      truncate_seq(0), truncate_size(0), uses_tmap(false)
+    : user_version(0), size(0), flags((flag_t)0),
+      truncate_seq(0), truncate_size(0)
   {}
 
   object_info_t(const hobject_t& s)
-    : soid(s), size(0),
-      lost(false), truncate_seq(0), truncate_size(0), uses_tmap(false) {}
+    : soid(s),
+      user_version(0), size(0), flags((flag_t)0),
+      truncate_seq(0), truncate_size(0) {}
 
   object_info_t(bufferlist& bl) {
     decode(bl);
@@ -1967,7 +2157,9 @@ WRITE_CLASS_ENCODER(object_info_t)
 
 struct ObjectState {
   object_info_t oi;
-  bool exists;
+  bool exists;         ///< the stored object exists (i.e., we will remember the object_info_t)
+
+  ObjectState() : exists(false) {}
 
   ObjectState(const object_info_t &oi_, bool exists_)
     : oi(oi_), exists(exists_) {}
@@ -1990,33 +2182,172 @@ struct SnapSetContext {
   * etc., because we don't send writes down to disk until after
   * replicas ack.
   */
+
+struct ObjectContext;
+
+typedef std::tr1::shared_ptr<ObjectContext> ObjectContextRef;
+
 struct ObjectContext {
-  int ref;
-  bool registered;
   ObjectState obs;
 
   SnapSetContext *ssc;  // may be null
 
+  Context *destructor_callback;
+
 private:
   Mutex lock;
 public:
   Cond cond;
   int unstable_writes, readers, writers_waiting, readers_waiting;
 
+  /// in-progress copyfrom ops for this object
+  int copyfrom_readside;
+
   // set if writes for this object are blocked on another objects recovery
-  ObjectContext *blocked_by;      // object blocking our writes
-  set<ObjectContext*> blocking;   // objects whose writes we block
+  ObjectContextRef blocked_by;      // object blocking our writes
+  set<ObjectContextRef> blocking;   // objects whose writes we block
 
   // any entity in obs.oi.watchers MUST be in either watchers or unconnected_watchers.
   map<pair<uint64_t, entity_name_t>, WatchRef> watchers;
 
-  ObjectContext(const object_info_t &oi_, bool exists_, SnapSetContext *ssc_)
-    : ref(0), registered(false), obs(oi_, exists_), ssc(ssc_),
+  struct RWState {
+    enum State {
+      RWNONE,
+      RWREAD,
+      RWWRITE
+    };
+    State state;                 /// rw state
+    uint64_t count;              /// number of readers or writers
+    list<OpRequestRef> waiters;  /// ops waiting on state change
+
+    /// if set, restart backfill when we can get a read lock
+    bool backfill_read_marker;
+
+    RWState() : state(RWNONE), count(0), backfill_read_marker(false) {}
+    bool get_read(OpRequestRef op) {
+      if (get_read_lock()) {
+	return true;
+      } // else
+      waiters.push_back(op);
+      return false;
+    }
+    /// this function adjusts the counts if necessary
+    bool get_read_lock() {
+      // don't starve anybody!
+      if (!waiters.empty()) {
+	return false;
+      }
+      switch (state) {
+      case RWNONE:
+	assert(count == 0);
+	state = RWREAD;
+	// fall through
+      case RWREAD:
+	count++;
+	return true;
+      case RWWRITE:
+	return false;
+      default:
+	assert(0 == "unhandled case");
+	return false;
+      }
+    }
+
+    bool get_write(OpRequestRef op) {
+      if (get_write_lock()) {
+	return true;
+      } // else
+      waiters.push_back(op);
+      return false;
+    }
+    bool get_write_lock() {
+      // don't starve anybody!
+      if (!waiters.empty() ||
+	  backfill_read_marker) {
+	return false;
+      }
+      switch (state) {
+      case RWNONE:
+	assert(count == 0);
+	state = RWWRITE;
+	// fall through
+      case RWWRITE:
+	count++;
+	return true;
+      case RWREAD:
+	return false;
+      default:
+	assert(0 == "unhandled case");
+	return false;
+      }
+    }
+    void dec(list<OpRequestRef> *requeue) {
+      assert(count > 0);
+      assert(requeue);
+      assert(requeue->empty());
+      count--;
+      if (count == 0) {
+	state = RWNONE;
+	requeue->swap(waiters);
+      }
+    }
+    void put_read(list<OpRequestRef> *requeue) {
+      assert(state == RWREAD);
+      dec(requeue);
+    }
+    void put_write(list<OpRequestRef> *requeue) {
+      assert(state == RWWRITE);
+      dec(requeue);
+    }
+    bool empty() const { return state == RWNONE; }
+  } rwstate;
+
+  bool get_read(OpRequestRef op) {
+    return rwstate.get_read(op);
+  }
+  bool get_write(OpRequestRef op) {
+    return rwstate.get_write(op);
+  }
+  bool get_backfill_read() {
+    rwstate.backfill_read_marker = true;
+    if (rwstate.get_read_lock()) {
+      return true;
+    }
+    return false;
+  }
+  void drop_backfill_read(list<OpRequestRef> *ls) {
+    assert(rwstate.backfill_read_marker);
+    rwstate.put_read(ls);
+    rwstate.backfill_read_marker = false;
+  }
+  void put_read(list<OpRequestRef> *to_wake) {
+    rwstate.put_read(to_wake);
+  }
+  void put_write(list<OpRequestRef> *to_wake,
+		 bool *requeue_recovery) {
+    rwstate.put_write(to_wake);
+    if (rwstate.empty() && rwstate.backfill_read_marker) {
+      rwstate.backfill_read_marker = false;
+      *requeue_recovery = true;
+    }
+  }
+
+  ObjectContext()
+    : ssc(NULL),
+      destructor_callback(0),
       lock("ReplicatedPG::ObjectContext::lock"),
       unstable_writes(0), readers(0), writers_waiting(0), readers_waiting(0),
-      blocked_by(0) {}
+      copyfrom_readside(0) {}
+
+  ~ObjectContext() {
+    assert(rwstate.empty());
+    if (destructor_callback)
+      destructor_callback->complete(0);
+  }
 
-  void get() { ++ref; }
+  bool is_blocked() const {
+    return copyfrom_readside > 0;
+  }
 
   // do simple synchronous mutual exclusion, for now.  now waitqueues or anything fancy.
   void ondisk_write_lock() {
diff --git a/src/osdc/Filer.cc b/src/osdc/Filer.cc
index 7eb4ad6..8f94a97 100644
--- a/src/osdc/Filer.cc
+++ b/src/osdc/Filer.cc
@@ -131,8 +131,7 @@ void Filer::_probed(Probe *probe, const object_t& oid, uint64_t size, utime_t mt
     return;  // waiting for more!
 
   if (probe->err) { // we hit an error, propagate back up
-    probe->onfinish->finish(probe->err);
-    delete probe->onfinish;
+    probe->onfinish->complete(probe->err);
     delete probe;
     return;
   }
@@ -216,8 +215,7 @@ void Filer::_probed(Probe *probe, const object_t& oid, uint64_t size, utime_t mt
   }
 
   // done!  finish and clean up.
-  probe->onfinish->finish(probe->err);
-  delete probe->onfinish;
+  probe->onfinish->complete(probe->err);
   delete probe;
 }
 
@@ -285,8 +283,7 @@ void Filer::_do_purge_range(PurgeRange *pr, int fin)
 	   << " uncommitted " << pr->uncommitted << dendl;
 
   if (pr->num == 0 && pr->uncommitted == 0) {
-    pr->oncommit->finish(0);
-    delete pr->oncommit;
+    pr->oncommit->complete(0);
     delete pr;
     return;
   }
diff --git a/src/osdc/Filer.h b/src/osdc/Filer.h
index 86ff601..607dc7b 100644
--- a/src/osdc/Filer.h
+++ b/src/osdc/Filer.h
@@ -208,12 +208,14 @@ class Filer {
            uint64_t len,
 	   utime_t mtime,
 	   int flags,
+	   bool keep_first,
            Context *onack,
            Context *oncommit) {
     vector<ObjectExtent> extents;
     Striper::file_to_extents(cct, ino, layout, offset, len, 0, extents);
     if (extents.size() == 1) {
-      if (extents[0].offset == 0 && extents[0].length == layout->fl_object_size)
+      if (extents[0].offset == 0 && extents[0].length == layout->fl_object_size &&
+	  (!keep_first || extents[0].objectno != 0))
 	objecter->remove(extents[0].oid, extents[0].oloc, 
 			 snapc, mtime, flags, onack, oncommit);
       else
@@ -223,7 +225,8 @@ class Filer {
       C_GatherBuilder gack(cct, onack);
       C_GatherBuilder gcom(cct, oncommit);
       for (vector<ObjectExtent>::iterator p = extents.begin(); p != extents.end(); ++p) {
-	if (p->offset == 0 && p->length == layout->fl_object_size)
+	if (p->offset == 0 && p->length == layout->fl_object_size &&
+	    (!keep_first || p->objectno != 0))
 	  objecter->remove(p->oid, p->oloc,
 			   snapc, mtime, flags,
 			   onack ? gack.new_sub():0,
@@ -240,6 +243,22 @@ class Filer {
     return 0;
   }
 
+  int zero(inodeno_t ino,
+	   ceph_file_layout *layout,
+	   const SnapContext& snapc,
+	   uint64_t offset,
+           uint64_t len,
+	   utime_t mtime,
+	   int flags,
+           Context *onack,
+           Context *oncommit) {
+
+    return zero(ino, layout,
+                snapc, offset,
+                len, mtime,
+                flags, false,
+                onack, oncommit);
+  }
   // purge range of ino.### objects
   int purge_range(inodeno_t ino,
 		  ceph_file_layout *layout,
@@ -248,7 +267,7 @@ class Filer {
 		  utime_t mtime,
 		  int flags,
 		  Context *oncommit);
-  void _do_purge_range(class PurgeRange *pr, int fin);
+  void _do_purge_range(struct PurgeRange *pr, int fin);
 
   /*
    * probe 
diff --git a/src/osdc/Journaler.cc b/src/osdc/Journaler.cc
index cd9b9ed..ba4ca8d 100644
--- a/src/osdc/Journaler.cc
+++ b/src/osdc/Journaler.cc
@@ -181,8 +181,7 @@ void Journaler::_finish_reread_head(int r, bufferlist& bl, Context *finish)
   trimmed_pos = trimming_pos = h.trimmed_pos;
   init_headers(h);
   state = STATE_ACTIVE;
-  finish->finish(r);
-  delete finish;
+  finish->complete(r);
 }
 
 void Journaler::_finish_read_head(int r, bufferlist& bl)
@@ -261,8 +260,7 @@ void Journaler::_finish_reprobe(int r, uint64_t new_end, Context *onfinish) {
 	  << dendl;
   prezeroing_pos = prezero_pos = write_pos = flush_pos = safe_pos = new_end;
   state = STATE_ACTIVE;
-  onfinish->finish(r);
-  delete onfinish;
+  onfinish->complete(r);
 }
 
 void Journaler::_finish_probe_end(int r, uint64_t end)
@@ -367,8 +365,7 @@ void Journaler::_finish_write_head(int r, Header &wrote, Context *oncommit)
   ldout(cct, 10) << "_finish_write_head " << wrote << dendl;
   last_committed = wrote;
   if (oncommit) {
-    oncommit->finish(r);
-    delete oncommit;
+    oncommit->complete(r);
   }
 
   trim();  // trim?
@@ -563,8 +560,7 @@ void Journaler::wait_for_flush(Context *onsafe)
     ldout(cct, 10) << "flush nothing to flush, (prezeroing/prezero)/write/flush/safe pointers at " 
 	     << "(" << prezeroing_pos << "/" << prezero_pos << ")/" << write_pos << "/" << flush_pos << "/" << safe_pos << dendl;
     if (onsafe) {
-      onsafe->finish(0);
-      delete onsafe;
+      onsafe->complete(0);
       onsafe = 0;
     }
     return;
@@ -584,8 +580,7 @@ void Journaler::flush(Context *onsafe)
     ldout(cct, 10) << "flush nothing to flush, (prezeroing/prezero)/write/flush/safe pointers at "
 	     << "(" << prezeroing_pos << "/" << prezero_pos << ")/" << write_pos << "/" << flush_pos << "/" << safe_pos << dendl;
     if (onsafe) {
-      onsafe->finish(0);
-      delete onsafe;
+      onsafe->complete(0);
     }
   } else {
     if (1) {
@@ -731,8 +726,7 @@ void Journaler::_finish_read(int r, uint64_t offset, bufferlist& bl)
     if (on_readable) {
       Context *f = on_readable;
       on_readable = 0;
-      f->finish(r);
-      delete f;
+      f->complete(r);
     }
     return;
   }
@@ -779,8 +773,7 @@ void Journaler::_assimilate_prefetch()
     if (on_readable) {
       Context *f = on_readable;
       on_readable = 0;
-      f->finish(0);
-      delete f;
+      f->complete(0);
     }
   }
 }
@@ -1060,8 +1053,7 @@ void Journaler::handle_write_error(int r)
 {
   lderr(cct) << "handle_write_error " << cpp_strerror(r) << dendl;
   if (on_write_error) {
-    on_write_error->finish(r);
-    delete on_write_error;
+    on_write_error->complete(r);
     on_write_error = NULL;
   } else {
     assert(0 == "unhandled write error");
diff --git a/src/osdc/Journaler.h b/src/osdc/Journaler.h
index dfc2115..51241c1 100644
--- a/src/osdc/Journaler.h
+++ b/src/osdc/Journaler.h
@@ -221,7 +221,7 @@ private:
 
   void _issue_prezero();
   void _prezeroed(int r, uint64_t from, uint64_t len);
-  friend class C_Journaler_Prezero;
+  friend struct C_Journaler_Prezero;
 
   // only init_headers when following or first reading off-disk
   void init_headers(Header& h) {
diff --git a/src/osdc/Makefile.am b/src/osdc/Makefile.am
new file mode 100644
index 0000000..3a8a216
--- /dev/null
+++ b/src/osdc/Makefile.am
@@ -0,0 +1,17 @@
+libosdc_la_SOURCES = \
+	osdc/Objecter.cc \
+	osdc/ObjectCacher.cc \
+	osdc/Filer.cc \
+	osdc/Striper.cc \
+	osdc/Journaler.cc
+noinst_LTLIBRARIES += libosdc.la
+
+noinst_HEADERS += \
+	osdc/Blinker.h \
+	osdc/Filer.h \
+	osdc/Journaler.h \
+	osdc/ObjectCacher.h \
+	osdc/Objecter.h \
+	osdc/Striper.h \
+	osdc/WritebackHandler.h
+
diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc
index 51fad69..81335b7 100644
--- a/src/osdc/ObjectCacher.cc
+++ b/src/osdc/ObjectCacher.cc
@@ -11,6 +11,8 @@
 
 #include "include/assert.h"
 
+#define MAX_FLUSH_UNDER_LOCK 20  ///< max bh's we start writeback on while holding the lock
+
 /*** ObjectCacher::BufferHead ***/
 
 
@@ -30,6 +32,7 @@ ObjectCacher::BufferHead *ObjectCacher::Object::split(BufferHead *left, loff_t o
   // split off right
   ObjectCacher::BufferHead *right = new BufferHead(this);
   right->last_write_tid = left->last_write_tid;
+  right->last_read_tid = left->last_read_tid;
   right->set_state(left->get_state());
   right->snapc = left->snapc;
 
@@ -113,6 +116,10 @@ void ObjectCacher::Object::try_merge_bh(BufferHead *bh)
   assert(oc->lock.is_locked());
   ldout(oc->cct, 10) << "try_merge_bh " << *bh << dendl;
 
+  // do not merge rx buffers; last_read_tid may not match
+  if (bh->is_rx())
+    return;
+
   // to the left?
   map<loff_t,BufferHead*>::iterator p = data.find(bh->start());
   assert(p->second == bh);
@@ -500,6 +507,7 @@ ObjectCacher::ObjectCacher(CephContext *cct_, string name, WritebackHandler& wb,
     max_size(max_bytes), max_objects(max_objects),
     block_writes_upfront(block_writes_upfront),
     flush_set_callback(flush_callback), flush_set_callback_arg(flush_callback_arg),
+    last_read_tid(0),
     flusher_stop(false), flusher_thread(this), finisher(cct),
     stat_clean(0), stat_zero(0), stat_dirty(0), stat_rx(0), stat_tx(0), stat_missing(0),
     stat_error(0), stat_dirty_waiting(0), reads_outstanding(0)
@@ -603,25 +611,29 @@ void ObjectCacher::bh_read(BufferHead *bh)
 		<< reads_outstanding << dendl;
 
   mark_rx(bh);
+  bh->last_read_tid = ++last_read_tid;
 
   // finisher
-  C_ReadFinish *onfinish = new C_ReadFinish(this, bh->ob,
+  C_ReadFinish *onfinish = new C_ReadFinish(this, bh->ob, bh->last_read_tid,
 					    bh->start(), bh->length());
   // go
   writeback_handler.read(bh->ob->get_oid(), bh->ob->get_oloc(),
 			 bh->start(), bh->length(), bh->ob->get_snap(),
 			 &onfinish->bl, bh->ob->truncate_size, bh->ob->truncate_seq,
 			 onfinish);
+
   ++reads_outstanding;
 }
 
-void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start,
-				  uint64_t length, bufferlist &bl, int r,
+void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, tid_t tid,
+				  loff_t start, uint64_t length,
+				  bufferlist &bl, int r,
 				  bool trust_enoent)
 {
   assert(lock.is_locked());
   ldout(cct, 7) << "bh_read_finish " 
 		<< oid
+		<< " tid " << tid
 		<< " " << start << "~" << length
 		<< " (bl is " << bl.length() << ")"
 		<< " returned " << r
@@ -711,7 +723,7 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start,
 
       BufferHead *bh = p->second;
       ldout(cct, 20) << "checking bh " << *bh << dendl;
-      
+
       // finishers?
       for (map<loff_t, list<Context*> >::iterator it = bh->waitfor_read.begin();
            it != bh->waitfor_read.end();
@@ -720,9 +732,9 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start,
       bh->waitfor_read.clear();
 
       if (bh->start() > opos) {
-        ldout(cct, 1) << "weirdness: gap when applying read results, " 
-                << opos << "~" << bh->start() - opos 
-                << dendl;
+        ldout(cct, 1) << "bh_read_finish skipping gap "
+		      << opos << "~" << bh->start() - opos
+		      << dendl;
         opos = bh->start();
         continue;
       }
@@ -733,6 +745,13 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start,
         continue;
       }
 
+      if (bh->last_read_tid != tid) {
+	ldout(cct, 10) << "bh_read_finish bh->last_read_tid " << bh->last_read_tid
+		       << " != tid " << tid << ", skipping" << dendl;
+	opos = bh->end();
+	continue;
+      }
+
       assert(opos >= bh->start());
       assert(bh->start() == opos);   // we don't merge rx bh's... yet!
       assert(bh->length() <= start+(loff_t)length-opos);
@@ -882,11 +901,10 @@ void ObjectCacher::bh_write_commit(int64_t poolid, sobject_t oid, loff_t start,
     ob->last_commit_tid = tid;
 
     // waiters?
+    list<Context*> ls;
     if (ob->waitfor_commit.count(tid)) {
-      list<Context*> ls;
       ls.splice(ls.begin(), ob->waitfor_commit[tid]);
       ob->waitfor_commit.erase(tid);
-      finish_contexts(cct, ls, r);
     }
 
     // is the entire object set now clean and fully committed?
@@ -898,6 +916,9 @@ void ObjectCacher::bh_write_commit(int64_t poolid, sobject_t oid, loff_t start,
 	oset->dirty_or_tx == 0) {        // nothing dirty/tx
       flush_set_callback(flush_set_callback_arg, oset);      
     }
+
+    if (!ls.empty())
+      finish_contexts(cct, ls, r);
   }
 }
 
@@ -1429,8 +1450,10 @@ void ObjectCacher::flusher_entry()
       utime_t cutoff = ceph_clock_now(cct);
       cutoff -= max_dirty_age;
       BufferHead *bh = 0;
+      int max = MAX_FLUSH_UNDER_LOCK;
       while ((bh = static_cast<BufferHead*>(bh_lru_dirty.lru_get_next_expire())) != 0 &&
-	     bh->last_write < cutoff) {
+	     bh->last_write < cutoff &&
+	     --max > 0) {
 	ldout(cct, 10) << "flusher flushing aged dirty bh " << *bh << dendl;
 	bh_write(bh);
       }
diff --git a/src/osdc/ObjectCacher.h b/src/osdc/ObjectCacher.h
index ac2833b..a62a41f 100644
--- a/src/osdc/ObjectCacher.h
+++ b/src/osdc/ObjectCacher.h
@@ -45,7 +45,7 @@ class ObjectCacher {
  public:
   CephContext *cct;
   class Object;
-  class ObjectSet;
+  struct ObjectSet;
   class C_ReadFinish;
 
   typedef void (*flush_set_callback_t) (void *p, ObjectSet *oset);
@@ -104,6 +104,7 @@ class ObjectCacher {
     Object *ob;
     bufferlist  bl;
     tid_t last_write_tid;  // version of bh (if non-zero)
+    tid_t last_read_tid;   // tid of last read op (if any)
     utime_t last_write;
     SnapContext snapc;
     int error; // holds return value for failed reads
@@ -116,6 +117,7 @@ class ObjectCacher {
       ref(0),
       ob(o),
       last_write_tid(0),
+      last_read_tid(0),
       error(0) {
       ex.start = ex.length = 0;
     }
@@ -165,7 +167,7 @@ class ObjectCacher {
     int ref;
     ObjectCacher *oc;
     sobject_t oid;
-    friend class ObjectSet;
+    friend struct ObjectSet;
 
   public:
     ObjectSet *oset;
@@ -339,6 +341,8 @@ class ObjectCacher {
 
   vector<hash_map<sobject_t, Object*> > objects; // indexed by pool_id
 
+  tid_t last_read_tid;
+
   set<BufferHead*>    dirty_bh;
   LRU   bh_lru_dirty, bh_lru_rest;
   LRU   ob_lru;
@@ -455,8 +459,9 @@ class ObjectCacher {
 	     bool external_call);
 
  public:
-  void bh_read_finish(int64_t poolid, sobject_t oid, loff_t offset,
-		      uint64_t length, bufferlist &bl, int r,
+  void bh_read_finish(int64_t poolid, sobject_t oid, tid_t tid,
+		      loff_t offset, uint64_t length,
+		      bufferlist &bl, int r,
 		      bool trust_enoent);
   void bh_write_commit(int64_t poolid, sobject_t oid, loff_t offset,
 		       uint64_t length, tid_t t, int r);
@@ -469,17 +474,20 @@ class ObjectCacher {
     uint64_t length;
     xlist<C_ReadFinish*>::item set_item;
     bool trust_enoent;
+    tid_t tid;
 
   public:
     bufferlist bl;
-    C_ReadFinish(ObjectCacher *c, Object *ob, loff_t s, uint64_t l) :
+    C_ReadFinish(ObjectCacher *c, Object *ob, tid_t t, loff_t s, uint64_t l) :
       oc(c), poolid(ob->oloc.pool), oid(ob->get_soid()), start(s), length(l),
-      set_item(this), trust_enoent(true) {
+      set_item(this), trust_enoent(true),
+      tid(t) {
       ob->reads.push_back(&set_item);
     }
 
     void finish(int r) {
-      oc->bh_read_finish(poolid, oid, start, length, bl, r, trust_enoent);
+      oc->bh_read_finish(poolid, oid, tid, start, length, bl, r, trust_enoent);
+
       // object destructor clears the list
       if (set_item.is_on_list())
 	set_item.remove_myself();
diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc
index 60f1738..d2c574d 100644
--- a/src/osdc/Objecter.cc
+++ b/src/osdc/Objecter.cc
@@ -229,7 +229,8 @@ void Objecter::init_locked()
   assert(!initialized);
 
   schedule_tick();
-  maybe_request_map();
+  if (osdmap->get_epoch() == 0)
+    maybe_request_map();
 
   initialized = true;
 }
@@ -296,7 +297,7 @@ void Objecter::send_linger(LingerOp *info)
     if (ops.count(info->register_tid)) {
       Op *o = ops[info->register_tid];
       op_cancel_map_check(o);
-      cancel_op(o);
+      cancel_linger_op(o);
     }
     info->register_tid = _op_submit(o);
   } else {
@@ -322,8 +323,7 @@ void Objecter::_linger_ack(LingerOp *info, int r)
 {
   ldout(cct, 10) << "_linger_ack " << info->linger_id << dendl;
   if (info->on_reg_ack) {
-    info->on_reg_ack->finish(r);
-    delete info->on_reg_ack;
+    info->on_reg_ack->complete(r);
     info->on_reg_ack = NULL;
   }
 }
@@ -332,8 +332,7 @@ void Objecter::_linger_commit(LingerOp *info, int r)
 {
   ldout(cct, 10) << "_linger_commit " << info->linger_id << dendl;
   if (info->on_reg_commit) {
-    info->on_reg_commit->finish(r);
-    delete info->on_reg_commit;
+    info->on_reg_commit->complete(r);
     info->on_reg_commit = NULL;
   }
 
@@ -359,7 +358,7 @@ tid_t Objecter::linger_mutate(const object_t& oid, const object_locator_t& oloc,
 			      const SnapContext& snapc, utime_t mtime,
 			      bufferlist& inbl, int flags,
 			      Context *onack, Context *oncommit,
-			      eversion_t *objver)
+			      version_t *objver)
 {
   LingerOp *info = new LingerOp;
   info->oid = oid;
@@ -390,7 +389,7 @@ tid_t Objecter::linger_read(const object_t& oid, const object_locator_t& oloc,
 			    ObjectOperation& op,
 			    snapid_t snap, bufferlist& inbl, bufferlist *poutbl, int flags,
 			    Context *onfinish,
-			    eversion_t *objver)
+			    version_t *objver)
 {
   LingerOp *info = new LingerOp;
   info->oid = oid;
@@ -660,7 +659,7 @@ void Objecter::handle_osd_map(MOSDMap *m)
 	send_op(op);
       }
     } else {
-      cancel_op(op);
+      cancel_linger_op(op);
     }
   }
   for (list<LingerOp*>::iterator p = need_resend_linger.begin(); p != need_resend_linger.end(); ++p) {
@@ -687,8 +686,7 @@ void Objecter::handle_osd_map(MOSDMap *m)
     //go through the list and call the onfinish methods
     for (list<pair<Context*, int> >::iterator i = p->second.begin();
 	 i != p->second.end(); ++i) {
-      i->first->finish(i->second);
-      delete i->first;
+      i->first->complete(i->second);
     }
     waiting_for_map.erase(p++);
   }
@@ -1005,7 +1003,7 @@ void Objecter::kick_requests(OSDSession *session)
     if (op->should_resend) {
       resend[op->tid] = op;
     } else {
-      cancel_op(op);
+      cancel_linger_op(op);
     }
   }
   while (!resend.empty()) {
@@ -1245,8 +1243,8 @@ tid_t Objecter::_op_submit(Op *op)
   }
 
   // send?
-  ldout(cct, 10) << "op_submit oid " << op->oid
-           << " " << op->oloc 
+  ldout(cct, 10) << "op_submit oid " << op->base_oid
+           << " " << op->base_oloc << " " << op->target_oloc
 	   << " " << op->ops << " tid " << op->tid
            << " osd." << (op->session ? op->session->osd : -1)
            << dendl;
@@ -1283,6 +1281,32 @@ tid_t Objecter::_op_submit(Op *op)
   return op->tid;
 }
 
+int Objecter::op_cancel(tid_t tid)
+{
+  assert(client_lock.is_locked());
+  assert(initialized);
+
+  map<tid_t, Op*>::iterator p = ops.find(tid);
+  if (p == ops.end()) {
+    ldout(cct, 10) << __func__ << " tid " << tid << " dne" << dendl;
+    return -ENOENT;
+  }
+
+  ldout(cct, 10) << __func__ << " tid " << tid << dendl;
+  Op *op = p->second;
+  if (op->onack) {
+    op->onack->complete(-ECANCELED);
+    op->onack = NULL;
+  }
+  if (op->oncommit) {
+    op->oncommit->complete(-ECANCELED);
+    op->oncommit = NULL;
+  }
+  op_cancel_map_check(op);
+  finish_op(op);
+  return 0;
+}
+
 bool Objecter::is_pg_changed(vector<int>& o, vector<int>& n, bool any_change)
 {
   if (o.empty() && n.empty())
@@ -1300,12 +1324,37 @@ int Objecter::recalc_op_target(Op *op)
 {
   vector<int> acting;
   pg_t pgid = op->pgid;
+
+  bool is_read = op->flags & CEPH_OSD_FLAG_READ;
+  bool is_write = op->flags & CEPH_OSD_FLAG_WRITE;
+
+  bool need_check_tiering = false;
+  if (op->target_oid.name.empty()) {
+    op->target_oid = op->base_oid;
+    need_check_tiering = true;
+  }
+  if (op->target_oloc.empty()) {
+    op->target_oloc = op->base_oloc;
+    need_check_tiering = true;
+  }
+  
+  if (honor_cache_redirects && need_check_tiering) {
+    const pg_pool_t *pi = osdmap->get_pg_pool(op->base_oloc.pool);
+    if (pi) {
+      if (is_read && pi->has_read_tier())
+	op->target_oloc.pool = pi->read_tier;
+      if (is_write && pi->has_write_tier())
+	op->target_oloc.pool = pi->write_tier;
+    }
+  }
+
   if (op->precalc_pgid) {
+    assert(op->base_oid.name.empty()); // make sure this is a listing op
     ldout(cct, 10) << "recalc_op_target have " << pgid << " pool " << osdmap->have_pg_pool(pgid.pool()) << dendl;
     if (!osdmap->have_pg_pool(pgid.pool()))
       return RECALC_OP_TARGET_POOL_DNE;
   } else {
-    int ret = osdmap->object_locator_to_pg(op->oid, op->oloc, pgid);
+    int ret = osdmap->object_locator_to_pg(op->target_oid, op->target_oloc, pgid);
     if (ret == -ENOENT)
       return RECALC_OP_TARGET_POOL_DNE;
   }
@@ -1321,7 +1370,7 @@ int Objecter::recalc_op_target(Op *op)
     op->used_replica = false;
     if (!acting.empty()) {
       int osd;
-      bool read = (op->flags & CEPH_OSD_FLAG_READ) && (op->flags & CEPH_OSD_FLAG_WRITE) == 0;
+      bool read = is_read && !is_write;
       if (read && (op->flags & CEPH_OSD_FLAG_BALANCE_READS)) {
 	int p = rand() % acting.size();
 	if (p)
@@ -1391,12 +1440,10 @@ bool Objecter::recalc_linger_op_target(LingerOp *linger_op)
   return RECALC_OP_TARGET_NO_ACTION;
 }
 
-void Objecter::cancel_op(Op *op)
+void Objecter::cancel_linger_op(Op *op)
 {
   ldout(cct, 15) << "cancel_op " << op->tid << dendl;
 
-  // currently this only works for linger registrations, since we just
-  // throw out the callbacks.
   assert(!op->should_resend);
   delete op->onack;
   delete op->oncommit;
@@ -1447,7 +1494,8 @@ void Objecter::send_op(Op *op)
   op->stamp = ceph_clock_now(cct);
 
   MOSDOp *m = new MOSDOp(client_inc, op->tid, 
-			 op->oid, op->oloc, op->pgid, osdmap->get_epoch(),
+			 op->target_oid, op->target_oloc, op->pgid,
+			 osdmap->get_epoch(),
 			 flags);
 
   m->set_snapid(op->snapid);
@@ -1458,8 +1506,8 @@ void Objecter::send_op(Op *op)
   m->set_mtime(op->mtime);
   m->set_retry_attempt(op->attempts++);
 
-  if (op->version != eversion_t())
-    m->set_version(op->version);  // we're replaying this op!
+  if (op->replay_version != eversion_t())
+    m->set_version(op->replay_version);  // we're replaying this op!
 
   if (op->priority)
     m->set_priority(op->priority);
@@ -1508,6 +1556,15 @@ void Objecter::throttle_op(Op *op, int op_budget)
   }
 }
 
+void Objecter::unregister_op(Op *op)
+{
+  if (op->onack)
+    num_unacked--;
+  if (op->oncommit)
+    num_uncommitted--;
+  ops.erase(op->tid);
+}
+
 /* This function DOES put the passed message before returning */
 void Objecter::handle_osd_op_reply(MOSDOpReply *m)
 {
@@ -1528,7 +1585,8 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
 
   ldout(cct, 7) << "handle_osd_op_reply " << tid
 		<< (m->is_ondisk() ? " ondisk":(m->is_onnvram() ? " onnvram":" ack"))
-		<< " v " << m->get_version() << " in " << m->get_pg()
+		<< " v " << m->get_replay_version() << " uv " << m->get_user_version()
+		<< " in " << m->get_pg()
 		<< " attempt " << m->get_retry_attempt()
 		<< dendl;
   Op *op = ops[tid];
@@ -1553,19 +1611,25 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
 
   int rc = m->get_result();
 
+  if (m->is_redirect_reply()) {
+    ldout(cct, 5) << " got redirect reply; redirecting" << dendl;
+    unregister_op(op);
+    m->get_redirect().combine_with_locator(op->target_oloc, op->target_oid.name);
+    op_submit(op);
+    m->put();
+    return;
+  }
+
   if (rc == -EAGAIN) {
     ldout(cct, 7) << " got -EAGAIN, resubmitting" << dendl;
-    if (op->onack)
-      num_unacked--;
-    if (op->oncommit)
-      num_uncommitted--;
+    unregister_op(op);
     op_submit(op);
     m->put();
     return;
   }
 
   if (op->objver)
-    *op->objver = m->get_version();
+    *op->objver = m->get_user_version();
   if (op->reply_epoch)
     *op->reply_epoch = m->get_map_epoch();
 
@@ -1605,7 +1669,7 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
   // ack|commit -> ack
   if (op->onack) {
     ldout(cct, 15) << "handle_osd_op_reply ack" << dendl;
-    op->version = m->get_version();
+    op->replay_version = m->get_replay_version();
     onack = op->onack;
     op->onack = 0;  // only do callback once
     num_unacked--;
@@ -1637,12 +1701,10 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
 
   // do callbacks
   if (onack) {
-    onack->finish(rc);
-    delete onack;
+    onack->complete(rc);
   }
   if (oncommit) {
-    oncommit->finish(rc);
-    delete oncommit;
+    oncommit->complete(rc);
   }
 
   m->put();
@@ -1661,8 +1723,7 @@ void Objecter::list_objects(ListContext *list_context, Context *onfinish) {
 	   << "\nlist_context->cookie" << list_context->cookie << dendl;
 
   if (list_context->at_end) {
-    onfinish->finish(0);
-    delete onfinish;
+    onfinish->complete(0);
     return;
   }
 
@@ -1682,8 +1743,7 @@ void Objecter::list_objects(ListContext *list_context, Context *onfinish) {
     list_context->starting_pg_num = pg_num;
   }
   if (list_context->current_pg == pg_num){ //this context got all the way through
-    onfinish->finish(0);
-    delete onfinish;
+    onfinish->complete(0);
     return;
   }
 
@@ -1737,9 +1797,8 @@ void Objecter::_list_reply(ListContext *list_context, int r, bufferlist *bl,
     ldout(cct, 20) << "got a response with objects, proceeding" << dendl;
     list_context->list.merge(response.entries);
     if (response_size >= list_context->max_entries) {
-      final_finish->finish(0);
+      final_finish->complete(0);
       delete bl;
-      delete final_finish;
       return;
     }
 
@@ -1771,8 +1830,7 @@ void Objecter::_list_reply(ListContext *list_context, int r, bufferlist *bl,
   ldout(cct, 20) << "out of pgs, returning to" << final_finish << dendl;
   list_context->at_end = true;
   delete bl;
-  final_finish->finish(0);
-  delete final_finish;
+  final_finish->complete(0);
   return;
 }
 
@@ -1814,8 +1872,7 @@ struct C_SelfmanagedSnap : public Context {
       bufferlist::iterator p = bl.begin();
       ::decode(*psnapid, p);
     }
-    fin->finish(r);
-    delete fin;
+    fin->complete(r);
   }
 };
 
@@ -1990,8 +2047,7 @@ void Objecter::handle_pool_op_reply(MPoolOpReply *m)
       wait_for_new_map(op->onfinish, m->epoch, m->replyCode);
     }
     else {
-      op->onfinish->finish(m->replyCode);
-      delete op->onfinish;
+      op->onfinish->complete(m->replyCode);
     }
     op->onfinish = NULL;
     delete op;
@@ -2048,8 +2104,7 @@ void Objecter::handle_get_pool_stats_reply(MGetPoolStatsReply *m)
     *op->pool_stats = m->pool_stats;
     if (m->version > last_seen_pgmap_version)
       last_seen_pgmap_version = m->version;
-    op->onfinish->finish(0);
-    delete op->onfinish;
+    op->onfinish->complete(0);
     poolstat_ops.erase(tid);
     delete op;
 
@@ -2100,8 +2155,7 @@ void Objecter::handle_fs_stats_reply(MStatfsReply *m)
     *(op->stats) = m->h.st;
     if (m->h.version > last_seen_pgmap_version)
       last_seen_pgmap_version = m->h.version;
-    op->onfinish->finish(0);
-    delete op->onfinish;
+    op->onfinish->complete(0);
     statfs_ops.erase(tid);
     delete op;
 
@@ -2143,8 +2197,7 @@ void Objecter::_sg_read_finish(vector<ObjectExtent>& extents, vector<bufferlist>
   ldout(cct, 7) << "_sg_read_finish " << bytes_read << " bytes" << dendl;
 
   if (onfinish) {
-    onfinish->finish(bytes_read);// > 0 ? bytes_read:m->get_result());
-    delete onfinish;
+    onfinish->complete(bytes_read);// > 0 ? bytes_read:m->get_result());
   }
 }
 
@@ -2191,7 +2244,7 @@ void Objecter::dump_active()
   for (map<tid_t,Op*>::iterator p = ops.begin(); p != ops.end(); ++p) {
     Op *op = p->second;
     ldout(cct, 20) << op->tid << "\t" << op->pgid << "\tosd." << (op->session ? op->session->osd : -1)
-	    << "\t" << op->oid << "\t" << op->ops << dendl;
+	    << "\t" << op->base_oid << "\t" << op->ops << dendl;
   }
 }
 
@@ -2222,8 +2275,9 @@ void Objecter::dump_ops(Formatter *fmt) const
     fmt->dump_int("osd", op->session ? op->session->osd : -1);
     fmt->dump_stream("last_sent") << op->stamp;
     fmt->dump_int("attempts", op->attempts);
-    fmt->dump_stream("object_id") << op->oid;
-    fmt->dump_stream("object_locator") << op->oloc;
+    fmt->dump_stream("object_id") << op->base_oid;
+    fmt->dump_stream("object_locator") << op->base_oloc;
+    fmt->dump_stream("target_object_locator") << op->target_oloc;
     fmt->dump_stream("snapid") << op->snapid;
     fmt->dump_stream("snap_context") << op->snapc;
     fmt->dump_stream("mtime") << op->mtime;
@@ -2255,8 +2309,7 @@ void Objecter::dump_linger_ops(Formatter *fmt) const
     fmt->dump_stream("object_id") << op->oid;
     fmt->dump_stream("object_locator") << op->oloc;
     fmt->dump_stream("snapid") << op->snap;
-    fmt->dump_stream("registering") << op->snap;
-    fmt->dump_stream("registered") << op->snap;
+    fmt->dump_stream("registered") << op->registered;
     fmt->close_section(); // linger_op object
   }
   fmt->close_section(); // linger_ops array
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h
index 26485bc..41973dd 100644
--- a/src/osdc/Objecter.h
+++ b/src/osdc/Objecter.h
@@ -386,7 +386,6 @@ struct ObjectOperation {
               pwatchers->push_back(ow);
             }
           }
-          *prval = 0;
 	}
 	catch (buffer::error& e) {
 	  if (prval)
@@ -424,8 +423,6 @@ struct ObjectOperation {
             }
 	    psnaps->seq = resp.seq;
           }
-          if (prval)
-	    *prval = 0;
 	}
 	catch (buffer::error& e) {
 	  if (prval)
@@ -567,6 +564,112 @@ struct ObjectOperation {
     }
   }
 
+  struct C_ObjectOperation_copyget : public Context {
+    bufferlist bl;
+    object_copy_cursor_t *cursor;
+    uint64_t *out_size;
+    utime_t *out_mtime;
+    string *out_category;
+    std::map<std::string,bufferlist> *out_attrs;
+    bufferlist *out_data;
+    std::map<std::string,bufferlist> *out_omap;
+    int *prval;
+    C_ObjectOperation_copyget(object_copy_cursor_t *c,
+			      uint64_t *s,
+			      utime_t *m,
+			      string *cat,
+			      std::map<std::string,bufferlist> *a,
+			      bufferlist *d,
+			      std::map<std::string,bufferlist> *o,
+			      int *r)
+      : cursor(c),
+	out_size(s), out_mtime(m), out_category(cat),
+	out_attrs(a), out_data(d), out_omap(o), prval(r) {}
+    void finish(int r) {
+      if (r < 0)
+	return;
+      try {
+	bufferlist::iterator p = bl.begin();
+	object_copy_data_t copy_reply;
+	::decode(copy_reply, p);
+	if (out_size)
+	  *out_size = copy_reply.size;
+	if (out_mtime)
+	  *out_mtime = copy_reply.mtime;
+	if (out_category)
+	  *out_category = copy_reply.category;
+	if (out_attrs)
+	  *out_attrs = copy_reply.attrs;
+	if (out_data)
+	  out_data->claim_append(copy_reply.data);
+	if (out_omap)
+	  *out_omap = copy_reply.omap;
+	*cursor = copy_reply.cursor;
+      } catch (buffer::error& e) {
+	if (prval)
+	  *prval = -EIO;
+      }
+    }
+  };
+
+  void copy_get(object_copy_cursor_t *cursor,
+		uint64_t max,
+		uint64_t *out_size,
+		utime_t *out_mtime,
+		string *out_category,
+		std::map<std::string,bufferlist> *out_attrs,
+		bufferlist *out_data,
+		std::map<std::string,bufferlist> *out_omap,
+		int *prval) {
+    OSDOp& osd_op = add_op(CEPH_OSD_OP_COPY_GET);
+    osd_op.op.copy_get.max = max;
+    ::encode(*cursor, osd_op.indata);
+    ::encode(max, osd_op.indata);
+    unsigned p = ops.size() - 1;
+    out_rval[p] = prval;
+    C_ObjectOperation_copyget *h =
+      new C_ObjectOperation_copyget(cursor, out_size, out_mtime, out_category,
+                                    out_attrs, out_data, out_omap, prval);
+    out_bl[p] = &h->bl;
+    out_handler[p] = h;
+  }
+
+  void undirty() {
+    add_op(CEPH_OSD_OP_UNDIRTY);
+  }
+
+  struct C_ObjectOperation_isdirty : public Context {
+    bufferlist bl;
+    bool *pisdirty;
+    int *prval;
+    C_ObjectOperation_isdirty(bool *p, int *r)
+      : pisdirty(p), prval(r) {}
+    void finish(int r) {
+      if (r < 0)
+	return;
+      try {
+	bufferlist::iterator p = bl.begin();
+	bool isdirty;
+	::decode(isdirty, p);
+	if (pisdirty)
+	  *pisdirty = isdirty;
+      } catch (buffer::error& e) {
+	if (prval)
+	  *prval = -EIO;
+      }
+    }
+  };
+
+  void is_dirty(bool *pisdirty, int *prval) {
+    add_op(CEPH_OSD_OP_ISDIRTY);
+    unsigned p = ops.size() - 1;
+    out_rval[p] = prval;
+    C_ObjectOperation_isdirty *h =
+      new C_ObjectOperation_isdirty(pisdirty, prval);
+    out_bl[p] = &h->bl;
+    out_handler[p] = h;
+  }
+
   void omap_get_header(bufferlist *bl, int *prval) {
     add_op(CEPH_OSD_OP_OMAPGETHEADER);
     unsigned p = ops.size() - 1;
@@ -647,8 +750,8 @@ struct ObjectOperation {
   }
 
   void assert_version(uint64_t ver) {
-    bufferlist bl;
-    add_watch(CEPH_OSD_OP_ASSERT_VER, 0, ver, 0, bl);
+    OSDOp& osd_op = add_op(CEPH_OSD_OP_ASSERT_VER);
+    osd_op.op.assert_ver.ver = ver;
   }
   void assert_src_version(const object_t& srcoid, snapid_t srcsnapid, uint64_t ver) {
     bufferlist bl;
@@ -677,6 +780,14 @@ struct ObjectOperation {
     OSDOp& osd_op = add_op(CEPH_OSD_OP_ROLLBACK);
     osd_op.op.snap.snapid = snapid;
   }
+
+  void copy_from(object_t src, snapid_t snapid, object_locator_t src_oloc, version_t src_version) {
+    OSDOp& osd_op = add_op(CEPH_OSD_OP_COPY_FROM);
+    osd_op.op.copy_from.snapid = snapid;
+    osd_op.op.copy_from.src_version = src_version;
+    ::encode(src, osd_op.indata);
+    ::encode(src_oloc, osd_op.indata);
+  }
 };
 
 
@@ -701,6 +812,7 @@ class Objecter {
   int global_op_flags; // flags which are applied to each IO op
   bool keep_balanced_budget;
   bool honor_osdmap_full;
+  bool honor_cache_redirects;
 
   void maybe_request_map();
 
@@ -737,15 +849,17 @@ public:
   // read
  public:
 
-  class OSDSession;
+  struct OSDSession;
 
   struct Op {
     OSDSession *session;
     xlist<Op*>::item session_item;
     int incarnation;
     
-    object_t oid;
-    object_locator_t oloc;
+    object_t base_oid;
+    object_locator_t base_oloc;
+    object_t target_oid;
+    object_locator_t target_oloc;
 
     pg_t pgid;
     vector<int> acting;
@@ -768,12 +882,12 @@ public:
     Context *onack, *oncommit;
 
     tid_t tid;
-    eversion_t version;        // for op replay
+    eversion_t replay_version;        // for op replay
     int attempts;
 
     bool paused;
 
-    eversion_t *objver;
+    version_t *objver;
     epoch_t *reply_epoch;
 
     utime_t stamp;
@@ -787,9 +901,9 @@ public:
     bool should_resend;
 
     Op(const object_t& o, const object_locator_t& ol, vector<OSDOp>& op,
-       int f, Context *ac, Context *co, eversion_t *ov) :
+       int f, Context *ac, Context *co, version_t *ov) :
       session(NULL), session_item(this), incarnation(0),
-      oid(o), oloc(ol),
+      base_oid(o), base_oloc(ol),
       used_replica(false), con(NULL),
       snapid(CEPH_NOSNAP),
       outbl(NULL),
@@ -811,8 +925,8 @@ public:
 	out_rval[i] = NULL;
       }
 
-      if (oloc.key == o)
-	oloc.key.clear();
+      if (base_oloc.key == o)
+	base_oloc.key.clear();
     }
     ~Op() {
       while (!out_handler.empty()) {
@@ -861,8 +975,7 @@ public:
 	if (pmtime)
 	  *pmtime = m;
       }
-      fin->finish(r);
-      delete fin;
+      fin->complete(r);
     }
   };
 
@@ -876,8 +989,7 @@ public:
 	bufferlist::iterator p = bl.begin();
 	::decode(attrset, p);
       }
-      fin->finish(r);
-      delete fin;
+      fin->complete(r);
     }
   };
 
@@ -917,8 +1029,7 @@ public:
       if (r >= 0) {
         objecter->_list_reply(list_context, r, bl, final_finish, epoch);
       } else {
-        final_finish->finish(r);
-        delete final_finish;
+        final_finish->complete(r);
       }
     }
   };
@@ -1008,7 +1119,7 @@ public:
     vector<OSDOp> ops;
     bufferlist inbl;
     bufferlist *poutbl;
-    eversion_t *pobjver;
+    version_t *pobjver;
 
     bool registered;
     Context *on_reg_ack, *on_reg_commit;
@@ -1104,7 +1215,7 @@ public:
   map<epoch_t,list< pair<Context*, int> > > waiting_for_map;
 
   void send_op(Op *op);
-  void cancel_op(Op *op);
+  void cancel_linger_op(Op *op);
   void finish_op(Op *op);
   bool is_pg_changed(vector<int>& a, vector<int>& b, bool any_change=false);
   enum recalc_op_target_result {
@@ -1177,6 +1288,7 @@ public:
     num_unacked(0), num_uncommitted(0),
     global_op_flags(0),
     keep_balanced_budget(false), honor_osdmap_full(true),
+    honor_cache_redirects(true),
     last_seen_osdmap_version(0),
     last_seen_pgmap_version(0),
     client_lock(l), timer(t),
@@ -1210,6 +1322,9 @@ public:
   void set_honor_osdmap_full() { honor_osdmap_full = true; }
   void unset_honor_osdmap_full() { honor_osdmap_full = false; }
 
+  void set_honor_cache_redirects() { honor_cache_redirects = true; }
+  void unset_honor_cache_redirects() { honor_cache_redirects = false; }
+
   void scan_requests(bool skipped_map,
 		     map<tid_t, Op*>& need_resend,
 		     list<LingerOp*>& need_resend_linger,
@@ -1226,6 +1341,7 @@ private:
   // low-level
   tid_t op_submit(Op *op);
   tid_t _op_submit(Op *op);
+  inline void unregister_op(Op *op);
 
   // public interface
  public:
@@ -1257,6 +1373,9 @@ private:
   /** Clear the passed flags from the global op flag set */
   void clear_global_op_flag(int flags) { global_op_flags &= ~flags; }
 
+  /// cancel an in-progress request
+  int op_cancel(tid_t tid);
+
   // commands
   int osd_command(int osd, vector<string>& cmd, bufferlist& inbl, tid_t *ptid,
 		    bufferlist *poutbl, string *prs, Context *onfinish) {
@@ -1286,7 +1405,7 @@ private:
   tid_t mutate(const object_t& oid, const object_locator_t& oloc, 
 	       ObjectOperation& op,
 	       const SnapContext& snapc, utime_t mtime, int flags,
-	       Context *onack, Context *oncommit, eversion_t *objver = NULL) {
+	       Context *onack, Context *oncommit, version_t *objver = NULL) {
     Op *o = new Op(oid, oloc, op.ops, flags | global_op_flags | CEPH_OSD_FLAG_WRITE, onack, oncommit, objver);
     o->priority = op.priority;
     o->mtime = mtime;
@@ -1296,7 +1415,7 @@ private:
   tid_t read(const object_t& oid, const object_locator_t& oloc,
 	     ObjectOperation& op,
 	     snapid_t snapid, bufferlist *pbl, int flags,
-	     Context *onack, eversion_t *objver = NULL) {
+	     Context *onack, version_t *objver = NULL) {
     Op *o = new Op(oid, oloc, op.ops, flags | global_op_flags | CEPH_OSD_FLAG_READ, onack, NULL, objver);
     o->priority = op.priority;
     o->snapid = snapid;
@@ -1311,12 +1430,12 @@ private:
 		      const SnapContext& snapc, utime_t mtime,
 		      bufferlist& inbl, int flags,
 		      Context *onack, Context *onfinish,
-		      eversion_t *objver);
+		      version_t *objver);
   tid_t linger_read(const object_t& oid, const object_locator_t& oloc,
 		    ObjectOperation& op,
 		    snapid_t snap, bufferlist& inbl, bufferlist *poutbl, int flags,
 		    Context *onack,
-		    eversion_t *objver);
+		    version_t *objver);
   void unregister_linger(uint64_t linger_id);
 
   /**
@@ -1350,7 +1469,7 @@ private:
   tid_t stat(const object_t& oid, const object_locator_t& oloc, snapid_t snap,
 	     uint64_t *psize, utime_t *pmtime, int flags, 
 	     Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_STAT;
@@ -1364,7 +1483,7 @@ private:
   tid_t read(const object_t& oid, const object_locator_t& oloc, 
 	     uint64_t off, uint64_t len, snapid_t snap, bufferlist *pbl, int flags,
 	     Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_READ;
@@ -1382,7 +1501,7 @@ private:
 	     uint64_t off, uint64_t len, snapid_t snap, bufferlist *pbl, int flags,
 	     uint64_t trunc_size, __u32 trunc_seq,
 	     Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_READ;
@@ -1398,7 +1517,7 @@ private:
   tid_t mapext(const object_t& oid, const object_locator_t& oloc,
 	     uint64_t off, uint64_t len, snapid_t snap, bufferlist *pbl, int flags,
 	     Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_MAPEXT;
@@ -1414,7 +1533,7 @@ private:
   tid_t getxattr(const object_t& oid, const object_locator_t& oloc,
 	     const char *name, snapid_t snap, bufferlist *pbl, int flags,
 	     Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_GETXATTR;
@@ -1431,7 +1550,7 @@ private:
   tid_t getxattrs(const object_t& oid, const object_locator_t& oloc, snapid_t snap,
              map<string,bufferlist>& attrset,
 	     int flags, Context *onfinish,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_GETXATTRS;
@@ -1445,7 +1564,7 @@ private:
   tid_t read_full(const object_t& oid, const object_locator_t& oloc,
 		  snapid_t snap, bufferlist *pbl, int flags,
 		  Context *onfinish,
-	          eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	          version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     return read(oid, oloc, 0, 0, snap, pbl, flags | global_op_flags | CEPH_OSD_FLAG_READ, onfinish, objver);
   }
      
@@ -1454,7 +1573,7 @@ private:
 		vector<OSDOp>& ops, utime_t mtime,
 		const SnapContext& snapc, int flags,
 	        Context *onack, Context *oncommit,
-	        eversion_t *objver = NULL) {
+	        version_t *objver = NULL) {
     Op *o = new Op(oid, oloc, ops, flags | global_op_flags | CEPH_OSD_FLAG_WRITE, onack, oncommit, objver);
     o->mtime = mtime;
     o->snapc = snapc;
@@ -1464,7 +1583,7 @@ private:
 	      uint64_t off, uint64_t len, const SnapContext& snapc, const bufferlist &bl,
 	      utime_t mtime, int flags,
 	      Context *onack, Context *oncommit,
-	      eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	      version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_WRITE;
@@ -1482,7 +1601,7 @@ private:
 	       uint64_t len, const SnapContext& snapc, const bufferlist &bl,
 	       utime_t mtime, int flags,
 	       Context *onack, Context *oncommit,
-	       eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	       version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_APPEND;
@@ -1501,7 +1620,7 @@ private:
 	      utime_t mtime, int flags,
 	      uint64_t trunc_size, __u32 trunc_seq,
 	      Context *onack, Context *oncommit,
-	      eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	      version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_WRITE;
@@ -1518,7 +1637,7 @@ private:
   tid_t write_full(const object_t& oid, const object_locator_t& oloc,
 		   const SnapContext& snapc, const bufferlist &bl, utime_t mtime, int flags,
 		   Context *onack, Context *oncommit,
-		   eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+		   version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_WRITEFULL;
@@ -1535,7 +1654,7 @@ private:
 	      utime_t mtime, int flags,
 	      uint64_t trunc_size, __u32 trunc_seq,
               Context *onack, Context *oncommit,
-	      eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	      version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_TRUNCATE;
@@ -1550,7 +1669,7 @@ private:
   tid_t zero(const object_t& oid, const object_locator_t& oloc, 
 	     uint64_t off, uint64_t len, const SnapContext& snapc, utime_t mtime, int flags,
              Context *onack, Context *oncommit,
-	     eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_ZERO;
@@ -1564,7 +1683,7 @@ private:
   tid_t rollback_object(const object_t& oid, const object_locator_t& oloc,
 		 const SnapContext& snapc, snapid_t snapid,
 		 utime_t mtime, Context *onack, Context *oncommit,
-		 eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+		 version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_ROLLBACK;
@@ -1578,7 +1697,7 @@ private:
 	     const SnapContext& snapc, utime_t mtime,
              int global_flags, int create_flags,
              Context *onack, Context *oncommit,
-             eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+             version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_CREATE;
@@ -1591,7 +1710,7 @@ private:
   tid_t remove(const object_t& oid, const object_locator_t& oloc, 
 	       const SnapContext& snapc, utime_t mtime, int flags,
 	       Context *onack, Context *oncommit,
-	       eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	       version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_DELETE;
@@ -1602,7 +1721,7 @@ private:
   }
 
   tid_t lock(const object_t& oid, const object_locator_t& oloc, int op, int flags,
-	     Context *onack, Context *oncommit, eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	     Context *onack, Context *oncommit, version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     SnapContext snapc;  // no snapc for lock ops
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
@@ -1615,7 +1734,7 @@ private:
 	      const char *name, const SnapContext& snapc, const bufferlist &bl,
 	      utime_t mtime, int flags,
 	      Context *onack, Context *oncommit,
-	      eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	      version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_SETXATTR;
@@ -1633,7 +1752,7 @@ private:
 	      const char *name, const SnapContext& snapc,
 	      utime_t mtime, int flags,
 	      Context *onack, Context *oncommit,
-	      eversion_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
+	      version_t *objver = NULL, ObjectOperation *extra_ops = NULL) {
     vector<OSDOp> ops;
     int i = init_ops(ops, 1, extra_ops);
     ops[i].op.op = CEPH_OSD_OP_RMXATTR;
diff --git a/src/perfglue/Makefile.am b/src/perfglue/Makefile.am
new file mode 100644
index 0000000..f2b8d50
--- /dev/null
+++ b/src/perfglue/Makefile.am
@@ -0,0 +1,23 @@
+libperfglue_la_SOURCES =
+
+if WITH_TCMALLOC
+libperfglue_la_SOURCES += perfglue/heap_profiler.cc
+libperfglue_la_LIBADD = -ltcmalloc
+AM_CFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
+AM_CXXFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
+else
+libperfglue_la_SOURCES += perfglue/disabled_heap_profiler.cc
+endif # WITH_TCMALLOC
+
+if WITH_PROFILER
+libperfglue_la_SOURCES += perfglue/cpu_profiler.cc
+else
+libperfglue_la_SOURCES += perfglue/disabled_stubs.cc
+endif # WITH_PROFILER
+
+noinst_LTLIBRARIES += libperfglue.la
+
+noinst_HEADERS += \
+	perfglue/cpu_profiler.h \
+	perfglue/heap_profiler.h
+
diff --git a/src/perfglue/heap_profiler.cc b/src/perfglue/heap_profiler.cc
index 550f7f9..6b079b8 100644
--- a/src/perfglue/heap_profiler.cc
+++ b/src/perfglue/heap_profiler.cc
@@ -88,7 +88,7 @@ void ceph_heap_profiler_dump(const char *reason)
 void ceph_heap_profiler_handle_command(const std::vector<std::string>& cmd,
                                        ostream& out)
 {
-  if (cmd.size() == 2 && cmd[1] == "dump") {
+  if (cmd.size() == 1 && cmd[0] == "dump") {
     if (!ceph_heap_profiler_running()) {
       out << "heap profiler not running; can't dump";
       return;
@@ -98,16 +98,16 @@ void ceph_heap_profiler_handle_command(const std::vector<std::string>& cmd,
     out << g_conf->name << "dumping heap profile now.\n"
 	<< heap_stats;
     ceph_heap_profiler_dump("admin request");
-  } else if (cmd.size() == 2 && cmd[1] == "start_profiler") {
+  } else if (cmd.size() == 1 && cmd[0] == "start_profiler") {
     ceph_heap_profiler_start();
     out << g_conf->name << " started profiler";
-  } else if (cmd.size() == 2 && cmd[1] == "stop_profiler") {
+  } else if (cmd.size() == 1 && cmd[0] == "stop_profiler") {
     ceph_heap_profiler_stop();
     out << g_conf->name << " stopped profiler";
-  } else if (cmd.size() == 2 && cmd[1] == "release") {
+  } else if (cmd.size() == 1 && cmd[0] == "release") {
     ceph_heap_release_free_memory();
     out << g_conf->name << " releasing free RAM back to system.";
-  } else if (cmd.size() == 2 && cmd[1] == "stats") {
+  } else if (cmd.size() == 1 && cmd[0] == "stats") {
     char *heap_stats = new char[1024];
     ceph_heap_profiler_stats(heap_stats, 1024);
     out << g_conf->name << "tcmalloc heap stats:"
diff --git a/src/pybind/ceph_argparse.py b/src/pybind/ceph_argparse.py
index 2a6fe6e..1f6e90b 100644
--- a/src/pybind/ceph_argparse.py
+++ b/src/pybind/ceph_argparse.py
@@ -7,10 +7,7 @@ daemon.
 
 Copyright (C) 2013 Inktank Storage, Inc.
 
-This is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public
-License version 2, as published by the Free Software
-Foundation.  See file COPYING.
+LGPL2.  See file COPYING.
 """
 import copy
 import json
@@ -278,12 +275,26 @@ class CephIPAddr(CephArgtype):
 
 class CephEntityAddr(CephIPAddr):
     """
-    EntityAddress, that is, IP address/nonce
+    EntityAddress, that is, IP address[/nonce]
     """
     def valid(self, s, partial=False):
-        ip, nonce = s.split('/')
+        nonce = None
+        if '/' in s:
+            ip, nonce = s.split('/')
+        else:
+            ip = s
         super(self.__class__, self).valid(ip)
-        self.nonce = nonce
+        if nonce:
+            nonce_long = None
+            try:
+                nonce_long = long(nonce)
+            except ValueError:
+                pass
+            if nonce_long is None or nonce_long < 0:
+                raise ArgumentValid(
+                    '{0}: invalid entity, nonce {1} not integer > 0'.\
+                    format(s, nonce)
+                )
         self.val = s
 
     def __str__(self):
@@ -331,11 +342,13 @@ class CephName(CephArgtype):
 
     Also accept '*'
     """
+    def __init__(self):
+        self.nametype = None
+        self.nameid = None
+
     def valid(self, s, partial=False):
         if s == '*':
             self.val = s
-            self.nametype = None
-            self.nameid = None
             return
         if s.find('.') == -1:
             raise ArgumentFormat('CephName: no . in {0}'.format(s))
@@ -362,19 +375,21 @@ class CephOsdName(CephArgtype):
 
     osd.<id>, or <id>, or *, where id is a base10 int
     """
+    def __init__(self):
+        self.nametype = None
+        self.nameid = None
+
     def valid(self, s, partial=False):
         if s == '*':
             self.val = s
-            self.nametype = None
-            self.nameid = None
             return
         if s.find('.') != -1:
             t, i = s.split('.')
+            if t != 'osd':
+                raise ArgumentValid('unknown type ' + t)
         else:
             t = 'osd'
             i = s
-        if t != 'osd':
-            raise ArgumentValid('unknown type ' + t)
         try:
             i = int(i)
         except:
@@ -391,7 +406,7 @@ class CephChoices(CephArgtype):
     Set of string literals; init with valid choices
     """
     def __init__(self, strings='', **kwargs):
-        self.strings=strings.split('|')
+        self.strings = strings.split('|')
 
     def valid(self, s, partial=False):
         if not partial:
@@ -533,16 +548,16 @@ class argdesc(object):
     def __repr__(self):
         r = 'argdesc(' + str(self.t) + ', '
         internals = ['N', 'typeargs', 'instance', 't']
-        for (k,v) in self.__dict__.iteritems():
+        for (k, v) in self.__dict__.iteritems():
             if k.startswith('__') or k in internals:
                 pass
             else:
                 # undo modification from __init__
                 if k == 'n' and self.N:
                     v = 'N'
-                r += '{0}={1}, '.format(k,v)
-        for (k,v) in self.typeargs.iteritems():
-                r += '{0}={1}, '.format(k,v)
+                r += '{0}={1}, '.format(k, v)
+        for (k, v) in self.typeargs.iteritems():
+            r += '{0}={1}, '.format(k, v)
         return r[:-2] + ')'
 
     def __str__(self):
@@ -708,7 +723,7 @@ def matchnum(args, signature, partial=False):
         while desc.numseen < desc.n:
             # if there are no more arguments, return
             if not words:
-                return matchcnt;
+                return matchcnt
             word = words.pop(0)
 
             try:
@@ -828,6 +843,11 @@ def validate(args, signature, partial=False):
                     # wanted n, got too few
                     if partial:
                         return d
+                    # special-case the "0 expected 1" case
+                    if desc.numseen == 0 and desc.n == 1:
+                        raise ArgumentNumber(
+                            'missing required parameter {0}'.format(desc)
+                        )
                     raise ArgumentNumber(
                         'saw {0} of {1}, expected {2}'.\
                         format(desc.numseen, desc, desc.n)
@@ -936,6 +956,7 @@ def validate_command(sigdict, args, verbose=False):
                     # Stop now, because we have the right command but
                     # some other input is invalid
                     print >> sys.stderr, "Invalid command: ", str(e)
+                    print >> sys.stderr, concise_sig(sig), ': ', cmd['help']
                     return {}
             if found:
                 break
@@ -992,7 +1013,7 @@ def find_cmd_target(childargs):
 
     return 'mon', ''
 
-def send_command(cluster, target=('mon', ''), cmd=[], inbuf='', timeout=0, 
+def send_command(cluster, target=('mon', ''), cmd=None, inbuf='', timeout=0, 
                  verbose=False):
     """
     Send a command to a daemon using librados's
@@ -1005,6 +1026,7 @@ def send_command(cluster, target=('mon', ''), cmd=[], inbuf='', timeout=0,
 
     If target is osd.N, send command to that osd (except for pgid cmds)
     """
+    cmd = cmd or []
     try:
         if target[0] == 'osd':
             osdid = target[1]
diff --git a/src/pybind/ceph_rest_api.py b/src/pybind/ceph_rest_api.py
index 421cc59..75e6106 100755
--- a/src/pybind/ceph_rest_api.py
+++ b/src/pybind/ceph_rest_api.py
@@ -1,10 +1,10 @@
-#!/usr/bin/python
 # vim: ts=4 sw=4 smarttab expandtab
 
 import errno
 import json
 import logging
 import logging.handlers
+import os
 import rados
 import textwrap
 import xml.etree.ElementTree
@@ -26,6 +26,7 @@ DEFAULT_ID = 'restapi'
 
 DEFAULT_BASEURL = '/api/v0.1'
 DEFAULT_LOG_LEVEL = 'warning'
+DEFAULT_LOGDIR = '/var/log/ceph'
 # default client name will be 'client.<DEFAULT_ID>'
 
 # 'app' must be global for decorators, etc.
@@ -117,7 +118,18 @@ def api_setup(app, conf, cluster, clientname, clientid, args):
 
     loglevel = app.ceph_cluster.conf_get('restapi_log_level') \
         or DEFAULT_LOG_LEVEL
+    # ceph has a default log file for daemons only; clients (like this)
+    # default to "".  Override that for this particular client.
     logfile = app.ceph_cluster.conf_get('log_file')
+    if not logfile:
+        logfile = os.path.join(
+            DEFAULT_LOGDIR,
+            '{cluster}-{clientname}.{pid}.log'.format(
+                cluster=cluster,
+                clientname=clientname,
+                pid=os.getpid()
+            )
+        )
     app.logger.addHandler(logging.handlers.WatchedFileHandler(logfile))
     app.logger.setLevel(LOGLEVELS[loglevel.lower()])
     for h in app.logger.handlers:
diff --git a/src/pybind/rados.py b/src/pybind/rados.py
index a0e5bf4..fecf4bb 100644
--- a/src/pybind/rados.py
+++ b/src/pybind/rados.py
@@ -19,6 +19,10 @@ class Error(Exception):
     """ `Error` class, derived from `Exception` """
     pass
 
+class InterruptedOrTimeoutError(Error):
+    """ `InterruptedOrTimeoutError` class, derived from `Error` """
+    pass
+
 class PermissionError(Error):
     """ `PermissionError` class, derived from `Error` """
     pass
@@ -63,6 +67,10 @@ class LogicError(Error):
     """ `` class, derived from `Error` """
     pass
 
+class TimedOut(Error):
+    """ `TimedOut` class, derived from `Error` """
+    pass
+
 def make_ex(ret, msg):
     """
     Translate a librados return code into an exception.
@@ -80,7 +88,9 @@ def make_ex(ret, msg):
         errno.EIO       : IOError,
         errno.ENOSPC    : NoSpace,
         errno.EEXIST    : ObjectExists,
-        errno.ENODATA   : NoData
+        errno.ENODATA   : NoData,
+        errno.EINTR     : InterruptedOrTimeoutError,
+        errno.ETIMEDOUT : TimedOut
         }
     ret = abs(ret)
     if ret in errors:
@@ -356,6 +366,37 @@ Rados object in state %s." % (self.state))
         if (ret != 0):
             raise make_ex(ret, "error calling conf_set")
 
+
+    def ping_monitor(self, mon_id):
+      """
+      Ping a monitor to assess liveness
+
+      May be used as a simply way to assess liveness, or to obtain
+      informations about the monitor in a simple way even in the
+      absence of quorum.
+
+      :param mon_id: the ID portion of the monitor's name (i.e., mon.<ID>)
+      :type mon_id: str
+      :returns: the string reply from the monitor
+      """
+
+      self.require_state("configuring", "connected")
+
+      outstrp = pointer(pointer(c_char()))
+      outstrlen = c_long()
+
+      ret = run_in_thread(self.librados.rados_ping_monitor,
+                          (self.cluster, c_char_p(mon_id),
+                           outstrp, byref(outstrlen)))
+
+      my_outstr = outstrp.contents[:(outstrlen.value)]
+      if outstrlen.value:
+        run_in_thread(self.librados.rados_buffer_free, (outstrp.contents,))
+
+      if ret != 0:
+        raise make_ex(ret, "error calling ping_monitor")
+      return my_outstr
+
     def connect(self, timeout=0):
         """
         Connect to the cluster.
diff --git a/src/pybind/rbd.py b/src/pybind/rbd.py
index 6e9ca8a..6d2cd9a 100644
--- a/src/pybind/rbd.py
+++ b/src/pybind/rbd.py
@@ -432,7 +432,7 @@ class Image(object):
     def parent_info(self):
         ret = -errno.ERANGE
         size = 8
-        while ret == -errno.ERANGE and size < 128:
+        while ret == -errno.ERANGE and size <= 4096:
             pool = create_string_buffer(size)
             name = create_string_buffer(size)
             snapname = create_string_buffer(size)
diff --git a/src/rbd.cc b/src/rbd.cc
index 7f90c1f..41cd243 100644
--- a/src/rbd.cc
+++ b/src/rbd.cc
@@ -3,14 +3,12 @@
 /*
  * Ceph - scalable distributed file system
  *
- * Copyright (C) 2004-2006 Sage Weil <sage at newdream.net>
+ * Copyright (C) 2004-2012 Sage Weil <sage at newdream.net> and others
  *
- * This is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License version 2, as published by the Free Software
- * Foundation.  See file COPYING.
+ * LGPL2.  See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include "mon/MonClient.h"
 #include "mon/MonMap.h"
@@ -36,7 +34,6 @@
 #include <boost/scoped_ptr.hpp>
 #include <dirent.h>
 #include <errno.h>
-#include <inttypes.h>
 #include <iostream>
 #include <memory>
 #include <sstream>
@@ -71,6 +68,7 @@ static string dir_info_oid = RBD_INFO;
 bool udevadm_settle = true;
 bool progress = true;
 bool resize_allow_shrink = false;
+bool read_only = false;
 
 #define dout_subsys ceph_subsys_rbd
 
@@ -154,6 +152,7 @@ void usage()
 "  --pretty-format                    make json or xml output more readable\n"
 "  --no-settle                        do not wait for udevadm to settle on map/unmap\n"
 "  --no-progress                      do not show progress for long-running commands\n"
+"  --read-only                        set device readonly when mapping image\n"
 "  --allow-shrink                     allow shrinking of an image when resizing\n";
 }
 
@@ -1643,8 +1642,13 @@ static int do_kernel_add(const char *poolname, const char *imgname,
       oss << ",";
   }
 
+  if (read_only)
+    oss << " ro,";
+  else
+    oss << " ";
+
   const char *user = g_conf->name.get_id().c_str();
-  oss << " name=" << user;
+  oss << "name=" << user;
 
   char key_name[strlen(user) + strlen("client.") + 1];
   snprintf(key_name, sizeof(key_name), "client.%s", user);
@@ -2203,6 +2207,8 @@ int main(int argc, const char **argv)
       lock_tag = strdup(val.c_str());
     } else if (ceph_argparse_flag(args, i, "--no-settle", (char *)NULL)) {
       udevadm_settle = false;
+    } else if (ceph_argparse_flag(args, i, "--read-only", (char *)NULL)) {
+      read_only = true;
     } else if (ceph_argparse_flag(args, i, "--no-progress", (char *)NULL)) {
       progress = false;
     } else if (ceph_argparse_flag(args, i , "--allow-shrink", (char *)NULL)) {
@@ -2250,7 +2256,7 @@ int main(int argc, const char **argv)
     opt_cmd = get_cmd(*i, false, false);
   }
   if (opt_cmd == OPT_NO_CMD) {
-    cerr << "rbd: error parsing command '" << *i << "'" << std::endl;
+    cerr << "rbd: error parsing command '" << *i << "'; -h or --help for usage" << std::endl;
     return EXIT_FAILURE;
   }
 
@@ -2487,7 +2493,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (r < 0) {
       cerr << "rbd: error opening pool " << poolname << ": "
 	   << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
   }
 
@@ -2514,7 +2520,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (r < 0) {
       cerr << "rbd: error opening image " << imgname << ": "
 	   << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
   }
 
@@ -2529,7 +2535,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (r < 0) {
       cerr << "rbd: error setting snapshot context: " << cpp_strerror(-r)
 	   << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
   }
 
@@ -2538,14 +2544,14 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (r < 0) {
       cerr << "rbd: error opening pool " << dest_poolname << ": "
 	   << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
   }
 
   if (opt_cmd == OPT_CREATE || opt_cmd == OPT_RESIZE) {
     if (!size_set) {
       cerr << "rbd: must specify --size <MB>" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
   }
 
@@ -2561,7 +2567,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
       default:
         cerr << "rbd: list: " << cpp_strerror(-r) << std::endl;
       }
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2569,19 +2575,19 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (order && (order < 12 || order > 25)) {
       cerr << "rbd: order must be between 12 (4 KB) and 25 (32 MB)"
 	   << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     if ((stripe_unit && !stripe_count) || (!stripe_unit && stripe_count)) {
       cerr << "must specify both (or neither) of stripe-unit and stripe-count"
 	   << std::endl;
       usage();
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_create(rbd, io_ctx, imgname, size, &order, format, features,
 		  stripe_unit, stripe_count);
     if (r < 0) {
       cerr << "rbd: create error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2589,14 +2595,14 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (order && (order < 12 || order > 25)) {
       cerr << "rbd: order must be between 12 (4 KB) and 25 (32 MB)"
 	   << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
 
     r = do_clone(rbd, io_ctx, imgname, snapname, dest_io_ctx, destname,
 		 features, &order);
     if (r < 0) {
       cerr << "rbd: clone error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2604,7 +2610,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_flatten(image);
     if (r < 0) {
       cerr << "rbd: flatten error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2612,7 +2618,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_rename(rbd, io_ctx, imgname, destname);
     if (r < 0) {
       cerr << "rbd: rename error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2620,7 +2626,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_show_info(imgname, image, snapname, formatter.get());
     if (r < 0) {
       cerr << "rbd: info: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2650,18 +2656,18 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = image.stat(info, sizeof(info));
     if (r < 0) {
       cerr << "rbd: resize error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
 
     if (info.size > size && !resize_allow_shrink) {
       cerr << "rbd: shrinking an image is only allowed with the --allow-shrink flag" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
 
     r = do_resize(image, size);
     if (r < 0) {
       cerr << "rbd: resize error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2674,87 +2680,87 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     if (r < 0) {
       cerr << "rbd: failed to list snapshots: " << cpp_strerror(-r)
 	   << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_SNAP_CREATE:
     if (!imgname || !snapname) {
       cerr << "rbd: snap create requires image and snapname" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_add_snap(image, snapname);
     if (r < 0) {
       cerr << "rbd: failed to create snapshot: " << cpp_strerror(-r)
 	   << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_SNAP_ROLLBACK:
     if (!imgname) {
       cerr << "rbd: snap rollback requires image name" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_rollback_snap(image, snapname);
     if (r < 0) {
       cerr << "rbd: rollback failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_SNAP_REMOVE:
     if (!imgname) {
       cerr << "rbd: snap remove requires image name" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_remove_snap(image, snapname);
-    if (r == -EBUSY) {
-      cerr << "rbd: snapshot '" << snapname << "' is protected from removal."
-	   << std::endl;
-      return EXIT_FAILURE;
-    }
     if (r < 0) {
-      cerr << "rbd: failed to remove snapshot: " << cpp_strerror(-r)
-	   << std::endl;
-      return EXIT_FAILURE;
+      if (r == -EBUSY) {
+        cerr << "rbd: snapshot '" << snapname << "' is protected from removal."
+             << std::endl;
+      } else {
+        cerr << "rbd: failed to remove snapshot: " << cpp_strerror(-r)
+             << std::endl;
+      }
+      return -r;
     }
     break;
 
   case OPT_SNAP_PURGE:
     if (!imgname) {
       cerr << "rbd: snap purge requires image name" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_purge_snaps(image);
     if (r < 0) {
       cerr << "rbd: removing snaps failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_SNAP_PROTECT:
     if (!imgname) {
       cerr << "rbd: snap protect requires image name" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_protect_snap(image, snapname);
     if (r < 0) {
       cerr << "rbd: protecting snap failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_SNAP_UNPROTECT:
     if (!imgname) {
       cerr << "rbd: snap unprotect requires image name" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_unprotect_snap(image, snapname);
     if (r < 0) {
       cerr << "rbd: unprotecting snap failed: " << cpp_strerror(-r)
 	   << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2762,19 +2768,19 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_list_children(image, formatter.get());
     if (r < 0) {
       cerr << "rbd: listing children failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_EXPORT:
     if (!path) {
       cerr << "rbd: export requires pathname" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_export(image, path);
     if (r < 0) {
       cerr << "rbd: export error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2782,32 +2788,32 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_diff(image, fromsnapname, formatter.get());
     if (r < 0) {
       cerr << "rbd: diff error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_EXPORT_DIFF:
     if (!path) {
       cerr << "rbd: export-diff requires pathname" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_export_diff(image, fromsnapname, snapname, path);
     if (r < 0) {
       cerr << "rbd: export-diff error: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
   case OPT_IMPORT:
     if (!path) {
       cerr << "rbd: import requires pathname" << std::endl;
-      return EXIT_FAILURE;
+      return EINVAL;
     }
     r = do_import(rbd, dest_io_ctx, destname, &order, path,
 		  format, features, size);
     if (r < 0) {
       cerr << "rbd: import failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2816,7 +2822,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_import_diff(image, path);
     if (r < 0) {
       cerr << "rbd: import-diff failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2824,7 +2830,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_copy(image, dest_io_ctx, destname);
     if (r < 0) {
       cerr << "rbd: copy failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2832,7 +2838,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_watch(io_ctx, imgname);
     if (r < 0) {
       cerr << "rbd: watch failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2840,7 +2846,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_kernel_add(poolname, imgname, snapname);
     if (r < 0) {
       cerr << "rbd: add failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2848,7 +2854,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_kernel_rm(devpath);
     if (r < 0) {
       cerr << "rbd: remove failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2856,7 +2862,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_kernel_showmapped(formatter.get());
     if (r < 0) {
       cerr << "rbd: showmapped failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2864,7 +2870,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_lock_list(image, formatter.get());
     if (r < 0) {
       cerr << "rbd: listing locks failed: " << cpp_strerror(r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2881,7 +2887,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
       } else {
 	cerr << "rbd: taking lock failed: " << cpp_strerror(r) << std::endl;
       }
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2889,7 +2895,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_lock_remove(image, lock_cookie, lock_client);
     if (r < 0) {
       cerr << "rbd: releasing lock failed: " << cpp_strerror(r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
 
@@ -2897,7 +2903,7 @@ if (!set_conf_param(v, p1, p2, p3)) { \
     r = do_bench_write(image, bench_io_size, bench_io_threads, bench_bytes, bench_pattern);
     if (r < 0) {
       cerr << "bench-write failed: " << cpp_strerror(-r) << std::endl;
-      return EXIT_FAILURE;
+      return -r;
     }
     break;
   }
diff --git a/src/rbd_fuse/rbd-fuse.c b/src/rbd_fuse/rbd-fuse.c
index 5a4bfe2..2a6a8d2 100644
--- a/src/rbd_fuse/rbd-fuse.c
+++ b/src/rbd_fuse/rbd-fuse.c
@@ -1,7 +1,9 @@
 /*
  * rbd-fuse
  */
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 30
+
+#include "include/int_types.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -15,7 +17,6 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <getopt.h>
-#include <inttypes.h>
 
 #include "include/rbd/librbd.h"
 
diff --git a/src/rgw/Makefile.am b/src/rgw/Makefile.am
new file mode 100644
index 0000000..b92c35e
--- /dev/null
+++ b/src/rgw/Makefile.am
@@ -0,0 +1,152 @@
+if WITH_RADOSGW
+librgw_la_SOURCES =  \
+	rgw/librgw.cc \
+	rgw/rgw_acl.cc \
+	rgw/rgw_acl_s3.cc \
+	rgw/rgw_acl_swift.cc \
+	rgw/rgw_client_io.cc \
+	rgw/rgw_fcgi.cc \
+	rgw/rgw_xml.cc \
+	rgw/rgw_usage.cc \
+	rgw/rgw_json_enc.cc \
+	rgw/rgw_user.cc \
+	rgw/rgw_bucket.cc\
+	rgw/rgw_tools.cc \
+	rgw/rgw_rados.cc \
+	rgw/rgw_http_client.cc \
+	rgw/rgw_rest_client.cc \
+	rgw/rgw_rest_conn.cc \
+	rgw/rgw_op.cc \
+	rgw/rgw_common.cc \
+	rgw/rgw_cache.cc \
+	rgw/rgw_formats.cc \
+	rgw/rgw_log.cc \
+	rgw/rgw_multi.cc \
+	rgw/rgw_policy_s3.cc \
+	rgw/rgw_gc.cc \
+	rgw/rgw_multi_del.cc \
+	rgw/rgw_env.cc \
+	rgw/rgw_cors.cc \
+	rgw/rgw_cors_s3.cc \
+	rgw/rgw_auth_s3.cc \
+	rgw/rgw_metadata.cc \
+	rgw/rgw_replica_log.cc \
+	rgw/rgw_keystone.cc \
+	rgw/rgw_quota.cc
+librgw_la_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS}
+noinst_LTLIBRARIES += librgw.la
+
+LIBRGW_DEPS += \
+	$(LIBRADOS) \
+	libcls_rgw_client.la \
+	libcls_log_client.a \
+	libcls_statelog_client.a \
+	libcls_replica_log_client.a \
+	libcls_lock_client.la \
+	libcls_refcount_client.la \
+	libcls_version_client.a \
+	-lcurl \
+	-lexpat \
+	-lm \
+	-lfcgi
+
+radosgw_SOURCES = \
+	rgw/rgw_resolve.cc \
+	rgw/rgw_rest.cc \
+	rgw/rgw_rest_swift.cc \
+	rgw/rgw_rest_s3.cc \
+	rgw/rgw_rest_usage.cc \
+	rgw/rgw_rest_user.cc \
+	rgw/rgw_rest_bucket.cc \
+	rgw/rgw_rest_metadata.cc \
+	rgw/rgw_replica_log.cc \
+	rgw/rgw_rest_log.cc \
+	rgw/rgw_rest_opstate.cc \
+	rgw/rgw_rest_replica_log.cc \
+	rgw/rgw_rest_config.cc \
+	rgw/rgw_http_client.cc \
+	rgw/rgw_swift.cc \
+	rgw/rgw_swift_auth.cc \
+	rgw/rgw_main.cc
+radosgw_LDADD = $(LIBRGW) $(LIBRGW_DEPS) -lresolv $(CEPH_GLOBAL)
+bin_PROGRAMS += radosgw
+
+radosgw_admin_SOURCES = rgw/rgw_admin.cc
+radosgw_admin_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
+bin_PROGRAMS += radosgw-admin
+
+ceph_rgw_multiparser_SOURCES = rgw/rgw_multiparser.cc
+ceph_rgw_multiparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_rgw_multiparser
+
+ceph_rgw_jsonparser_SOURCES = \
+	rgw/rgw_jsonparser.cc \
+	rgw/rgw_common.cc \
+	rgw/rgw_env.cc \
+	rgw/rgw_json_enc.cc
+ceph_rgw_jsonparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_rgw_jsonparser
+
+# inject rgw stuff in the decoder testcase
+DENCODER_SOURCES += \
+	rgw/rgw_dencoder.cc \
+	rgw/rgw_acl.cc \
+	rgw/rgw_common.cc \
+	rgw/rgw_env.cc \
+	rgw/rgw_json_enc.cc
+
+
+endif # WITH_RADOSGW
+
+
+noinst_HEADERS += \
+	rgw/logrotate.conf \
+	rgw/rgw_acl.h \
+	rgw/rgw_acl_s3.h \
+	rgw/rgw_acl_swift.h \
+	rgw/rgw_client_io.h \
+	rgw/rgw_fcgi.h \
+	rgw/rgw_xml.h \
+	rgw/rgw_cache.h \
+	rgw/rgw_common.h \
+	rgw/rgw_cors.h \
+	rgw/rgw_cors_s3.h \
+	rgw/rgw_cors_swift.h \
+	rgw/rgw_string.h \
+	rgw/rgw_formats.h \
+	rgw/rgw_http_errors.h \
+	rgw/rgw_log.h \
+	rgw/rgw_multi.h \
+	rgw/rgw_policy_s3.h \
+	rgw/rgw_gc.h \
+	rgw/rgw_metadata.h \
+	rgw/rgw_multi_del.h \
+	rgw/rgw_op.h \
+	rgw/rgw_http_client.h \
+	rgw/rgw_swift.h \
+	rgw/rgw_swift_auth.h \
+	rgw/rgw_quota.h \
+	rgw/rgw_rados.h \
+	rgw/rgw_replica_log.h \
+	rgw/rgw_resolve.h \
+	rgw/rgw_rest.h \
+	rgw/rgw_rest_swift.h \
+	rgw/rgw_rest_s3.h \
+	rgw/rgw_auth_s3.h \
+	rgw/rgw_rest_admin.h \
+	rgw/rgw_rest_usage.h \
+	rgw/rgw_rest_user.h \
+	rgw/rgw_rest_bucket.h \
+	rgw/rgw_rest_client.h \
+	rgw/rgw_rest_conn.h \
+	rgw/rgw_tools.h \
+	rgw/rgw_rest_metadata.h \
+	rgw/rgw_rest_log.h \
+	rgw/rgw_rest_opstate.h \
+	rgw/rgw_rest_replica_log.h \
+	rgw/rgw_rest_config.h \
+	rgw/rgw_usage.h \
+	rgw/rgw_user.h \
+	rgw/rgw_bucket.h \
+	rgw/rgw_keystone.h
+
diff --git a/src/rgw/rgw_acl.cc b/src/rgw/rgw_acl.cc
index 3f99d72..0250452 100644
--- a/src/rgw/rgw_acl.cc
+++ b/src/rgw/rgw_acl.cc
@@ -79,7 +79,7 @@ int RGWAccessControlPolicy::get_perm(string& id, int perm_mask) {
   if ((perm & perm_mask) != perm_mask) {
     perm |= acl.get_group_perm(ACL_GROUP_ALL_USERS, perm_mask);
 
-    if (compare_group_name(id, ACL_GROUP_ALL_USERS) != 0) {
+    if (!compare_group_name(id, ACL_GROUP_ALL_USERS)) {
       /* this is not the anonymous user */
       perm |= acl.get_group_perm(ACL_GROUP_AUTHENTICATED_USERS, perm_mask);
     }
diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc
index 2b8a716..cb6c302 100644
--- a/src/rgw/rgw_admin.cc
+++ b/src/rgw/rgw_admin.cc
@@ -62,6 +62,9 @@ void _usage()
   cerr << "  bucket check               check bucket index\n";
   cerr << "  object rm                  remove object\n";
   cerr << "  object unlink              unlink object from bucket index\n";
+  cerr << "  quota set                  set quota params\n";
+  cerr << "  quota enable               enable quota\n";
+  cerr << "  quota disable              disable quota\n";
   cerr << "  region get                 show region info\n";
   cerr << "  regions list               list all regions set on this cluster\n";
   cerr << "  region set                 set region info (requires infile)\n";
@@ -114,6 +117,7 @@ void _usage()
   cerr << "   --access=<access>         Set access permissions for sub-user, should be one\n";
   cerr << "                             of read, write, readwrite, full\n";
   cerr << "   --display-name=<name>\n";
+  cerr << "   --system                  set the system flag on the user\n";
   cerr << "   --bucket=<bucket>\n";
   cerr << "   --pool=<pool>\n";
   cerr << "   --object=<object>\n";
@@ -126,6 +130,7 @@ void _usage()
   cerr << "                               mdlog trim\n";
   cerr << "                               replica mdlog get/delete\n";
   cerr << "                               replica datalog get/delete\n";
+  cerr << "   --metadata-key=<key>      key to retrieve metadata from with metadata get\n";
   cerr << "   --rgw-region=<region>     region in which radosgw is running\n";
   cerr << "   --rgw-zone=<zone>         zone in which radosgw is running\n";
   cerr << "   --fix                     besides checking bucket index, will also fix it\n";
@@ -152,6 +157,11 @@ void _usage()
   cerr << "   --yes-i-really-mean-it    required for certain operations\n";
   cerr << "\n";
   cerr << "<date> := \"YYYY-MM-DD[ hh:mm:ss]\"\n";
+  cerr << "\nQuota options:\n";
+  cerr << "   --bucket                  specified bucket for quota command\n";
+  cerr << "   --max-objects             specify max objects (negative value to disable)\n";
+  cerr << "   --max-size                specify max size (in bytes, negative value to disable)\n";
+  cerr << "   --quota-scope             scope of quota (bucket, user)\n";
   cerr << "\n";
   generic_client_usage();
 }
@@ -201,6 +211,9 @@ enum {
   OPT_OBJECT_RM,
   OPT_OBJECT_UNLINK,
   OPT_OBJECT_STAT,
+  OPT_QUOTA_SET,
+  OPT_QUOTA_ENABLE,
+  OPT_QUOTA_DISABLE,
   OPT_GC_LIST,
   OPT_GC_PROCESS,
   OPT_REGION_GET,
@@ -251,6 +264,7 @@ static int get_cmd(const char *cmd, const char *prev_cmd, bool *need_more)
       strcmp(cmd, "opstate") == 0 ||
       strcmp(cmd, "pool") == 0 ||
       strcmp(cmd, "pools") == 0 ||
+      strcmp(cmd, "quota") == 0 ||
       strcmp(cmd, "region") == 0 ||
       strcmp(cmd, "regions") == 0 ||
       strcmp(cmd, "region-map") == 0 ||
@@ -360,6 +374,13 @@ static int get_cmd(const char *cmd, const char *prev_cmd, bool *need_more)
       return OPT_REGION_SET;
     if (strcmp(cmd, "default") == 0)
       return OPT_REGION_DEFAULT;
+  } else if (strcmp(prev_cmd, "quota") == 0) {
+    if (strcmp(cmd, "set") == 0)
+      return OPT_QUOTA_SET;
+    if (strcmp(cmd, "enable") == 0)
+      return OPT_QUOTA_ENABLE;
+    if (strcmp(cmd, "disable") == 0)
+      return OPT_QUOTA_DISABLE;
   } else if (strcmp(prev_cmd, "regions") == 0) {
     if (strcmp(cmd, "list") == 0)
       return OPT_REGION_LIST;
@@ -447,27 +468,6 @@ ReplicaLogType get_replicalog_type(const string& name) {
   return ReplicaLog_Invalid;
 }
 
-string escape_str(string& src, char c)
-{
-  int pos = 0;
-  string dest;
-
-  do {
-    int new_pos = src.find(c, pos);
-    if (new_pos >= 0) {
-      dest += src.substr(pos, new_pos - pos);
-      dest += "\\";
-      dest += c;
-    } else {
-      dest += src.substr(pos);
-      return dest;
-    }
-    pos = new_pos + 1;
-  } while (pos < (int)src.size());
-
-  return dest;
-}
-
 static void show_user_info(RGWUserInfo& info, Formatter *formatter)
 {
   encode_json("user_info", info, formatter);
@@ -658,6 +658,67 @@ static bool dump_string(const char *field_name, bufferlist& bl, Formatter *f)
   return true;
 }
 
+void set_quota_info(RGWQuotaInfo& quota, int opt_cmd, int64_t max_size, int64_t max_objects,
+                    bool have_max_size, bool have_max_objects)
+{
+  switch (opt_cmd) {
+    case OPT_QUOTA_ENABLE:
+      quota.enabled = true;
+
+      // falling through on purpose
+
+    case OPT_QUOTA_SET:
+      if (have_max_objects) {
+        quota.max_objects = max_objects;
+      }
+      if (have_max_size) {
+        quota.max_size_kb = rgw_rounded_kb(max_size);
+      }
+      break;
+    case OPT_QUOTA_DISABLE:
+      quota.enabled = false;
+      break;
+  }
+}
+
+int set_bucket_quota(RGWRados *store, int opt_cmd, string& bucket_name, int64_t max_size, int64_t max_objects,
+                     bool have_max_size, bool have_max_objects)
+{
+  RGWBucketInfo bucket_info;
+  map<string, bufferlist> attrs;
+  int r = store->get_bucket_info(NULL, bucket_name, bucket_info, NULL, &attrs);
+  if (r < 0) {
+    cerr << "could not get bucket info for bucket=" << bucket_name << ": " << cpp_strerror(-r) << std::endl;
+    return -r;
+  }
+
+  set_quota_info(bucket_info.quota, opt_cmd, max_size, max_objects, have_max_size, have_max_objects);
+
+   r = store->put_bucket_instance_info(bucket_info, false, 0, &attrs);
+  if (r < 0) {
+    cerr << "ERROR: failed writing bucket instance info: " << cpp_strerror(-r) << std::endl;
+    return -r;
+  }
+  return 0;
+}
+
+int set_user_bucket_quota(int opt_cmd, RGWUser& user, RGWUserAdminOpState& op_state, int64_t max_size, int64_t max_objects,
+                          bool have_max_size, bool have_max_objects)
+{
+  RGWUserInfo& user_info = op_state.get_user_info();
+
+  set_quota_info(user_info.bucket_quota, opt_cmd, max_size, max_objects, have_max_size, have_max_objects);
+
+  op_state.set_bucket_quota(user_info.bucket_quota);
+
+  string err;
+  int r = user.modify(op_state, &err);
+  if (r < 0) {
+    cerr << "ERROR: failed updating user info: " << cpp_strerror(-r) << ": " << err << std::endl;
+    return -r;
+  }
+  return 0;
+}
 
 int main(int argc, char **argv) 
 {
@@ -719,9 +780,16 @@ int main(int argc, char **argv)
   string replica_log_type_str;
   ReplicaLogType replica_log_type = ReplicaLog_Invalid;
   string op_mask_str;
+  string quota_scope;
+
+  int64_t max_objects = -1;
+  int64_t max_size = -1;
+  bool have_max_objects = false;
+  bool have_max_size = false;
 
   std::string val;
   std::ostringstream errs;
+  string err;
   long long tmp = 0;
   for (std::vector<const char*>::iterator i = args.begin(); i != args.end(); ) {
     if (ceph_argparse_double_dash(args, i)) {
@@ -786,6 +854,20 @@ int main(int argc, char **argv)
       max_buckets = atoi(val.c_str());
     } else if (ceph_argparse_witharg(args, i, &val, "--max-entries", (char*)NULL)) {
       max_entries = atoi(val.c_str());
+    } else if (ceph_argparse_witharg(args, i, &val, "--max-size", (char*)NULL)) {
+      max_size = (int64_t)strict_strtoll(val.c_str(), 10, &err);
+      if (!err.empty()) {
+        cerr << "ERROR: failed to parse max size: " << err << std::endl;
+        return EINVAL;
+      }
+      have_max_size = true;
+    } else if (ceph_argparse_witharg(args, i, &val, "--max-objects", (char*)NULL)) {
+      max_objects = (int64_t)strict_strtoll(val.c_str(), 10, &err);
+      if (!err.empty()) {
+        cerr << "ERROR: failed to parse max objects: " << err << std::endl;
+        return EINVAL;
+      }
+      have_max_objects = true;
     } else if (ceph_argparse_witharg(args, i, &val, "--date", "--time", (char*)NULL)) {
       date = val;
       if (end_date.empty())
@@ -846,6 +928,8 @@ int main(int argc, char **argv)
       start_marker = val;
     } else if (ceph_argparse_witharg(args, i, &val, "--end-marker", (char*)NULL)) {
       end_marker = val;
+    } else if (ceph_argparse_witharg(args, i, &val, "--quota-scope", (char*)NULL)) {
+      quota_scope = val;
     } else if (ceph_argparse_witharg(args, i, &val, "--replica-log-type", (char*)NULL)) {
       replica_log_type_str = val;
       replica_log_type = get_replicalog_type(replica_log_type_str);
@@ -853,6 +937,9 @@ int main(int argc, char **argv)
         cerr << "ERROR: invalid replica log type" << std::endl;
         return EINVAL;
       }
+    } else if (strncmp(*i, "-", 1) == 0) {
+      cerr << "ERROR: invalid flag " << *i << std::endl;
+      return EINVAL;
     } else {
       ++i;
     }
@@ -1888,7 +1975,7 @@ next:
 
       bool truncated;
       do {
-        int ret = meta_log->list_entries(handle, 1000, entries, &truncated);
+	  int ret = meta_log->list_entries(handle, 1000, entries, NULL, &truncated);
         if (ret < 0) {
           cerr << "ERROR: meta_log->list_entries(): " << cpp_strerror(-ret) << std::endl;
           return -ret;
@@ -2223,5 +2310,28 @@ next:
         return -ret;
     }
   }
+
+  bool quota_op = (opt_cmd == OPT_QUOTA_SET || opt_cmd == OPT_QUOTA_ENABLE || opt_cmd == OPT_QUOTA_DISABLE);
+
+  if (quota_op) {
+    if (bucket_name.empty() && user_id.empty()) {
+      cerr << "ERROR: bucket name or uid is required for quota operation" << std::endl;
+      return EINVAL;
+    }
+
+    if (!bucket_name.empty()) {
+      if (!quota_scope.empty() && quota_scope != "bucket") {
+        cerr << "ERROR: invalid quota scope specification." << std::endl;
+        return EINVAL;
+      }
+      set_bucket_quota(store, opt_cmd, bucket_name, max_size, max_objects, have_max_size, have_max_objects);
+    } else if (!user_id.empty()) {
+      if (quota_scope != "bucket") {
+        cerr << "ERROR: only bucket-level user quota can be handled. Please specify --quota-scope=bucket" << std::endl;
+        return EINVAL;
+      }
+      set_user_bucket_quota(opt_cmd, user, user_op, max_size, max_objects, have_max_size, have_max_objects);
+    }
+  }
   return 0;
 }
diff --git a/src/rgw/rgw_auth_s3.cc b/src/rgw/rgw_auth_s3.cc
index f3f0c83..b8246b7 100644
--- a/src/rgw/rgw_auth_s3.cc
+++ b/src/rgw/rgw_auth_s3.cc
@@ -15,6 +15,12 @@ static const char *signed_subresources[] = {
   "partNumber",
   "policy",
   "requestPayment",
+  "response-cache-control",
+  "response-content-disposition",
+  "response-content-encoding",
+  "response-content-language",
+  "response-content-type",
+  "response-expires",
   "torrent",
   "uploadId",
   "uploads",
@@ -73,9 +79,9 @@ static void get_canon_resource(const char *request_uri, map<string, string>& sub
   if (!append_str.empty()) {
     s.append(append_str);
   }
-  dout(10) << "get_canon_resource(): dest=" << dest << dendl;
-
   dest = s;
+
+  dout(10) << "get_canon_resource(): dest=" << dest << dendl;
 }
 
 /*
diff --git a/src/rgw/rgw_bucket.cc b/src/rgw/rgw_bucket.cc
index 1e523f3..31afebe 100644
--- a/src/rgw/rgw_bucket.cc
+++ b/src/rgw/rgw_bucket.cc
@@ -901,6 +901,7 @@ static int bucket_stats(RGWRados *store, std::string&  bucket_name, Formatter *f
   formatter->dump_int("mtime", mtime);
   formatter->dump_string("max_marker", max_marker);
   dump_bucket_usage(stats, formatter);
+  encode_json("bucket_quota", bucket_info.quota, formatter);
   formatter->close_section();
 
   return 0;
@@ -1186,12 +1187,16 @@ int RGWDataChangesLog::add_entry(rgw_bucket& bucket) {
 }
 
 int RGWDataChangesLog::list_entries(int shard, utime_t& start_time, utime_t& end_time, int max_entries,
-             list<rgw_data_change>& entries, string& marker, bool *truncated) {
+				    list<rgw_data_change>& entries,
+				    const string& marker,
+				    string *out_marker,
+				    bool *truncated) {
 
   list<cls_log_entry> log_entries;
 
   int ret = store->time_log_list(oids[shard], start_time, end_time,
-                                 max_entries, log_entries, marker, truncated); 
+				 max_entries, log_entries, marker,
+				 out_marker, truncated);
   if (ret < 0)
     return ret;
 
@@ -1219,7 +1224,7 @@ int RGWDataChangesLog::list_entries(utime_t& start_time, utime_t& end_time, int
   for (; marker.shard < num_shards && (int)entries.size() < max_entries;
        marker.shard++, marker.marker.clear()) {
     int ret = list_entries(marker.shard, start_time, end_time, max_entries - entries.size(), entries,
-                       marker.marker, &truncated);
+			   marker.marker, NULL, &truncated);
     if (ret == -ENOENT) {
       continue;
     }
@@ -1451,7 +1456,12 @@ public:
     if (ret < 0)
       return ret;
 
-    ret = rgw_unlink_bucket(store, be.owner, entry);
+    /*
+     * We're unlinking the bucket but we don't want to update the entrypoint here — we're removing
+     * it immediately and don't want to invalidate our cached objv_version or the bucket obj removal
+     * will incorrectly fail.
+     */
+    ret = rgw_unlink_bucket(store, be.owner, entry, false);
     if (ret < 0) {
       lderr(store->ctx()) << "could not unlink bucket=" << entry << " owner=" << be.owner << dendl;
     }
diff --git a/src/rgw/rgw_bucket.h b/src/rgw/rgw_bucket.h
index 5ee6a9b..4779540 100644
--- a/src/rgw/rgw_bucket.h
+++ b/src/rgw/rgw_bucket.h
@@ -352,7 +352,10 @@ public:
   int add_entry(rgw_bucket& bucket);
   int renew_entries();
   int list_entries(int shard, utime_t& start_time, utime_t& end_time, int max_entries,
-               list<rgw_data_change>& entries, string& marker, bool *truncated);
+		   list<rgw_data_change>& entries,
+		   const string& marker,
+		   string *out_marker,
+		   bool *truncated);
   int trim_entries(int shard_id, const utime_t& start_time, const utime_t& end_time,
                    const string& start_marker, const string& end_marker);
   int trim_entries(const utime_t& start_time, const utime_t& end_time,
diff --git a/src/rgw/rgw_cache.cc b/src/rgw/rgw_cache.cc
index 5b96eb4..d0afdcd 100644
--- a/src/rgw/rgw_cache.cc
+++ b/src/rgw/rgw_cache.cc
@@ -107,7 +107,7 @@ void ObjectCache::remove(string& name)
 
 void ObjectCache::touch_lru(string& name, std::list<string>::iterator& lru_iter)
 {
-  while (lru.size() > (size_t)cct->_conf->rgw_cache_lru_size) {
+  while (lru_size > (size_t)cct->_conf->rgw_cache_lru_size) {
     list<string>::iterator iter = lru.begin();
     if ((*iter).compare(name) == 0) {
       /*
@@ -121,10 +121,12 @@ void ObjectCache::touch_lru(string& name, std::list<string>::iterator& lru_iter)
     if (map_iter != cache_map.end())
       cache_map.erase(map_iter);
     lru.pop_front();
+    lru_size--;
   }
 
   if (lru_iter == lru.end()) {
     lru.push_back(name);
+    lru_size++;
     lru_iter--;
     ldout(cct, 10) << "adding " << name << " to cache LRU end" << dendl;
   } else {
@@ -142,6 +144,7 @@ void ObjectCache::remove_lru(string& name, std::list<string>::iterator& lru_iter
     return;
 
   lru.erase(lru_iter);
+  lru_size--;
   lru_iter = lru.end();
 }
 
diff --git a/src/rgw/rgw_cache.h b/src/rgw/rgw_cache.h
index b6c4e15..68720d0 100644
--- a/src/rgw/rgw_cache.h
+++ b/src/rgw/rgw_cache.h
@@ -131,13 +131,14 @@ struct ObjectCacheEntry {
 class ObjectCache {
   std::map<string, ObjectCacheEntry> cache_map;
   std::list<string> lru;
+  unsigned long lru_size;
   Mutex lock;
   CephContext *cct;
 
   void touch_lru(string& name, std::list<string>::iterator& lru_iter);
   void remove_lru(string& name, std::list<string>::iterator& lru_iter);
 public:
-  ObjectCache() : lock("ObjectCache"), cct(NULL) { }
+  ObjectCache() : lru_size(0), lock("ObjectCache"), cct(NULL) { }
   int get(std::string& name, ObjectCacheInfo& bl, uint32_t mask);
   void put(std::string& name, ObjectCacheInfo& bl);
   void remove(std::string& name);
@@ -177,14 +178,13 @@ class RGWCache  : public T
     if (ret < 0)
       return ret;
 
-    ret = T::init_watch();
-    return ret;
+    return 0;
   }
 
-  void finalize() {
-    T::finalize_watch();
-    T::finalize();
+  bool need_watch_notify() {
+    return true;
   }
+
   int distribute_cache(const string& normal_name, rgw_obj& obj, ObjectCacheInfo& obj_info, int op);
   int watch_cb(int opcode, uint64_t ver, bufferlist& bl);
 public:
diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc
index 8a28177..317dd88 100644
--- a/src/rgw/rgw_common.cc
+++ b/src/rgw/rgw_common.cc
@@ -93,7 +93,7 @@ is_err() const
 }
 
 
-req_info::req_info(CephContext *cct, struct RGWEnv *e) : env(e) {
+req_info::req_info(CephContext *cct, class RGWEnv *e) : env(e) {
   method = env->get("REQUEST_METHOD");
   script_uri = env->get("SCRIPT_URI", cct->_conf->rgw_script_uri.c_str());
   request_uri = env->get("REQUEST_URI", cct->_conf->rgw_request_uri.c_str());
@@ -122,9 +122,9 @@ void req_info::rebuild_from(req_info& src)
 }
 
 
-req_state::req_state(CephContext *_cct, struct RGWEnv *e) : cct(_cct), cio(NULL), op(OP_UNKNOWN),
-							    bucket_cors(NULL), has_acl_header(false),
-                                                            os_auth_token(NULL), info(_cct, e)
+req_state::req_state(CephContext *_cct, class RGWEnv *e) : cct(_cct), cio(NULL), op(OP_UNKNOWN),
+							   has_acl_header(false),
+                                                           os_auth_token(NULL), info(_cct, e)
 {
   enable_ops_log = e->conf->enable_ops_log;
   enable_usage_log = e->conf->enable_usage_log;
@@ -135,7 +135,6 @@ req_state::req_state(CephContext *_cct, struct RGWEnv *e) : cct(_cct), cio(NULL)
   object_acl = NULL;
   expect_cont = false;
 
-  bucket_name = NULL;
   object = NULL;
 
   header_ended = false;
@@ -149,7 +148,6 @@ req_state::req_state(CephContext *_cct, struct RGWEnv *e) : cct(_cct), cio(NULL)
   perm_mask = 0;
   content_length = 0;
   object = NULL;
-  bucket_name = NULL;
   has_bad_meta = false;
   length = NULL;
   copy_source = NULL;
@@ -162,10 +160,8 @@ req_state::req_state(CephContext *_cct, struct RGWEnv *e) : cct(_cct), cio(NULL)
 req_state::~req_state() {
   delete formatter;
   delete bucket_acl;
-  delete bucket_cors;
   delete object_acl;
   free((void *)object);
-  free((void *)bucket_name);
 }
 
 struct str_len {
@@ -652,13 +648,12 @@ bool verify_object_permission(struct req_state *s, int perm)
   return verify_object_permission(s, s->bucket_acl, s->object_acl, perm);
 }
 
-static char hex_to_num(char c)
+class HexTable
 {
-  static char table[256];
-  static bool initialized = false;
-
+  char table[256];
 
-  if (!initialized) {
+public:
+  HexTable() {
     memset(table, -1, sizeof(table));
     int i;
     for (i = '0'; i<='9'; i++)
@@ -668,7 +663,16 @@ static char hex_to_num(char c)
     for (i = 'a'; i<='f'; i++)
       table[i] = i - 'a' + 0xa;
   }
-  return table[(int)c];
+
+  char to_num(char c) {
+    return table[(int)c];
+  }
+};
+
+static char hex_to_num(char c)
+{
+  static HexTable hex_table;
+  return hex_table.to_num(c);
 }
 
 bool url_decode(string& src_str, string& dest_str)
@@ -709,6 +713,58 @@ bool url_decode(string& src_str, string& dest_str)
   return true;
 }
 
+static void escape_char(char c, string& dst)
+{
+  char buf[16];
+  snprintf(buf, sizeof(buf), "%%%.2X", (unsigned int)c);
+  dst.append(buf);
+}
+
+static bool char_needs_url_encoding(char c)
+{
+  if (c <= 0x20 || c >= 0x7f)
+    return true;
+
+  switch (c) {
+    case 0x22:
+    case 0x23:
+    case 0x25:
+    case 0x26:
+    case 0x2B:
+    case 0x2C:
+    case 0x2F:
+    case 0x3A:
+    case 0x3B:
+    case 0x3C:
+    case 0x3E:
+    case 0x3D:
+    case 0x3F:
+    case 0x40:
+    case 0x5B:
+    case 0x5D:
+    case 0x5C:
+    case 0x5E:
+    case 0x60:
+    case 0x7B:
+    case 0x7D:
+      return true;
+  }
+  return false;
+}
+
+void url_encode(const string& src, string& dst)
+{
+  const char *p = src.c_str();
+  for (unsigned i = 0; i < src.size(); i++, p++) {
+    if (char_needs_url_encoding(*p)) {
+      escape_char(*p, dst);
+      continue;
+    }
+
+    dst.append(p, 1);
+  }
+}
+
 string rgw_trim_whitespace(const string& src)
 {
   if (src.empty()) {
diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h
index 8baee25..a7ef250 100644
--- a/src/rgw/rgw_common.h
+++ b/src/rgw/rgw_common.h
@@ -29,6 +29,7 @@
 #include "include/utime.h"
 #include "rgw_acl.h"
 #include "rgw_cors.h"
+#include "rgw_quota.h"
 #include "cls/version/cls_version_types.h"
 #include "include/rados/librados.hpp"
 
@@ -90,6 +91,7 @@ using ceph::crypto::MD5;
 #define RGW_OP_TYPE_WRITE        0x02
 #define RGW_OP_TYPE_DELETE       0x04
 
+#define RGW_OP_TYPE_MODIFY       (RGW_OP_TYPE_WRITE | RGW_OP_TYPE_DELETE)
 #define RGW_OP_TYPE_ALL          (RGW_OP_TYPE_READ | RGW_OP_TYPE_WRITE | RGW_OP_TYPE_DELETE)
 
 #define RGW_DEFAULT_MAX_BUCKETS 1000
@@ -128,6 +130,7 @@ using ceph::crypto::MD5;
 #define ERR_NOT_FOUND            2023
 #define ERR_PERMANENT_REDIRECT   2024
 #define ERR_LOCKED               2025
+#define ERR_QUOTA_EXCEEDED       2026
 #define ERR_USER_SUSPENDED       2100
 #define ERR_INTERNAL_ERROR       2200
 
@@ -423,11 +426,12 @@ struct RGWUserInfo
   __u8 system;
   string default_placement;
   list<string> placement_tags;
+  RGWQuotaInfo bucket_quota;
 
   RGWUserInfo() : auid(0), suspended(0), max_buckets(RGW_DEFAULT_MAX_BUCKETS), op_mask(RGW_OP_TYPE_ALL), system(0) {}
 
   void encode(bufferlist& bl) const {
-     ENCODE_START(13, 9, bl);
+     ENCODE_START(14, 9, bl);
      ::encode(auid, bl);
      string access_key;
      string secret_key;
@@ -462,6 +466,7 @@ struct RGWUserInfo
      ::encode(system, bl);
      ::encode(default_placement, bl);
      ::encode(placement_tags, bl);
+     ::encode(bucket_quota, bl);
      ENCODE_FINISH(bl);
   }
   void decode(bufferlist::iterator& bl) {
@@ -518,6 +523,9 @@ struct RGWUserInfo
       ::decode(default_placement, bl);
       ::decode(placement_tags, bl); /* tags of allowed placement rules */
     }
+    if (struct_v >= 14) {
+      ::decode(bucket_quota, bl);
+    }
     DECODE_FINISH(bl);
   }
   void dump(Formatter *f) const;
@@ -599,6 +607,10 @@ struct rgw_bucket {
   void dump(Formatter *f) const;
   void decode_json(JSONObj *obj);
   static void generate_test_instances(list<rgw_bucket*>& o);
+
+  bool operator<(const rgw_bucket& b) const {
+    return name.compare(b.name) < 0;
+  }
 };
 WRITE_CLASS_ENCODER(rgw_bucket)
 
@@ -661,9 +673,10 @@ struct RGWBucketInfo
   bool has_instance_obj;
   RGWObjVersionTracker objv_tracker; /* we don't need to serialize this, for runtime tracking */
   obj_version ep_objv; /* entry point object version, for runtime tracking only */
+  RGWQuotaInfo quota;
 
   void encode(bufferlist& bl) const {
-     ENCODE_START(8, 4, bl);
+     ENCODE_START(9, 4, bl);
      ::encode(bucket, bl);
      ::encode(owner, bl);
      ::encode(flags, bl);
@@ -672,6 +685,7 @@ struct RGWBucketInfo
      ::encode(ct, bl);
      ::encode(placement_rule, bl);
      ::encode(has_instance_obj, bl);
+     ::encode(quota, bl);
      ENCODE_FINISH(bl);
   }
   void decode(bufferlist::iterator& bl) {
@@ -692,6 +706,8 @@ struct RGWBucketInfo
        ::decode(placement_rule, bl);
      if (struct_v >= 8)
        ::decode(has_instance_obj, bl);
+     if (struct_v >= 9)
+       ::decode(quota, bl);
      DECODE_FINISH(bl);
   }
   void dump(Formatter *f) const;
@@ -754,11 +770,13 @@ struct RGWBucketStats
   uint64_t num_kb;
   uint64_t num_kb_rounded;
   uint64_t num_objects;
+
+  RGWBucketStats() : num_kb(0), num_kb_rounded(0), num_objects(0) {}
 };
 
 struct req_state;
 
-struct RGWEnv;
+class RGWEnv;
 
 class RGWClientIO;
 
@@ -801,12 +819,13 @@ struct req_state {
    uint32_t perm_mask;
    utime_t header_time;
 
-   const char *bucket_name;
    const char *object;
 
    rgw_bucket bucket;
    string bucket_name_str;
    string object_str;
+   string src_bucket_name;
+   string src_object;
    ACLOwner bucket_owner;
    ACLOwner owner;
 
@@ -821,7 +840,6 @@ struct req_state {
    RGWUserInfo user; 
    RGWAccessControlPolicy *bucket_acl;
    RGWAccessControlPolicy *object_acl;
-   RGWCORSConfiguration   *bucket_cors;
 
    bool system_request;
 
@@ -847,7 +865,7 @@ struct req_state {
 
    req_info info;
 
-   req_state(CephContext *_cct, struct RGWEnv *e);
+   req_state(CephContext *_cct, class RGWEnv *e);
    ~req_state();
 };
 
@@ -1214,6 +1232,11 @@ static inline const char *rgw_obj_category_name(RGWObjCategory category)
   return "unknown";
 }
 
+static inline uint64_t rgw_rounded_kb(uint64_t bytes)
+{
+  return (bytes + 1023) / 1024;
+}
+
 extern string rgw_string_unquote(const string& s);
 extern void parse_csv_string(const string& ival, vector<string>& ovals);
 extern int parse_key_value(string& in_str, string& key, string& val);
@@ -1234,6 +1257,7 @@ extern bool verify_object_permission(struct req_state *s, int perm);
 /** Convert an input URL into a sane object name
  * by converting %-escaped strings into characters, etc*/
 extern bool url_decode(string& src_str, string& dest_str);
+extern void url_encode(const string& src, string& dst);
 
 extern void calc_hmac_sha1(const char *key, int key_len,
                           const char *msg, int msg_len, char *dest);
diff --git a/src/rgw/rgw_cors.cc b/src/rgw/rgw_cors.cc
index 033bfa2..4be8360 100644
--- a/src/rgw/rgw_cors.cc
+++ b/src/rgw/rgw_cors.cc
@@ -79,7 +79,10 @@ static bool is_string_in_set(set<string>& s, string h) {
           << ", at offset not less than " << flen << dendl;
         if (h.compare((h.size() - sl.size()), sl.size(), sl) != 0)
           continue;
+        ssplit.pop_front();
       }
+      if (!ssplit.empty())
+        continue;
       return true;
     }
   }
diff --git a/src/rgw/rgw_cors.h b/src/rgw/rgw_cors.h
index 415f3f0..1e0ec3b 100644
--- a/src/rgw/rgw_cors.h
+++ b/src/rgw/rgw_cors.h
@@ -25,11 +25,13 @@
 #define RGW_CORS_HEAD   0x4
 #define RGW_CORS_POST   0x8
 #define RGW_CORS_DELETE 0x10
-#define RGW_CORS_ALL    (RGW_CORS_GET   |  \
-                         RGW_CORS_PUT   |  \
-                         RGW_CORS_HEAD  |  \
-                         RGW_CORS_POST  |  \
-                         RGW_CORS_DELETE)
+#define RGW_CORS_COPY   0x20
+#define RGW_CORS_ALL    (RGW_CORS_GET    |  \
+                         RGW_CORS_PUT    |  \
+                         RGW_CORS_HEAD   |  \
+                         RGW_CORS_POST   |  \
+                         RGW_CORS_DELETE |  \
+                         RGW_CORS_COPY)
 
 #define CORS_MAX_AGE_INVALID ((uint32_t)-1)
 
diff --git a/src/rgw/rgw_cors_s3.cc b/src/rgw/rgw_cors_s3.cc
index c1448f2..01150a9 100644
--- a/src/rgw/rgw_cors_s3.cc
+++ b/src/rgw/rgw_cors_s3.cc
@@ -44,6 +44,8 @@ void RGWCORSRule_S3::to_xml(XMLFormatter& f) {
     f.dump_string("AllowedMethod", "HEAD");
   if (allowed_methods & RGW_CORS_POST)
     f.dump_string("AllowedMethod", "POST");
+  if (allowed_methods & RGW_CORS_COPY)
+    f.dump_string("AllowedMethod", "COPY");
   /*AllowedOrigins*/
   for(set<string>::iterator it = allowed_origins.begin(); 
       it != allowed_origins.end(); 
@@ -87,6 +89,8 @@ bool RGWCORSRule_S3::xml_end(const char *el) {
         allowed_methods |= RGW_CORS_HEAD;
       } else if (strcasecmp(s, "PUT") == 0) {
         allowed_methods |= RGW_CORS_PUT;
+      } else if (strcasecmp(s, "COPY") == 0) {
+        allowed_methods |= RGW_CORS_COPY;
       } else {
         return false;
       }
diff --git a/src/rgw/rgw_http_errors.h b/src/rgw/rgw_http_errors.h
index 6cb9fab..ba3e522 100644
--- a/src/rgw/rgw_http_errors.h
+++ b/src/rgw/rgw_http_errors.h
@@ -36,6 +36,7 @@ const static struct rgw_http_errors RGW_HTTP_ERRORS[] = {
     { EPERM, 403, "AccessDenied" },
     { ERR_USER_SUSPENDED, 403, "UserSuspended" },
     { ERR_REQUEST_TIME_SKEWED, 403, "RequestTimeTooSkewed" },
+    { ERR_QUOTA_EXCEEDED, 403, "QuotaExceeded" },
     { ENOENT, 404, "NoSuchKey" },
     { ERR_NO_SUCH_BUCKET, 404, "NoSuchBucket" },
     { ERR_NO_SUCH_UPLOAD, 404, "NoSuchUpload" },
diff --git a/src/rgw/rgw_json_enc.cc b/src/rgw/rgw_json_enc.cc
index 05d7206..4d6b253 100644
--- a/src/rgw/rgw_json_enc.cc
+++ b/src/rgw/rgw_json_enc.cc
@@ -6,6 +6,7 @@
 #include "rgw_acl_s3.h"
 #include "rgw_cache.h"
 #include "rgw_bucket.h"
+#include "rgw_keystone.h"
 
 #include "common/ceph_json.h"
 #include "common/Formatter.h"
@@ -395,6 +396,7 @@ void RGWUserInfo::dump(Formatter *f) const
   }
   encode_json("default_placement", default_placement, f);
   encode_json("placement_tags", placement_tags, f);
+  encode_json("bucket_quota", bucket_quota, f);
 }
 
 
@@ -445,6 +447,21 @@ void RGWUserInfo::decode_json(JSONObj *obj)
   system = (__u8)sys;
   JSONDecoder::decode_json("default_placement", default_placement, obj);
   JSONDecoder::decode_json("placement_tags", placement_tags, obj);
+  JSONDecoder::decode_json("bucket_quota", bucket_quota, obj);
+}
+
+void RGWQuotaInfo::dump(Formatter *f) const
+{
+  f->dump_bool("enabled", enabled);
+  f->dump_int("max_size_kb", max_size_kb);
+  f->dump_int("max_objects", max_objects);
+}
+
+void RGWQuotaInfo::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("max_size_kb", max_size_kb, obj);
+  JSONDecoder::decode_json("max_objects", max_objects, obj);
+  JSONDecoder::decode_json("enabled", enabled, obj);
 }
 
 void rgw_bucket::dump(Formatter *f) const
@@ -496,6 +513,7 @@ void RGWBucketInfo::dump(Formatter *f) const
   encode_json("region", region, f);
   encode_json("placement_rule", placement_rule, f);
   encode_json("has_instance_obj", has_instance_obj, f);
+  encode_json("quota", quota, f);
 }
 
 void RGWBucketInfo::decode_json(JSONObj *obj) {
@@ -506,6 +524,7 @@ void RGWBucketInfo::decode_json(JSONObj *obj) {
   JSONDecoder::decode_json("region", region, obj);
   JSONDecoder::decode_json("placement_rule", placement_rule, obj);
   JSONDecoder::decode_json("has_instance_obj", has_instance_obj, obj);
+  JSONDecoder::decode_json("quota", quota, obj);
 }
 
 void RGWObjEnt::dump(Formatter *f) const
@@ -672,12 +691,14 @@ void RGWRegionMap::dump(Formatter *f) const
 {
   encode_json("regions", regions, f);
   encode_json("master_region", master_region, f);
+  encode_json("bucket_quota", bucket_quota, f);
 }
 
 void RGWRegionMap::decode_json(JSONObj *obj)
 {
   JSONDecoder::decode_json("regions", regions, obj);
   JSONDecoder::decode_json("master_region", master_region, obj);
+  JSONDecoder::decode_json("bucket_quota", bucket_quota, obj);
 }
 
 void RGWMetadataLogInfo::dump(Formatter *f) const
@@ -704,3 +725,70 @@ void RGWDataChangesLogInfo::decode_json(JSONObj *obj)
   JSONDecoder::decode_json("last_update", last_update, obj);
 }
 
+void KeystoneToken::Metadata::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("is_admin", is_admin, obj);
+}
+
+void KeystoneToken::Service::Endpoint::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("id", id, obj);
+  JSONDecoder::decode_json("adminURL", admin_url, obj);
+  JSONDecoder::decode_json("publicURL", public_url, obj);
+  JSONDecoder::decode_json("internalURL", internal_url, obj);
+  JSONDecoder::decode_json("region", region, obj);
+}
+
+void KeystoneToken::Service::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("type", type, obj, true);
+  JSONDecoder::decode_json("name", name, obj, true);
+  JSONDecoder::decode_json("endpoints", endpoints, obj);
+}
+
+void KeystoneToken::Token::Tenant::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("id", id, obj, true);
+  JSONDecoder::decode_json("name", name, obj, true);
+  JSONDecoder::decode_json("description", description, obj);
+  JSONDecoder::decode_json("enabled", enabled, obj);
+}
+
+void KeystoneToken::Token::decode_json(JSONObj *obj)
+{
+  string expires_iso8601;
+  struct tm t;
+
+  JSONDecoder::decode_json("id", id, obj, true);
+  JSONDecoder::decode_json("tenant", tenant, obj, true);
+  JSONDecoder::decode_json("expires", expires_iso8601, obj, true);
+
+  if (parse_iso8601(expires_iso8601.c_str(), &t)) {
+    expires = timegm(&t);
+  } else {
+    expires = 0;
+    throw JSONDecoder::err("Failed to parse ISO8601 expiration date from Keystone response.");
+  }
+}
+
+void KeystoneToken::User::Role::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("id", id, obj);
+  JSONDecoder::decode_json("name", name, obj);
+}
+
+void KeystoneToken::User::decode_json(JSONObj *obj)
+{
+  JSONDecoder::decode_json("id", id, obj, true);
+  JSONDecoder::decode_json("name", name, obj);
+  JSONDecoder::decode_json("username", user_name, obj, true);
+  JSONDecoder::decode_json("roles", roles, obj);
+}
+
+void KeystoneToken::decode_json(JSONObj *access_obj)
+{
+  JSONDecoder::decode_json("metadata", metadata, access_obj);
+  JSONDecoder::decode_json("token", token, access_obj, true);
+  JSONDecoder::decode_json("user", user, access_obj, true);
+  JSONDecoder::decode_json("serviceCatalog", service_catalog, access_obj);
+}
diff --git a/src/rgw/rgw_keystone.cc b/src/rgw/rgw_keystone.cc
new file mode 100644
index 0000000..7c74665
--- /dev/null
+++ b/src/rgw/rgw_keystone.cc
@@ -0,0 +1,108 @@
+#include <errno.h>
+#include <fnmatch.h>
+
+#include "common/errno.h"
+#include "common/ceph_json.h"
+#include "include/types.h"
+#include "include/str_list.h"
+
+#include "rgw_common.h"
+#include "rgw_keystone.h"
+
+#define dout_subsys ceph_subsys_rgw
+
+bool KeystoneToken::User::has_role(const string& r) {
+  list<Role>::iterator iter;
+  for (iter = roles.begin(); iter != roles.end(); ++iter) {
+      if (fnmatch(r.c_str(), ((*iter).name.c_str()), 0) == 0) {
+        return true;
+      }
+  }
+  return false;
+}
+
+int KeystoneToken::parse(CephContext *cct, bufferlist& bl)
+{
+  JSONParser parser;
+  if (!parser.parse(bl.c_str(), bl.length())) {
+    ldout(cct, 0) << "Keystone token parse error: malformed json" << dendl;
+    return -EINVAL;
+  }
+
+  try {
+    JSONDecoder::decode_json("access", *this, &parser);
+  } catch (JSONDecoder::err& err) {
+    ldout(cct, 0) << "Keystone token parse error: " << err.message << dendl;
+    return -EINVAL;
+  }
+
+  return 0;
+}
+
+bool RGWKeystoneTokenCache::find(const string& token_id, KeystoneToken& token)
+{
+  lock.Lock();
+  map<string, token_entry>::iterator iter = tokens.find(token_id);
+  if (iter == tokens.end()) {
+    lock.Unlock();
+    if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_miss);
+    return false;
+  }
+
+  token_entry& entry = iter->second;
+  tokens_lru.erase(entry.lru_iter);
+
+  if (entry.token.expired()) {
+    tokens.erase(iter);
+    lock.Unlock();
+    if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_hit);
+    return false;
+  }
+  token = entry.token;
+
+  tokens_lru.push_front(token_id);
+  entry.lru_iter = tokens_lru.begin();
+
+  lock.Unlock();
+  if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_hit);
+
+  return true;
+}
+
+void RGWKeystoneTokenCache::add(const string& token_id, KeystoneToken& token)
+{
+  lock.Lock();
+  map<string, token_entry>::iterator iter = tokens.find(token_id);
+  if (iter != tokens.end()) {
+    token_entry& e = iter->second;
+    tokens_lru.erase(e.lru_iter);
+  }
+
+  tokens_lru.push_front(token_id);
+  token_entry& entry = tokens[token_id];
+  entry.token = token;
+  entry.lru_iter = tokens_lru.begin();
+
+  while (tokens_lru.size() > max) {
+    list<string>::reverse_iterator riter = tokens_lru.rbegin();
+    iter = tokens.find(*riter);
+    assert(iter != tokens.end());
+    tokens.erase(iter);
+    tokens_lru.pop_back();
+  }
+
+  lock.Unlock();
+}
+
+void RGWKeystoneTokenCache::invalidate(const string& token_id)
+{
+  Mutex::Locker l(lock);
+  map<string, token_entry>::iterator iter = tokens.find(token_id);
+  if (iter == tokens.end())
+    return;
+
+  ldout(cct, 20) << "invalidating revoked token id=" << token_id << dendl;
+  token_entry& e = iter->second;
+  tokens_lru.erase(e.lru_iter);
+  tokens.erase(iter);
+}
diff --git a/src/rgw/rgw_keystone.h b/src/rgw/rgw_keystone.h
new file mode 100644
index 0000000..05199ee
--- /dev/null
+++ b/src/rgw/rgw_keystone.h
@@ -0,0 +1,106 @@
+#ifndef CEPH_RGW_KEYSTONE_H
+#define CEPH_RGW_KEYSTONE_H
+
+#include "rgw_common.h"
+
+class KeystoneToken {
+public:
+  class Metadata {
+  public:
+    Metadata() : is_admin(false) { };
+    bool is_admin;
+    void decode_json(JSONObj *obj);
+  };
+
+  class Service {
+  public:
+    class Endpoint {
+    public:
+      string id;
+      string admin_url;
+      string public_url;
+      string internal_url;
+      string region;
+      void decode_json(JSONObj *obj);
+    };
+    string type;
+    string name;
+    list<Endpoint> endpoints;
+    void decode_json(JSONObj *obj);
+  };
+
+  class Token {
+  public:
+    Token() : expires(0) { };
+    class Tenant {
+    public:
+      Tenant() : enabled(false) { };
+      string id;
+      string name;
+      string description;
+      bool enabled;
+      void decode_json(JSONObj *obj);
+    };
+    string id;
+    time_t expires;
+    Tenant tenant;
+    void decode_json(JSONObj *obj);
+  };
+
+  class User {
+  public:
+    class Role {
+    public:
+      string id;
+      string name;
+      void decode_json(JSONObj *obj);
+    };
+    string id;
+    string name;
+    string user_name;
+    list<Role> roles;
+    void decode_json(JSONObj *obj);
+    bool has_role(const string& r);
+  };
+
+  Metadata metadata;
+  list<Service> service_catalog;
+  Token token;
+  User user;
+
+public:
+  int parse(CephContext *cct, bufferlist& bl);
+
+  bool expired() {
+    uint64_t now = ceph_clock_now(NULL).sec();
+    return (now >= (uint64_t)token.expires);
+  }
+
+  void decode_json(JSONObj *access_obj);
+};
+
+struct token_entry {
+  KeystoneToken token;
+  list<string>::iterator lru_iter;
+};
+
+class RGWKeystoneTokenCache {
+  CephContext *cct;
+
+  map<string, token_entry> tokens;
+  list<string> tokens_lru;
+
+  Mutex lock;
+
+  size_t max;
+
+public:
+  RGWKeystoneTokenCache(CephContext *_cct, int _max) : cct(_cct), lock("RGWKeystoneTokenCache"), max(_max) {}
+
+  bool find(const string& token_id, KeystoneToken& token);
+  void add(const string& token_id, KeystoneToken& token);
+  void invalidate(const string& token_id);
+};
+
+
+#endif
diff --git a/src/rgw/rgw_log.cc b/src/rgw/rgw_log.cc
index 7b75441..9398dd0 100644
--- a/src/rgw/rgw_log.cc
+++ b/src/rgw/rgw_log.cc
@@ -171,7 +171,7 @@ static void log_usage(struct req_state *s, const string& op_name)
 
   string user;
 
-  if (s->bucket_name)
+  if (!s->bucket_name_str.empty())
     user = s->bucket_owner.get_id();
   else
     user = s->user.user_id;
@@ -267,7 +267,7 @@ int rgw_log_op(RGWRados *store, struct req_state *s, const string& op_name, OpsL
   if (!s->enable_ops_log)
     return 0;
 
-  if (!s->bucket_name) {
+  if (s->bucket_name_str.empty()) {
     ldout(s->cct, 5) << "nothing to log for operation" << dendl;
     return -EINVAL;
   }
@@ -280,9 +280,9 @@ int rgw_log_op(RGWRados *store, struct req_state *s, const string& op_name, OpsL
   } else {
     bucket_id = s->bucket.bucket_id;
   }
-  entry.bucket = s->bucket_name;
+  entry.bucket = s->bucket_name_str;
 
-  if (check_utf8(s->bucket_name, entry.bucket.size()) != 0) {
+  if (check_utf8(s->bucket_name_str.c_str(), entry.bucket.size()) != 0) {
     ldout(s->cct, 5) << "not logging op on bucket with non-utf8 name" << dendl;
     return 0;
   }
diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc
index 12301ba..5fbecf8 100644
--- a/src/rgw/rgw_main.cc
+++ b/src/rgw/rgw_main.cc
@@ -323,7 +323,7 @@ void RGWProcess::handle_request(RGWRequest *req)
   RGWRESTMgr *mgr;
   RGWHandler *handler = rest->get_handler(store, s, &client_io, &mgr, &init_error);
   if (init_error != 0) {
-    abort_early(s, init_error);
+    abort_early(s, NULL, init_error);
     goto done;
   }
 
@@ -332,7 +332,7 @@ void RGWProcess::handle_request(RGWRequest *req)
   req->log(s, "getting op");
   op = handler->get_op(store);
   if (!op) {
-    abort_early(s, -ERR_METHOD_NOT_ALLOWED);
+    abort_early(s, NULL, -ERR_METHOD_NOT_ALLOWED);
     goto done;
   }
   req->op = op;
@@ -341,26 +341,33 @@ void RGWProcess::handle_request(RGWRequest *req)
   ret = handler->authorize();
   if (ret < 0) {
     dout(10) << "failed to authorize request" << dendl;
-    abort_early(s, ret);
+    abort_early(s, op, ret);
     goto done;
   }
 
   if (s->user.suspended) {
     dout(10) << "user is suspended, uid=" << s->user.user_id << dendl;
-    abort_early(s, -ERR_USER_SUSPENDED);
+    abort_early(s, op, -ERR_USER_SUSPENDED);
     goto done;
   }
   req->log(s, "reading permissions");
   ret = handler->read_permissions(op);
   if (ret < 0) {
-    abort_early(s, ret);
+    abort_early(s, op, ret);
+    goto done;
+  }
+
+  req->log(s, "init op");
+  ret = op->init_processing();
+  if (ret < 0) {
+    abort_early(s, op, ret);
     goto done;
   }
 
   req->log(s, "verifying op mask");
   ret = op->verify_op_mask();
   if (ret < 0) {
-    abort_early(s, ret);
+    abort_early(s, op, ret);
     goto done;
   }
 
@@ -370,7 +377,7 @@ void RGWProcess::handle_request(RGWRequest *req)
     if (s->system_request) {
       dout(2) << "overriding permissions due to system operation" << dendl;
     } else {
-      abort_early(s, ret);
+      abort_early(s, op, ret);
       goto done;
     }
   }
@@ -378,7 +385,7 @@ void RGWProcess::handle_request(RGWRequest *req)
   req->log(s, "verifying op params");
   ret = op->verify_params();
   if (ret < 0) {
-    abort_early(s, ret);
+    abort_early(s, op, ret);
     goto done;
   }
 
@@ -461,7 +468,7 @@ int main(int argc, const char **argv)
 
   /* alternative default for module */
   vector<const char *> def_args;
-  def_args.push_back("--debug-rgw=20");
+  def_args.push_back("--debug-rgw=1/5");
   def_args.push_back("--keyring=$rgw_data/keyring");
   def_args.push_back("--log-file=/var/log/radosgw/$cluster-$name");
 
diff --git a/src/rgw/rgw_metadata.cc b/src/rgw/rgw_metadata.cc
index 6da1ff5..1dd6107 100644
--- a/src/rgw/rgw_metadata.cc
+++ b/src/rgw/rgw_metadata.cc
@@ -1,7 +1,7 @@
 
 
-#include "rgw_metadata.h"
 #include "common/ceph_json.h"
+#include "rgw_metadata.h"
 #include "cls/version/cls_version_types.h"
 
 #include "rgw_rados.h"
@@ -109,9 +109,10 @@ void RGWMetadataLog::complete_list_entries(void *handle) {
 }
 
 int RGWMetadataLog::list_entries(void *handle,
-                 int max_entries,
-                 list<cls_log_entry>& entries, 
-                 bool *truncated) {
+				 int max_entries,
+				 list<cls_log_entry>& entries,
+				 string *last_marker,
+				 bool *truncated) {
   LogListCtx *ctx = static_cast<LogListCtx *>(handle);
 
   if (!max_entries) {
@@ -120,7 +121,8 @@ int RGWMetadataLog::list_entries(void *handle,
   }
 
   int ret = store->time_log_list(ctx->cur_oid, ctx->from_time, ctx->end_time,
-                                 max_entries, entries, ctx->marker, truncated);
+				 max_entries, entries, ctx->marker,
+				 last_marker, truncated);
   if ((ret < 0) && (ret != -ENOENT))
     return ret;
 
@@ -388,6 +390,8 @@ int RGWMetadataManager::remove(string& metadata_key)
 
   objv_tracker.read_version = obj->get_version();
 
+  delete obj;
+
   return handler->remove(store, entry, objv_tracker);
 }
 
diff --git a/src/rgw/rgw_metadata.h b/src/rgw/rgw_metadata.h
index 50649b6..0145208 100644
--- a/src/rgw/rgw_metadata.h
+++ b/src/rgw/rgw_metadata.h
@@ -11,7 +11,7 @@
 
 class RGWRados;
 class JSONObj;
-class RGWObjVersionTracker;
+struct RGWObjVersionTracker;
 
 struct obj_version;
 
@@ -150,7 +150,9 @@ public:
   void complete_list_entries(void *handle);
   int list_entries(void *handle,
                    int max_entries,
-                   list<cls_log_entry>& entries, bool *truncated);
+                   list<cls_log_entry>& entries,
+		   string *out_marker,
+		   bool *truncated);
 
   int trim(int shard_id, const utime_t& from_time, const utime_t& end_time, const string& start_marker, const string& end_marker);
   int get_info(int shard_id, RGWMetadataLogInfo *info);
@@ -158,7 +160,7 @@ public:
   int unlock(int shard_id, string& zone_id, string& owner_id);
 };
 
-class RGWMetadataLogData;
+struct RGWMetadataLogData;
 
 class RGWMetadataManager {
   map<string, RGWMetadataHandler *> handlers;
diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc
index d34e18b..bd73a23 100644
--- a/src/rgw/rgw_op.cc
+++ b/src/rgw/rgw_op.cc
@@ -269,7 +269,7 @@ static int read_policy(RGWRados *store, struct req_state *s,
   string oid = object;
   rgw_obj obj;
 
-  if (bucket_info.flags & BUCKET_SUSPENDED) {
+  if (!s->system_request && bucket_info.flags & BUCKET_SUSPENDED) {
     ldout(s->cct, 0) << "NOTICE: bucket " << bucket_info.bucket.name << " is suspended" << dendl;
     return -ERR_USER_SUSPENDED;
   }
@@ -292,7 +292,7 @@ static int read_policy(RGWRados *store, struct req_state *s,
     if (ret < 0)
       return ret;
     string& owner = bucket_policy.get_owner().get_id();
-    if (owner.compare(s->user.user_id) != 0 &&
+    if (!s->system_request && owner.compare(s->user.user_id) != 0 &&
         !bucket_policy.verify_permission(s->user.user_id, s->perm_mask, RGW_PERM_READ))
       ret = -EACCES;
     else
@@ -339,7 +339,7 @@ static int rgw_build_policies(RGWRados *store, struct req_state *s, bool only_bu
       s->local_source = store->region.equals(region);
     }
   }
-    
+
   if (s->bucket_name_str.size()) {
     s->bucket_exists = true;
     if (s->bucket_instance_id.empty()) {
@@ -418,9 +418,160 @@ int RGWOp::verify_op_mask()
     return -EPERM;
   }
 
+  if (!s->system_request && (required_mask & RGW_OP_TYPE_MODIFY) && !store->zone.is_master)  {
+    ldout(s->cct, 5) << "NOTICE: modify request to a non-master zone by a non-system user, permission denied"  << dendl;
+    return -EPERM;
+  }
+
+  return 0;
+}
+
+int RGWOp::init_quota()
+{
+  /* no quota enforcement for system requests */
+  if (s->system_request)
+    return 0;
+
+  /* init quota related stuff */
+  if (!(s->user.op_mask & RGW_OP_TYPE_MODIFY)) {
+    return 0;
+  }
+
+  /* only interested in object related ops */
+  if (s->object_str.empty()) {
+    return 0;
+  }
+
+  if (s->bucket_info.quota.enabled) {
+    bucket_quota = s->bucket_info.quota;
+    return 0;
+  }
+  if (s->user.user_id == s->bucket_owner.get_id()) {
+    if (s->user.bucket_quota.enabled) {
+      bucket_quota = s->user.bucket_quota;
+      return 0;
+    }
+  } else {
+    RGWUserInfo owner_info;
+    int r = rgw_get_user_info_by_uid(store, s->bucket_info.owner, owner_info);
+    if (r < 0)
+      return r;
+
+    if (owner_info.bucket_quota.enabled) {
+      bucket_quota = owner_info.bucket_quota;
+      return 0;
+    }
+  }
+
+  bucket_quota = store->region_map.bucket_quota;
   return 0;
 }
 
+static bool validate_cors_rule_method(RGWCORSRule *rule, const char *req_meth) {
+  uint8_t flags = 0;
+  if (strcmp(req_meth, "GET") == 0) flags = RGW_CORS_GET;
+  else if (strcmp(req_meth, "POST") == 0) flags = RGW_CORS_POST;
+  else if (strcmp(req_meth, "PUT") == 0) flags = RGW_CORS_PUT;
+  else if (strcmp(req_meth, "DELETE") == 0) flags = RGW_CORS_DELETE;
+  else if (strcmp(req_meth, "HEAD") == 0) flags = RGW_CORS_HEAD;
+
+  if ((rule->get_allowed_methods() & flags) == flags) {
+    dout(10) << "Method " << req_meth << " is supported" << dendl;
+  } else {
+    dout(5) << "Method " << req_meth << " is not supported" << dendl;
+    return false;
+  }
+
+  return true;
+}
+
+int RGWOp::read_bucket_cors()
+{
+  bufferlist bl;
+
+  map<string, bufferlist>::iterator aiter = s->bucket_attrs.find(RGW_ATTR_CORS);
+  if (aiter == s->bucket_attrs.end()) {
+    ldout(s->cct, 20) << "no CORS configuration attr found" << dendl;
+    cors_exist = false;
+    return 0; /* no CORS configuration found */
+  }
+
+  cors_exist = true;
+
+  bl = aiter->second;
+
+  bufferlist::iterator iter = bl.begin();
+  try {
+    bucket_cors.decode(iter);
+  } catch (buffer::error& err) {
+    ldout(s->cct, 0) << "ERROR: could not decode policy, caught buffer::error" << dendl;
+    return -EIO;
+  }
+  if (s->cct->_conf->subsys.should_gather(ceph_subsys_rgw, 15)) {
+    RGWCORSConfiguration_S3 *s3cors = static_cast<RGWCORSConfiguration_S3 *>(&bucket_cors);
+    ldout(s->cct, 15) << "Read RGWCORSConfiguration";
+    s3cors->to_xml(*_dout);
+    *_dout << dendl;
+  }
+  return 0;
+}
+
+static void get_cors_response_headers(RGWCORSRule *rule, const char *req_hdrs, string& hdrs, string& exp_hdrs, unsigned *max_age) {
+  if (req_hdrs) {
+    list<string> hl;
+    get_str_list(req_hdrs, hl);
+    for(list<string>::iterator it = hl.begin(); it != hl.end(); ++it) {
+      if (!rule->is_header_allowed((*it).c_str(), (*it).length())) {
+        dout(5) << "Header " << (*it) << " is not registered in this rule" << dendl;
+      } else {
+        if (hdrs.length() > 0) hdrs.append(",");
+        hdrs.append((*it));
+      }
+    }
+  }
+  rule->format_exp_headers(exp_hdrs);
+  *max_age = rule->get_max_age();
+}
+
+bool RGWOp::generate_cors_headers(string& origin, string& method, string& headers, string& exp_headers, unsigned *max_age)
+{
+  const char *orig = s->info.env->get("HTTP_ORIGIN");
+  if (!orig) {
+    return false;
+  }
+  origin = orig;
+  int ret = read_bucket_cors();
+  if (ret < 0) {
+    return false;
+  }
+
+  if (!cors_exist) {
+    dout(2) << "No CORS configuration set yet for this bucket" << dendl;
+    return false;
+  }
+
+  RGWCORSRule *rule = bucket_cors.host_name_rule(orig);
+  if (!rule)
+    return false;
+
+  const char *req_meth = s->info.env->get("HTTP_ACCESS_CONTROL_REQUEST_METHOD");
+  if (!req_meth) {
+    req_meth = s->info.method;
+  }
+
+  if (req_meth)
+    method = req_meth;
+
+  if (!validate_cors_rule_method(rule, req_meth)) {
+    return false;
+  }
+
+  const char *req_hdrs = s->info.env->get("HTTP_ACCESS_CONTROL_ALLOW_HEADERS");
+
+  get_cors_response_headers(rule, req_hdrs, headers, exp_headers, max_age);
+
+  return true;
+}
 
 int RGWGetObj::read_user_manifest_part(rgw_bucket& bucket, RGWObjEnt& ent, RGWAccessControlPolicy *bucket_policy, off_t start_ofs, off_t end_ofs)
 {
@@ -1066,7 +1217,7 @@ void RGWDeleteBucket::execute()
 {
   ret = -EINVAL;
 
-  if (!s->bucket_name)
+  if (s->bucket_name_str.empty())
     return;
 
   RGWObjVersionTracker ot;
@@ -1166,7 +1317,7 @@ int RGWPutObjProcessor_Multipart::prepare(RGWRados *store, void *obj_ctx)
 
 int RGWPutObjProcessor_Multipart::do_complete(string& etag, time_t *mtime, time_t set_mtime, map<string, bufferlist>& attrs)
 {
-  complete_parts();
+  complete_writing_data();
 
   RGWRados::PutObjMetaExtraParams params;
   params.set_mtime = set_mtime;
@@ -1258,6 +1409,14 @@ void RGWPutObj::execute()
     ldout(s->cct, 15) << "supplied_md5=" << supplied_md5 << dendl;
   }
 
+  if (!chunked_upload) { /* with chunked upload we don't know how big is the upload.
+                            we also check sizes at the end anyway */
+    ret = store->check_quota(s->bucket, bucket_quota, s->content_length);
+    if (ret < 0) {
+      goto done;
+    }
+  }
+
   if (supplied_etag) {
     strncpy(supplied_md5, supplied_etag, sizeof(supplied_md5) - 1);
     supplied_md5[sizeof(supplied_md5) - 1] = '\0';
@@ -1302,6 +1461,11 @@ void RGWPutObj::execute()
   s->obj_size = ofs;
   perfcounter->inc(l_rgw_put_b, s->obj_size);
 
+  ret = store->check_quota(s->bucket, bucket_quota, s->obj_size);
+  if (ret < 0) {
+    goto done;
+  }
+
   hash.Final(m);
 
   buf_to_hex(m, CEPH_CRYPTO_MD5_DIGESTSIZE, calc_md5);
@@ -1499,6 +1663,13 @@ void RGWPutMetadata::execute()
     }
   }
 
+  map<string, string>::iterator giter;
+  for (giter = s->generic_attrs.begin(); giter != s->generic_attrs.end(); ++giter) {
+    bufferlist& attrbl = attrs[giter->first];
+    const string& val = giter->second;
+    attrbl.append(val.c_str(), val.size() + 1);
+  }
+
   if (has_policy) {
     policy.encode(bl);
     attrs[RGW_ATTR_ACL] = bl;
@@ -1540,8 +1711,6 @@ bool RGWCopyObj::parse_copy_location(const char *src, string& bucket_name, strin
   url_decode(url_src, dec_src);
   src = dec_src.c_str();
 
-  ldout(s->cct, 15) << "decoded obj=" << src << dendl;
-
   if (*src == '/') ++src;
 
   string str(src);
@@ -1835,37 +2004,6 @@ void RGWPutACLs::execute()
   }
 }
 
-static int read_bucket_cors(RGWRados *store, struct req_state *s, RGWCORSConfiguration *bucket_cors, bool *exist)
-{
-  bufferlist bl;
-
-  map<string, bufferlist>::iterator aiter = s->bucket_attrs.find(RGW_ATTR_CORS);
-  if (aiter == s->bucket_attrs.end()) {
-    ldout(s->cct, 20) << "no CORS configuration attr found" << dendl;
-    *exist = false;
-    return 0; /* no CORS configuration found */
-  }
-
-  *exist = true;
-
-  bl = aiter->second;
-
-  bufferlist::iterator iter = bl.begin();
-  try {
-    bucket_cors->decode(iter);
-  } catch (buffer::error& err) {
-    ldout(s->cct, 0) << "ERROR: could not decode policy, caught buffer::error" << dendl;
-    return -EIO;
-  }
-  if (s->cct->_conf->subsys.should_gather(ceph_subsys_rgw, 15)) {
-    RGWCORSConfiguration_S3 *s3cors = static_cast<RGWCORSConfiguration_S3 *>(bucket_cors);
-    ldout(s->cct, 15) << "Read RGWCORSConfiguration";
-    s3cors->to_xml(*_dout);
-    *_dout << dendl;
-  }
-  return 0;
-}
-
 int RGWGetCORS::verify_permission()
 {
   if (s->user.user_id.compare(s->bucket_owner.get_id()) != 0)
@@ -1876,9 +2014,7 @@ int RGWGetCORS::verify_permission()
 
 void RGWGetCORS::execute()
 {
-  bool cors_exist;
-
-  ret = read_bucket_cors(store, s, &bucket_cors, &cors_exist);
+  ret = read_bucket_cors();
   if (ret < 0)
     return ;
 
@@ -1922,9 +2058,7 @@ int RGWDeleteCORS::verify_permission()
 
 void RGWDeleteCORS::execute()
 {
-  bool cors_exist;
-  RGWCORSConfiguration bucket_cors;
-  ret = read_bucket_cors(store, s, &bucket_cors, &cors_exist);
+  ret = read_bucket_cors();
   if (ret < 0)
     return;
 
@@ -1961,52 +2095,34 @@ void RGWDeleteCORS::execute()
 }
 
 void RGWOptionsCORS::get_response_params(string& hdrs, string& exp_hdrs, unsigned *max_age) {
-  if (req_hdrs) {
-    list<string> hl;
-    get_str_list(req_hdrs, hl);
-    for(list<string>::iterator it = hl.begin(); it != hl.end(); ++it) {
-      if (!rule->is_header_allowed((*it).c_str(), (*it).length())) {
-        dout(5) << "Header " << (*it) << " is not registered in this rule" << dendl;
-      } else {
-        if (hdrs.length() > 0)hdrs.append(",");
-        hdrs.append((*it));
-      }
-    }
-  }
-  rule->format_exp_headers(exp_hdrs);
-  *max_age = rule->get_max_age();
+  get_cors_response_headers(rule, req_hdrs, hdrs, exp_hdrs, max_age);
 }
 
-int RGWOptionsCORS::validate_cors_request() {
-  RGWCORSConfiguration *cc = s->bucket_cors;
+int RGWOptionsCORS::validate_cors_request(RGWCORSConfiguration *cc) {
   rule = cc->host_name_rule(origin);
   if (!rule) {
-    dout(10) << "There is no corsrule present for " << origin << dendl;
+    dout(10) << "There is no cors rule present for " << origin << dendl;
     return -ENOENT;
   }
 
-  uint8_t flags = 0;
-  if (strcmp(req_meth, "GET") == 0) flags = RGW_CORS_GET;
-  else if (strcmp(req_meth, "POST") == 0) flags = RGW_CORS_POST;
-  else if (strcmp(req_meth, "PUT") == 0) flags = RGW_CORS_PUT;
-  else if (strcmp(req_meth, "DELETE") == 0) flags = RGW_CORS_DELETE;
-  else if (strcmp(req_meth, "HEAD") == 0) flags = RGW_CORS_HEAD;
-
-  if ((rule->get_allowed_methods() & flags) == flags) {
-    dout(10) << "Method " << req_meth << " is supported" << dendl;
-  } else {
-    dout(5) << "Method " << req_meth << " is not supported" << dendl;
-    req_meth = NULL;
-    return -ENOTSUP;
+  if (!validate_cors_rule_method(rule, req_meth)) {
+    return -ENOENT;
   }
   return 0;
 }
 
 void RGWOptionsCORS::execute()
 {
-  if (!s->bucket_cors) {
-    dout(2) << "No CORS configuration set yet for this bucket" << dendl;
-    ret = -EACCES;
+  ret = read_bucket_cors();
+  if (ret < 0)
+    return;
+
+  origin = s->info.env->get("HTTP_ORIGIN");
+  if (!origin) {
+    dout(0) << 
+    "Preflight request without mandatory Origin header"
+    << dendl;
+    ret = -EINVAL;
     return;
   }
   req_meth = s->info.env->get("HTTP_ACCESS_CONTROL_REQUEST_METHOD");
@@ -2014,19 +2130,16 @@ void RGWOptionsCORS::execute()
     dout(0) << 
     "Preflight request without mandatory Access-control-request-method header"
     << dendl;
-    ret = -EACCES;
+    ret = -EINVAL;
     return;
   }
-  origin = s->info.env->get("HTTP_ORIGIN");
-  if (!origin) {
-    dout(0) << 
-    "Preflight request without mandatory Origin header"
-    << dendl;
-    ret = -EACCES;
+  if (!cors_exist) {
+    dout(2) << "No CORS configuration set yet for this bucket" << dendl;
+    ret = -ENOENT;
     return;
   }
   req_hdrs = s->info.env->get("HTTP_ACCESS_CONTROL_ALLOW_HEADERS");
-  ret = validate_cors_request();
+  ret = validate_cors_request(&bucket_cors);
   if (!rule) {
     origin = req_meth = NULL;
     return;
diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h
index d158f83..41ee2e8 100644
--- a/src/rgw/rgw_op.h
+++ b/src/rgw/rgw_op.h
@@ -20,6 +20,7 @@
 #include "rgw_bucket.h"
 #include "rgw_acl.h"
 #include "rgw_cors.h"
+#include "rgw_quota.h"
 
 using namespace std;
 
@@ -34,15 +35,31 @@ protected:
   struct req_state *s;
   RGWHandler *dialect_handler;
   RGWRados *store;
+  RGWCORSConfiguration bucket_cors;
+  bool cors_exist;
+  RGWQuotaInfo bucket_quota;
+
+  virtual int init_quota();
 public:
-  RGWOp() : s(NULL), dialect_handler(NULL), store(NULL) {}
+  RGWOp() : s(NULL), dialect_handler(NULL), store(NULL), cors_exist(false) {}
   virtual ~RGWOp() {}
 
+  virtual int init_processing() {
+    int ret = init_quota();
+    if (ret < 0)
+      return ret;
+
+    return 0;
+  }
+
   virtual void init(RGWRados *store, struct req_state *s, RGWHandler *dialect_handler) {
     this->store = store;
     this->s = s;
     this->dialect_handler = dialect_handler;
   }
+  int read_bucket_cors();
+  bool generate_cors_headers(string& origin, string& method, string& headers, string& exp_headers, unsigned *max_age);
+
   virtual int verify_params() { return 0; }
   virtual bool prefetch_data() { return false; }
   virtual int verify_permission() = 0;
@@ -443,9 +460,6 @@ protected:
 
   int init_common();
 
-protected:
-  bool parse_copy_location(const char *src, string& bucket_name, string& object);
-
 public:
   RGWCopyObj() {
     if_mod = NULL;
@@ -465,6 +479,8 @@ public:
     last_ofs = 0;
   }
 
+  static bool parse_copy_location(const char *src, string& bucket_name, string& object);
+
   virtual void init(RGWRados *store, struct req_state *s, RGWHandler *h) {
     RGWOp::init(store, s, h);
     dest_policy.set_ctx(s->cct);
@@ -526,7 +542,6 @@ public:
 class RGWGetCORS : public RGWOp {
 protected:
   int ret;
-  RGWCORSConfiguration bucket_cors;
 
 public:
   RGWGetCORS() : ret(0) {}
@@ -586,7 +601,7 @@ public:
   }
 
   int verify_permission() {return 0;}
-  int validate_cors_request();
+  int validate_cors_request(RGWCORSConfiguration *cc);
   void execute();
   void get_response_params(string& allowed_hdrs, string& exp_hdrs, unsigned *max_age);
   virtual void send_response() = 0;
diff --git a/src/rgw/rgw_quota.cc b/src/rgw/rgw_quota.cc
new file mode 100644
index 0000000..66609ca
--- /dev/null
+++ b/src/rgw/rgw_quota.cc
@@ -0,0 +1,332 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank, Inc
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+
+#include "include/utime.h"
+#include "common/lru_map.h"
+#include "common/RefCountedObj.h"
+
+#include "rgw_common.h"
+#include "rgw_rados.h"
+#include "rgw_quota.h"
+
+#define dout_subsys ceph_subsys_rgw
+
+
+struct RGWQuotaBucketStats {
+  RGWBucketStats stats;
+  utime_t expiration;
+  utime_t async_refresh_time;
+};
+
+class RGWBucketStatsCache {
+  RGWRados *store;
+  lru_map<rgw_bucket, RGWQuotaBucketStats> stats_map;
+  RefCountedWaitObject *async_refcount;
+
+  int fetch_bucket_totals(rgw_bucket& bucket, RGWBucketStats& stats);
+
+public:
+  RGWBucketStatsCache(RGWRados *_store) : store(_store), stats_map(store->ctx()->_conf->rgw_bucket_quota_cache_size) {
+    async_refcount = new RefCountedWaitObject;
+  }
+  ~RGWBucketStatsCache() {
+    async_refcount->put_wait(); /* wait for all pending async requests to complete */
+  }
+
+  int get_bucket_stats(rgw_bucket& bucket, RGWBucketStats& stats, RGWQuotaInfo& quota);
+  void adjust_bucket_stats(rgw_bucket& bucket, int objs_delta, uint64_t added_bytes, uint64_t removed_bytes);
+
+  bool can_use_cached_stats(RGWQuotaInfo& quota, RGWBucketStats& stats);
+
+  void set_stats(rgw_bucket& bucket, RGWQuotaBucketStats& qs, RGWBucketStats& stats);
+  int async_refresh(rgw_bucket& bucket, RGWQuotaBucketStats& qs);
+  void async_refresh_response(rgw_bucket& bucket, RGWBucketStats& stats);
+};
+
+bool RGWBucketStatsCache::can_use_cached_stats(RGWQuotaInfo& quota, RGWBucketStats& cached_stats)
+{
+  if (quota.max_size_kb >= 0) {
+    if (quota.max_size_soft_threshold < 0) {
+      quota.max_size_soft_threshold = quota.max_size_kb * store->ctx()->_conf->rgw_bucket_quota_soft_threshold;
+    }
+
+    if (cached_stats.num_kb_rounded >= (uint64_t)quota.max_size_soft_threshold) {
+      ldout(store->ctx(), 20) << "quota: can't use cached stats, exceeded soft threshold (size): "
+        << cached_stats.num_kb_rounded << " >= " << quota.max_size_soft_threshold << dendl;
+      return false;
+    }
+  }
+
+  if (quota.max_objects >= 0) {
+    if (quota.max_objs_soft_threshold < 0) {
+      quota.max_objs_soft_threshold = quota.max_objects * store->ctx()->_conf->rgw_bucket_quota_soft_threshold;
+    }
+
+    if (cached_stats.num_objects >= (uint64_t)quota.max_objs_soft_threshold) {
+      ldout(store->ctx(), 20) << "quota: can't use cached stats, exceeded soft threshold (num objs): "
+        << cached_stats.num_objects << " >= " << quota.max_objs_soft_threshold << dendl;
+      return false;
+    }
+  }
+
+  return true;
+}
+
+int RGWBucketStatsCache::fetch_bucket_totals(rgw_bucket& bucket, RGWBucketStats& stats)
+{
+  RGWBucketInfo bucket_info;
+
+  uint64_t bucket_ver;
+  uint64_t master_ver;
+
+  map<RGWObjCategory, RGWBucketStats> bucket_stats;
+  int r = store->get_bucket_stats(bucket, &bucket_ver, &master_ver, bucket_stats, NULL);
+  if (r < 0) {
+    ldout(store->ctx(), 0) << "could not get bucket info for bucket=" << bucket.name << dendl;
+    return r;
+  }
+
+  stats = RGWBucketStats();
+
+  map<RGWObjCategory, RGWBucketStats>::iterator iter;
+  for (iter = bucket_stats.begin(); iter != bucket_stats.end(); ++iter) {
+    RGWBucketStats& s = iter->second;
+    stats.num_kb += s.num_kb;
+    stats.num_kb_rounded += s.num_kb_rounded;
+    stats.num_objects += s.num_objects;
+  }
+
+  return 0;
+}
+
+class AsyncRefreshHandler : public RGWGetBucketStats_CB {
+  RGWRados *store;
+  RGWBucketStatsCache *cache;
+public:
+  AsyncRefreshHandler(RGWRados *_store, RGWBucketStatsCache *_cache, rgw_bucket& _bucket) : RGWGetBucketStats_CB(_bucket), store(_store), cache(_cache) {}
+
+  int init_fetch();
+
+  void handle_response(int r);
+};
+
+
+int AsyncRefreshHandler::init_fetch()
+{
+  ldout(store->ctx(), 20) << "initiating async quota refresh for bucket=" << bucket << dendl;
+  map<RGWObjCategory, RGWBucketStats> bucket_stats;
+  int r = store->get_bucket_stats_async(bucket, this);
+  if (r < 0) {
+    ldout(store->ctx(), 0) << "could not get bucket info for bucket=" << bucket.name << dendl;
+
+    /* get_bucket_stats_async() dropped our reference already */
+    return r;
+  }
+
+  return 0;
+}
+
+void AsyncRefreshHandler::handle_response(int r)
+{
+  if (r < 0) {
+    ldout(store->ctx(), 20) << "AsyncRefreshHandler::handle_response() r=" << r << dendl;
+    return; /* nothing to do here */
+  }
+
+  RGWBucketStats bs;
+
+  map<RGWObjCategory, RGWBucketStats>::iterator iter;
+  for (iter = stats->begin(); iter != stats->end(); ++iter) {
+    RGWBucketStats& s = iter->second;
+    bs.num_kb += s.num_kb;
+    bs.num_kb_rounded += s.num_kb_rounded;
+    bs.num_objects += s.num_objects;
+  }
+
+  cache->async_refresh_response(bucket, bs);
+}
+
+class RGWBucketStatsAsyncTestSet : public lru_map<rgw_bucket, RGWQuotaBucketStats>::UpdateContext {
+  int objs_delta;
+  uint64_t added_bytes;
+  uint64_t removed_bytes;
+public:
+  RGWBucketStatsAsyncTestSet() {}
+  bool update(RGWQuotaBucketStats *entry) {
+    if (entry->async_refresh_time.sec() == 0)
+      return false;
+
+    entry->async_refresh_time = utime_t(0, 0);
+
+    return true;
+  }
+};
+
+int RGWBucketStatsCache::async_refresh(rgw_bucket& bucket, RGWQuotaBucketStats& qs)
+{
+  /* protect against multiple updates */
+  RGWBucketStatsAsyncTestSet test_update;
+  if (!stats_map.find_and_update(bucket, NULL, &test_update)) {
+    /* most likely we just raced with another update */
+    return 0;
+  }
+
+  async_refcount->get();
+
+  AsyncRefreshHandler *handler = new AsyncRefreshHandler(store, this, bucket);
+
+  int ret = handler->init_fetch();
+  if (ret < 0) {
+    async_refcount->put();
+    handler->put();
+    return ret;
+  }
+
+  return 0;
+}
+
+void RGWBucketStatsCache::async_refresh_response(rgw_bucket& bucket, RGWBucketStats& stats)
+{
+  ldout(store->ctx(), 20) << "async stats refresh response for bucket=" << bucket << dendl;
+
+  RGWQuotaBucketStats qs;
+
+  stats_map.find(bucket, qs);
+
+  set_stats(bucket, qs, stats);
+
+  async_refcount->put();
+}
+
+void RGWBucketStatsCache::set_stats(rgw_bucket& bucket, RGWQuotaBucketStats& qs, RGWBucketStats& stats)
+{
+  qs.stats = stats;
+  qs.expiration = ceph_clock_now(store->ctx());
+  qs.async_refresh_time = qs.expiration;
+  qs.expiration += store->ctx()->_conf->rgw_bucket_quota_ttl;
+  qs.async_refresh_time += store->ctx()->_conf->rgw_bucket_quota_ttl / 2;
+
+  stats_map.add(bucket, qs);
+}
+
+int RGWBucketStatsCache::get_bucket_stats(rgw_bucket& bucket, RGWBucketStats& stats, RGWQuotaInfo& quota) {
+  RGWQuotaBucketStats qs;
+  utime_t now = ceph_clock_now(store->ctx());
+  if (stats_map.find(bucket, qs)) {
+    if (qs.async_refresh_time.sec() > 0 && now >= qs.async_refresh_time) {
+      int r = async_refresh(bucket, qs);
+      if (r < 0) {
+        ldout(store->ctx(), 0) << "ERROR: quota async refresh returned ret=" << r << dendl;
+
+        /* continue processing, might be a transient error, async refresh is just optimization */
+      }
+    }
+
+    if (can_use_cached_stats(quota, qs.stats) && qs.expiration > ceph_clock_now(store->ctx())) {
+      stats = qs.stats;
+      return 0;
+    }
+  }
+
+  int ret = fetch_bucket_totals(bucket, stats);
+  if (ret < 0 && ret != -ENOENT)
+    return ret;
+
+  set_stats(bucket, qs, stats);
+
+  return 0;
+}
+
+
+class RGWBucketStatsUpdate : public lru_map<rgw_bucket, RGWQuotaBucketStats>::UpdateContext {
+  int objs_delta;
+  uint64_t added_bytes;
+  uint64_t removed_bytes;
+public:
+  RGWBucketStatsUpdate(int _objs_delta, uint64_t _added_bytes, uint64_t _removed_bytes) : 
+                    objs_delta(_objs_delta), added_bytes(_added_bytes), removed_bytes(_removed_bytes) {}
+  bool update(RGWQuotaBucketStats *entry) {
+    uint64_t rounded_kb_added = rgw_rounded_kb(added_bytes);
+    uint64_t rounded_kb_removed = rgw_rounded_kb(removed_bytes);
+
+    entry->stats.num_kb_rounded += (rounded_kb_added - rounded_kb_removed);
+    entry->stats.num_kb += (added_bytes - removed_bytes) / 1024;
+    entry->stats.num_objects += objs_delta;
+
+    return true;
+  }
+};
+
+
+void RGWBucketStatsCache::adjust_bucket_stats(rgw_bucket& bucket, int objs_delta, uint64_t added_bytes, uint64_t removed_bytes)
+{
+  RGWBucketStatsUpdate update(objs_delta, added_bytes, removed_bytes);
+  stats_map.find_and_update(bucket, NULL, &update);
+}
+
+
+class RGWQuotaHandlerImpl : public RGWQuotaHandler {
+  RGWRados *store;
+  RGWBucketStatsCache stats_cache;
+public:
+  RGWQuotaHandlerImpl(RGWRados *_store) : store(_store), stats_cache(_store) {}
+  virtual int check_quota(rgw_bucket& bucket, RGWQuotaInfo& bucket_quota,
+			  uint64_t num_objs, uint64_t size) {
+    uint64_t size_kb = rgw_rounded_kb(size);
+    if (!bucket_quota.enabled) {
+      return 0;
+    }
+
+    RGWBucketStats stats;
+
+    int ret = stats_cache.get_bucket_stats(bucket, stats, bucket_quota);
+    if (ret < 0)
+      return ret;
+
+    ldout(store->ctx(), 20) << "bucket quota: max_objects=" << bucket_quota.max_objects
+                            << " max_size_kb=" << bucket_quota.max_size_kb << dendl;
+
+    if (bucket_quota.max_objects >= 0 &&
+        stats.num_objects + num_objs > (uint64_t)bucket_quota.max_objects) {
+      ldout(store->ctx(), 10) << "quota exceeded: stats.num_objects=" << stats.num_objects
+                              << " bucket_quota.max_objects=" << bucket_quota.max_objects << dendl;
+
+      return -ERR_QUOTA_EXCEEDED;
+    }
+    if (bucket_quota.max_size_kb >= 0 &&
+               stats.num_kb_rounded + size_kb > (uint64_t)bucket_quota.max_size_kb) {
+      ldout(store->ctx(), 10) << "quota exceeded: stats.num_kb_rounded=" << stats.num_kb_rounded << " size_kb=" << size_kb
+                              << " bucket_quota.max_size_kb=" << bucket_quota.max_size_kb << dendl;
+      return -ERR_QUOTA_EXCEEDED;
+    }
+
+    return 0;
+  }
+
+  virtual void update_stats(rgw_bucket& bucket, int obj_delta, uint64_t added_bytes, uint64_t removed_bytes) {
+    stats_cache.adjust_bucket_stats(bucket, obj_delta, added_bytes, removed_bytes);
+  };
+};
+
+
+RGWQuotaHandler *RGWQuotaHandler::generate_handler(RGWRados *store)
+{
+  return new RGWQuotaHandlerImpl(store);
+};
+
+void RGWQuotaHandler::free_handler(RGWQuotaHandler *handler)
+{
+  delete handler;
+}
diff --git a/src/rgw/rgw_quota.h b/src/rgw/rgw_quota.h
new file mode 100644
index 0000000..2f8f28e
--- /dev/null
+++ b/src/rgw/rgw_quota.h
@@ -0,0 +1,74 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank, Inc
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#ifndef CEPH_RGW_QUOTA_H
+#define CEPH_RGW_QUOTA_H
+
+
+#include "include/utime.h"
+#include "include/atomic.h"
+#include "common/lru_map.h"
+
+class RGWRados;
+class JSONObj;
+
+struct RGWQuotaInfo {
+  int64_t max_size_kb;
+  int64_t max_objects;
+  bool enabled;
+  int64_t max_size_soft_threshold;
+  int64_t max_objs_soft_threshold;
+
+  RGWQuotaInfo() : max_size_kb(-1), max_objects(-1), enabled(false),
+                   max_size_soft_threshold(-1), max_objs_soft_threshold(-1) {}
+
+  void encode(bufferlist& bl) const {
+    ENCODE_START(1, 1, bl);
+    ::encode(max_size_kb, bl);
+    ::encode(max_objects, bl);
+    ::encode(enabled, bl);
+    ENCODE_FINISH(bl);
+  }
+  void decode(bufferlist::iterator& bl) {
+    DECODE_START(1, bl);
+    ::decode(max_size_kb, bl);
+    ::decode(max_objects, bl);
+    ::decode(enabled, bl);
+    DECODE_FINISH(bl);
+  }
+
+  void dump(Formatter *f) const;
+
+  void decode_json(JSONObj *obj);
+
+};
+WRITE_CLASS_ENCODER(RGWQuotaInfo)
+
+class rgw_bucket;
+
+class RGWQuotaHandler {
+public:
+  RGWQuotaHandler() {}
+  virtual ~RGWQuotaHandler() {
+  }
+  virtual int check_quota(rgw_bucket& bucket, RGWQuotaInfo& bucket_quota,
+			  uint64_t num_objs, uint64_t size) = 0;
+
+  virtual void update_stats(rgw_bucket& bucket, int obj_delta, uint64_t added_bytes, uint64_t removed_bytes) = 0;
+
+  static RGWQuotaHandler *generate_handler(RGWRados *store);
+  static void free_handler(RGWQuotaHandler *handler);
+};
+
+#endif
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc
index 222b79a..55d4b92 100644
--- a/src/rgw/rgw_rados.cc
+++ b/src/rgw/rgw_rados.cc
@@ -82,18 +82,26 @@ void RGWDefaultRegionInfo::decode_json(JSONObj *obj) {
   JSONDecoder::decode_json("default_region", default_region, obj);
 }
 
-string RGWRegion::get_pool_name(CephContext *cct)
+int RGWRegion::get_pool_name(CephContext *cct, string *pool_name)
 {
-  string pool_name = cct->_conf->rgw_region_root_pool;
-  if (pool_name.empty()) {
-    pool_name = RGW_DEFAULT_REGION_ROOT_POOL;
+  *pool_name = cct->_conf->rgw_region_root_pool;
+  if (pool_name->empty()) {
+    *pool_name = RGW_DEFAULT_REGION_ROOT_POOL;
+  } else if ((*pool_name)[0] != '.') {
+    derr << "ERROR: region root pool name must start with a period" << dendl;
+    return -EINVAL;
   }
-  return pool_name;
+  return 0;
 }
 
 int RGWRegion::read_default(RGWDefaultRegionInfo& default_info)
 {
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0) {
+    return ret;
+  }
 
   string oid = cct->_conf->rgw_default_region_info_oid;
   if (oid.empty()) {
@@ -102,7 +110,7 @@ int RGWRegion::read_default(RGWDefaultRegionInfo& default_info)
 
   rgw_bucket pool(pool_name.c_str());
   bufferlist bl;
-  int ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
+  ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
   if (ret < 0)
     return ret;
 
@@ -121,7 +129,10 @@ int RGWRegion::read_default(RGWDefaultRegionInfo& default_info)
 
 int RGWRegion::set_as_default()
 {
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   string oid = cct->_conf->rgw_default_region_info_oid;
   if (oid.empty()) {
@@ -136,7 +147,7 @@ int RGWRegion::set_as_default()
 
   ::encode(default_info, bl);
 
-  int ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), false, NULL, 0, NULL);
+  ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), false, NULL, 0, NULL);
   if (ret < 0)
     return ret;
 
@@ -185,7 +196,11 @@ int RGWRegion::init(CephContext *_cct, RGWRados *_store, bool setup_region)
 
 int RGWRegion::read_info(const string& region_name)
 {
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
+
   rgw_bucket pool(pool_name.c_str());
   bufferlist bl;
 
@@ -193,7 +208,7 @@ int RGWRegion::read_info(const string& region_name)
 
   string oid = region_info_oid_prefix + name;
 
-  int ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
+  ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
   if (ret < 0) {
     lderr(cct) << "failed reading region info from " << pool << ":" << oid << ": " << cpp_strerror(-ret) << dendl;
     return ret;
@@ -246,7 +261,10 @@ int RGWRegion::create_default()
 
 int RGWRegion::store_info(bool exclusive)
 {
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   rgw_bucket pool(pool_name.c_str());
 
@@ -254,7 +272,7 @@ int RGWRegion::store_info(bool exclusive)
 
   bufferlist bl;
   ::encode(*this, bl);
-  int ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), exclusive, NULL, 0, NULL);
+  ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), exclusive, NULL, 0, NULL);
 
   return ret;
 }
@@ -293,13 +311,17 @@ void RGWZoneParams::init_default(RGWRados *store)
   }
 }
 
-string RGWZoneParams::get_pool_name(CephContext *cct)
+int RGWZoneParams::get_pool_name(CephContext *cct, string *pool_name)
 {
-  string pool_name = cct->_conf->rgw_zone_root_pool;
-  if (pool_name.empty()) {
-    pool_name = RGW_DEFAULT_ZONE_ROOT_POOL;
+  *pool_name = cct->_conf->rgw_zone_root_pool;
+  if (pool_name->empty()) {
+    *pool_name = RGW_DEFAULT_ZONE_ROOT_POOL;
+  } else if ((*pool_name)[0] != '.') {
+    derr << "ERROR: zone root pool name must start with a period" << dendl;
+    return -EINVAL;
   }
-  return pool_name;
+
+  return 0;
 }
 
 void RGWZoneParams::init_name(CephContext *cct, RGWRegion& region)
@@ -319,13 +341,16 @@ int RGWZoneParams::init(CephContext *cct, RGWRados *store, RGWRegion& region)
 {
   init_name(cct, region);
 
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   rgw_bucket pool(pool_name.c_str());
   bufferlist bl;
 
   string oid = zone_info_oid_prefix + name;
-  int ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
+  ret = rgw_get_system_obj(store, NULL, pool, oid, bl, NULL, NULL);
   if (ret < 0)
     return ret;
 
@@ -337,6 +362,10 @@ int RGWZoneParams::init(CephContext *cct, RGWRados *store, RGWRegion& region)
     return -EIO;
   }
 
+  is_master = (name == region.master_zone) || (region.master_zone.empty() && name == "default");
+
+  ldout(cct, 2) << "zone " << name << " is " << (is_master ? "" : "NOT ") << "master" << dendl;
+
   return 0;
 }
 
@@ -344,29 +373,36 @@ int RGWZoneParams::store_info(CephContext *cct, RGWRados *store, RGWRegion& regi
 {
   init_name(cct, region);
 
-  string pool_name = get_pool_name(cct);
+  string pool_name;
+  int ret = get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   rgw_bucket pool(pool_name.c_str());
   string oid = zone_info_oid_prefix + name;
 
   bufferlist bl;
   ::encode(*this, bl);
-  int ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), false, NULL, 0, NULL);
+  ret = rgw_put_system_obj(store, pool, oid, bl.c_str(), bl.length(), false, NULL, 0, NULL);
 
   return ret;
 }
 
 void RGWRegionMap::encode(bufferlist& bl) const {
-  ENCODE_START(1, 1, bl);
+  ENCODE_START(2, 1, bl);
   ::encode(regions, bl);
   ::encode(master_region, bl);
+  ::encode(bucket_quota, bl);
   ENCODE_FINISH(bl);
 }
 
 void RGWRegionMap::decode(bufferlist::iterator& bl) {
-  DECODE_START(1, bl);
+  DECODE_START(2, bl);
   ::decode(regions, bl);
   ::decode(master_region, bl);
+
+  if (struct_v >= 2)
+    ::decode(bucket_quota, bl);
   DECODE_FINISH(bl);
 
   regions_by_api.clear();
@@ -741,7 +777,7 @@ void RGWPutObjProcessor_Atomic::complete_parts()
     prepare_next_part(obj_len);
 }
 
-int RGWPutObjProcessor_Atomic::do_complete(string& etag, time_t *mtime, time_t set_mtime, map<string, bufferlist>& attrs)
+int RGWPutObjProcessor_Atomic::complete_writing_data()
 {
   if (!data_ofs && !immutable_head()) {
     first_chunk.claim(pending_data_bl);
@@ -762,6 +798,18 @@ int RGWPutObjProcessor_Atomic::do_complete(string& etag, time_t *mtime, time_t s
   }
   complete_parts();
 
+  int r = drain_pending();
+  if (r < 0)
+    return r;
+
+  return 0;
+}
+
+int RGWPutObjProcessor_Atomic::do_complete(string& etag, time_t *mtime, time_t set_mtime, map<string, bufferlist>& attrs) {
+  int r = complete_writing_data();
+  if (r < 0)
+    return r;
+
   store->set_atomic(obj_ctx, head_obj);
 
   RGWRados::PutObjMetaExtraParams extra_params;
@@ -772,9 +820,9 @@ int RGWPutObjProcessor_Atomic::do_complete(string& etag, time_t *mtime, time_t s
   extra_params.mtime = mtime;
   extra_params.set_mtime = set_mtime;
 
-  int r = store->put_obj_meta(obj_ctx, head_obj, obj_len, attrs,
-                              RGW_OBJ_CATEGORY_MAIN, PUT_OBJ_CREATE,
-			      extra_params);
+  r = store->put_obj_meta(obj_ctx, head_obj, obj_len, attrs,
+                          RGW_OBJ_CATEGORY_MAIN, PUT_OBJ_CREATE,
+                          extra_params);
   return r;
 }
 
@@ -817,6 +865,9 @@ void RGWRadosCtx::set_prefetch_data(rgw_obj& obj) {
 
 void RGWRados::finalize()
 {
+  if (need_watch_notify()) {
+    finalize_watch();
+  }
   delete meta_mgr;
   delete data_log;
   if (use_gc_thread) {
@@ -836,6 +887,7 @@ void RGWRados::finalize()
     RGWRESTConn *conn = iter->second;
     delete conn;
   }
+  RGWQuotaHandler::free_handler(quota_handler);
 }
 
 /** 
@@ -882,7 +934,9 @@ int RGWRados::init_complete()
 
   ret = region_map.read(cct, this);
   if (ret < 0) {
-    ldout(cct, 0) << "WARNING: cannot read region map" << dendl;
+    if (ret != -ENOENT) {
+      ldout(cct, 0) << "WARNING: cannot read region map" << dendl;
+    }
     ret = region_map.update(region);
     if (ret < 0) {
       ldout(cct, 0) << "ERROR: failed to update regionmap with local region info" << dendl;
@@ -909,6 +963,14 @@ int RGWRados::init_complete()
     }
   }
 
+  if (need_watch_notify()) {
+    ret = init_watch();
+    if (ret < 0) {
+      lderr(cct) << "ERROR: failed to initialize watch" << dendl;
+      return ret;
+    }
+  }
+
   map<string, RGWZone>::iterator ziter;
   for (ziter = region.zones.begin(); ziter != region.zones.end(); ++ziter) {
     const string& name = ziter->first;
@@ -937,6 +999,8 @@ int RGWRados::init_complete()
   if (use_gc_thread)
     gc->start_processor();
 
+  quota_handler = RGWQuotaHandler::generate_handler(this);
+
   return ret;
 }
 
@@ -1000,14 +1064,20 @@ int RGWRados::list_raw_prefixed_objs(string pool_name, const string& prefix, lis
 
 int RGWRados::list_regions(list<string>& regions)
 {
-  string pool_name = RGWRegion::get_pool_name(cct);
+  string pool_name;
+  int ret = RGWRegion::get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   return list_raw_prefixed_objs(pool_name, region_info_oid_prefix, regions);
 }
 
 int RGWRados::list_zones(list<string>& zones)
 {
-  string pool_name = RGWZoneParams::get_pool_name(cct);
+  string pool_name;
+  int ret = RGWZoneParams::get_pool_name(cct, &pool_name);
+  if (ret < 0)
+    return ret;
 
   return list_raw_prefixed_objs(pool_name, zone_info_oid_prefix, zones);
 }
@@ -1098,6 +1168,8 @@ int RGWRados::init_watch()
       return r;
   }
 
+  watch_initialized = true;
+
   return 0;
 }
 
@@ -1518,7 +1590,10 @@ int RGWRados::time_log_add(const string& oid, list<cls_log_entry>& entries)
 }
 
 int RGWRados::time_log_list(const string& oid, utime_t& start_time, utime_t& end_time,
-                            int max_entries, list<cls_log_entry>& entries, string& marker, bool *truncated)
+                            int max_entries, list<cls_log_entry>& entries,
+			    const string& marker,
+			    string *out_marker,
+			    bool *truncated)
 {
   librados::IoCtx io_ctx;
 
@@ -1528,7 +1603,8 @@ int RGWRados::time_log_list(const string& oid, utime_t& start_time, utime_t& end
     return r;
   librados::ObjectReadOperation op;
 
-  cls_log_list(op, start_time, end_time, marker, max_entries, entries, &marker, truncated);
+  cls_log_list(op, start_time, end_time, marker, max_entries, entries,
+	       out_marker, truncated);
 
   bufferlist obl;
 
@@ -2157,8 +2233,8 @@ int RGWRados::create_pools(vector<string>& names, vector<int>& retcodes)
       if (r < 0) {
         ldout(cct, 0) << "WARNING: async pool_create returned " << r << dendl;
       }
-      c->release();
     }
+    c->release();
     retcodes.push_back(r);
   }
   return 0;
@@ -2315,6 +2391,11 @@ int RGWRados::put_obj_meta_impl(void *ctx, rgw_obj& obj,  uint64_t size,
     *mtime = set_mtime;
   }
 
+  if (state) {
+    /* update quota cache */
+    quota_handler->update_stats(bucket, (state->exists ? 0 : 1), size, state->size);
+  }
+
   return 0;
 
 done_cancel:
@@ -2468,6 +2549,22 @@ static void set_copy_attrs(map<string, bufferlist>& src_attrs, map<string, buffe
   }
 }
 
+class GetObjHandleDestructor {
+  RGWRados *store;
+  void **handle;
+
+public:
+    GetObjHandleDestructor(RGWRados *_store) : store(_store), handle(NULL) {}
+    ~GetObjHandleDestructor() {
+      if (handle) {
+        store->finish_get_obj(handle);
+      }
+    }
+    void set_handle(void **_h) {
+      handle = _h;
+    }
+};
+
 /**
  * Copy an object.
  * dest_obj: the object to copy into
@@ -2522,6 +2619,7 @@ int RGWRados::copy_obj(void *ctx,
   ldout(cct, 5) << "Copy object " << src_obj.bucket << ":" << src_obj.object << " => " << dest_obj.bucket << ":" << dest_obj.object << dendl;
 
   void *handle = NULL;
+  GetObjHandleDestructor handle_destructor(this);
 
   map<string, bufferlist> src_attrs;
   off_t ofs = 0;
@@ -2531,6 +2629,8 @@ int RGWRados::copy_obj(void *ctx,
                   mod_ptr, unmod_ptr, &lastmod, if_match, if_nomatch, &total_len, &obj_size, NULL, &handle, err);
     if (ret < 0)
       return ret;
+
+    handle_destructor.set_handle(&handle);
   } else {
     /* source is in a different region, copy it there */
 
@@ -2673,7 +2773,7 @@ set_err_state:
 
     return 0;
   } else if (copy_data) { /* refcounting tail wouldn't work here, just copy the data */
-    return copy_obj_data(ctx, handle, end, dest_obj, src_obj, mtime, src_attrs, category, ptag, err);
+    return copy_obj_data(ctx, &handle, end, dest_obj, src_obj, mtime, src_attrs, category, ptag, err);
   }
 
   map<uint64_t, RGWObjManifestPart>::iterator miter = astate->manifest.objs.begin();
@@ -2778,7 +2878,7 @@ done_ret:
 
 
 int RGWRados::copy_obj_data(void *ctx,
-	       void *handle, off_t end,
+	       void **handle, off_t end,
                rgw_obj& dest_obj,
                rgw_obj& src_obj,
 	       time_t *mtime,
@@ -2804,7 +2904,7 @@ int RGWRados::copy_obj_data(void *ctx,
 
   do {
     bufferlist bl;
-    ret = get_obj(ctx, NULL, &handle, src_obj, bl, ofs, end);
+    ret = get_obj(ctx, NULL, handle, src_obj, bl, ofs, end);
     if (ret < 0)
       return ret;
 
@@ -2851,12 +2951,9 @@ int RGWRados::copy_obj_data(void *ctx,
   if (mtime)
     obj_stat(ctx, dest_obj, NULL, mtime, NULL, NULL, NULL, NULL);
 
-  finish_get_obj(&handle);
-
   return ret;
 done_err:
   delete_obj(ctx, shadow_obj);
-  finish_get_obj(&handle);
   return r;
 }
 
@@ -3168,6 +3265,11 @@ int RGWRados::delete_obj_impl(void *ctx, rgw_obj& obj, RGWObjVersionTracker *obj
   if (ret_not_existed)
     return -ENOENT;
 
+  if (state) {
+    /* update quota cache */
+    quota_handler->update_stats(bucket, -1, 0, state->size);
+  }
+
   return 0;
 }
 
@@ -4555,6 +4657,38 @@ int RGWRados::get_bucket_stats(rgw_bucket& bucket, uint64_t *bucket_ver, uint64_
   return 0;
 }
 
+class RGWGetBucketStatsContext : public RGWGetDirHeader_CB {
+  RGWGetBucketStats_CB *cb;
+
+public:
+  RGWGetBucketStatsContext(RGWGetBucketStats_CB *_cb) : cb(_cb) {}
+  void handle_response(int r, rgw_bucket_dir_header& header) {
+    map<RGWObjCategory, RGWBucketStats> stats;
+
+    if (r >= 0) {
+      translate_raw_stats(header, stats);
+      cb->set_response(header.ver, header.master_ver, &stats, header.max_marker);
+    }
+
+    cb->handle_response(r);
+
+    cb->put();
+  }
+};
+
+int RGWRados::get_bucket_stats_async(rgw_bucket& bucket, RGWGetBucketStats_CB *ctx)
+{
+  RGWGetBucketStatsContext *get_ctx = new RGWGetBucketStatsContext(ctx);
+  int r = cls_bucket_head_async(bucket, get_ctx);
+  if (r < 0) {
+    ctx->put();
+    delete get_ctx;
+    return r;
+  }
+
+  return 0;
+}
+
 void RGWRados::get_bucket_instance_entry(rgw_bucket& bucket, string& entry)
 {
   entry = bucket.name + ":" + bucket.bucket_id;
@@ -4892,6 +5026,14 @@ int RGWRados::append_async(rgw_obj& obj, size_t size, bufferlist& bl)
 
 int RGWRados::distribute(const string& key, bufferlist& bl)
 {
+  /*
+   * we were called before watch was initialized. This can only happen if we're updating some system
+   * config object (e.g., zone info) during init. Don't try to distribute the cache info for these
+   * objects, they're currently only read on startup anyway.
+   */
+  if (!watch_initialized)
+    return 0;
+
   string notify_oid;
   pick_control_oid(key, notify_oid);
 
@@ -5429,6 +5571,25 @@ int RGWRados::cls_bucket_head(rgw_bucket& bucket, struct rgw_bucket_dir_header&
   return 0;
 }
 
+int RGWRados::cls_bucket_head_async(rgw_bucket& bucket, RGWGetDirHeader_CB *ctx)
+{
+  librados::IoCtx index_ctx;
+  string oid;
+  int r = open_bucket_index(bucket, index_ctx, oid);
+  if (r < 0)
+    return r;
+
+  r = cls_rgw_get_dir_header_async(index_ctx, oid, ctx);
+  if (r < 0)
+    return r;
+
+  return 0;
+}
+
+int RGWRados::check_quota(rgw_bucket& bucket, RGWQuotaInfo& quota_info, uint64_t obj_size)
+{
+  return quota_handler->check_quota(bucket, quota_info, 1, obj_size);
+}
 
 class IntentLogNameFilter : public RGWAccessListFilter
 {
diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h
index d01f76e..476572c 100644
--- a/src/rgw/rgw_rados.h
+++ b/src/rgw/rgw_rados.h
@@ -238,11 +238,11 @@ class RGWPutObjProcessor_Aio : public RGWPutObjProcessor
   struct put_obj_aio_info pop_pending();
   int wait_pending_front();
   bool pending_has_completed();
-  int drain_pending();
 
 protected:
   uint64_t obj_len;
 
+  int drain_pending();
   int handle_obj_data(rgw_obj& obj, bufferlist& bl, off_t ofs, off_t abs_ofs, void **phandle);
 
 public:
@@ -284,6 +284,7 @@ protected:
 
   void prepare_next_part(off_t ofs);
   void complete_parts();
+  int complete_writing_data();
 
 public:
   ~RGWPutObjProcessor_Atomic() {}
@@ -427,12 +428,15 @@ struct RGWZoneParams {
   rgw_bucket user_uid_pool;
 
   string name;
+  bool is_master;
 
   RGWAccessKey system_key;
 
   map<string, RGWZonePlacementInfo> placement_pools;
 
-  static string get_pool_name(CephContext *cct);
+  RGWZoneParams() : is_master(false) {}
+
+  static int get_pool_name(CephContext *cct, string *pool_name);
   void init_name(CephContext *cct, RGWRegion& region);
   int init(CephContext *cct, RGWRados *store, RGWRegion& region);
   void init_default(RGWRados *store);
@@ -621,7 +625,7 @@ struct RGWRegion {
   int set_as_default();
   int equals(const string& other_region);
 
-  static string get_pool_name(CephContext *cct);
+  static int get_pool_name(CephContext *cct, string *pool_name);
 
   void dump(Formatter *f) const;
   void decode_json(JSONObj *obj);
@@ -635,6 +639,8 @@ struct RGWRegionMap {
 
   string master_region;
 
+  RGWQuotaInfo bucket_quota;
+
   RGWRegionMap() : lock("RGWRegionMap") {}
 
   void encode(bufferlist& bl) const;
@@ -758,6 +764,29 @@ public:
   int renew_state();
 };
 
+class RGWGetBucketStats_CB : public RefCountedObject {
+protected:
+  rgw_bucket bucket;
+  uint64_t bucket_ver;
+  uint64_t master_ver;
+  map<RGWObjCategory, RGWBucketStats> *stats;
+  string max_marker;
+public:
+  RGWGetBucketStats_CB(rgw_bucket& _bucket) : bucket(_bucket), stats(NULL) {}
+  virtual ~RGWGetBucketStats_CB() {}
+  virtual void handle_response(int r) = 0;
+  virtual void set_response(uint64_t _bucket_ver, uint64_t _master_ver,
+                            map<RGWObjCategory, RGWBucketStats> *_stats,
+                            const string &_max_marker) {
+    bucket_ver = _bucket_ver;
+    master_ver = _master_ver;
+    stats = _stats;
+    max_marker = _max_marker;
+  }
+};
+
+class RGWGetDirHeader_CB;
+
 
 class RGWRados
 {
@@ -801,6 +830,7 @@ class RGWRados
   uint64_t *watch_handles;
   librados::IoCtx root_pool_ctx;      // .rgw
   librados::IoCtx control_pool_ctx;   // .rgw.control
+  bool watch_initialized;
 
   Mutex bucket_id_lock;
   uint64_t max_bucket_id;
@@ -860,13 +890,17 @@ protected:
   string region_name;
   string zone_name;
 
+  RGWQuotaHandler *quota_handler;
+
 public:
   RGWRados() : lock("rados_timer_lock"), timer(NULL),
                gc(NULL), use_gc_thread(false),
                num_watchers(0), watchers(NULL), watch_handles(NULL),
+               watch_initialized(false),
                bucket_id_lock("rados_bucket_id"), max_bucket_id(0),
                cct(NULL), rados(NULL),
                pools_initialized(false),
+               quota_handler(NULL),
                rest_master_conn(NULL),
                meta_mgr(NULL), data_log(NULL) {}
 
@@ -1127,7 +1161,7 @@ public:
                void *progress_data);
 
   int copy_obj_data(void *ctx,
-	       void *handle, off_t end,
+	       void **handle, off_t end,
                rgw_obj& dest_obj,
                rgw_obj& src_obj,
 	       time_t *mtime,
@@ -1254,6 +1288,7 @@ public:
   virtual int update_containers_stats(map<string, RGWBucketEnt>& m);
   virtual int append_async(rgw_obj& obj, size_t size, bufferlist& bl);
 
+  virtual bool need_watch_notify() { return false; }
   virtual int init_watch();
   virtual void finalize_watch();
   virtual int distribute(const string& key, bufferlist& bl);
@@ -1286,6 +1321,7 @@ public:
   int decode_policy(bufferlist& bl, ACLOwner *owner);
   int get_bucket_stats(rgw_bucket& bucket, uint64_t *bucket_ver, uint64_t *master_ver, map<RGWObjCategory, RGWBucketStats>& stats,
                        string *max_marker);
+  int get_bucket_stats_async(rgw_bucket& bucket, RGWGetBucketStats_CB *cb);
   void get_bucket_instance_obj(rgw_bucket& bucket, rgw_obj& obj);
   void get_bucket_instance_entry(rgw_bucket& bucket, string& entry);
   void get_bucket_meta_oid(rgw_bucket& bucket, string& oid);
@@ -1317,6 +1353,7 @@ public:
                       map<string, RGWObjEnt>& m, bool *is_truncated,
                       string *last_entry, bool (*force_check_filter)(const string&  name) = NULL);
   int cls_bucket_head(rgw_bucket& bucket, struct rgw_bucket_dir_header& header);
+  int cls_bucket_head_async(rgw_bucket& bucket, RGWGetDirHeader_CB *ctx);
   int prepare_update_index(RGWObjState *state, rgw_bucket& bucket,
                            RGWModifyOp op, rgw_obj& oid, string& tag);
   int complete_update_index(rgw_bucket& bucket, string& oid, string& tag, int64_t poolid, uint64_t epoch, uint64_t size,
@@ -1348,7 +1385,8 @@ public:
   int time_log_add(const string& oid, list<cls_log_entry>& entries);
   int time_log_add(const string& oid, const utime_t& ut, const string& section, const string& key, bufferlist& bl);
   int time_log_list(const string& oid, utime_t& start_time, utime_t& end_time,
-                    int max_entries, list<cls_log_entry>& entries, string& marker, bool *truncated);
+                    int max_entries, list<cls_log_entry>& entries,
+		    const string& marker, string *out_marker, bool *truncated);
   int time_log_info(const string& oid, cls_log_header *header);
   int time_log_trim(const string& oid, const utime_t& start_time, const utime_t& end_time,
                     const string& from_marker, const string& to_marker);
@@ -1372,6 +1410,8 @@ public:
   int bucket_rebuild_index(rgw_bucket& bucket);
   int remove_objs_from_index(rgw_bucket& bucket, list<string>& oid_list);
 
+  int check_quota(rgw_bucket& bucket, RGWQuotaInfo& quota_info, uint64_t obj_size);
+
   string unique_id(uint64_t unique_num) {
     char buf[32];
     snprintf(buf, sizeof(buf), ".%llu.%llu", (unsigned long long)instance_id(), (unsigned long long)unique_num);
diff --git a/src/rgw/rgw_replica_log.cc b/src/rgw/rgw_replica_log.cc
index 483d256..f80ebf8 100644
--- a/src/rgw/rgw_replica_log.cc
+++ b/src/rgw/rgw_replica_log.cc
@@ -34,6 +34,15 @@ RGWReplicaLogger::RGWReplicaLogger(RGWRados *_store) :
 int RGWReplicaLogger::open_ioctx(librados::IoCtx& ctx, const string& pool)
 {
   int r = store->rados->ioctx_create(pool.c_str(), ctx);
+  if (r == -ENOENT) {
+    rgw_bucket p(pool.c_str());
+    r = store->create_pool(p);
+    if (r < 0)
+      return r;
+
+    // retry
+    r = store->rados->ioctx_create(pool.c_str(), ctx);
+  }
   if (r < 0) {
     lderr(cct) << "ERROR: could not open rados pool " << pool << dendl;
   }
diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc
index 571e486..30cb0d9 100644
--- a/src/rgw/rgw_rest.cc
+++ b/src/rgw/rgw_rest.cc
@@ -377,6 +377,20 @@ void dump_access_control(struct req_state *s, const char *origin, const char *me
   }
 }
 
+void dump_access_control(req_state *s, RGWOp *op)
+{
+  string origin;
+  string method;
+  string header;
+  string exp_header;
+  unsigned max_age = CORS_MAX_AGE_INVALID;
+
+  if (!op->generate_cors_headers(origin, method, header, exp_header, &max_age))
+    return;
+
+  dump_access_control(s, origin.c_str(), method.c_str(), header.c_str(), exp_header.c_str(), max_age);
+}
+
 void dump_start(struct req_state *s)
 {
   if (!s->content_started) {
@@ -386,10 +400,14 @@ void dump_start(struct req_state *s)
   }
 }
 
-void end_header(struct req_state *s, const char *content_type)
+void end_header(struct req_state *s, RGWOp *op, const char *content_type)
 {
   string ctype;
 
+  if (op) {
+    dump_access_control(s, op);
+  }
+
   if (!content_type || s->err.is_err()) {
     switch (s->format) {
     case RGW_FORMAT_XML:
@@ -424,7 +442,7 @@ void end_header(struct req_state *s, const char *content_type)
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
-void abort_early(struct req_state *s, int err_no)
+void abort_early(struct req_state *s, RGWOp *op, int err_no)
 {
   if (!s->formatter) {
     s->formatter = new JSONFormatter;
@@ -432,7 +450,7 @@ void abort_early(struct req_state *s, int err_no)
   }
   set_req_state_err(s, err_no);
   dump_errno(s);
-  end_header(s);
+  end_header(s, op);
   rgw_flush_formatter_and_reset(s, s->formatter);
   perfcounter->inc(l_rgw_failed_req);
 }
@@ -644,7 +662,7 @@ void RGWRESTFlusher::do_start(int ret)
   set_req_state_err(s, ret); /* no going back from here */
   dump_errno(s);
   dump_start(s);
-  end_header(s);
+  end_header(s, op);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -691,7 +709,7 @@ int RGWPutObj_ObjStore::get_data(bufferlist& bl)
     int r = s->cio->read(bp.c_str(), cl, &read_len);
     len = read_len;
     if (r < 0)
-      return ret;
+      return r;
     bl.append(bp, 0, len);
   }
 
@@ -888,7 +906,7 @@ int RGWListBucketMultiparts_ObjStore::get_params()
 
 int RGWDeleteMultiObj_ObjStore::get_params()
 {
-  bucket_name = s->bucket_name;
+  bucket_name = s->bucket_name_str;
 
   if (bucket_name.empty()) {
     ret = -EINVAL;
@@ -927,7 +945,7 @@ void RGWRESTOp::send_response()
   if (!flusher.did_start()) {
     set_req_state_err(s, http_ret);
     dump_errno(s);
-    end_header(s);
+    end_header(s, this);
   }
   flusher.flush();
 }
@@ -1042,6 +1060,7 @@ int RGWHandler_ObjStore::read_permissions(RGWOp *op_obj)
     break;
   case OP_PUT:
   case OP_POST:
+  case OP_COPY:
     /* is it a 'multi-object delete' request? */
     if (s->info.request_params == "delete") {
       only_bucket = true;
@@ -1059,10 +1078,8 @@ int RGWHandler_ObjStore::read_permissions(RGWOp *op_obj)
   case OP_DELETE:
     only_bucket = true;
     break;
-  case OP_COPY: // op itself will read and verify the permissions
-    return 0;
   case OP_OPTIONS:
-    only_bucket = false;
+    only_bucket = true;
     break;
   default:
     return -EINVAL;
diff --git a/src/rgw/rgw_rest.h b/src/rgw/rgw_rest.h
index b65efb3..15ac863 100644
--- a/src/rgw/rgw_rest.h
+++ b/src/rgw/rgw_rest.h
@@ -33,15 +33,17 @@ public:
 
 class RGWRESTFlusher : public RGWFormatterFlusher {
   struct req_state *s;
+  RGWOp *op;
 protected:
   virtual void do_flush();
   virtual void do_start(int ret);
 public:
-  RGWRESTFlusher(struct req_state *_s) : RGWFormatterFlusher(_s->formatter), s(_s) {}
-  RGWRESTFlusher() : RGWFormatterFlusher(NULL), s(NULL) {}
+  RGWRESTFlusher(struct req_state *_s, RGWOp *_op) : RGWFormatterFlusher(_s->formatter), s(_s), op(_op) {}
+  RGWRESTFlusher() : RGWFormatterFlusher(NULL), s(NULL), op(NULL) {}
 
-  void init(struct req_state *_s) {
+  void init(struct req_state *_s, RGWOp *_op) {
     s = _s;
+    op = _op;
     set_formatter(s->formatter);
   }
 };
@@ -228,7 +230,7 @@ public:
   RGWRESTOp() : http_ret(0) {}
   virtual void init(RGWRados *store, struct req_state *s, RGWHandler *dialect_handler) {
     RGWOp::init(store, s, dialect_handler);
-    flusher.init(s);
+    flusher.init(s, this);
   }
   virtual void send_response();
   virtual int check_caps(RGWUserCaps& caps) { return -EPERM; } /* should to be implemented! */
@@ -310,7 +312,7 @@ public:
 extern void set_req_state_err(struct req_state *s, int err_no);
 extern void dump_errno(struct req_state *s);
 extern void dump_errno(struct req_state *s, int ret);
-extern void end_header(struct req_state *s, const char *content_type = NULL);
+extern void end_header(struct req_state *s, RGWOp *op = NULL, const char *content_type = NULL);
 extern void dump_start(struct req_state *s);
 extern void list_all_buckets_start(struct req_state *s);
 extern void dump_owner(struct req_state *s, string& id, string& name, const char *section = NULL);
@@ -318,7 +320,7 @@ extern void dump_content_length(struct req_state *s, uint64_t len);
 extern void dump_etag(struct req_state *s, const char *etag);
 extern void dump_epoch_header(struct req_state *s, const char *name, time_t t);
 extern void dump_last_modified(struct req_state *s, time_t t);
-extern void abort_early(struct req_state *s, int err);
+extern void abort_early(struct req_state *s, RGWOp *op, int err);
 extern void dump_range(struct req_state *s, uint64_t ofs, uint64_t end, uint64_t total_size);
 extern void dump_continue(struct req_state *s);
 extern void list_all_buckets_end(struct req_state *s);
@@ -331,6 +333,7 @@ extern void dump_pair(struct req_state *s, const char *key, const char *value);
 extern bool is_valid_url(const char *url);
 extern void dump_access_control(struct req_state *s, const char *origin, const char *meth,
                          const char *hdr, const char *exp_hdr, uint32_t max_age);
+extern void dump_access_control(req_state *s, RGWOp *op);
 
 
 #endif
diff --git a/src/rgw/rgw_rest_client.cc b/src/rgw/rgw_rest_client.cc
index ea80b5b..7f4e2b6 100644
--- a/src/rgw/rgw_rest_client.cc
+++ b/src/rgw/rgw_rest_client.cc
@@ -540,7 +540,10 @@ int RGWRESTStreamWriteRequest::complete(string& etag, time_t *mtime)
 
 int RGWRESTStreamReadRequest::get_obj(RGWAccessKey& key, map<string, string>& extra_headers, rgw_obj& obj)
 {
-  string resource = obj.bucket.name + "/" + obj.object;
+  string urlsafe_bucket, urlsafe_object;
+  url_encode(obj.bucket.name, urlsafe_bucket);
+  url_encode(obj.object, urlsafe_object);
+  string resource = urlsafe_bucket + "/" + urlsafe_object;
   string new_url = url;
   if (new_url[new_url.size() - 1] != '/')
     new_url.append("/");
diff --git a/src/rgw/rgw_rest_log.cc b/src/rgw/rgw_rest_log.cc
index 74e3c44..2de424f 100644
--- a/src/rgw/rgw_rest_log.cc
+++ b/src/rgw/rgw_rest_log.cc
@@ -79,9 +79,9 @@ void RGWOp_MDLog_List::execute() {
 
   meta_log->init_list_entries(shard_id, ut_st, ut_et, marker, &handle);
 
-  bool truncated;
   do {
-    http_ret = meta_log->list_entries(handle, max_entries, entries, &truncated);
+    http_ret = meta_log->list_entries(handle, max_entries, entries,
+				      &last_marker, &truncated);
     if (http_ret < 0) 
       break;
 
@@ -100,12 +100,18 @@ void RGWOp_MDLog_List::send_response() {
   if (http_ret < 0)
     return;
 
-  s->formatter->open_array_section("entries");
-  for (list<cls_log_entry>::iterator iter = entries.begin(); 
-       iter != entries.end(); ++iter) {
-    cls_log_entry& entry = *iter;
-    store->meta_mgr->dump_log_entry(entry, s->formatter);
-    flusher.flush();
+  s->formatter->open_object_section("log_entries");
+  s->formatter->dump_string("marker", last_marker);
+  s->formatter->dump_bool("truncated", truncated);
+  {
+    s->formatter->open_array_section("entries");
+    for (list<cls_log_entry>::iterator iter = entries.begin();
+	 iter != entries.end(); ++iter) {
+      cls_log_entry& entry = *iter;
+      store->meta_mgr->dump_log_entry(entry, s->formatter);
+      flusher.flush();
+    }
+    s->formatter->close_section();
   }
   s->formatter->close_section();
   flusher.flush();
@@ -471,10 +477,12 @@ void RGWOp_DATALog_List::execute() {
     }
   } 
   
-  bool truncated;
   do {
+    // Note that last_marker is updated to be the marker of the last
+    // entry listed
     http_ret = store->data_log->list_entries(shard_id, ut_st, ut_et, 
-                               max_entries, entries, marker, &truncated);
+					     max_entries, entries, marker,
+					     &last_marker, &truncated);
     if (http_ret < 0) 
       break;
 
@@ -491,12 +499,18 @@ void RGWOp_DATALog_List::send_response() {
   if (http_ret < 0)
     return;
 
-  s->formatter->open_array_section("entries");
-  for (list<rgw_data_change>::iterator iter = entries.begin(); 
-       iter != entries.end(); ++iter) {
-    rgw_data_change& entry = *iter;
-    encode_json("entry", entry, s->formatter);
-    flusher.flush();
+  s->formatter->open_object_section("log_entries");
+  s->formatter->dump_string("marker", last_marker);
+  s->formatter->dump_bool("truncated", truncated);
+  {
+    s->formatter->open_array_section("entries");
+    for (list<rgw_data_change>::iterator iter = entries.begin();
+	 iter != entries.end(); ++iter) {
+      rgw_data_change& entry = *iter;
+      encode_json("entry", entry, s->formatter);
+      flusher.flush();
+    }
+    s->formatter->close_section();
   }
   s->formatter->close_section();
   flusher.flush();
diff --git a/src/rgw/rgw_rest_log.h b/src/rgw/rgw_rest_log.h
index 2d60e28..ff1bf34 100644
--- a/src/rgw/rgw_rest_log.h
+++ b/src/rgw/rgw_rest_log.h
@@ -74,9 +74,11 @@ public:
 
 class RGWOp_MDLog_List : public RGWRESTOp {
   list<cls_log_entry> entries;
+  string last_marker;
+  bool truncated;
   int http_ret;
 public:
-  RGWOp_MDLog_List() : http_ret(0) {}
+  RGWOp_MDLog_List() : truncated(false), http_ret(0) {}
   ~RGWOp_MDLog_List() {}
 
   int check_caps(RGWUserCaps& caps) {
@@ -175,9 +177,11 @@ public:
 
 class RGWOp_DATALog_List : public RGWRESTOp {
   list<rgw_data_change> entries;
+  string last_marker;
+  bool truncated;
   int http_ret;
 public:
-  RGWOp_DATALog_List() : http_ret(0) {}
+  RGWOp_DATALog_List() : truncated(false), http_ret(0) {}
   ~RGWOp_DATALog_List() {}
 
   int check_caps(RGWUserCaps& caps) {
diff --git a/src/rgw/rgw_rest_metadata.cc b/src/rgw/rgw_rest_metadata.cc
index fc1d6de..5036235 100644
--- a/src/rgw/rgw_rest_metadata.cc
+++ b/src/rgw/rgw_rest_metadata.cc
@@ -33,8 +33,8 @@ static inline void frame_metadata_key(req_state *s, string& out) {
 
   string metadata_key;
   string section;
-  if (s->bucket_name) {
-    section = s->bucket_name;
+  if (!s->bucket_name_str.empty()) {
+    section = s->bucket_name_str;
   } else {
     section = key;
     key.clear();
diff --git a/src/rgw/rgw_rest_replica_log.cc b/src/rgw/rgw_rest_replica_log.cc
index 600a8ed..2543f32 100644
--- a/src/rgw/rgw_rest_replica_log.cc
+++ b/src/rgw/rgw_rest_replica_log.cc
@@ -171,7 +171,9 @@ static int bucket_instance_to_bucket(RGWRados *store, string& bucket_instance, r
   
   int r = store->get_bucket_instance_info(NULL, bucket_instance, bucket_info, &mtime, NULL);
   if (r < 0) {
-    dout(5) << "could not get bucket instance info for bucket=" << bucket_instance << dendl;
+    dout(5) << "could not get bucket instance info for bucket=" << bucket_instance << ": " << cpp_strerror(r) << dendl;
+    if (r == -ENOENT)
+      return r;
     return -EINVAL;
   }
 
diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
index 8690dd8..12bd377 100644
--- a/src/rgw/rgw_rest_s3.cc
+++ b/src/rgw/rgw_rest_s3.cc
@@ -166,7 +166,8 @@ done:
 
   if (!content_type)
     content_type = "binary/octet-stream";
-  end_header(s, content_type);
+
+  end_header(s, this, content_type);
 
   if (metadata_bl.length()) {
     s->cio->write(metadata_bl.c_str(), metadata_bl.length());
@@ -189,7 +190,7 @@ void RGWListBuckets_ObjStore_S3::send_response_begin(bool has_buckets)
     set_req_state_err(s, ret);
   dump_errno(s);
   dump_start(s);
-  end_header(s, "application/xml");
+  end_header(s, NULL, "application/xml");
 
   if (!ret) {
     list_all_buckets_start(s);
@@ -242,14 +243,14 @@ void RGWListBucket_ObjStore_S3::send_response()
     set_req_state_err(s, ret);
   dump_errno(s);
 
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   dump_start(s);
   if (ret < 0)
     return;
 
   s->formatter->open_object_section_in_ns("ListBucketResult",
 					  "http://s3.amazonaws.com/doc/2006-03-01/");
-  s->formatter->dump_string("Name", s->bucket_name);
+  s->formatter->dump_string("Name", s->bucket_name_str);
   if (!prefix.empty())
     s->formatter->dump_string("Prefix", prefix);
   s->formatter->dump_string("Marker", marker);
@@ -288,7 +289,7 @@ void RGWListBucket_ObjStore_S3::send_response()
 void RGWGetBucketLogging_ObjStore_S3::send_response()
 {
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   dump_start(s);
 
   s->formatter->open_object_section_in_ns("BucketLoggingStatus",
@@ -315,7 +316,7 @@ void RGWStatBucket_ObjStore_S3::send_response()
   set_req_state_err(s, ret);
   dump_errno(s);
 
-  end_header(s);
+  end_header(s, this);
   dump_start(s);
 }
 
@@ -467,7 +468,7 @@ void RGWDeleteBucket_ObjStore_S3::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
 
   if (s->system_request) {
     JSONFormatter f; /* use json formatter for system requests output */
@@ -521,7 +522,7 @@ void RGWPutObj_ObjStore_S3::send_response()
     dump_epoch_header(s, "Rgwx-Mtime", mtime);
   }
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
 }
 
 /*
@@ -893,6 +894,11 @@ int RGWPostObj_ObjStore_S3::get_params()
 
   rebuild_key(s->object_str);
 
+  if (s->object_str.empty()) {
+    err_msg = "Empty object name";
+    return -EINVAL;
+  }
+
   env.add_var("key", s->object_str);
 
   part_str("Content-Type", &content_type);
@@ -1079,59 +1085,6 @@ int RGWPostObj_ObjStore_S3::get_data(bufferlist& bl)
   return bl.length();
 }
 
-static void escape_char(char c, string& dst)
-{
-  char buf[16];
-  snprintf(buf, sizeof(buf), "%%%.2X", (unsigned int)c);
-  dst.append(buf);
-}
-
-static bool char_needs_url_encoding(char c)
-{
-  if (c < 0x20 || c >= 0x7f)
-    return true;
-
-  switch (c) {
-    case 0x20:
-    case 0x22:
-    case 0x23:
-    case 0x25:
-    case 0x26:
-    case 0x2B:
-    case 0x2C:
-    case 0x2F:
-    case 0x3A:
-    case 0x3B:
-    case 0x3C:
-    case 0x3E:
-    case 0x3D:
-    case 0x3F:
-    case 0x40:
-    case 0x5B:
-    case 0x5D:
-    case 0x5C:
-    case 0x5E:
-    case 0x60:
-    case 0x7B:
-    case 0x7D:
-      return true;
-  }
-  return false;
-}
-
-static void url_escape(const string& src, string& dst)
-{
-  const char *p = src.c_str();
-  for (unsigned i = 0; i < src.size(); i++, p++) {
-    if (char_needs_url_encoding(*p)) {
-      escape_char(*p, dst);
-      continue;
-    }
-
-    dst.append(p, 1);
-  }
-}
-
 void RGWPostObj_ObjStore_S3::send_response()
 {
   if (ret == 0 && parts.count("success_action_redirect")) {
@@ -1148,11 +1101,10 @@ void RGWPostObj_ObjStore_S3::send_response()
 
     string etag_url;
 
-    url_escape(s->bucket_name, bucket);
-    url_escape(s->object_str, key);
-    url_escape(etag_str, etag_url);
+    url_encode(s->bucket_name_str, bucket);
+    url_encode(s->object_str, key);
+    url_encode(etag_str, etag_url);
 
-    
     redirect.append("?bucket=");
     redirect.append(bucket);
     redirect.append("&key=");
@@ -1198,15 +1150,15 @@ done:
     s->formatter->open_object_section("PostResponse");
     if (g_conf->rgw_dns_name.length())
       s->formatter->dump_format("Location", "%s/%s", s->info.script_uri.c_str(), s->object_str.c_str());
-    s->formatter->dump_string("Bucket", s->bucket_name);
-    s->formatter->dump_string("Key", s->object_str.c_str());
+    s->formatter->dump_string("Bucket", s->bucket_name_str);
+    s->formatter->dump_string("Key", s->object_str);
     s->formatter->close_section();
   }
   s->err.message = err_msg;
   set_req_state_err(s, ret);
   dump_errno(s);
   dump_content_length(s, s->formatter->get_len());
-  end_header(s);
+  end_header(s, this);
   if (ret != STATUS_CREATED)
     return;
 
@@ -1224,7 +1176,7 @@ void RGWDeleteObj_ObjStore_S3::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
 }
 
 int RGWCopyObj_ObjStore_S3::init_dest_policy()
@@ -1248,18 +1200,8 @@ int RGWCopyObj_ObjStore_S3::get_params()
   if_match = s->info.env->get("HTTP_X_AMZ_COPY_IF_MATCH");
   if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_IF_NONE_MATCH");
 
-  const char *req_src = s->copy_source;
-  if (!req_src) {
-    ldout(s->cct, 0) << "copy source is NULL" << dendl;
-    return -EINVAL;
-  }
-
-  ret = parse_copy_location(req_src, src_bucket_name, src_object);
-  if (!ret) {
-    ldout(s->cct, 0) << "failed to parse copy location" << dendl;
-    return -EINVAL;
-  }
-
+  src_bucket_name = s->src_bucket_name;
+  src_object = s->src_object;
   dest_bucket_name = s->bucket.name;
   dest_object = s->object_str;
 
@@ -1308,7 +1250,7 @@ void RGWCopyObj_ObjStore_S3::send_partial_response(off_t ofs)
     set_req_state_err(s, ret);
     dump_errno(s);
 
-    end_header(s, "binary/octet-stream");
+    end_header(s, this, "binary/octet-stream");
     if (ret == 0) {
       s->formatter->open_object_section("CopyObjectResult");
     }
@@ -1347,7 +1289,7 @@ void RGWGetACLs_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   dump_start(s);
   s->cio->write(acls.c_str(), acls.size());
 }
@@ -1376,7 +1318,7 @@ void RGWPutACLs_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   dump_start(s);
 }
 
@@ -1389,7 +1331,7 @@ void RGWGetCORS_ObjStore_S3::send_response()
       set_req_state_err(s, ret);
   }
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, NULL, "application/xml");
   dump_start(s);
   if (!ret) {
     string cors;
@@ -1464,7 +1406,7 @@ void RGWPutCORS_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, NULL, "application/xml");
   dump_start(s);
 }
 
@@ -1476,7 +1418,7 @@ void RGWDeleteCORS_ObjStore_S3::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, NULL);
 }
 
 void RGWOptionsCORS_ObjStore_S3::send_response()
@@ -1485,22 +1427,20 @@ void RGWOptionsCORS_ObjStore_S3::send_response()
   uint32_t max_age = CORS_MAX_AGE_INVALID;
   /*EACCES means, there is no CORS registered yet for the bucket
    *ENOENT means, there is no match of the Origin in the list of CORSRule
-   *ENOTSUPP means, the HTTP_METHOD is not supported
    */
   if (ret == -ENOENT)
     ret = -EACCES;
-  if (ret != -EACCES) {
-    get_response_params(hdrs, exp_hdrs, &max_age);
-  } else {
+  if (ret < 0) {
     set_req_state_err(s, ret);
     dump_errno(s);
-    end_header(s);
+    end_header(s, NULL);
     return;
   }
+  get_response_params(hdrs, exp_hdrs, &max_age);
 
   dump_errno(s);
   dump_access_control(s, origin, req_meth, hdrs.c_str(), exp_hdrs.c_str(), max_age); 
-  end_header(s);
+  end_header(s, NULL);
 }
 
 int RGWInitMultipart_ObjStore_S3::get_params()
@@ -1520,12 +1460,12 @@ void RGWInitMultipart_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   if (ret == 0) { 
     dump_start(s);
     s->formatter->open_object_section_in_ns("InitiateMultipartUploadResult",
 		  "http://s3.amazonaws.com/doc/2006-03-01/");
-    s->formatter->dump_string("Bucket", s->bucket_name);
+    s->formatter->dump_string("Bucket", s->bucket_name_str);
     s->formatter->dump_string("Key", s->object);
     s->formatter->dump_string("UploadId", upload_id);
     s->formatter->close_section();
@@ -1538,14 +1478,14 @@ void RGWCompleteMultipart_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   if (ret == 0) { 
     dump_start(s);
     s->formatter->open_object_section_in_ns("CompleteMultipartUploadResult",
 			  "http://s3.amazonaws.com/doc/2006-03-01/");
     if (g_conf->rgw_dns_name.length())
-      s->formatter->dump_format("Location", "%s.%s", s->bucket_name, g_conf->rgw_dns_name.c_str());
-    s->formatter->dump_string("Bucket", s->bucket_name);
+      s->formatter->dump_format("Location", "%s.%s", s->bucket_name_str.c_str(), g_conf->rgw_dns_name.c_str());
+    s->formatter->dump_string("Bucket", s->bucket_name_str);
     s->formatter->dump_string("Key", s->object);
     s->formatter->dump_string("ETag", etag);
     s->formatter->close_section();
@@ -1561,7 +1501,7 @@ void RGWAbortMultipart_ObjStore_S3::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
 }
 
 void RGWListMultipart_ObjStore_S3::send_response()
@@ -1569,7 +1509,7 @@ void RGWListMultipart_ObjStore_S3::send_response()
   if (ret)
     set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
 
   if (ret == 0) { 
     dump_start(s);
@@ -1582,7 +1522,7 @@ void RGWListMultipart_ObjStore_S3::send_response()
     for (i = 0, test_iter = iter; test_iter != parts.end() && i < max_parts; ++test_iter, ++i) {
       cur_max = test_iter->first;
     }
-    s->formatter->dump_string("Bucket", s->bucket_name);
+    s->formatter->dump_string("Bucket", s->bucket_name_str);
     s->formatter->dump_string("Key", s->object);
     s->formatter->dump_string("UploadId", upload_id);
     s->formatter->dump_string("StorageClass", "STANDARD");
@@ -1624,13 +1564,13 @@ void RGWListBucketMultiparts_ObjStore_S3::send_response()
     set_req_state_err(s, ret);
   dump_errno(s);
 
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   dump_start(s);
   if (ret < 0)
     return;
 
   s->formatter->open_object_section("ListMultipartUploadsResult");
-  s->formatter->dump_string("Bucket", s->bucket_name);
+  s->formatter->dump_string("Bucket", s->bucket_name_str);
   if (!prefix.empty())
     s->formatter->dump_string("ListMultipartUploadsResult.Prefix", prefix);
   string& key_marker = marker.get_key();
@@ -1695,7 +1635,7 @@ void RGWDeleteMultiObj_ObjStore_S3::begin_response()
   }
 
   dump_start(s);
-  end_header(s, "application/xml");
+  end_header(s, this, "application/xml");
   s->formatter->open_object_section_in_ns("DeleteResult",
                                             "http://s3.amazonaws.com/doc/2006-03-01/");
 
@@ -1916,9 +1856,8 @@ int RGWHandler_ObjStore_S3::init_from_header(struct req_state *s, int default_fo
     first = req;
   }
 
-  if (!s->bucket_name) {
+  if (s->bucket_name_str.empty()) {
     s->bucket_name_str = first;
-    s->bucket_name = strdup(s->bucket_name_str.c_str());
 
     if (pos >= 0) {
       string encoded_obj_str = req.substr(pos+1);
@@ -1995,7 +1934,7 @@ int RGWHandler_ObjStore_S3::validate_bucket_name(const string& bucket, bool rela
 
 int RGWHandler_ObjStore_S3::init(RGWRados *store, struct req_state *s, RGWClientIO *cio)
 {
-  dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (s->bucket_name ? s->bucket_name : "<NULL>") << dendl;
+  dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (!s->bucket_name_str.empty() ? s->bucket_name_str : "<NULL>") << dendl;
 
   bool relaxed_names = s->cct->_conf->rgw_relaxed_s3_bucket_names;
   int ret = validate_bucket_name(s->bucket_name_str, relaxed_names);
@@ -2012,6 +1951,13 @@ int RGWHandler_ObjStore_S3::init(RGWRados *store, struct req_state *s, RGWClient
   s->has_acl_header = s->info.env->exists_prefix("HTTP_X_AMZ_GRANT");
 
   s->copy_source = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE");
+  if (s->copy_source) {
+    ret = RGWCopyObj::parse_copy_location(s->copy_source, s->src_bucket_name, s->src_object);
+    if (!ret) {
+      ldout(s->cct, 0) << "failed to parse copy location" << dendl;
+      return -EINVAL;
+    }
+  }
 
   s->dialect = "s3";
 
@@ -2020,6 +1966,72 @@ int RGWHandler_ObjStore_S3::init(RGWRados *store, struct req_state *s, RGWClient
 
 
 /*
+ * Try to validate S3 auth against keystone s3token interface
+ */
+int RGW_Auth_S3_Keystone_ValidateToken::validate_s3token(const string& auth_id, const string& auth_token, const string& auth_sign) {
+  /* prepare keystone url */
+  string keystone_url = cct->_conf->rgw_keystone_url;
+  if (keystone_url[keystone_url.size() - 1] != '/')
+    keystone_url.append("/");
+  keystone_url.append("v2.0/s3tokens");
+
+  /* set required headers for keystone request */
+  append_header("X-Auth-Token", cct->_conf->rgw_keystone_admin_token);
+  append_header("Content-Type", "application/json");
+
+  /* encode token */
+  bufferlist token_buff;
+  bufferlist token_encoded;
+  token_buff.append(auth_token);
+  token_buff.encode_base64(token_encoded);
+  token_encoded.append((char)0);
+
+  /* create json credentials request body */
+  JSONFormatter credentials(false);
+  credentials.open_object_section("");
+  credentials.open_object_section("credentials");
+  credentials.dump_string("access", auth_id);
+  credentials.dump_string("token", token_encoded.c_str());
+  credentials.dump_string("signature", auth_sign);
+  credentials.close_section();
+  credentials.close_section();
+
+  std::stringstream os;
+  credentials.flush(os);
+  set_tx_buffer(os.str());
+
+  /* send request */
+  int ret = process("POST", keystone_url.c_str());
+  if (ret < 0) {
+    dout(2) << "s3 keystone: token validation ERROR: " << rx_buffer.c_str() << dendl;
+    return -EPERM;
+  }
+
+  /* now parse response */
+  if (response.parse(cct, rx_buffer) < 0) {
+    dout(2) << "s3 keystone: token parsing failed" << dendl;
+    return -EPERM;
+  }
+
+  /* check if we have a valid role */
+  bool found = false;
+  list<string>::iterator iter;
+  for (iter = roles_list.begin(); iter != roles_list.end(); ++iter) {
+    if ((found=response.user.has_role(*iter))==true)
+      break;
+  }
+
+  if (!found) {
+    ldout(cct, 5) << "s3 keystone: user does not hold a matching role; required roles: " << cct->_conf->rgw_keystone_accepted_roles << dendl;
+    return -EPERM;
+  }
+
+  /* everything seems fine, continue with this user */
+  ldout(cct, 5) << "s3 keystone: validated token: " << response.token.tenant.name << ":" << response.user.name << " expires: " << response.token.expires << dendl;
+  return 0;
+}
+
+/*
  * verify that a signed request comes from the keyholder
  * by checking the signature against our locally-computed version
  */
@@ -2032,6 +2044,13 @@ int RGW_Auth_S3::authorize(RGWRados *store, struct req_state *s)
   time_t now;
   time(&now);
 
+  /* neither keystone and rados enabled; warn and exit! */
+  if (!store->ctx()->_conf->rgw_s3_auth_use_rados
+      && !store->ctx()->_conf->rgw_s3_auth_use_keystone) {
+    dout(0) << "WARNING: no authorization backend enabled! Users will never authenticate." << dendl;
+    return -EPERM;
+  }
+
   if (!s->http_auth || !(*s->http_auth)) {
     auth_id = s->info.args.get("AWSAccessKeyId");
     if (auth_id.size()) {
@@ -2061,75 +2080,113 @@ int RGW_Auth_S3::authorize(RGWRados *store, struct req_state *s)
     auth_sign = auth_str.substr(pos + 1);
   }
 
-  /* first get the user info */
-  if (rgw_get_user_info_by_access_key(store, auth_id, s->user) < 0) {
-    dout(5) << "error reading user info, uid=" << auth_id << " can't authenticate" << dendl;
-    return -EPERM;
-  }
+  /* try keystone auth first */
+  int keystone_result = -EINVAL;
+  if (store->ctx()->_conf->rgw_s3_auth_use_keystone
+      && !store->ctx()->_conf->rgw_keystone_url.empty()) {
+    dout(20) << "s3 keystone: trying keystone auth" << dendl;
 
-  /* now verify signature */
-   
-  string auth_hdr;
-  if (!rgw_create_s3_canonical_header(s->info, &s->header_time, auth_hdr, qsr)) {
-    dout(10) << "failed to create auth header\n" << auth_hdr << dendl;
-    return -EPERM;
-  }
-  dout(10) << "auth_hdr:\n" << auth_hdr << dendl;
+    RGW_Auth_S3_Keystone_ValidateToken keystone_validator(store->ctx());
+    string token;
 
-  time_t req_sec = s->header_time.sec();
-  if ((req_sec < now - RGW_AUTH_GRACE_MINS * 60 ||
-      req_sec > now + RGW_AUTH_GRACE_MINS * 60) && !qsr) {
-    dout(10) << "req_sec=" << req_sec << " now=" << now << "; now - RGW_AUTH_GRACE_MINS=" << now - RGW_AUTH_GRACE_MINS * 60 << "; now + RGW_AUTH_GRACE_MINS=" << now + RGW_AUTH_GRACE_MINS * 60 << dendl;
-    dout(0) << "NOTICE: request time skew too big now=" << utime_t(now, 0) << " req_time=" << s->header_time << dendl;
-    return -ERR_REQUEST_TIME_SKEWED;
-  }
+    if (!rgw_create_s3_canonical_header(s->info, &s->header_time, token, qsr)) {
+        dout(10) << "failed to create auth header\n" << token << dendl;
+    } else {
+      keystone_result = keystone_validator.validate_s3token(auth_id, token, auth_sign);
+      if (keystone_result == 0) {
+        s->user.user_id = keystone_validator.response.token.tenant.id;
+        s->user.display_name = keystone_validator.response.token.tenant.name; // wow.
+
+        /* try to store user if it not already exists */
+        if (rgw_get_user_info_by_uid(store, keystone_validator.response.token.tenant.id, s->user) < 0) {
+          int ret = rgw_store_user_info(store, s->user, NULL, NULL, 0, true);
+          if (ret < 0)
+            dout(10) << "NOTICE: failed to store new user's info: ret=" << ret << dendl;
+        }
 
-  map<string, RGWAccessKey>::iterator iter = s->user.access_keys.find(auth_id);
-  if (iter == s->user.access_keys.end()) {
-    dout(0) << "ERROR: access key not encoded in user info" << dendl;
-    return -EPERM;
+        s->perm_mask = RGW_PERM_FULL_CONTROL;
+      }
+    }
   }
-  RGWAccessKey& k = iter->second;
 
-  if (!k.subuser.empty()) {
-    map<string, RGWSubUser>::iterator uiter = s->user.subusers.find(k.subuser);
-    if (uiter == s->user.subusers.end()) {
-      dout(0) << "NOTICE: could not find subuser: " << k.subuser << dendl;
+  /* keystone failed (or not enabled); check if we want to use rados backend */
+  if (!store->ctx()->_conf->rgw_s3_auth_use_rados
+      && keystone_result < 0)
+    return keystone_result;
+
+  /* now try rados backend, but only if keystone did not succeed */
+  if (keystone_result < 0) {
+    /* get the user info */
+    if (rgw_get_user_info_by_access_key(store, auth_id, s->user) < 0) {
+      dout(5) << "error reading user info, uid=" << auth_id << " can't authenticate" << dendl;
       return -EPERM;
     }
-    RGWSubUser& subuser = uiter->second;
-    s->perm_mask = subuser.perm_mask;
-  } else
-    s->perm_mask = RGW_PERM_FULL_CONTROL;
 
-  string digest;
-  int ret = rgw_get_s3_header_digest(auth_hdr, k.key, digest);
-  if (ret < 0) {
-    return -EPERM;
-  }
+    /* now verify signature */
 
-  dout(15) << "calculated digest=" << digest << dendl;
-  dout(15) << "auth_sign=" << auth_sign << dendl;
-  dout(15) << "compare=" << auth_sign.compare(digest) << dendl;
+    string auth_hdr;
+    if (!rgw_create_s3_canonical_header(s->info, &s->header_time, auth_hdr, qsr)) {
+      dout(10) << "failed to create auth header\n" << auth_hdr << dendl;
+      return -EPERM;
+    }
+    dout(10) << "auth_hdr:\n" << auth_hdr << dendl;
+
+    time_t req_sec = s->header_time.sec();
+    if ((req_sec < now - RGW_AUTH_GRACE_MINS * 60 ||
+        req_sec > now + RGW_AUTH_GRACE_MINS * 60) && !qsr) {
+      dout(10) << "req_sec=" << req_sec << " now=" << now << "; now - RGW_AUTH_GRACE_MINS=" << now - RGW_AUTH_GRACE_MINS * 60 << "; now + RGW_AUTH_GRACE_MINS=" << now + RGW_AUTH_GRACE_MINS * 60 << dendl;
+      dout(0) << "NOTICE: request time skew too big now=" << utime_t(now, 0) << " req_time=" << s->header_time << dendl;
+      return -ERR_REQUEST_TIME_SKEWED;
+    }
 
-  if (auth_sign != digest)
-    return -EPERM;
+    map<string, RGWAccessKey>::iterator iter = s->user.access_keys.find(auth_id);
+    if (iter == s->user.access_keys.end()) {
+      dout(0) << "ERROR: access key not encoded in user info" << dendl;
+      return -EPERM;
+    }
+    RGWAccessKey& k = iter->second;
 
-  if (s->user.system) {
-    s->system_request = true;
-    dout(20) << "system request" << dendl;
-    s->info.args.set_system();
-    string effective_uid = s->info.args.get(RGW_SYS_PARAM_PREFIX "uid");
-    RGWUserInfo effective_user;
-    if (!effective_uid.empty()) {
-      ret = rgw_get_user_info_by_uid(store, effective_uid, effective_user);
-      if (ret < 0) {
-        ldout(s->cct, 0) << "User lookup failed!" << dendl;
-        return -ENOENT;
+    if (!k.subuser.empty()) {
+      map<string, RGWSubUser>::iterator uiter = s->user.subusers.find(k.subuser);
+      if (uiter == s->user.subusers.end()) {
+        dout(0) << "NOTICE: could not find subuser: " << k.subuser << dendl;
+        return -EPERM;
       }
-      s->user = effective_user;
+      RGWSubUser& subuser = uiter->second;
+      s->perm_mask = subuser.perm_mask;
+    } else
+      s->perm_mask = RGW_PERM_FULL_CONTROL;
+
+    string digest;
+    int ret = rgw_get_s3_header_digest(auth_hdr, k.key, digest);
+    if (ret < 0) {
+      return -EPERM;
     }
-  }
+
+    dout(15) << "calculated digest=" << digest << dendl;
+    dout(15) << "auth_sign=" << auth_sign << dendl;
+    dout(15) << "compare=" << auth_sign.compare(digest) << dendl;
+
+    if (auth_sign != digest)
+      return -EPERM;
+
+    if (s->user.system) {
+      s->system_request = true;
+      dout(20) << "system request" << dendl;
+      s->info.args.set_system();
+      string effective_uid = s->info.args.get(RGW_SYS_PARAM_PREFIX "uid");
+      RGWUserInfo effective_user;
+      if (!effective_uid.empty()) {
+        ret = rgw_get_user_info_by_uid(store, effective_uid, effective_user);
+        if (ret < 0) {
+          ldout(s->cct, 0) << "User lookup failed!" << dendl;
+          return -ENOENT;
+        }
+        s->user = effective_user;
+      }
+    }
+
+  } /* if keystone_result < 0 */
 
   // populate the owner info
   s->owner.set_id(s->user.user_id);
@@ -2154,7 +2211,7 @@ RGWHandler *RGWRESTMgr_S3::get_handler(struct req_state *s)
   if (ret < 0)
     return NULL;
 
-  if (!s->bucket_name)
+  if (s->bucket_name_str.empty())
     return new RGWHandler_ObjStore_Service_S3;
 
   if (!s->object)
diff --git a/src/rgw/rgw_rest_s3.h b/src/rgw/rgw_rest_s3.h
index b0d3c30..e62334b 100644
--- a/src/rgw/rgw_rest_s3.h
+++ b/src/rgw/rgw_rest_s3.h
@@ -6,6 +6,7 @@
 #include "rgw_http_errors.h"
 #include "rgw_acl_s3.h"
 #include "rgw_policy_s3.h"
+#include "rgw_keystone.h"
 
 #define RGW_AUTH_GRACE_MINS 15
 
@@ -258,6 +259,57 @@ public:
   void end_response();
 };
 
+class RGW_Auth_S3_Keystone_ValidateToken : public RGWHTTPClient {
+private:
+  bufferlist rx_buffer;
+  bufferlist tx_buffer;
+  bufferlist::iterator tx_buffer_it;
+  list<string> roles_list;
+
+public:
+  KeystoneToken response;
+
+private:
+  void set_tx_buffer(const string& d) {
+    tx_buffer.clear();
+    tx_buffer.append(d);
+    tx_buffer_it = tx_buffer.begin();
+    set_send_length(tx_buffer.length());
+  }
+
+public:
+  RGW_Auth_S3_Keystone_ValidateToken(CephContext *_cct)
+      : RGWHTTPClient(_cct) {
+    get_str_list(cct->_conf->rgw_keystone_accepted_roles, roles_list);
+  }
+
+  int receive_header(void *ptr, size_t len) {
+    return 0;
+  }
+  int receive_data(void *ptr, size_t len) {
+    rx_buffer.append((char *)ptr, len);
+    return 0;
+  }
+
+  int send_data(void *ptr, size_t len) {
+    if (!tx_buffer_it.get_remaining())
+      return 0; // nothing left to send
+
+    int l = MIN(tx_buffer_it.get_remaining(), len);
+    memcpy(ptr, tx_buffer_it.get_current_ptr().c_str(), l);
+    try {
+      tx_buffer_it.advance(l);
+    } catch (buffer::end_of_buffer &e) {
+      assert(0);
+    }
+
+    return l;
+  }
+
+  int validate_s3token(const string& auth_id, const string& auth_token, const string& auth_sign);
+
+};
+
 class RGW_Auth_S3 {
 public:
   static int authorize(RGWRados *store, struct req_state *s);
diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc
index b4f8308..95d54ae 100644
--- a/src/rgw/rgw_rest_swift.cc
+++ b/src/rgw/rgw_rest_swift.cc
@@ -52,7 +52,7 @@ void RGWListBuckets_ObjStore_SWIFT::send_response_begin(bool has_buckets)
     set_req_state_err(s, ret);
   }
   dump_errno(s);
-  end_header(s);
+  end_header(s, NULL);
 
   if (!ret) {
     dump_start(s);
@@ -211,7 +211,7 @@ next:
 
   set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
   if (ret < 0) {
     return;
   }
@@ -266,7 +266,7 @@ void RGWStatAccount_ObjStore_SWIFT::send_response()
   set_req_state_err(s, ret);
   dump_errno(s);
 
-  end_header(s);
+  end_header(s, NULL);
   dump_start(s);
 }
 
@@ -280,7 +280,7 @@ void RGWStatBucket_ObjStore_SWIFT::send_response()
   set_req_state_err(s, ret);
   dump_errno(s);
 
-  end_header(s);
+  end_header(s, this);
   dump_start(s);
 }
 
@@ -301,7 +301,7 @@ void RGWCreateBucket_ObjStore_SWIFT::send_response()
     ret = STATUS_ACCEPTED;
   set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s);
+  end_header(s, NULL);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -313,7 +313,7 @@ void RGWDeleteBucket_ObjStore_SWIFT::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -361,7 +361,7 @@ void RGWPutObj_ObjStore_SWIFT::send_response()
   dump_etag(s, etag.c_str());
   set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -421,7 +421,7 @@ void RGWPutMetadata_ObjStore_SWIFT::send_response()
     ret = STATUS_ACCEPTED;
   set_req_state_err(s, ret);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -433,7 +433,7 @@ void RGWDeleteObj_ObjStore_SWIFT::send_response()
 
   set_req_state_err(s, r);
   dump_errno(s);
-  end_header(s);
+  end_header(s, this);
   rgw_flush_formatter_and_reset(s, s->formatter);
 }
 
@@ -451,28 +451,10 @@ int RGWCopyObj_ObjStore_SWIFT::get_params()
   if_match = s->info.env->get("HTTP_COPY_IF_MATCH");
   if_nomatch = s->info.env->get("HTTP_COPY_IF_NONE_MATCH");
 
-  if (s->op == OP_COPY) {
-    const char *req_dest = s->info.env->get("HTTP_DESTINATION");
-    if (!req_dest)
-      return -ERR_BAD_URL;
-
-    ret = parse_copy_location(req_dest, dest_bucket_name, dest_object);
-    if (!ret)
-       return -ERR_BAD_URL;
-    src_bucket_name = s->bucket_name;
-    src_object = s->object_str;
-  } else {
-    const char *req_src = s->copy_source;
-    if (!req_src)
-      return -ERR_BAD_URL;
-
-    ret = parse_copy_location(req_src, src_bucket_name, src_object);
-    if (!ret)
-       return -ERR_BAD_URL;
-
-    dest_bucket_name = s->bucket_name;
-    dest_object = s->object_str;
-  }
+  src_bucket_name = s->src_bucket_name;
+  src_object = s->src_object;
+  dest_bucket_name = s->bucket_name_str;
+  dest_object = s->object_str;
 
   return 0;
 }
@@ -484,7 +466,7 @@ void RGWCopyObj_ObjStore_SWIFT::send_partial_response(off_t ofs)
       ret = STATUS_CREATED;
     set_req_state_err(s, ret);
     dump_errno(s);
-    end_header(s);
+    end_header(s, this);
 
     /* Send progress information. Note that this diverge from the original swift
      * spec. We do this in order to keep connection alive.
@@ -506,7 +488,7 @@ void RGWCopyObj_ObjStore_SWIFT::send_response()
       ret = STATUS_CREATED;
     set_req_state_err(s, ret);
     dump_errno(s);
-    end_header(s);
+    end_header(s, this);
   } else {
     s->formatter->close_section();
     rgw_flush_formatter(s, s->formatter);
@@ -570,7 +552,7 @@ int RGWGetObj_ObjStore_SWIFT::send_response_data(bufferlist& bl, off_t bl_ofs, o
 
   if (!content_type)
     content_type = "binary/octet-stream";
-  end_header(s, content_type);
+  end_header(s, this, content_type);
 
   sent_header = true;
 
@@ -600,12 +582,12 @@ void RGWOptionsCORS_ObjStore_SWIFT::send_response()
   } else {
     set_req_state_err(s, ret);
     dump_errno(s);
-    end_header(s);
+    end_header(s, NULL);
     return;
   }
   dump_errno(s);
   dump_access_control(s, origin, req_meth, hdrs.c_str(), exp_hdrs.c_str(), max_age); 
-  end_header(s);
+  end_header(s, NULL);
 }
 
 RGWOp *RGWHandler_ObjStore_Service_SWIFT::op_get()
@@ -701,7 +683,7 @@ RGWOp *RGWHandler_ObjStore_Obj_SWIFT::op_put()
   if (is_acl_op()) {
     return new RGWPutACLs_ObjStore_SWIFT;
   }
-  if (!s->copy_source)
+  if (s->src_bucket_name.empty())
     return new RGWPutObj_ObjStore_SWIFT;
   else
     return new RGWCopyObj_ObjStore_SWIFT;
@@ -857,8 +839,6 @@ int RGWHandler_ObjStore_SWIFT::init_from_header(struct req_state *s)
     return 0;
 
   s->bucket_name_str = first;
-  s->bucket_name = strdup(s->bucket_name_str.c_str());
-
    
   s->info.effective_uri = "/" + s->bucket_name_str;
 
@@ -873,7 +853,7 @@ int RGWHandler_ObjStore_SWIFT::init_from_header(struct req_state *s)
 
 int RGWHandler_ObjStore_SWIFT::init(RGWRados *store, struct req_state *s, RGWClientIO *cio)
 {
-  dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (s->bucket_name ? s->bucket_name : "<NULL>") << dendl;
+  dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (!s->bucket_name_str.empty() ? s->bucket_name_str : "<NULL>") << dendl;
 
   int ret = validate_bucket_name(s->bucket_name_str.c_str());
   if (ret)
@@ -883,9 +863,39 @@ int RGWHandler_ObjStore_SWIFT::init(RGWRados *store, struct req_state *s, RGWCli
     return ret;
 
   s->copy_source = s->info.env->get("HTTP_X_COPY_FROM");
+  if (s->copy_source) {
+    bool result = RGWCopyObj::parse_copy_location(s->copy_source, s->src_bucket_name, s->src_object);
+    if (!result)
+       return -ERR_BAD_URL;
+  }
 
   s->dialect = "swift";
 
+  if (s->op == OP_COPY) {
+    const char *req_dest = s->info.env->get("HTTP_DESTINATION");
+    if (!req_dest)
+      return -ERR_BAD_URL;
+
+    string dest_bucket_name;
+    string dest_object;
+    bool result = RGWCopyObj::parse_copy_location(req_dest, dest_bucket_name, dest_object);
+    if (!result)
+       return -ERR_BAD_URL;
+
+    if (dest_bucket_name != s->bucket_name_str) {
+      ret = validate_bucket_name(dest_bucket_name.c_str());
+      if (ret < 0)
+        return ret;
+    }
+
+    /* convert COPY operation into PUT */
+    s->src_bucket_name = s->bucket_name_str;
+    s->src_object = s->object_str;
+    s->bucket_name_str = dest_bucket_name;
+    s->object_str = dest_object;
+    s->op = OP_PUT;
+  }
+
   return RGWHandler_ObjStore::init(store, s, cio);
 }
 
@@ -896,7 +906,7 @@ RGWHandler *RGWRESTMgr_SWIFT::get_handler(struct req_state *s)
   if (ret < 0)
     return NULL;
 
-  if (!s->bucket_name)
+  if (s->bucket_name_str.empty())
     return new RGWHandler_ObjStore_Service_SWIFT;
   if (!s->object)
     return new RGWHandler_ObjStore_Bucket_SWIFT;
diff --git a/src/rgw/rgw_swift.cc b/src/rgw/rgw_swift.cc
index b62033b..24e0905 100644
--- a/src/rgw/rgw_swift.cc
+++ b/src/rgw/rgw_swift.cc
@@ -8,6 +8,7 @@
 #include "rgw_swift_auth.h"
 #include "rgw_user.h"
 #include "rgw_http_client.h"
+#include "rgw_keystone.h"
 
 #include "include/str_list.h"
 
@@ -18,8 +19,6 @@
 
 static list<string> roles_list;
 
-class RGWKeystoneTokenCache;
-
 class RGWValidateSwiftToken : public RGWHTTPClient {
   struct rgw_swift_auth_info *info;
 
@@ -105,192 +104,7 @@ int RGWSwift::validate_token(const char *token, struct rgw_swift_auth_info *info
   return 0;
 }
 
-int KeystoneToken::parse(CephContext *cct, bufferlist& bl)
-{
-  JSONParser parser;
-
-  if (!parser.parse(bl.c_str(), bl.length())) {
-    ldout(cct, 0) << "malformed json" << dendl;
-    return -EINVAL;
-  }
-
-  JSONObjIter iter = parser.find_first("access");
-  if (iter.end()) {
-    ldout(cct, 0) << "token response is missing access section" << dendl;
-    return -EINVAL;
-  }  
-
-  JSONObj *access_obj = *iter;
-  JSONObj *user = access_obj->find_obj("user");
-  if (!user) {
-    ldout(cct, 0) << "token response is missing user section" << dendl;
-    return -EINVAL;
-  }
-
-  if (!user->get_data("username", &user_name)) {
-    ldout(cct, 0) << "token response is missing user username field" << dendl;
-    return -EINVAL;
-  }
-
-  JSONObj *roles_obj = user->find_obj("roles");
-  if (!roles_obj) {
-    ldout(cct, 0) << "token response is missing roles section, or section empty" << dendl;
-    return -EINVAL;
-  }
-
-  JSONObjIter riter = roles_obj->find_first();
-  if (riter.end()) {
-    ldout(cct, 0) << "token response has an empty roles list" << dendl;
-    return -EINVAL;
-  }
 
-  for (; !riter.end(); ++riter) {
-    JSONObj *role_obj = *riter;
-    if (!role_obj) {
-      ldout(cct, 0) << "ERROR: role object is NULL" << dendl;
-      return -EINVAL;
-    }
-
-    JSONObj *role_name = role_obj->find_obj("name");
-    if (!role_name) {
-      ldout(cct, 0) << "token response is missing role name section" << dendl;
-      return -EINVAL;
-    }
-    string role = role_name->get_data();
-    roles[role] = true;
-  }
-
-  JSONObj *token = access_obj->find_obj("token");
-  if (!token) {
-    ldout(cct, 0) << "missing token section in response" << dendl;
-    return -EINVAL;
-  }
-
-  string expires;
-
-  if (!token->get_data("expires", &expires)) {
-    ldout(cct, 0) << "token response is missing expiration field" << dendl;
-    return -EINVAL;
-  }
-
-  struct tm t;
-  if (!parse_iso8601(expires.c_str(), &t)) {
-    ldout(cct, 0) << "failed to parse token expiration (" << expires << ")" << dendl;
-    return -EINVAL;
-  }
-
-  expiration = timegm(&t);
-
-  JSONObj *tenant = token->find_obj("tenant");
-  if (!tenant) {
-    ldout(cct, 0) << "token response is missing tenant section" << dendl;
-    return -EINVAL;
-  }
-
-  if (!tenant->get_data("id", &tenant_id)) {
-    ldout(cct, 0) << "tenant is missing id field" << dendl;
-    return -EINVAL;
-  }
-
-
-  if (!tenant->get_data("name", &tenant_name)) {
-    ldout(cct, 0) << "tenant is missing name field" << dendl;
-    return -EINVAL;
-  }
-
-  return 0;
-}
-
-struct token_entry {
-  KeystoneToken token;
-  list<string>::iterator lru_iter;
-};
-
-class RGWKeystoneTokenCache {
-  CephContext *cct;
-
-  map<string, token_entry> tokens;
-  list<string> tokens_lru;
-
-  Mutex lock;
-
-  size_t max;
-
-public:
-  RGWKeystoneTokenCache(CephContext *_cct, int _max) : cct(_cct), lock("RGWKeystoneTokenCache"), max(_max) {}
-
-  bool find(const string& token_id, KeystoneToken& token);
-  void add(const string& token_id, KeystoneToken& token);
-  void invalidate(const string& token_id);
-};
-
-bool RGWKeystoneTokenCache::find(const string& token_id, KeystoneToken& token)
-{
-  lock.Lock();
-  map<string, token_entry>::iterator iter = tokens.find(token_id);
-  if (iter == tokens.end()) {
-    lock.Unlock();
-    if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_miss);
-    return false;
-  }
-
-  token_entry& entry = iter->second;
-  tokens_lru.erase(entry.lru_iter);
-
-  if (entry.token.expired()) {
-    tokens.erase(iter);
-    lock.Unlock();
-    if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_hit);
-    return false;
-  }
-  token = entry.token;
-
-  tokens_lru.push_front(token_id);
-  entry.lru_iter = tokens_lru.begin();
-
-  lock.Unlock();
-  if (perfcounter) perfcounter->inc(l_rgw_keystone_token_cache_hit);
-
-  return true;
-}
-
-void RGWKeystoneTokenCache::add(const string& token_id, KeystoneToken& token)
-{
-  lock.Lock();
-  map<string, token_entry>::iterator iter = tokens.find(token_id);
-  if (iter != tokens.end()) {
-    token_entry& e = iter->second;
-    tokens_lru.erase(e.lru_iter);
-  }
-
-  tokens_lru.push_front(token_id);
-  token_entry& entry = tokens[token_id];
-  entry.token = token;
-  entry.lru_iter = tokens_lru.begin();
-
-  while (tokens_lru.size() > max) {
-    list<string>::reverse_iterator riter = tokens_lru.rbegin();
-    iter = tokens.find(*riter);
-    assert(iter != tokens.end());
-    tokens.erase(iter);
-    tokens_lru.pop_back();
-  }
-  
-  lock.Unlock();
-}
-
-void RGWKeystoneTokenCache::invalidate(const string& token_id)
-{
-  Mutex::Locker l(lock);
-  map<string, token_entry>::iterator iter = tokens.find(token_id);
-  if (iter == tokens.end())
-    return;
-
-  ldout(cct, 20) << "invalidating revoked token id=" << token_id << dendl;
-  token_entry& e = iter->second;
-  tokens_lru.erase(e.lru_iter);
-  tokens.erase(iter);
-}
 
 class RGWValidateKeystoneToken : public RGWHTTPClient {
   bufferlist *bl;
@@ -489,8 +303,8 @@ int RGWSwift::check_revoked()
 
 static void rgw_set_keystone_token_auth_info(KeystoneToken& token, struct rgw_swift_auth_info *info)
 {
-  info->user = token.tenant_id;
-  info->display_name = token.tenant_name;
+  info->user = token.token.tenant.id;
+  info->display_name = token.token.tenant.name;
   info->status = 200;
 }
 
@@ -504,10 +318,8 @@ int RGWSwift::parse_keystone_token_response(const string& token, bufferlist& bl,
   list<string>::iterator iter;
   for (iter = roles_list.begin(); iter != roles_list.end(); ++iter) {
     const string& role = *iter;
-    if (t.roles.find(role) != t.roles.end()) {
-      found = true;
+    if ((found=t.user.has_role(role))==true)
       break;
-    }
   }
 
   if (!found) {
@@ -515,7 +327,7 @@ int RGWSwift::parse_keystone_token_response(const string& token, bufferlist& bl,
     return -EPERM;
   }
 
-  ldout(cct, 0) << "validated token: " << t.tenant_name << ":" << t.user_name << " expires: " << t.expiration << dendl;
+  ldout(cct, 0) << "validated token: " << t.token.tenant.name << ":" << t.user.name << " expires: " << t.token.expires << dendl;
 
   rgw_set_keystone_token_auth_info(t, info);
 
@@ -592,7 +404,7 @@ int RGWSwift::validate_keystone_token(RGWRados *store, const string& token, stru
   if (keystone_token_cache->find(token_id, t)) {
     rgw_set_keystone_token_auth_info(t, info);
 
-    ldout(cct, 20) << "cached token.tenant_id=" << t.tenant_id << dendl;
+    ldout(cct, 20) << "cached token.tenant.id=" << t.token.tenant.id << dendl;
 
     int ret = update_user_info(store, info, rgw_user);
     if (ret < 0)
diff --git a/src/rgw/rgw_swift.h b/src/rgw/rgw_swift.h
index febc267..3f0bd16 100644
--- a/src/rgw/rgw_swift.h
+++ b/src/rgw/rgw_swift.h
@@ -6,6 +6,7 @@
 #include "common/Cond.h"
 
 class RGWRados;
+class KeystoneToken;
 
 struct rgw_swift_auth_info {
   int status;
@@ -17,25 +18,6 @@ struct rgw_swift_auth_info {
   rgw_swift_auth_info() : status(0), ttl(0) {}
 };
 
-class KeystoneToken {
-public:
-  string tenant_name;
-  string tenant_id;
-  string user_name;
-  time_t expiration;
-
-  map<string, bool> roles;
-
-  KeystoneToken() : expiration(0) {}
-
-  int parse(CephContext *cct, bufferlist& bl);
-
-  bool expired() {
-    uint64_t now = ceph_clock_now(NULL).sec();
-    return (now < (uint64_t)expiration);
-  }
-};
-
 class RGWSwift {
   CephContext *cct;
   atomic_t down_flag;
diff --git a/src/rgw/rgw_swift_auth.h b/src/rgw/rgw_swift_auth.h
index 670a339..6d50d94 100644
--- a/src/rgw/rgw_swift_auth.h
+++ b/src/rgw/rgw_swift_auth.h
@@ -37,7 +37,7 @@ public:
   RGWRESTMgr_SWIFT_Auth() {}
   virtual ~RGWRESTMgr_SWIFT_Auth() {}
 
-  virtual RGWRESTMgr *get_resource_mgr(struct req_state *s, const string& uri) {
+  virtual RGWRESTMgr *get_resource_mgr(struct req_state *s, const string& uri, string *out_uri) {
     return this;
   }
   virtual RGWHandler *get_handler(struct req_state *s) {
diff --git a/src/rgw/rgw_tools.h b/src/rgw/rgw_tools.h
index 3e673c1..9adaee4 100644
--- a/src/rgw/rgw_tools.h
+++ b/src/rgw/rgw_tools.h
@@ -7,7 +7,7 @@
 #include "rgw_common.h"
 
 class RGWRados;
-class RGWObjVersionTracker;
+struct RGWObjVersionTracker;
 
 struct obj_version;
 
diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc
index 5e5b5c5..dc529e3 100644
--- a/src/rgw/rgw_user.cc
+++ b/src/rgw/rgw_user.cc
@@ -1682,6 +1682,9 @@ int RGWUser::execute_add(RGWUserAdminOpState& op_state, std::string *err_msg)
   if (op_state.op_mask_specified)
     user_info.op_mask = op_state.get_op_mask();
 
+  if (op_state.has_bucket_quota())
+    user_info.bucket_quota = op_state.get_bucket_quota();
+
   // update the request
   op_state.set_user_info(user_info);
   op_state.set_populated();
@@ -1884,6 +1887,9 @@ int RGWUser::execute_modify(RGWUserAdminOpState& op_state, std::string *err_msg)
   if (op_state.op_mask_specified)
     user_info.op_mask = op_state.get_op_mask();
 
+  if (op_state.has_bucket_quota())
+    user_info.bucket_quota = op_state.get_bucket_quota();
+
   if (op_state.has_suspension_op()) {
     __u8 suspended = op_state.get_suspension_status();
     user_info.suspended = suspended;
diff --git a/src/rgw/rgw_user.h b/src/rgw/rgw_user.h
index 32bcf19..e71b8f8 100644
--- a/src/rgw/rgw_user.h
+++ b/src/rgw/rgw_user.h
@@ -172,6 +172,10 @@ struct RGWUserAdminOpState {
   bool subuser_params_checked;
   bool user_params_checked;
 
+  bool bucket_quota_specified;
+
+  RGWQuotaInfo bucket_quota;
+
   void set_access_key(std::string& access_key) {
     if (access_key.empty())
       return;
@@ -285,6 +289,12 @@ struct RGWUserAdminOpState {
     key_op = true;
   }
 
+  void set_bucket_quota(RGWQuotaInfo& quota)
+  {
+    bucket_quota = quota;
+    bucket_quota_specified = true;
+  }
+
   bool is_populated() { return populated; };
   bool is_initialized() { return initialized; };
   bool has_existing_user() { return existing_user; };
@@ -303,6 +313,7 @@ struct RGWUserAdminOpState {
   bool will_purge_keys() { return purge_keys; };
   bool will_purge_data() { return purge_data; };
   bool will_generate_subuser() { return gen_subuser; };
+  bool has_bucket_quota() { return bucket_quota_specified; }
   void set_populated() { populated = true; };
   void clear_populated() { populated = false; };
   void set_initialized() { initialized = true; };
@@ -317,6 +328,7 @@ struct RGWUserAdminOpState {
   uint32_t get_subuser_perm() { return perm_mask; };
   uint32_t get_max_buckets() { return max_buckets; };
   uint32_t get_op_mask() { return op_mask; };
+  RGWQuotaInfo& get_bucket_quota() { return bucket_quota; }
 
   std::string get_user_id() { return user_id; };
   std::string get_subuser() { return subuser; };
@@ -403,6 +415,7 @@ struct RGWUserAdminOpState {
     key_params_checked = false;
     subuser_params_checked = false;
     user_params_checked = false;
+    bucket_quota_specified = false;
   }
 };
 
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
new file mode 100644
index 0000000..572d5d5
--- /dev/null
+++ b/src/test/Makefile.am
@@ -0,0 +1,901 @@
+## Unknown/other tests
+
+ceph_test_timers_SOURCES = test/TestTimers.cc
+ceph_test_timers_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_timers
+
+ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc
+ceph_test_signal_handlers_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_signal_handlers
+
+ceph_test_rados_SOURCES = \
+	test/osd/TestRados.cc \
+	test/osd/TestOpStat.cc \
+	test/osd/Object.cc \
+	test/osd/RadosModel.cc
+ceph_test_rados_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_rados
+
+ceph_test_mutate_SOURCES = test/test_mutate.cc
+ceph_test_mutate_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_mutate
+
+ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc
+ceph_test_rewrite_latency_LDADD = $(LIBCOMMON) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += ceph_test_rewrite_latency
+
+ceph_test_msgr_SOURCES = test/testmsgr.cc
+ceph_test_msgr_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_msgr
+
+ceph_streamtest_SOURCES = test/streamtest.cc
+ceph_streamtest_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_streamtest
+
+ceph_test_trans_SOURCES = test/test_trans.cc
+ceph_test_trans_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_trans
+
+ceph_test_crypto_SOURCES = test/testcrypto.cc
+ceph_test_crypto_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_crypto
+
+ceph_test_keys_SOURCES = test/testkeys.cc
+ceph_test_keys_LDADD = $(LIBMON) $(CEPH_GLOBAL) 
+bin_DEBUGPROGRAMS += ceph_test_keys
+
+
+## Dencoder test
+
+ceph_dencoder_SOURCES = \
+	test/encoding/ceph_dencoder.cc \
+	$(DENCODER_SOURCES)
+ceph_dencoder_LDADD = \
+	$(LIBOSD) $(LIBMDS) $(LIBMON) \
+	$(DENCODER_DEPS) $(CEPH_GLOBAL)
+
+# These should always use explicit _CFLAGS/_CXXFLAGS so avoid basename conflicts
+ceph_dencoder_CFLAGS = ${AM_CFLAGS}
+ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS}
+
+if COMPILER_HAS_VTA
+ceph_dencoder_CFLAGS += -fno-var-tracking-assignments
+ceph_dencoder_CXXFLAGS += -fno-var-tracking-assignments
+endif
+
+bin_PROGRAMS += ceph-dencoder
+
+get_command_descriptions_SOURCES = test/common/get_command_descriptions.cc
+get_command_descriptions_LDADD = $(LIBMON) $(LIBCOMMON) $(CEPH_GLOBAL)
+noinst_PROGRAMS += get_command_descriptions
+
+
+## Build tests
+# These should all use explicit _CXXFLAGS so avoid basename conflicts
+
+if WITH_BUILD_TESTS
+test_build_libcommon_SOURCES = \
+	test/buildtest_skeleton.cc \
+	$(libcommon_la_SOURCES)
+test_build_libcommon_LDADD = \
+	$(LIBCOMMON_DEPS) \
+	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+test_build_libcommon_LDFLAGS = -static-libtool-libs
+test_build_libcommon_CFLAGS = $(AM_CFLAGS)
+test_build_libcommon_CXXFLAGS = $(AM_CXXFLAGS)
+bin_DEBUGPROGRAMS += test_build_libcommon
+
+test_build_librados_SOURCES = \
+	test/buildtest_skeleton.cc \
+	$(librados_la_SOURCES)
+test_build_librados_LDADD = \
+	$(LIBRADOS_DEPS) \
+	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+test_build_librados_LDFLAGS = -static-libtool-libs
+test_build_librados_CFLAGS = $(AM_CFLAGS)
+test_build_librados_CXXFLAGS = $(AM_CXXFLAGS)
+bin_DEBUGPROGRAMS += test_build_librados
+
+test_build_librgw_SOURCES = \
+	test/buildtest_skeleton.cc \
+	$(librgw_la_SOURCES)
+test_build_librgw_LDADD = \
+	$(LIBRGW_DEPS) \
+	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \
+	$(CEPH_GLOBAL)
+test_build_librgw_LDFLAGS = -static-libtool-libs
+test_build_librgw_CFLAGS = $(AM_CFLAGS)
+test_build_librgw_CXXFLAGS = $(AM_CXXFLAGS)
+bin_DEBUGPROGRAMS += test_build_librgw
+
+# I dont get this one... testing the osdc build but link in libcephfs?
+test_build_libcephfs_SOURCES = \
+	test/buildtest_skeleton.cc \
+	$(libosdc_la_SOURCES)
+test_build_libcephfs_LDADD = \
+	$(LIBCEPHFS) -lexpat \
+	$(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
+test_build_libcephfs_LDFLAGS = -static-libtool-libs
+test_build_libcephfs_CFLAGS = $(AM_CFLAGS)
+test_build_libcephfs_CXXFLAGS = $(AM_CXXFLAGS)
+bin_DEBUGPROGRAMS += test_build_libcephfs
+
+endif # WITH_BUILD_TESTS
+
+
+## Benchmarks
+
+ceph_smalliobench_SOURCES = \
+	test/bench/small_io_bench.cc \
+	test/bench/rados_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+ceph_smalliobench_LDADD = $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_smalliobench
+
+ceph_smalliobenchfs_SOURCES = \
+	test/bench/small_io_bench_fs.cc \
+	test/bench/testfilestore_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+ceph_smalliobenchfs_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_smalliobenchfs
+
+ceph_smalliobenchdumb_SOURCES = \
+	test/bench/small_io_bench_dumb.cc \
+	test/bench/dumb_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+ceph_smalliobenchdumb_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_smalliobenchdumb
+
+ceph_smalliobenchrbd_SOURCES = \
+	test/bench/small_io_bench_rbd.cc \
+	test/bench/rbd_backend.cc \
+	test/bench/detailed_stat_collector.cc \
+	test/bench/bencher.cc
+ceph_smalliobenchrbd_LDADD = $(LIBRBD) $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_smalliobenchrbd
+
+ceph_tpbench_SOURCES = \
+	test/bench/tp_bench.cc \
+	test/bench/detailed_stat_collector.cc
+ceph_tpbench_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_tpbench
+
+ceph_omapbench_SOURCES = test/omap_bench.cc
+ceph_omapbench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_omapbench
+
+ceph_kvstorebench_SOURCES = \
+	test/kv_store_bench.cc \
+	key_value_store/kv_flat_btree_async.cc
+ceph_kvstorebench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_kvstorebench
+
+ceph_multi_stress_watch_SOURCES = \
+	test/multi_stress_watch.cc \
+	test/librados/test.cc
+ceph_multi_stress_watch_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_multi_stress_watch 
+
+
+
+
+
+
+## System tests
+
+libsystest_la_SOURCES = \
+	test/system/cross_process_sem.cc \
+	test/system/systest_runnable.cc \
+	test/system/systest_settings.cc
+libsystest_la_LIBADD = $(CEPH_GLOBAL)
+noinst_LTLIBRARIES += libsystest.la
+
+ceph_test_rados_list_parallel_SOURCES = \
+	test/system/rados_list_parallel.cc \
+	test/system/st_rados_create_pool.cc \
+	test/system/st_rados_list_objects.cc
+ceph_test_rados_list_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
+bin_DEBUGPROGRAMS += ceph_test_rados_list_parallel
+
+ceph_test_rados_open_pools_parallel_SOURCES = \
+	test/system/rados_open_pools_parallel.cc \
+	test/system/st_rados_create_pool.cc
+ceph_test_rados_open_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
+bin_DEBUGPROGRAMS += ceph_test_rados_open_pools_parallel
+
+ceph_test_rados_delete_pools_parallel_SOURCES = \
+	test/system/rados_delete_pools_parallel.cc \
+	test/system/st_rados_create_pool.cc \
+	test/system/st_rados_delete_pool.cc \
+	test/system/st_rados_list_objects.cc
+ceph_test_rados_delete_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
+bin_DEBUGPROGRAMS += ceph_test_rados_delete_pools_parallel
+
+ceph_test_rados_watch_notify_SOURCES = \
+	test/system/rados_watch_notify.cc \
+	test/system/st_rados_create_pool.cc \
+	test/system/st_rados_delete_pool.cc \
+	test/system/st_rados_delete_objs.cc \
+	test/system/st_rados_watch.cc \
+	test/system/st_rados_notify.cc
+ceph_test_rados_watch_notify_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS)
+bin_DEBUGPROGRAMS += ceph_test_rados_watch_notify
+
+ceph_bench_log_SOURCES = test/bench_log.cc
+ceph_bench_log_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_bench_log
+
+
+
+## Unit tests
+
+check_SCRIPTS += \
+	unittest_bufferlist.sh \
+	test/encoding/check-generated.sh
+
+# target to build but not run the unit tests
+unittests:: $(check_PROGRAMS)
+
+UNITTEST_CXXFLAGS = \
+	$(AM_CXXFLAGS) \
+	-I$(top_srcdir)/src/gtest/include \
+	-I$(top_builddir)/src/gtest/include
+UNITTEST_LDADD = \
+	$(top_builddir)/src/gtest/lib/libgtest.a \
+	$(top_builddir)/src/gtest/lib/libgtest_main.a \
+	$(PTHREAD_LIBS)
+
+unittest_encoding_SOURCES = test/encoding.cc
+unittest_encoding_LDADD = $(LIBCEPHFS) $(LIBRADOS) -lm $(UNITTEST_LDADD)
+unittest_encoding_CXXFLAGS = $(UNITTEST_CXXFLAGS) -fno-strict-aliasing
+check_PROGRAMS += unittest_encoding
+
+unittest_addrs_SOURCES = test/test_addrs.cc
+unittest_addrs_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_addrs_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_addrs
+
+unittest_bloom_filter_SOURCES = test/common/test_bloom_filter.cc
+unittest_bloom_filter_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_bloom_filter_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_bloom_filter
+
+unittest_sharedptr_registry_SOURCES = test/common/test_sharedptr_registry.cc
+unittest_sharedptr_registry_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_sharedptr_registry_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_sharedptr_registry
+
+unittest_sloppy_crc_map_SOURCES = test/common/test_sloppy_crc_map.cc
+unittest_sloppy_crc_map_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_sloppy_crc_map_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_sloppy_crc_map
+
+unittest_util_SOURCES = test/common/test_util.cc
+unittest_util_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_util_LDADD = $(LIBCOMMON) -lm $(UNITTEST_LDADD) $(CRYPTO_LIBS) $(EXTRALIBS)
+check_PROGRAMS += unittest_util
+
+unittest_workqueue_SOURCES = test/test_workqueue.cc
+unittest_workqueue_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_workqueue_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_workqueue
+
+unittest_striper_SOURCES = test/test_striper.cc 
+unittest_striper_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_striper_LDADD = $(LIBOSDC) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_striper
+
+unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc 
+unittest_prebufferedstreambuf_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_prebufferedstreambuf_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(EXTRALIBS)
+check_PROGRAMS += unittest_prebufferedstreambuf
+
+unittest_str_list_SOURCES = test/test_str_list.cc
+unittest_str_list_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_str_list_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_str_list
+
+unittest_log_SOURCES = log/test.cc
+unittest_log_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD)
+unittest_log_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2
+check_PROGRAMS += unittest_log
+
+unittest_throttle_SOURCES = test/common/Throttle.cc
+unittest_throttle_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_throttle_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2
+check_PROGRAMS += unittest_throttle
+
+unittest_base64_SOURCES = test/base64.cc
+unittest_base64_LDADD = $(LIBCEPHFS) -lm $(UNITTEST_LDADD)
+unittest_base64_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_base64
+
+unittest_ceph_argparse_SOURCES = test/ceph_argparse.cc
+unittest_ceph_argparse_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_argparse_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_ceph_argparse
+
+unittest_ceph_compatset_SOURCES = test/ceph_compatset.cc
+unittest_ceph_compatset_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_compatset_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_ceph_compatset
+
+libec_example_la_SOURCES = test/osd/ErasureCodePluginExample.cc
+libec_example_la_CFLAGS = ${AM_CFLAGS}
+libec_example_la_CXXFLAGS= ${AM_CXXFLAGS}
+libec_example_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_example_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+erasure_codelib_LTLIBRARIES += libec_example.la
+
+libec_missing_entry_point_la_SOURCES = test/osd/ErasureCodePluginMissingEntryPoint.cc
+libec_missing_entry_point_la_CFLAGS = ${AM_CFLAGS}
+libec_missing_entry_point_la_CXXFLAGS= ${AM_CXXFLAGS}
+libec_missing_entry_point_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_missing_entry_point_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+erasure_codelib_LTLIBRARIES += libec_missing_entry_point.la
+
+libec_hangs_la_SOURCES = test/osd/ErasureCodePluginHangs.cc
+libec_hangs_la_CFLAGS = ${AM_CFLAGS}
+libec_hangs_la_CXXFLAGS= ${AM_CXXFLAGS}
+libec_hangs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_hangs_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+erasure_codelib_LTLIBRARIES += libec_hangs.la
+
+libec_fail_to_initialize_la_SOURCES = test/osd/ErasureCodePluginFailToInitialize.cc
+libec_fail_to_initialize_la_CFLAGS = ${AM_CFLAGS}
+libec_fail_to_initialize_la_CXXFLAGS= ${AM_CXXFLAGS}
+libec_fail_to_initialize_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_fail_to_initialize_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+erasure_codelib_LTLIBRARIES += libec_fail_to_initialize.la
+
+libec_fail_to_register_la_SOURCES = test/osd/ErasureCodePluginFailToRegister.cc
+libec_fail_to_register_la_CFLAGS = ${AM_CFLAGS}
+libec_fail_to_register_la_CXXFLAGS= ${AM_CXXFLAGS}
+libec_fail_to_register_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+libec_fail_to_register_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+erasure_codelib_LTLIBRARIES += libec_fail_to_register.la
+
+unittest_erasure_code_plugin_SOURCES = test/osd/TestErasureCodePlugin.cc 
+unittest_erasure_code_plugin_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_plugin_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+if LINUX
+unittest_erasure_code_plugin_LDADD += -ldl
+endif
+check_PROGRAMS += unittest_erasure_code_plugin
+
+unittest_erasure_code_jerasure_SOURCES = \
+	test/osd/TestErasureCodeJerasure.cc \
+	$(libec_jerasure_la_SOURCES)
+unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+if LINUX
+unittest_erasure_code_jerasure_LDADD += -ldl
+endif
+check_PROGRAMS += unittest_erasure_code_jerasure
+
+unittest_erasure_code_plugin_jerasure_SOURCES = \
+	test/osd/TestErasureCodePluginJerasure.cc
+unittest_erasure_code_plugin_jerasure_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+unittest_erasure_code_plugin_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+if LINUX
+unittest_erasure_code_plugin_jerasure_LDADD += -ldl
+endif
+check_PROGRAMS += unittest_erasure_code_plugin_jerasure
+
+unittest_erasure_code_example_SOURCES = test/osd/TestErasureCodeExample.cc 
+noinst_HEADERS += test/osd/ErasureCodeExample.h
+unittest_erasure_code_example_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_erasure_code_example_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_erasure_code_example
+
+unittest_osd_types_SOURCES = test/test_osd_types.cc
+unittest_osd_types_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_osd_types_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) 
+check_PROGRAMS += unittest_osd_types
+
+unittest_pglog_SOURCES = test/osd/TestPGLog.cc
+unittest_pglog_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+unittest_pglog_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+check_PROGRAMS += unittest_pglog
+
+if LINUX
+unittest_pglog_LDADD += -ldl
+endif # LINUX
+
+unittest_gather_SOURCES = test/gather.cc
+unittest_gather_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_gather_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_gather
+
+unittest_run_cmd_SOURCES = test/run_cmd.cc
+unittest_run_cmd_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_run_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_run_cmd
+
+unittest_signals_SOURCES = test/signals.cc
+unittest_signals_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_signals_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_signals
+
+unittest_simple_spin_SOURCES = test/simple_spin.cc
+unittest_simple_spin_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_simple_spin_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_simple_spin
+
+unittest_librados_SOURCES = test/librados/librados.cc
+unittest_librados_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+unittest_librados_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_librados
+
+unittest_bufferlist_SOURCES = test/bufferlist.cc
+unittest_bufferlist_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) 
+unittest_bufferlist_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_bufferlist
+
+unittest_crc32c_SOURCES = test/common/test_crc32c.cc
+unittest_crc32c_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_crc32c_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_crc32c
+
+unittest_arch_SOURCES = test/test_arch.c
+unittest_arch_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_arch_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_arch
+
+unittest_crypto_SOURCES = test/crypto.cc
+unittest_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_crypto
+
+unittest_perf_counters_SOURCES = test/perf_counters.cc
+unittest_perf_counters_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_perf_counters_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_perf_counters
+
+unittest_admin_socket_SOURCES = test/admin_socket.cc
+unittest_admin_socket_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_admin_socket_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_admin_socket
+
+unittest_ceph_crypto_SOURCES = test/ceph_crypto.cc
+unittest_ceph_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ceph_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_ceph_crypto
+
+unittest_utf8_SOURCES = test/utf8.cc
+unittest_utf8_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_utf8_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_utf8
+
+unittest_mime_SOURCES = test/mime.cc
+unittest_mime_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_mime_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_mime
+
+unittest_escape_SOURCES = test/escape.cc
+unittest_escape_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_escape_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_escape
+
+unittest_chain_xattr_SOURCES = test/filestore/chain_xattr.cc
+unittest_chain_xattr_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_chain_xattr_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_chain_xattr
+
+unittest_flatindex_SOURCES = test/os/TestFlatIndex.cc
+unittest_flatindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_flatindex_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_flatindex
+
+unittest_strtol_SOURCES = test/strtol.cc
+unittest_strtol_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_strtol_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_strtol
+
+unittest_confutils_SOURCES = test/confutils.cc
+unittest_confutils_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_confutils_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_confutils
+
+unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc
+unittest_heartbeatmap_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_heartbeatmap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_heartbeatmap
+
+# why does this include rgw/rgw_formats.cc...?
+unittest_formatter_SOURCES = \
+	test/formatter.cc \
+	rgw/rgw_formats.cc
+unittest_formatter_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_formatter_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_formatter
+
+unittest_libcephfs_config_SOURCES = test/libcephfs_config.cc
+unittest_libcephfs_config_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+unittest_libcephfs_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_libcephfs_config
+
+unittest_lfnindex_SOURCES = test/os/TestLFNIndex.cc
+unittest_lfnindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_lfnindex_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_lfnindex
+
+unittest_librados_config_SOURCES = test/librados/librados_config.cc
+unittest_librados_config_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+unittest_librados_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_librados_config
+
+#unittest_librgw_link_SOURCES = test/librgw_link.cc
+#unittest_librgw_link_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS}
+#unittest_librgw_link_LDADD = $(LIBRGW) ${UNITTEST_LDADD}
+#unittest_librgw_link_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+#check_PROGRAMS += unittest_librgw_link
+
+unittest_daemon_config_SOURCES = test/daemon_config.cc
+unittest_daemon_config_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_daemon_config_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_daemon_config
+
+unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc 
+unittest_osd_osdcap_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_osd_osdcap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_osd_osdcap
+
+unittest_mon_moncap_SOURCES = test/mon/moncap.cc
+unittest_mon_moncap_LDADD = $(LIBMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_mon_moncap_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_mon_moncap
+
+#if WITH_RADOSGW
+#unittest_librgw_SOURCES = test/librgw.cc
+#unittest_librgw_LDFLAGS = -lrt $(PTHREAD_CFLAGS) -lcurl ${AM_LDFLAGS}
+#unittest_librgw_LDADD =  librgw.la $(LIBRADOS) ${UNITTEST_LDADD} -lexpat $(CEPH_GLOBAL)
+#unittest_librgw_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
+#check_PROGRAMS += unittest_librgw
+#endif # WITH_RADOSGW
+
+unittest_ipaddr_SOURCES = test/test_ipaddr.cc
+unittest_ipaddr_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+unittest_ipaddr_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_ipaddr
+
+unittest_texttable_SOURCES = test/test_texttable.cc
+unittest_texttable_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD)
+unittest_texttable_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+check_PROGRAMS += unittest_texttable
+
+check_SCRIPTS += test/pybind/test_ceph_argparse.py
+
+if WITH_RADOSGW
+ceph_test_cors_SOURCES = test/test_cors.cc
+ceph_test_cors_LDADD = \
+	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+	$(UNITTEST_LDADD) \
+	-lcurl -luuid -lexpat
+ceph_test_cors_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cors
+
+ceph_test_cls_rgw_meta_SOURCES = test/test_rgw_admin_meta.cc
+ceph_test_cls_rgw_meta_LDADD = \
+	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+	-lcurl -luuid -lexpat \
+	libcls_version_client.a libcls_log_client.a \
+	libcls_statelog_client.a libcls_refcount_client.la \
+	libcls_rgw_client.la libcls_lock_client.la
+ceph_test_cls_rgw_meta_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_rgw_meta
+
+ceph_test_cls_rgw_log_SOURCES = test/test_rgw_admin_log.cc
+ceph_test_cls_rgw_log_LDADD = \
+	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+	-lcurl -luuid -lexpat \
+	libcls_version_client.a libcls_log_client.a \
+	libcls_statelog_client.a libcls_refcount_client.la \
+	libcls_rgw_client.la libcls_lock_client.la
+ceph_test_cls_rgw_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_rgw_log
+
+ceph_test_cls_rgw_opstate_SOURCES = test/test_rgw_admin_opstate.cc
+ceph_test_cls_rgw_opstate_LDADD = \
+	$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
+	$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
+	-lcurl -luuid -lexpat \
+	libcls_version_client.a libcls_log_client.a \
+	libcls_statelog_client.a libcls_refcount_client.la \
+	libcls_rgw_client.la libcls_lock_client.la
+ceph_test_cls_rgw_opstate_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_rgw_opstate
+endif # WITH_RADOSGW
+
+ceph_test_librbd_SOURCES = \
+	test/librbd/test_librbd.cc \
+	test/librados/test.cc
+ceph_test_librbd_LDADD = $(LIBRBD) $(LIBRADOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_librbd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_librbd
+
+ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
+ceph_test_librbd_fsx_LDADD = $(LIBRBD) $(LIBRADOS) -lm
+ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
+bin_DEBUGPROGRAMS += ceph_test_librbd_fsx
+
+ceph_test_cls_rbd_SOURCES = \
+	test/cls_rbd/test_cls_rbd.cc \
+	test/librados/test.cc
+ceph_test_cls_rbd_LDADD = $(LIBRADOS) libcls_rbd_client.la libcls_lock_client.la $(UNITTEST_LDADD)
+ceph_test_cls_rbd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_rbd
+
+ceph_test_cls_refcount_SOURCES = \
+	test/cls_refcount/test_cls_refcount.cc \
+	test/librados/test.cc
+ceph_test_cls_refcount_LDADD = $(LIBRADOS) libcls_refcount_client.la $(UNITTEST_LDADD)
+ceph_test_cls_refcount_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_refcount
+
+ceph_test_cls_version_SOURCES = \
+	test/cls_version/test_cls_version.cc \
+	test/librados/test.cc
+ceph_test_cls_version_LDADD = $(LIBRADOS) libcls_version_client.a $(UNITTEST_LDADD)
+ceph_test_cls_version_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_version
+
+ceph_test_cls_log_SOURCES = \
+	test/cls_log/test_cls_log.cc \
+	test/librados/test.cc
+ceph_test_cls_log_LDADD = $(LIBRADOS) libcls_log_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_log
+
+ceph_test_cls_statelog_SOURCES = \
+	test/cls_statelog/test_cls_statelog.cc \
+	test/librados/test.cc
+ceph_test_cls_statelog_LDADD = $(LIBRADOS) libcls_statelog_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_statelog_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_statelog
+
+ceph_test_cls_replica_log_SOURCES = \
+	test/cls_replica_log/test_cls_replica_log.cc \
+	test/librados/test.cc
+ceph_test_cls_replica_log_LDADD = \
+	$(LIBRADOS) libcls_replica_log_client.a \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_replica_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_replica_log
+
+ceph_test_cls_lock_SOURCES = \
+	test/cls_lock/test_cls_lock.cc \
+	test/librados/test.cc
+ceph_test_cls_lock_LDADD = $(LIBRADOS) libcls_lock_client.la $(UNITTEST_LDADD)
+ceph_test_cls_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_lock
+
+ceph_test_cls_hello_SOURCES = \
+	test/cls_hello/test_cls_hello.cc \
+	test/librados/test.cc
+ceph_test_cls_hello_LDADD = \
+	$(LIBRADOS) $(CRYPTO_LIBS) \
+	$(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_cls_hello_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_hello
+
+if WITH_RADOSGW
+ceph_test_cls_rgw_SOURCES = \
+	test/cls_rgw/test_cls_rgw.cc \
+	test/librados/test.cc
+ceph_test_cls_rgw_LDADD = $(LIBRADOS) libcls_rgw_client.la $(UNITTEST_LDADD)
+ceph_test_cls_rgw_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_cls_rgw
+endif # WITH_RADOSGW
+
+ceph_test_mon_workloadgen_SOURCES = test/mon/test_mon_workloadgen.cc
+ceph_test_mon_workloadgen_LDADD = $(LIBOS) $(LIBOSDC) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_mon_workloadgen
+
+ceph_test_rados_api_cmd_SOURCES = \
+	test/librados/cmd.cc \
+	test/librados/test.cc
+ceph_test_rados_api_cmd_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_cmd
+
+ceph_test_rados_api_io_SOURCES = \
+	test/librados/io.cc \
+	test/librados/test.cc
+ceph_test_rados_api_io_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_io_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_io
+
+ceph_test_rados_api_aio_SOURCES = \
+	test/librados/aio.cc \
+	test/librados/test.cc
+ceph_test_rados_api_aio_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_aio_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_aio
+
+ceph_test_rados_api_list_SOURCES = \
+	test/librados/list.cc \
+	test/librados/test.cc
+ceph_test_rados_api_list_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_list_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_list
+
+ceph_test_rados_api_pool_SOURCES = \
+	test/librados/pool.cc \
+	test/librados/test.cc
+ceph_test_rados_api_pool_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_pool_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_pool
+
+ceph_test_rados_api_stat_SOURCES = \
+	test/librados/stat.cc \
+	test/librados/test.cc
+ceph_test_rados_api_stat_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_stat_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_stat
+
+ceph_test_rados_api_watch_notify_SOURCES = \
+	test/librados/watch_notify.cc \
+	test/librados/test.cc
+ceph_test_rados_api_watch_notify_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_watch_notify_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_watch_notify
+
+ceph_test_rados_api_snapshots_SOURCES = \
+	test/librados/snapshots.cc \
+	test/librados/test.cc
+ceph_test_rados_api_snapshots_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_snapshots_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_snapshots
+
+ceph_test_rados_api_cls_SOURCES = \
+	test/librados/cls.cc \
+	test/librados/test.cc
+ceph_test_rados_api_cls_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_cls_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_cls
+
+ceph_test_rados_api_misc_SOURCES = \
+	test/librados/misc.cc \
+	test/librados/test.cc
+ceph_test_rados_api_misc_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_rados_api_misc_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_misc
+
+ceph_test_rados_api_lock_SOURCES = \
+	test/librados/lock.cc \
+	test/librados/test.cc
+ceph_test_rados_api_lock_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_rados_api_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_rados_api_lock
+
+ceph_test_libcephfs_SOURCES = \
+	test/libcephfs/test.cc \
+	test/libcephfs/readdir_r_cb.cc \
+	test/libcephfs/caps.cc \
+	test/libcephfs/multiclient.cc
+ceph_test_libcephfs_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD)
+ceph_test_libcephfs_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_libcephfs
+
+ceph_test_filestore_SOURCES = test/filestore/store_test.cc
+ceph_test_filestore_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_filestore_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_filestore
+
+ceph_test_filestore_workloadgen_SOURCES = \
+	test/filestore/workload_generator.cc \
+	test/filestore/TestFileStoreState.cc
+ceph_test_filestore_workloadgen_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_filestore_workloadgen
+
+ceph_test_filestore_idempotent_SOURCES = \
+	test/filestore/test_idempotent.cc \
+	test/filestore/FileStoreTracker.cc \
+	test/common/ObjectContents.cc
+ceph_test_filestore_idempotent_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent
+
+ceph_test_filestore_idempotent_sequence_SOURCES = \
+	test/filestore/test_idempotent_sequence.cc \
+	test/filestore/DeterministicOpSequence.cc \
+	test/filestore/TestFileStoreState.cc \
+	test/filestore/FileStoreDiff.cc
+ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent_sequence
+
+ceph_xattr_bench_SOURCES = test/xattr_bench.cc
+ceph_xattr_bench_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_xattr_bench_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_xattr_bench
+
+ceph_test_filejournal_SOURCES = test/test_filejournal.cc
+ceph_test_filejournal_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_filejournal_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_LDADD = $(LIBRADOS) $(UNITTEST_LDADD)
+ceph_test_stress_watch_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_stress_watch
+
+ceph_test_objectcacher_stress_SOURCES = \
+	test/osdc/object_cacher_stress.cc \
+	test/osdc/FakeWriteback.cc
+ceph_test_objectcacher_stress_LDADD = $(LIBOSDC) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_test_objectcacher_stress
+
+ceph_test_snap_mapper_SOURCES = test/test_snap_mapper.cc
+ceph_test_snap_mapper_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_snap_mapper_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_snap_mapper
+
+ceph_test_object_map_SOURCES = \
+	test/ObjectMap/test_object_map.cc \
+	test/ObjectMap/KeyValueDBMemory.cc
+ceph_test_object_map_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_object_map_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_object_map
+
+ceph_test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc
+ceph_test_keyvaluedb_atomicity_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_keyvaluedb_atomicity_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_atomicity
+
+ceph_test_keyvaluedb_iterators_SOURCES = \
+	test/ObjectMap/test_keyvaluedb_iterators.cc \
+	test/ObjectMap/KeyValueDBMemory.cc
+ceph_test_keyvaluedb_iterators_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ceph_test_keyvaluedb_iterators_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_iterators
+
+ceph_test_cfuse_cache_invalidate_SOURCES = test/test_cfuse_cache_invalidate.cc
+bin_DEBUGPROGRAMS += ceph_test_cfuse_cache_invalidate
+
+
+noinst_HEADERS += \
+	test/osd/RadosModel.h \
+	test/osd/Object.h \
+	test/osd/TestOpStat.h \
+	test/bench/distribution.h \
+	test/bench/rados_backend.h \
+	test/bench/rbd_backend.h \
+	test/bench/bencher.h \
+	test/bench/backend.h \
+	test/bench/dumb_backend.h \
+	test/bench/stat_collector.h \
+	test/bench/detailed_stat_collector.h \
+	test/bench/testfilestore_backend.h \
+	test/common/ObjectContents.h \
+	test/encoding/types.h \
+	test/filestore/DeterministicOpSequence.h \
+	test/filestore/FileStoreTracker.h \
+	test/filestore/FileStoreDiff.h \
+	test/filestore/TestFileStoreState.h \
+	test/filestore/workload_generator.h \
+	test/kv_store_bench.h \
+	test/librados/test.h \
+	test/ObjectMap/KeyValueDBMemory.h \
+	test/omap_bench.h \
+	test/osd/Object.h \
+	test/osd/RadosModel.h \
+	test/osd/TestOpStat.h \
+	test/osdc/FakeWriteback.h \
+	test/system/cross_process_sem.h \
+	test/system/st_rados_create_pool.h \
+	test/system/st_rados_list_objects.h \
+	test/system/st_rados_delete_objs.h \
+	test/system/st_rados_delete_pool.h \
+	test/system/st_rados_notify.h \
+	test/system/st_rados_watch.h \
+	test/system/systest_runnable.h \
+	test/system/systest_settings.h \
+	test/unit.h
+
diff --git a/src/test/ObjectMap/KeyValueDBMemory.h b/src/test/ObjectMap/KeyValueDBMemory.h
index baed9de..5cffce3 100644
--- a/src/test/ObjectMap/KeyValueDBMemory.h
+++ b/src/test/ObjectMap/KeyValueDBMemory.h
@@ -104,8 +104,7 @@ public:
       for (list<Context *>::iterator i = on_commit.begin();
 	   i != on_commit.end();
 	   on_commit.erase(i++)) {
-	(*i)->finish(0);
-	delete *i;
+	(*i)->complete(0);
       }
       return 0;
     }
@@ -127,6 +126,24 @@ public:
     return static_cast<TransactionImpl_*>(trans.get())->complete();
   }
 
+  uint64_t get_estimated_size(map<string,uint64_t> &extras) {
+    uint64_t total_size = 0;
+
+    for (map<pair<string,string>,bufferlist>::iterator p = db.begin();
+         p != db.end(); ++p) {
+      string prefix = p->first.first;
+      bufferlist &bl = p->second;
+
+      uint64_t sz = bl.length();
+      total_size += sz;
+      if (extras.count(prefix) == 0)
+        extras[prefix] = 0;
+      extras[prefix] += sz;
+    }
+
+    return total_size;
+  }
+
 private:
   bool exists_prefix(const string &prefix) {
     std::map<std::pair<string,string>,bufferlist>::iterator it;
diff --git a/src/test/ObjectMap/test_object_map.cc b/src/test/ObjectMap/test_object_map.cc
index 1b39c80..23f220d 100644
--- a/src/test/ObjectMap/test_object_map.cc
+++ b/src/test/ObjectMap/test_object_map.cc
@@ -55,16 +55,16 @@ public:
   }
 
   void set_key(const string &objname, const string &key, const string &value) {
-    set_key(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    set_key(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 	    key, value);
   }
 
   void set_xattr(const string &objname, const string &key, const string &value) {
-    set_xattr(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    set_xattr(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 	      key, value);
   }
 
-  void set_key(hobject_t hoid,
+  void set_key(ghobject_t hoid,
 	       string key, string value) {
     map<string, bufferlist> to_write;
     bufferptr bp(value.c_str(), value.size());
@@ -74,7 +74,7 @@ public:
     db->set_keys(hoid, to_write);
   }
 
-  void set_xattr(hobject_t hoid,
+  void set_xattr(ghobject_t hoid,
 		 string key, string value) {
     map<string, bufferlist> to_write;
     bufferptr bp(value.c_str(), value.size());
@@ -85,11 +85,11 @@ public:
   }
 
   void set_header(const string &objname, const string &value) {
-    set_header(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    set_header(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 	       value);
   }
 
-  void set_header(hobject_t hoid,
+  void set_header(ghobject_t hoid,
 		  const string &value) {
     bufferlist header;
     header.append(bufferptr(value.c_str(), value.size() + 1));
@@ -97,11 +97,11 @@ public:
   }
 
   int get_header(const string &objname, string *value) {
-    return get_header(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    return get_header(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 		      value);
   }
 
-  int get_header(hobject_t hoid,
+  int get_header(ghobject_t hoid,
 		 string *value) {
     bufferlist header;
     int r = db->get_header(hoid, &header);
@@ -115,11 +115,11 @@ public:
   }
 
   int get_xattr(const string &objname, const string &key, string *value) {
-    return get_xattr(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    return get_xattr(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 		     key, value);
   }
 
-  int get_xattr(hobject_t hoid,
+  int get_xattr(ghobject_t hoid,
 		string key, string *value) {
     set<string> to_get;
     to_get.insert(key);
@@ -135,11 +135,11 @@ public:
   }
 
   int get_key(const string &objname, const string &key, string *value) {
-    return get_key(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    return get_key(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 		   key, value);
   }
 
-  int get_key(hobject_t hoid,
+  int get_key(ghobject_t hoid,
 	      string key, string *value) {
     set<string> to_get;
     to_get.insert(key);
@@ -155,11 +155,11 @@ public:
   }
 
   void remove_key(const string &objname, const string &key) {
-    remove_key(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    remove_key(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 	       key);
   }
 
-  void remove_key(hobject_t hoid,
+  void remove_key(ghobject_t hoid,
 		  string key) {
     set<string> to_remove;
     to_remove.insert(key);
@@ -167,11 +167,11 @@ public:
   }
 
   void remove_xattr(const string &objname, const string &key) {
-    remove_xattr(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
+    remove_xattr(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
 		 key);
   }
 
-  void remove_xattr(hobject_t hoid,
+  void remove_xattr(ghobject_t hoid,
 		    string key) {
     set<string> to_remove;
     to_remove.insert(key);
@@ -179,20 +179,20 @@ public:
   }
 
   void clone(const string &objname, const string &target) {
-    clone(hobject_t(sobject_t(objname, CEPH_NOSNAP)),
-	  hobject_t(sobject_t(target, CEPH_NOSNAP)));
+    clone(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))),
+	  ghobject_t(hobject_t(sobject_t(target, CEPH_NOSNAP))));
   }
 
-  void clone(hobject_t hoid,
-	     hobject_t hoid2) {
+  void clone(ghobject_t hoid,
+	     ghobject_t hoid2) {
     db->clone(hoid, hoid2);
   }
 
   void clear(const string &objname) {
-    clear(hobject_t(sobject_t(objname, CEPH_NOSNAP)));
+    clear(ghobject_t(hobject_t(sobject_t(objname, CEPH_NOSNAP))));
   }
 
-  void clear(hobject_t hoid) {
+  void clear(ghobject_t hoid) {
     db->clear(hoid);
   }
 
@@ -543,7 +543,7 @@ int main(int argc, char **argv) {
 }
 
 TEST_F(ObjectMapTest, CreateOneObject) {
-  hobject_t hoid(sobject_t("foo", CEPH_NOSNAP));
+  ghobject_t hoid(hobject_t(sobject_t("foo", CEPH_NOSNAP)), 100, 0);
   map<string, bufferlist> to_set;
   string key("test");
   string val("test_val");
@@ -579,8 +579,8 @@ TEST_F(ObjectMapTest, CreateOneObject) {
 }
 
 TEST_F(ObjectMapTest, CloneOneObject) {
-  hobject_t hoid(sobject_t("foo", CEPH_NOSNAP));
-  hobject_t hoid2(sobject_t("foo2", CEPH_NOSNAP));
+  ghobject_t hoid(hobject_t(sobject_t("foo", CEPH_NOSNAP)), 200, 0);
+  ghobject_t hoid2(hobject_t(sobject_t("foo2", CEPH_NOSNAP)), 201, 1);
 
   tester.set_key(hoid, "foo", "bar");
   tester.set_key(hoid, "foo2", "bar2");
@@ -640,8 +640,8 @@ TEST_F(ObjectMapTest, CloneOneObject) {
 }
 
 TEST_F(ObjectMapTest, OddEvenClone) {
-  hobject_t hoid(sobject_t("foo", CEPH_NOSNAP));
-  hobject_t hoid2(sobject_t("foo2", CEPH_NOSNAP));
+  ghobject_t hoid(hobject_t(sobject_t("foo", CEPH_NOSNAP)));
+  ghobject_t hoid2(hobject_t(sobject_t("foo2", CEPH_NOSNAP)));
 
   for (unsigned i = 0; i < 1000; ++i) {
     tester.set_key(hoid, "foo" + num_str(i), "bar" + num_str(i));
diff --git a/src/test/ObjectMap/test_store_tool/test_store_tool.cc b/src/test/ObjectMap/test_store_tool/test_store_tool.cc
deleted file mode 100644
index ace9122..0000000
--- a/src/test/ObjectMap/test_store_tool/test_store_tool.cc
+++ /dev/null
@@ -1,182 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-/*
-* Ceph - scalable distributed file system
-*
-* Copyright (C) 2012 Inktank, Inc.
-*
-* This is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License version 2.1, as published by the Free Software
-* Foundation. See file COPYING.
-*/
-#include <iostream>
-#include <string>
-#include <sstream>
-#include <map>
-#include <set>
-#include <boost/scoped_ptr.hpp>
-
-#include "os/LevelDBStore.h"
-
-#include "common/ceph_argparse.h"
-#include "global/global_init.h"
-#include "common/errno.h"
-#include "common/safe_io.h"
-#include "common/config.h"
-
-using namespace std;
-
-class StoreTool
-{
-  boost::scoped_ptr<KeyValueDB> db;
-
-  public:
-  StoreTool(const string &path) {
-    LevelDBStore *db_ptr = new LevelDBStore(g_ceph_context, path);
-    assert(!db_ptr->open(std::cerr));
-    db.reset(db_ptr);
-  }
-
-  void list(const string &prefix) {
-    KeyValueDB::WholeSpaceIterator iter = db->get_iterator();
-
-    if (prefix.empty())
-      iter->seek_to_first();
-    else
-      iter->seek_to_first(prefix);
-
-    while (iter->valid()) {
-      pair<string,string> rk = iter->raw_key();
-      if (!prefix.empty() && (rk.first != prefix))
-	break;
-
-      std::cout << rk.first << ":" << rk.second << std::endl;
-      iter->next();
-    }
-  }
-
-  bool exists(const string &prefix) {
-    assert(!prefix.empty());
-    KeyValueDB::WholeSpaceIterator iter = db->get_iterator();
-    iter->seek_to_first(prefix);
-    return (iter->valid() && (iter->raw_key().first == prefix));
-  }
-
-  bool exists(const string &prefix, const string &key) {
-    assert(!prefix.empty());
-
-    if (key.empty()) {
-      return exists(prefix);
-    }
-
-    bool exists = false;
-    get(prefix, key, exists);
-    return exists;
-  }
-
-  bufferlist get(const string &prefix, const string &key, bool &exists) {
-    assert(!prefix.empty() && !key.empty());
-
-    map<string,bufferlist> result;
-    set<string> keys;
-    keys.insert(key);
-    db->get(prefix, keys, &result);
-
-    if (result.count(key) > 0) {
-      exists = true;
-      return result[key];
-    }
-    exists = false;
-    return bufferlist();
-  }
-};
-
-void usage(const char *pname)
-{
-  std::cerr << "Usage: " << pname << " <store path> command [args...]\n"
-    << "\n"
-    << "Commands:\n"
-    << "  list [prefix]\n"
-    << "  exists <prefix> [key]\n"
-    << "  get <prefix> <key>\n"
-    << "  verify <store path>\n"
-    << std::endl;
-}
-
-int main(int argc, const char *argv[])
-{
-  vector<const char*> args;
-  argv_to_vec(argc, argv, args);
-  env_to_vec(args);
-
-  global_init(
-      NULL, args,
-      CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(g_ceph_context);
-
-
-  if (args.size() < 2) {
-    usage(argv[0]);
-    return 1;
-  }
-
-  string path(args[0]);
-  string cmd(args[1]);
-
-  std::cout << "path: " << path << " cmd " << cmd << std::endl;
-
-  StoreTool st(path);
-
-  if (cmd == "list") {
-    string prefix;
-    if (argc > 3)
-      prefix = argv[3];
-
-    st.list(prefix);
-
-  } else if (cmd == "exists") {
-    string key;
-    if (argc < 4) {
-      usage(argv[0]);
-      return 1;
-    }
-    string prefix(argv[3]);
-    if (argc > 4)
-      key = argv[4];
-
-    bool ret = st.exists(prefix, key);
-    std::cout << "(" << prefix << ", " << key << ") "
-      << (ret ? "exists" : "does not exist")
-      << std::endl;
-    return (ret ? 0 : 1);
-
-  } else if (cmd == "get") {
-    if (argc < 5) {
-      usage(argv[0]);
-      return 1;
-    }
-    string prefix(argv[3]);
-    string key(argv[4]);
-
-    bool exists = false;
-    bufferlist bl = st.get(prefix, key, exists);
-    std::cout << "(" << prefix << ", " << key << ")";
-    if (!exists) {
-      std::cout << " does not exist" << std::endl;
-      return 1;
-    }
-    std::cout << std::endl;
-    ostringstream os;
-    bl.hexdump(os);
-    std::cout << os.str() << std::endl;
-
-  } else if (cmd == "verify") {
-    assert(0);
-  } else {
-    std::cerr << "Unrecognized command: " << cmd << std::endl;
-    return 1;
-  }
-
-  return 0;
-}
diff --git a/src/test/bench/small_io_bench_fs.cc b/src/test/bench/small_io_bench_fs.cc
index a37a7e7..6f4ac07 100644
--- a/src/test/bench/small_io_bench_fs.cc
+++ b/src/test/bench/small_io_bench_fs.cc
@@ -21,7 +21,7 @@
 #include "distribution.h"
 #include "global/global_init.h"
 #include "os/FileStore.h"
-#include "filestore_backend.h"
+#include "testfilestore_backend.h"
 #include "common/perf_counters.h"
 
 namespace po = boost::program_options;
@@ -217,7 +217,7 @@ int main(int argc, char **argv)
     Bencher *bencher = new Bencher(
       gen,
       col,
-      new FileStoreBackend(&fs, vm["write-infos"].as<bool>()),
+      new TestFileStoreBackend(&fs, vm["write-infos"].as<bool>()),
       vm["num-concurrent-ops"].as<unsigned>(),
       vm["duration"].as<unsigned>(),
       vm["max-ops"].as<unsigned>());
diff --git a/src/test/bench/filestore_backend.cc b/src/test/bench/testfilestore_backend.cc
similarity index 92%
rename from src/test/bench/filestore_backend.cc
rename to src/test/bench/testfilestore_backend.cc
index 44abee9..4e2ca80 100644
--- a/src/test/bench/filestore_backend.cc
+++ b/src/test/bench/testfilestore_backend.cc
@@ -1,6 +1,6 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 
-#include "filestore_backend.h"
+#include "testfilestore_backend.h"
 #include "global/global_init.h"
 #include "os/ObjectStore.h"
 
@@ -16,14 +16,14 @@ struct C_DeleteTransWrapper : public Context {
   }
 };
 
-FileStoreBackend::FileStoreBackend(
+TestFileStoreBackend::TestFileStoreBackend(
   ObjectStore *os, bool write_infos)
   : os(os), finisher(g_ceph_context), write_infos(write_infos)
 {
   finisher.start();
 }
 
-void FileStoreBackend::write(
+void TestFileStoreBackend::write(
   const string &oid,
   uint64_t offset,
   const bufferlist &bl,
@@ -60,7 +60,7 @@ void FileStoreBackend::write(
     on_commit);
 }
 
-void FileStoreBackend::read(
+void TestFileStoreBackend::read(
   const string &oid,
   uint64_t offset,
   uint64_t length,
diff --git a/src/test/bench/filestore_backend.h b/src/test/bench/testfilestore_backend.h
similarity index 75%
rename from src/test/bench/filestore_backend.h
rename to src/test/bench/testfilestore_backend.h
index 7142993..2c3f8e6 100644
--- a/src/test/bench/filestore_backend.h
+++ b/src/test/bench/testfilestore_backend.h
@@ -1,22 +1,22 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 
-#ifndef FILESTOREBACKENDH
-#define FILESTOREBACKENDH
+#ifndef TESTFILESTOREBACKENDH
+#define TESTFILESTOREBACKENDH
 
 #include "common/Finisher.h"
 #include "backend.h"
 #include "include/Context.h"
 #include "os/ObjectStore.h"
 
-class FileStoreBackend : public Backend {
+class TestFileStoreBackend : public Backend {
   ObjectStore *os;
   Finisher finisher;
   map<string, ObjectStore::Sequencer> osrs;
   const bool write_infos;
 
 public:
-  FileStoreBackend(ObjectStore *os, bool write_infos);
-  ~FileStoreBackend() {
+  TestFileStoreBackend(ObjectStore *os, bool write_infos);
+  ~TestFileStoreBackend() {
     finisher.stop();
   }
   void write(
diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc
index b23bd33..8b6ca26 100644
--- a/src/test/bufferlist.cc
+++ b/src/test/bufferlist.cc
@@ -25,8 +25,10 @@
 #include <sys/uio.h>
 
 #include "include/buffer.h"
+#include "include/utime.h"
 #include "include/encoding.h"
 #include "common/environment.h"
+#include "common/Clock.h"
 
 #include "gtest/gtest.h"
 #include "stdlib.h"
@@ -1649,6 +1651,165 @@ TEST(BufferList, crc32c) {
   EXPECT_EQ((unsigned)0x5FA5C0CC, crc);
 }
 
+TEST(BufferList, crc32c_append) {
+  bufferlist bl1;
+  bufferlist bl2;
+
+  for (int j = 0; j < 200; ++j) {
+    bufferlist bl;
+    for (int i = 0; i < 200; ++i) {
+      char x = rand();
+      bl.append(x);
+      bl1.append(x);
+    }
+    bl.crc32c(rand()); // mess with the cached bufferptr crc values
+    bl2.append(bl);
+  }
+  ASSERT_EQ(bl1.crc32c(0), bl2.crc32c(0));
+}
+
+TEST(BufferList, crc32c_append_perf) {
+  int len = 256 * 1024 * 1024;
+  bufferptr a(len);
+  bufferptr b(len);
+  bufferptr c(len);
+  bufferptr d(len);
+  std::cout << "populating large buffers (a, b=c=d)" << std::endl;
+  char *pa = a.c_str();
+  char *pb = b.c_str();
+  char *pc = c.c_str();
+  char *pd = c.c_str();
+  for (int i=0; i<len; i++) {
+    pa[i] = (i & 0xff) ^ 73;
+    pb[i] = (i & 0xff) ^ 123;
+    pc[i] = (i & 0xff) ^ 123;
+    pd[i] = (i & 0xff) ^ 123;
+  }
+
+  // track usage of cached crcs
+  buffer::track_cached_crc(true);
+
+  int base_cached = buffer::get_cached_crc();
+  int base_cached_adjusted = buffer::get_cached_crc_adjusted();
+
+  bufferlist bla;
+  bla.push_back(a);
+  bufferlist blb;
+  blb.push_back(b);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = bla.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "a.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 1138817026u);
+  }
+  assert(buffer::get_cached_crc() == 0 + base_cached);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = bla.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "a.crc32c(0) (again) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 1138817026u);
+  }
+  assert(buffer::get_cached_crc() == 1 + base_cached);
+
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = bla.crc32c(5);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "a.crc32c(5) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 3239494520u);
+  }
+  assert(buffer::get_cached_crc() == 1 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 1 + base_cached_adjusted);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = bla.crc32c(5);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "a.crc32c(5) (again) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 3239494520u);
+  }
+  assert(buffer::get_cached_crc() == 1 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 2 + base_cached_adjusted);
+
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = blb.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "b.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 2481791210u);
+  }
+  assert(buffer::get_cached_crc() == 1 + base_cached);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = blb.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "b.crc32c(0) (again)= " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 2481791210u);
+  }
+  assert(buffer::get_cached_crc() == 2 + base_cached);
+
+  bufferlist ab;
+  ab.push_back(a);
+  ab.push_back(b);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = ab.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)ab.length() / (float)(1024*1024) / (float)(end - start);
+    std::cout << "ab.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 2988268779u);
+  }
+  assert(buffer::get_cached_crc() == 3 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 3 + base_cached_adjusted);
+  bufferlist ac;
+  ac.push_back(a);
+  ac.push_back(c);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = ac.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)ac.length() / (float)(1024*1024) / (float)(end - start);
+    std::cout << "ac.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 2988268779u);
+  }
+  assert(buffer::get_cached_crc() == 4 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 3 + base_cached_adjusted);
+
+  bufferlist ba;
+  ba.push_back(b);
+  ba.push_back(a);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = ba.crc32c(0);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)ba.length() / (float)(1024*1024) / (float)(end - start);
+    std::cout << "ba.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 169240695u);
+  }
+  assert(buffer::get_cached_crc() == 5 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 4 + base_cached_adjusted);
+  {
+    utime_t start = ceph_clock_now(NULL);
+    uint32_t r = ba.crc32c(5);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)ba.length() / (float)(1024*1024) / (float)(end - start);
+    std::cout << "ba.crc32c(5) = " << r << " at " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(r, 1265464778u);
+  }
+  assert(buffer::get_cached_crc() == 5 + base_cached);
+  assert(buffer::get_cached_crc_adjusted() == 6 + base_cached_adjusted);
+
+  cout << "crc cache hits (same start) = " << buffer::get_cached_crc() << std::endl;
+  cout << "crc cache hits (adjusted) = " << buffer::get_cached_crc_adjusted() << std::endl;
+}
+
 TEST(BufferList, compare) {
   bufferlist a;
   a.append("A");
diff --git a/src/test/test_libcommon_build.cc b/src/test/buildtest_skeleton.cc
similarity index 100%
rename from src/test/test_libcommon_build.cc
rename to src/test/buildtest_skeleton.cc
diff --git a/src/test/ceph_compatset.cc b/src/test/ceph_compatset.cc
new file mode 100644
index 0000000..2b57db0
--- /dev/null
+++ b/src/test/ceph_compatset.cc
@@ -0,0 +1,164 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2011 New Dream Network
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include <fstream>
+#include <iostream>
+#include <errno.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <ctype.h>
+#include <boost/scoped_ptr.hpp>
+#include <string>
+
+#include "include/types.h"
+#include "include/compat.h"
+
+//#undef assert
+//#define	assert(foo) if (!(foo)) abort();
+
+#include "include/CompatSet.h"
+
+#include "gtest/gtest.h"
+#include <vector>
+
+TEST(CephCompatSet, AllSet) {
+  CompatSet::FeatureSet compat;
+  CompatSet::FeatureSet ro;
+  CompatSet::FeatureSet incompat;
+
+  EXPECT_THROW(compat.insert(CompatSet::Feature(0, "test")), FailedAssertion);
+  EXPECT_THROW(compat.insert(CompatSet::Feature(64, "test")), FailedAssertion);
+
+  for (int i = 1; i < 64; i++) {
+    stringstream cname;
+    cname << string("c") << i;
+    compat.insert(CompatSet::Feature(i,cname.str().c_str()));
+    stringstream roname;
+    roname << string("r") << i;
+    ro.insert(CompatSet::Feature(i,roname.str().c_str()));
+    stringstream iname;
+    iname << string("i") << i;
+    incompat.insert(CompatSet::Feature(i,iname.str().c_str()));
+  }
+  CompatSet tcs(compat, ro, incompat);
+
+  //cout << tcs << std::endl;
+
+  //Due to a workaround for a bug bit 0 is always set even though it is
+  //not a legal feature.
+  EXPECT_EQ(tcs.compat.mask, (uint64_t)0xffffffffffffffff);
+  EXPECT_EQ(tcs.ro_compat.mask, (uint64_t)0xffffffffffffffff);
+  EXPECT_EQ(tcs.incompat.mask, (uint64_t)0xffffffffffffffff);
+
+  for (int i = 1; i < 64; i++) {
+    EXPECT_TRUE(tcs.compat.contains(i));
+    stringstream cname;
+    cname << string("c") << i;
+    EXPECT_TRUE(tcs.compat.contains(CompatSet::Feature(i,cname.str().c_str())));
+    tcs.compat.remove(i);
+
+    EXPECT_TRUE(tcs.ro_compat.contains(i));
+    stringstream roname;
+    roname << string("r") << i;
+    EXPECT_TRUE(tcs.ro_compat.contains(CompatSet::Feature(i,roname.str().c_str())));
+    tcs.ro_compat.remove(i);
+
+    EXPECT_TRUE(tcs.incompat.contains(i));
+    stringstream iname;
+    iname << string("i") << i;
+    EXPECT_TRUE(tcs.incompat.contains(CompatSet::Feature(i,iname.str().c_str())));
+    tcs.incompat.remove(i);
+  }
+  //Due to a workaround for a bug bit 0 is always set even though it is
+  //not a legal feature.
+  EXPECT_EQ(tcs.compat.mask, (uint64_t)1);
+  EXPECT_TRUE(tcs.compat.names.empty());
+  EXPECT_EQ(tcs.ro_compat.mask, (uint64_t)1);
+  EXPECT_TRUE(tcs.ro_compat.names.empty());
+  EXPECT_EQ(tcs.incompat.mask, (uint64_t)1);
+  EXPECT_TRUE(tcs.incompat.names.empty());
+}
+
+TEST(CephCompatSet, other) {
+  CompatSet s1, s2, s1dup;
+
+  s1.compat.insert(CompatSet::Feature(1, "c1"));
+  s1.compat.insert(CompatSet::Feature(2, "c2"));
+  s1.compat.insert(CompatSet::Feature(32, "c32"));
+  s1.ro_compat.insert(CompatSet::Feature(63, "r63"));
+  s1.incompat.insert(CompatSet::Feature(1, "i1"));
+
+  s2.compat.insert(CompatSet::Feature(1, "c1"));
+  s2.compat.insert(CompatSet::Feature(32, "c32"));
+  s2.ro_compat.insert(CompatSet::Feature(63, "r63"));
+  s2.incompat.insert(CompatSet::Feature(1, "i1"));
+
+  s1dup = s1;
+
+  //Check exact match
+  EXPECT_EQ(s1.compare(s1dup), 0);
+
+  //Check superset
+  EXPECT_EQ(s1.compare(s2), 1);
+
+  //Check missing features
+  EXPECT_EQ(s2.compare(s1), -1);
+
+  CompatSet diff = s2.unsupported(s1);
+  EXPECT_EQ(diff.compat.mask, (uint64_t)1<<2 | 1);
+  EXPECT_EQ(diff.ro_compat.mask, (uint64_t)1);
+  EXPECT_EQ(diff.incompat.mask, (uint64_t)1);
+
+  CompatSet s3 = s1;
+  s3.incompat.insert(CompatSet::Feature(4, "i4"));
+
+  diff = s1.unsupported(s3);
+  EXPECT_EQ(diff.compat.mask, (uint64_t)1);
+  EXPECT_EQ(diff.ro_compat.mask, (uint64_t)1);
+  EXPECT_EQ(diff.incompat.mask, (uint64_t)1<<4 | 1);
+}
+
+TEST(CephCompatSet, merge) {
+  CompatSet s1, s2, s1dup, s2dup;
+
+  s1.compat.insert(CompatSet::Feature(1, "c1"));
+  s1.compat.insert(CompatSet::Feature(2, "c2"));
+  s1.compat.insert(CompatSet::Feature(32, "c32"));
+  s1.ro_compat.insert(CompatSet::Feature(63, "r63"));
+  s1.incompat.insert(CompatSet::Feature(1, "i1"));
+
+  s1dup = s1;
+
+  s2.compat.insert(CompatSet::Feature(1, "c1"));
+  s2.compat.insert(CompatSet::Feature(32, "c32"));
+  s2.ro_compat.insert(CompatSet::Feature(1, "r1"));
+  s2.ro_compat.insert(CompatSet::Feature(63, "r63"));
+  s2.incompat.insert(CompatSet::Feature(1, "i1"));
+
+  s2dup = s2;
+
+  //Nothing to merge if they are the same
+  EXPECT_FALSE(s1.merge(s1dup));
+  EXPECT_FALSE(s2.merge(s2dup));
+
+  EXPECT_TRUE(s1.merge(s2));
+  EXPECT_EQ(s1.compat.mask, (uint64_t)1<<1 | (uint64_t)1<<2 | (uint64_t)1<<32 | 1);
+  EXPECT_EQ(s1.ro_compat.mask, (uint64_t)1<<1 | (uint64_t)1<<63 | 1);
+  EXPECT_EQ(s1.incompat.mask, (uint64_t)1<<1 | 1);
+
+  EXPECT_TRUE(s2.merge(s1dup));
+  EXPECT_EQ(s2.compat.mask, (uint64_t)1<<1 | (uint64_t)1<<2 | (uint64_t)1<<32 | 1);
+  EXPECT_EQ(s2.ro_compat.mask, (uint64_t)1<<1 | (uint64_t)1<<63 | 1);
+  EXPECT_EQ(s2.incompat.mask, (uint64_t)1<<1 | 1);
+}
diff --git a/src/test/cli/osdmaptool/clobber.t b/src/test/cli/osdmaptool/clobber.t
index 9bbe4d4..bbec5f0 100644
--- a/src/test/cli/osdmaptool/clobber.t
+++ b/src/test/cli/osdmaptool/clobber.t
@@ -3,6 +3,7 @@
   osdmaptool: writing epoch 1 to myosdmap
 
   $ ORIG_FSID="$(osdmaptool --print myosdmap|grep ^fsid)"
+  osdmaptool: osdmap file 'myosdmap'
 
   $ osdmaptool --createsimple 3 myosdmap
   osdmaptool: osdmap file 'myosdmap'
@@ -27,6 +28,7 @@
   
 
   $ NEW_FSID="$(osdmaptool --print myosdmap|grep ^fsid)"
+  osdmaptool: osdmap file 'myosdmap'
   $ [ "$ORIG_FSID" = "$NEW_FSID" ]
 
   $ osdmaptool --createsimple 1 --clobber myosdmap
@@ -49,6 +51,7 @@
   
 
   $ NEW_FSID="$(osdmaptool --print myosdmap|grep ^fsid)"
+  osdmaptool: osdmap file 'myosdmap'
 #TODO --clobber should probably set new fsid, remove the [1]
   $ [ "$ORIG_FSID" != "$NEW_FSID" ]
   [1]
diff --git a/src/test/cli/osdmaptool/create-racks.t b/src/test/cli/osdmaptool/create-racks.t
index 92bc995..f686ef4 100644
--- a/src/test/cli/osdmaptool/create-racks.t
+++ b/src/test/cli/osdmaptool/create-racks.t
@@ -1,4 +1,5 @@
   $ osdmaptool --create-from-conf om -c $TESTDIR/ceph.conf.withracks > /dev/null
+  osdmaptool: osdmap file 'om'
   $ osdmaptool --test-map-pg 0.0 om
   osdmaptool: osdmap file 'om'
    parsed '0.0' -> 0.0
diff --git a/src/test/cli/radosgw-admin/help.t b/src/test/cli/radosgw-admin/help.t
index 21f51e6..0994e42 100644
--- a/src/test/cli/radosgw-admin/help.t
+++ b/src/test/cli/radosgw-admin/help.t
@@ -23,6 +23,9 @@
     bucket check               check bucket index
     object rm                  remove object
     object unlink              unlink object from bucket index
+    quota set                  set quota params
+    quota enable               enable quota
+    quota disable              disable quota
     region get                 show region info
     regions list               list all regions set on this cluster
     region set                 set region info (requires infile)
@@ -75,6 +78,7 @@
      --access=<access>         Set access permissions for sub-user, should be one
                                of read, write, readwrite, full
      --display-name=<name>
+     --system                  set the system flag on the user
      --bucket=<bucket>
      --pool=<pool>
      --object=<object>
@@ -87,6 +91,7 @@
                                  mdlog trim
                                  replica mdlog get/delete
                                  replica datalog get/delete
+     --metadata-key=<key>      key to retrieve metadata from with metadata get
      --rgw-region=<region>     region in which radosgw is running
      --rgw-zone=<zone>         zone in which radosgw is running
      --fix                     besides checking bucket index, will also fix it
@@ -114,9 +119,16 @@
   
   <date> := "YYYY-MM-DD[ hh:mm:ss]"
   
-    --conf/-c        Read configuration from the given configuration file
-    --id/-i          set ID portion of my name
-    --name/-n        set name (TYPE.ID)
-    --version        show version and quit
+  Quota options:
+     --bucket                  specified bucket for quota command
+     --max-objects             specify max objects (negative value to disable)
+     --max-size                specify max size (in bytes, negative value to disable)
+     --quota-scope             scope of quota (bucket, user)
+  
+    --conf/-c FILE    read configuration from the given configuration file
+    --id/-i ID        set ID portion of my name
+    --name/-n TYPE.ID set name
+    --cluster NAME    set cluster name (default: ceph)
+    --version         show version and quit
   
   [1]
diff --git a/src/test/cli/rbd/help.t b/src/test/cli/rbd/help.t
index 1ad7938..754e11f 100644
--- a/src/test/cli/rbd/help.t
+++ b/src/test/cli/rbd/help.t
@@ -76,4 +76,5 @@
     --pretty-format                    make json or xml output more readable
     --no-settle                        do not wait for udevadm to settle on map/unmap
     --no-progress                      do not show progress for long-running commands
+    --read-only                        set device readonly when mapping image
     --allow-shrink                     allow shrinking of an image when resizing
diff --git a/src/test/cls_hello/test_cls_hello.cc b/src/test/cls_hello/test_cls_hello.cc
new file mode 100644
index 0000000..58ecb97
--- /dev/null
+++ b/src/test/cls_hello/test_cls_hello.cc
@@ -0,0 +1,133 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include <iostream>
+#include <errno.h>
+
+#include "include/rados/librados.hpp"
+#include "test/librados/test.h"
+#include "gtest/gtest.h"
+
+using namespace librados;
+
+TEST(ClsHello, SayHello) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  cluster.ioctx_create(pool_name.c_str(), ioctx);
+
+  bufferlist in, out;
+  ASSERT_EQ(-ENOENT, ioctx.exec("myobject", "hello", "say_hello", in, out));
+  ASSERT_EQ(0, ioctx.write_full("myobject", in));
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "say_hello", in, out));
+  ASSERT_EQ(std::string("Hello, world!"), std::string(out.c_str(), out.length()));
+
+  out.clear();
+  in.append("Tester");
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "say_hello", in, out));
+  ASSERT_EQ(std::string("Hello, Tester!"), std::string(out.c_str(), out.length()));
+
+  out.clear();
+  in.clear();
+  char buf[4096];
+  memset(buf, 1, sizeof(buf));
+  in.append(buf, sizeof(buf));
+  ASSERT_EQ(-EINVAL, ioctx.exec("myobject", "hello", "say_hello", in, out));
+
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
+TEST(ClsHello, RecordHello) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  cluster.ioctx_create(pool_name.c_str(), ioctx);
+
+  bufferlist in, out;
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "record_hello", in, out));
+  ASSERT_EQ(-EEXIST, ioctx.exec("myobject", "hello", "record_hello", in, out));
+
+  in.append("Tester");
+  ASSERT_EQ(0, ioctx.exec("myobject2", "hello", "record_hello", in, out));
+  ASSERT_EQ(-EEXIST, ioctx.exec("myobject2", "hello", "record_hello", in, out));
+  ASSERT_EQ(0u, out.length());
+
+  in.clear();
+  out.clear();
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "replay", in, out));
+  ASSERT_EQ(std::string("Hello, world!"), std::string(out.c_str(), out.length()));
+  out.clear();
+  ASSERT_EQ(0, ioctx.exec("myobject2", "hello", "replay", in, out));
+  ASSERT_EQ(std::string("Hello, Tester!"), std::string(out.c_str(), out.length()));
+
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
+TEST(ClsHello, WriteReturnData) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  cluster.ioctx_create(pool_name.c_str(), ioctx);
+
+  bufferlist in, out;
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "writes_dont_return_data", in, out));
+  ASSERT_EQ(std::string(), std::string(out.c_str(), out.length()));
+
+  char buf[4096];
+  memset(buf, 1, sizeof(buf));
+  in.append(buf, sizeof(buf));
+  ASSERT_EQ(-EINVAL, ioctx.exec("myobject2", "hello", "writes_dont_return_data", in, out));
+  ASSERT_EQ(std::string("too much input data!"), std::string(out.c_str(), out.length()));
+  ASSERT_EQ(-ENOENT, ioctx.getxattr("myobject2", "foo", out));
+
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
+TEST(ClsHello, Loud) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  cluster.ioctx_create(pool_name.c_str(), ioctx);
+
+  bufferlist in, out;
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "record_hello", in, out));
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "replay", in, out));
+  ASSERT_EQ(std::string("Hello, world!"), std::string(out.c_str(), out.length()));
+
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "turn_it_to_11", in, out));
+  ASSERT_EQ(0, ioctx.exec("myobject", "hello", "replay", in, out));
+  ASSERT_EQ(std::string("HELLO, WORLD!"), std::string(out.c_str(), out.length()));
+
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
+TEST(ClsHello, BadMethods) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  cluster.ioctx_create(pool_name.c_str(), ioctx);
+
+  bufferlist in, out;
+
+  ASSERT_EQ(0, ioctx.write_full("myobject", in));
+  ASSERT_EQ(-EIO, ioctx.exec("myobject", "hello", "bad_reader", in, out));
+  ASSERT_EQ(-EIO, ioctx.exec("myobject", "hello", "bad_writer", in, out));
+
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
diff --git a/src/test/common/get_command_descriptions.cc b/src/test/common/get_command_descriptions.cc
new file mode 100644
index 0000000..aff5575
--- /dev/null
+++ b/src/test/common/get_command_descriptions.cc
@@ -0,0 +1,116 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library Public License for more details.
+ *
+ */
+
+#include <stdio.h>
+#include <signal.h>
+#include "mon/Monitor.h"
+#include "common/ceph_argparse.h"
+#include "global/global_init.h"
+#include "common/debug.h"
+
+#define dout_subsys ceph_subsys_mon
+
+static void usage(ostream &out)
+{
+  out << "usage: get_command_descriptions [options ...]" << std::endl;
+  out << "print on stdout the result of JSON formatted options\n";
+  out << "found in mon/MonCommands.h as produced by the\n";
+  out << "Monitor.cc::get_command_descriptions function.\n";
+  out << "Designed as a helper for ceph_argparse.py unit tests.\n";
+  out << "\n";
+  out << "  --all               all of mon/MonCommands.h \n";
+  out << "  --pull585           reproduce the bug fixed by #585\n";
+  out << "\n";
+  out << "Examples:\n";
+  out << "  get_command_descriptions --all\n";
+  out << "  get_command_descriptions --pull585\n";
+}
+
+static void json_print(const MonCommand *mon_commands, int size)
+{
+  bufferlist rdata;
+  Formatter *f = new_formatter("json");
+  get_command_descriptions(mon_commands, size, f, &rdata);
+  delete f;
+  string data(rdata.c_str(), rdata.length());
+  dout(0) << data << dendl;
+}
+
+static void all()
+{
+#undef COMMAND
+  MonCommand mon_commands[] = {
+#define COMMAND(parsesig, helptext, modulename, req_perms, avail)	\
+    {parsesig, helptext, modulename, req_perms, avail},
+#include <mon/MonCommands.h>
+  };
+
+  json_print(mon_commands, ARRAY_SIZE(mon_commands));
+}
+
+// syntax error https://github.com/ceph/ceph/pull/585
+static void pull585()
+{
+  MonCommand mon_commands[] = {
+    { "osd pool create "		       
+      "name=pool,type=CephPoolname " 
+      "name=pg_num,type=CephInt,range=0 " 
+      "name=pgp_num,type=CephInt,range=0,req=false" // !!! missing trailing space
+      "name=properties,type=CephString,n=N,req=false,goodchars=[A-Za-z0-9-_.=]", 
+      "create pool", "osd", "rw", "cli,rest" }
+  };
+
+  json_print(mon_commands, ARRAY_SIZE(mon_commands));
+}
+
+int main(int argc, char **argv) {
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  if (args.empty()) {
+    usage(cerr);
+    exit(1);
+  }
+  for (std::vector<const char*>::iterator i = args.begin(); i != args.end(); ++i) {
+    string err;
+
+    if (*i == string("help") || *i == string("-h") || *i == string("--help")) {
+      usage(cout);
+      exit(0);
+    } else if (*i == string("--all")) {
+      all();
+    } else if (*i == string("--pull585")) {
+      pull585();
+    }
+  }  
+}
+
+/*
+ * Local Variables:
+ * compile-command: "cd ../.. ; 
+ *   make get_command_descriptions && 
+ *   ./get_command_descriptions --all --pull585"
+ * End:
+ */
+
diff --git a/src/test/common/test_bloom_filter.cc b/src/test/common/test_bloom_filter.cc
new file mode 100644
index 0000000..cfd4130
--- /dev/null
+++ b/src/test/common/test_bloom_filter.cc
@@ -0,0 +1,289 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank <info at inktank.com>
+ *
+ * LGPL2.1 (see COPYING-LGPL2.1) or later
+ */
+
+#include <iostream>
+#include <gtest/gtest.h>
+
+#include "include/stringify.h"
+#include "common/bloom_filter.hpp"
+
+TEST(BloomFilter, Basic) {
+  bloom_filter bf(10, .1, 1);
+  bf.insert("foo");
+  bf.insert("bar");
+
+  ASSERT_TRUE(bf.contains("foo"));
+  ASSERT_TRUE(bf.contains("bar"));
+}
+
+TEST(BloomFilter, Empty) {
+  bloom_filter bf;
+  for (int i=0; i<100; ++i) {
+    ASSERT_FALSE(bf.contains(i));
+    ASSERT_FALSE(bf.contains(stringify(i)));
+  }
+}
+
+TEST(BloomFilter, Sweep) {
+  std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
+  std::cout.precision(5);
+  std::cout << "# max\tfpp\tactual\tsize\tB/insert" << std::endl;
+  for (int ex = 3; ex < 12; ex += 2) {
+    for (float fpp = .001; fpp < .5; fpp *= 4.0) {
+      int max = 2 << ex;
+      bloom_filter bf(max, fpp, 1);
+      bf.insert("foo");
+      bf.insert("bar");
+
+      ASSERT_TRUE(bf.contains("foo"));
+      ASSERT_TRUE(bf.contains("bar"));
+
+      for (int n = 0; n < max; n++)
+	bf.insert("ok" + stringify(n));
+
+      int test = max * 100;
+      int hit = 0;
+      for (int n = 0; n < test; n++)
+	if (bf.contains("asdf" + stringify(n)))
+	  hit++;
+
+      ASSERT_TRUE(bf.contains("foo"));
+      ASSERT_TRUE(bf.contains("bar"));
+
+      double actual = (double)hit / (double)test;
+
+      bufferlist bl;
+      ::encode(bf, bl);
+
+      double byte_per_insert = (double)bl.length() / (double)max;
+
+      std::cout << max << "\t" << fpp << "\t" << actual << "\t" << bl.length() << "\t" << byte_per_insert << std::endl;
+      ASSERT_TRUE(actual < fpp * 10);
+
+    }
+  }
+}
+
+TEST(BloomFilter, SweepInt) {
+  std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
+  std::cout.precision(5);
+  std::cout << "# max\tfpp\tactual\tsize\tB/insert\tdensity\tapprox_element_count" << std::endl;
+  for (int ex = 3; ex < 12; ex += 2) {
+    for (float fpp = .001; fpp < .5; fpp *= 4.0) {
+      int max = 2 << ex;
+      bloom_filter bf(max, fpp, 1);
+      bf.insert("foo");
+      bf.insert("bar");
+
+      ASSERT_TRUE(123);
+      ASSERT_TRUE(456);
+
+      for (int n = 0; n < max; n++)
+	bf.insert(n);
+
+      int test = max * 100;
+      int hit = 0;
+      for (int n = 0; n < test; n++)
+	if (bf.contains(100000 + n))
+	  hit++;
+
+      ASSERT_TRUE(123);
+      ASSERT_TRUE(456);
+
+      double actual = (double)hit / (double)test;
+
+      bufferlist bl;
+      ::encode(bf, bl);
+
+      double byte_per_insert = (double)bl.length() / (double)max;
+
+      std::cout << max << "\t" << fpp << "\t" << actual << "\t" << bl.length() << "\t" << byte_per_insert
+		<< "\t" << bf.density() << "\t" << bf.approx_unique_element_count() << std::endl;
+      ASSERT_TRUE(actual < fpp * 10);
+      ASSERT_TRUE(actual > fpp / 10);
+      ASSERT_TRUE(bf.density() > 0.40);
+      ASSERT_TRUE(bf.density() < 0.60);
+    }
+  }
+}
+
+
+TEST(BloomFilter, CompressibleSweep) {
+  std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
+  std::cout.precision(5);
+  std::cout << "# max\tins\test ins\tafter\ttgtfpp\tactual\tsize\tb/elem\n";
+  float fpp = .01;
+  int max = 1024;
+  for (int div = 1; div < 10; div++) {
+    compressible_bloom_filter bf(max, fpp, 1);
+    int t = max/div;
+    for (int n = 0; n < t; n++)
+      bf.insert(n);
+
+    unsigned est = bf.approx_unique_element_count();
+    if (div > 1)
+      bf.compress(1.0 / div);
+
+    for (int n = 0; n < t; n++)
+      ASSERT_TRUE(bf.contains(n));
+
+    int test = max * 100;
+    int hit = 0;
+    for (int n = 0; n < test; n++)
+      if (bf.contains(100000 + n))
+	hit++;
+
+    double actual = (double)hit / (double)test;
+
+    bufferlist bl;
+    ::encode(bf, bl);
+
+    double byte_per_insert = (double)bl.length() / (double)max;
+    unsigned est_after = bf.approx_unique_element_count();
+    std::cout << max
+	      << "\t" << t
+	      << "\t" << est
+	      << "\t" << est_after
+	      << "\t" << fpp
+	      << "\t" << actual
+	      << "\t" << bl.length() << "\t" << byte_per_insert
+	      << std::endl;
+
+    ASSERT_TRUE(actual < fpp * 2.0);
+    ASSERT_TRUE(actual > fpp / 2.0);
+    ASSERT_TRUE(est_after < est * 2);
+    ASSERT_TRUE(est_after > est / 2);
+  }
+}
+
+
+
+TEST(BloomFilter, BinSweep) {
+  std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
+  std::cout.precision(5);
+  int total_max = 16384;
+  float total_fpp = .01;
+  std::cout << "total_inserts " << total_max << " target-fpp " << total_fpp << std::endl;
+  for (int bins = 1; bins < 16; ++bins) {
+    int max = total_max / bins;
+    float fpp = total_fpp / bins;//pow(total_fpp, bins);
+
+    std::vector<bloom_filter*> ls;
+    bufferlist bl;
+    for (int i=0; i<bins; i++) {
+      ls.push_back(new bloom_filter(max, fpp, i));
+      for (int j=0; j<max; j++) {
+	ls.back()->insert(10000 * (i+1) + j);
+      }
+      ::encode(*ls.front(), bl);
+    }
+
+    int hit = 0;
+    int test = max * 100;
+    for (int i=0; i<test; ++i) {
+      for (std::vector<bloom_filter*>::iterator j = ls.begin(); j != ls.end(); ++j) {
+	if ((*j)->contains(i * 732)) {  // note: sequential i does not work here; the intenral int hash is weak!!
+	  hit++;
+	  break;
+	}
+      }
+    }
+
+    double actual = (double)hit / (double)test;
+    std::cout << "bins " << bins << " bin-max " << max << " bin-fpp " << fpp
+	      << " actual-fpp " << actual
+	      << " total-size " << bl.length() << std::endl;
+  }
+}
+
+// disable these tests; doing dual insertions in consecutive filters
+// appears to be equivalent to doing a single insertion in a bloom
+// filter that is twice as big.
+#if 0
+
+// test the fpp over a sequence of bloom filters, each with unique
+// items inserted into it.
+//
+// we expect:  actual_fpp = num_filters * per_filter_fpp
+TEST(BloomFilter, Sequence) {
+
+  int max = 1024;
+  double fpp = .01;
+  for (int seq = 2; seq <= 128; seq *= 2) {
+    std::vector<bloom_filter*> ls;
+    for (int i=0; i<seq; i++) {
+      ls.push_back(new bloom_filter(max*2, fpp, i));
+      for (int j=0; j<max; j++) {
+	ls.back()->insert("ok" + stringify(j) + "_" + stringify(i));
+	if (ls.size() > 1)
+	  ls[ls.size() - 2]->insert("ok" + stringify(j) + "_" + stringify(i));
+      }
+    }
+
+    int hit = 0;
+    int test = max * 100;
+    for (int i=0; i<test; ++i) {
+      for (std::vector<bloom_filter*>::iterator j = ls.begin(); j != ls.end(); ++j) {
+	if ((*j)->contains("bad" + stringify(i))) {
+	  hit++;
+	  break;
+	}
+      }
+    }
+
+    double actual = (double)hit / (double)test;
+    std::cout << "seq " << seq << " max " << max << " fpp " << fpp << " actual " << actual << std::endl;
+  }
+}
+
+// test the ffp over a sequence of bloom filters, where actual values
+// are always inserted into a consecutive pair of filters.  in order
+// to have a false positive, we need to falsely match two consecutive
+// filters.
+//
+// we expect:  actual_fpp = num_filters * per_filter_fpp^2
+TEST(BloomFilter, SequenceDouble) {
+  int max = 1024;
+  double fpp = .01;
+  for (int seq = 2; seq <= 128; seq *= 2) {
+    std::vector<bloom_filter*> ls;
+    for (int i=0; i<seq; i++) {
+      ls.push_back(new bloom_filter(max*2, fpp, i));
+      for (int j=0; j<max; j++) {
+	ls.back()->insert("ok" + stringify(j) + "_" + stringify(i));
+	if (ls.size() > 1)
+	  ls[ls.size() - 2]->insert("ok" + stringify(j) + "_" + stringify(i));
+      }
+    }
+
+    int hit = 0;
+    int test = max * 100;
+    int run = 0;
+    for (int i=0; i<test; ++i) {
+      for (std::vector<bloom_filter*>::iterator j = ls.begin(); j != ls.end(); ++j) {
+	if ((*j)->contains("bad" + stringify(i))) {
+	  run++;
+	  if (run >= 2) {
+	    hit++;
+	    break;
+	  }
+	} else {
+	  run = 0;
+	}
+      }
+    }
+
+    double actual = (double)hit / (double)test;
+    std::cout << "seq " << seq << " max " << max << " fpp " << fpp << " actual " << actual
+	      << " expected " << (fpp*fpp*(double)seq) << std::endl;
+  }
+}
+
+#endif
diff --git a/src/test/common/test_crc32c.cc b/src/test/common/test_crc32c.cc
new file mode 100644
index 0000000..b4297c6
--- /dev/null
+++ b/src/test/common/test_crc32c.cc
@@ -0,0 +1,255 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include <iostream>
+#include <string.h>
+
+#include "include/types.h"
+#include "include/crc32c.h"
+#include "include/utime.h"
+#include "common/Clock.h"
+
+#include "gtest/gtest.h"
+
+#include "common/sctp_crc32.h"
+#include "common/crc32c_intel_baseline.h"
+
+TEST(Crc32c, Small) {
+  const char *a = "foo bar baz";
+  const char *b = "whiz bang boom";
+  ASSERT_EQ(4119623852u, ceph_crc32c(0, (unsigned char *)a, strlen(a)));
+  ASSERT_EQ(881700046u, ceph_crc32c(1234, (unsigned char *)a, strlen(a)));
+  ASSERT_EQ(2360230088u, ceph_crc32c(0, (unsigned char *)b, strlen(b)));
+  ASSERT_EQ(3743019208u, ceph_crc32c(5678, (unsigned char *)b, strlen(b)));
+}
+
+TEST(Crc32c, PartialWord) {
+  const char *a = (const char *)malloc(5);
+  const char *b = (const char *)malloc(35);
+  memset((void *)a, 1, 5);
+  memset((void *)b, 1, 35);
+  ASSERT_EQ(2715569182u, ceph_crc32c(0, (unsigned char *)a, 5));
+  ASSERT_EQ(440531800u, ceph_crc32c(0, (unsigned char *)b, 35));
+}
+
+TEST(Crc32c, Big) {
+  int len = 4096000;
+  char *a = (char *)malloc(len);
+  memset(a, 1, len);
+  ASSERT_EQ(31583199u, ceph_crc32c(0, (unsigned char *)a, len));
+  ASSERT_EQ(1400919119u, ceph_crc32c(1234, (unsigned char *)a, len));
+}
+
+TEST(Crc32c, Performance) {
+  int len = 1000 * 1024 * 1024;
+  char *a = (char *)malloc(len);
+  std::cout << "populating large buffer" << std::endl;
+  for (int i=0; i<len; i++)
+    a[i] = i & 0xff;
+  std::cout << "calculating crc" << std::endl;
+
+  {
+    utime_t start = ceph_clock_now(NULL);
+    unsigned val = ceph_crc32c(0, (unsigned char *)a, len);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "best choice = " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(261108528u, val);
+  }
+  {
+    utime_t start = ceph_clock_now(NULL);
+    unsigned val = ceph_crc32c(0xffffffff, (unsigned char *)a, len);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "best choice 0xffffffff = " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(3895876243u, val);
+  }
+  {
+    utime_t start = ceph_clock_now(NULL);
+    unsigned val = ceph_crc32c_sctp(0, (unsigned char *)a, len);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "sctp = " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(261108528u, val);
+  }
+  {
+    utime_t start = ceph_clock_now(NULL);
+    unsigned val = ceph_crc32c_intel_baseline(0, (unsigned char *)a, len);
+    utime_t end = ceph_clock_now(NULL);
+    float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+    std::cout << "intel baseline = " << rate << " MB/sec" << std::endl;
+    ASSERT_EQ(261108528u, val);
+  }
+
+}
+
+
+static uint32_t crc_check_table[] = {
+0xcfc75c75, 0x7aa1b1a7, 0xd761a4fe, 0xd699eeb6, 0x2a136fff, 0x9782190d, 0xb5017bb0, 0xcffb76a9,
+0xc79d0831, 0x4a5da87e, 0x76fb520c, 0x9e19163d, 0xe8eacd22, 0xefd4319e, 0x1eaa804b, 0x7ff41ccb,
+0x94141dab, 0xb4c2588f, 0x484bf16f, 0x77725048, 0xf27d43ee, 0x3604f655, 0x20bb9b79, 0xd6ee30ba,
+0xf402f02d, 0x59992eec, 0x159c0449, 0xe2d72e60, 0xc519c744, 0xf56f7995, 0x7e40be36, 0x695ccedc,
+0xc95c4ae3, 0xb0d2d6bc, 0x85872e14, 0xea2c01b0, 0xe9b75f1a, 0xebb23ae3, 0x39faee13, 0x313cb413,
+0xe683eb7d, 0xd22e2ae1, 0xf49731dd, 0x897a8e60, 0x923b510e, 0xe0e0f3b, 0x357dd0f, 0x63b7aa7d,
+0x6f5c2a40, 0x46b09a37, 0x80324751, 0x380fd024, 0x78b122c6, 0xb29d1dde, 0x22f19ddc, 0x9d6ee6d6,
+0xfb4e7e1c, 0xb9780044, 0x85feef90, 0x8e4fae11, 0x1a71394a, 0xbe21c888, 0xde2f6f47, 0x93c365f0,
+0xfd1d3814, 0x6e0a23df, 0xc6739c17, 0x2d48520d, 0x3357e475, 0x5d57058a, 0x22c4b9f7, 0x5a498b58,
+0x7bed8ddb, 0xcf1eb035, 0x2094f389, 0xb6a7c977, 0x289d29e2, 0x498d5b7, 0x8db77420, 0x85300608,
+0x5d1c04c4, 0x5acfee62, 0x99ad4694, 0x799f9833, 0x50e76ce1, 0x72dc498, 0x70a393be, 0x905a364d,
+0x1af66b95, 0x5b3eed9e, 0xa3e4da14, 0xc720fece, 0x555200df, 0x169fd3e0, 0x531c18c0, 0x6f9b6092,
+0x6d16638b, 0x5a8c8b6a, 0x818ebab2, 0xd75b10bb, 0xcaa01bfa, 0x67377804, 0xf8a085ae, 0xfc7d88b8,
+0x5e2debc1, 0x9759cb1f, 0x24c39b63, 0x210afbba, 0x22f7c6f7, 0xa8f8dc11, 0xf1d4550c, 0x1d2b1e47,
+0x59a44605, 0x25402e97, 0x18401ea, 0xb1884203, 0xd6ef715, 0x1797b686, 0x9e7f5aa7, 0x30795e88,
+0xb280b636, 0x77258b7d, 0x5f8dbff3, 0xbb57ea03, 0xa2c35cce, 0x1acce538, 0xa50be97a, 0x417f4b57,
+0x6d94792f, 0x4bb6fb34, 0x3787440c, 0x9a77b0b9, 0x67ece3d0, 0x5a8450fe, 0x8e66f55b, 0x3cefce93,
+0xf7ca60ab, 0xce7cd3b7, 0x97976493, 0xa05632f8, 0x77ac4546, 0xed24c705, 0x92a2f20, 0xc0b1cc9,
+0x831ae4e1, 0x5b3f28b1, 0xee6fca02, 0x74acc743, 0xaf40043f, 0x5f21e837, 0x9e168fc0, 0x64e28de,
+0x88ae891d, 0xac2e4ff5, 0xaeaf9c27, 0x158a2d3, 0x5226fb01, 0x9bf56ae1, 0xe4a2dd8d, 0x2599d6de,
+0xe798b5ee, 0x39efe57a, 0xbb9965c7, 0x4516fde0, 0xa41831f5, 0xd7cd0797, 0xd07b7d5c, 0xb330d048,
+0x3a47e35d, 0x87dd39e5, 0xa806fb31, 0xad228dd, 0xcc390816, 0x9237a4de, 0x8dfe1c20, 0x304f6bc,
+0x3ad98572, 0xec13f349, 0x4e5278d7, 0x784c4bf4, 0x7b93cb23, 0xa18c87ae, 0x84ff79dd, 0x8e95061d,
+0xd972f4d4, 0x4ad50380, 0x23cbc187, 0x7fa7f22c, 0x6062c18e, 0x42381901, 0x10cf51d9, 0x674e22a4,
+0x28a63445, 0x6fc1b591, 0xa4dc117a, 0x744a00d0, 0x8a5470ea, 0x9539c6a7, 0xc961a584, 0x22f81498,
+0xae299e51, 0x5653fcd3, 0x7bfa474f, 0x7f502c42, 0xfb41c744, 0xd478fb95, 0x7b676978, 0xb22f5610,
+0xbcbe730c, 0x70ff5773, 0xde990b63, 0xebcbf9d5, 0x2d029133, 0xf39513e1, 0x56229640, 0x660529e5,
+0x3b90bdf8, 0xc9822978, 0x4e3daab1, 0x2e43ce72, 0x572bb6ff, 0xdc4b17bd, 0x6c290d46, 0x7d9644ca,
+0x7652fd89, 0x66d72059, 0x521e93d4, 0xd626ff95, 0xdc4eb57e, 0xb0b3307c, 0x409adbed, 0x49ae2d28,
+0x8edd249a, 0x8e4fb6ec, 0x5a191fbf, 0xe1751948, 0xb4ae5d00, 0xabeb1bdd, 0xbe204b60, 0xbc97aad4,
+0xb8cb5915, 0x54f33261, 0xc5d83b28, 0x99d0d099, 0xfb06f8b2, 0x57305f66, 0xf9fde17b, 0x192f143c,
+0xcc3c58fd, 0x36e2e420, 0x17118208, 0xcac7e42a, 0xb45ad63d, 0x8ad5e475, 0xb7a3bc1e, 0xe03e64ad,
+0x2c197d77, 0x1a0ff1fe, 0xbcd443fb, 0x7589393a, 0xd66b1f67, 0xdddf0a66, 0x4750b7c7, 0xc62a79db,
+0xcf02a0d3, 0xb4012205, 0x9733d16c, 0x9a29cff8, 0xdd3d6427, 0x15c0273a, 0x97b289b, 0x358ff573,
+0x73a9ceb7, 0xc3788b1a, 0xda7a5155, 0x2990a31, 0x9fa4705, 0x5eb4e2e2, 0x98465bb2, 0x74a17883,
+0xe87df542, 0xe20f22f1, 0x48ffd67e, 0xc94fab5f, 0x9eb431d2, 0xffd673cb, 0xc374dc18, 0xa542fbf7,
+0xb8fea538, 0x43f5431f, 0xcbe3fb7d, 0x2734e0e4, 0x5cb05a8, 0xd00fcf47, 0x248dbbae, 0x47d4de6c,
+0xecc97151, 0xca8c379b, 0x49049fd, 0xeb2acd18, 0xab178ac, 0xc98ab95d, 0xb9e0be20, 0x36664a13,
+0x95d81459, 0xb54973a9, 0x27f9579c, 0xa24fb6df, 0x3f6f8cea, 0xe11efdd7, 0x68166281, 0x586e0a6,
+0x5fad7b57, 0xd58f50ad, 0x6e0d3be8, 0x27a00831, 0x543b3761, 0x96c862fb, 0xa823ed4f, 0xf6043f37,
+0x980703eb, 0xf5e69514, 0x42a2082, 0x495732a2, 0x793eea23, 0x6a6a17fb, 0x77d75dc5, 0xb3320ec4,
+0x10d4d01e, 0xa17508a6, 0x6d578355, 0xd136c445, 0xafa6acc6, 0x2307831d, 0x5bf345fd, 0xb9a04582,
+0x2627a686, 0xf6f4ce3b, 0xd0ac868f, 0x78d6bdb3, 0xfe42945a, 0x8b06cbf3, 0x2b169628, 0xf072b8b7,
+0x8652a0ca, 0x3f52fc42, 0xa0415b9a, 0x16e99341, 0x7394e9c7, 0xac92956c, 0x7bff7137, 0xb0e8ea5c,
+0x42d8c22, 0x4318a18, 0x42097180, 0x57d17dba, 0xb1f7a567, 0x55186d60, 0xf527e0ca, 0xd58b0b48,
+0x31d9155b, 0xd5fd0441, 0x6024d751, 0xe14d03c3, 0xba032e1c, 0xd6d89ae7, 0x54f1967a, 0xe401c200,
+0x8ee973ff, 0x3d24277e, 0xab394cbf, 0xe3b39762, 0x87f43766, 0xe4c2bdff, 0x1234c0d7, 0x8ef3e1bd,
+0xeeb00f61, 0x15d17d4b, 0x7d40ac8d, 0xada8606f, 0x7ba5e3a1, 0xcf487cf9, 0x98dda708, 0x6d7c9bea,
+0xaecb321c, 0x9f7801b2, 0x53340341, 0x7ae27355, 0xbf859829, 0xa36a00b, 0x99339435, 0x8342d1e,
+0x4ab4d7ea, 0x862d01cd, 0x7f94fbee, 0xe329a5a3, 0x2cb7ba81, 0x50bae57a, 0x5bbd65cf, 0xf06f60e4,
+0x569ad444, 0xfa0c16c, 0xb8c2b472, 0x3ea64ea1, 0xc6dc4c18, 0x5d6d654a, 0x5369a931, 0x2163bf7f,
+0xe45bd590, 0xcc826d18, 0xb4ce22f6, 0x200f7232, 0x5f2f869c, 0xffd5cc17, 0x1a578942, 0x930da3ea,
+0x216377f, 0x9f07a04b, 0x1f2a777c, 0x13c95089, 0x8a64d032, 0x1eecb206, 0xc537dc4, 0x319f9ac8,
+0xe2131194, 0x25d2f716, 0xa27f471a, 0xf6434ce2, 0xd51a10b9, 0x4e28a61, 0x647c888a, 0xb383d2ff,
+0x93aa0d0d, 0x670d1317, 0x607f36e2, 0x73e01833, 0x2bd372b0, 0x86404ad2, 0x253d5cc4, 0x1348811c,
+0x8756f2d5, 0xe1e55a59, 0x5247e2d1, 0x798ab6b, 0x181bbc57, 0xb9ea36e0, 0x66081c68, 0x9bf0bad7,
+0x892b1a6, 0x8a6a9aed, 0xda955d0d, 0x170e5128, 0x81733d84, 0x6d9f6b10, 0xd60046fd, 0x7e401823,
+0xf9904ce6, 0xaa765665, 0x2fd5c4ee, 0xbb9c1580, 0x391dac53, 0xbffe4270, 0x866c30b1, 0xd629f22,
+0x1ee5bfee, 0x5af91c96, 0x96b613bf, 0xa65204c9, 0x9b8cb68c, 0xd08b37c1, 0xf1863f8f, 0x1e4c844a,
+0x876abd30, 0x70c07eff, 0x63d8e875, 0x74351f92, 0xffe7712d, 0x58c0171d, 0x7b826b99, 0xc09afc78,
+0xd81d3065, 0xccced8b1, 0xe258b1c9, 0x5659d6b, 0x1959c406, 0x53bd05e6, 0xa32f784b, 0x33351e4b,
+0xb6b9d769, 0x59e5802c, 0x118c7ff7, 0x46326e0b, 0xa7376fbe, 0x7218aed1, 0x28c8f707, 0x44610a2f,
+0xf8eafea1, 0xfe36fdae, 0xb4b546f1, 0x2e27ce89, 0xc1fde8a0, 0x99f2f157, 0xfde687a1, 0x40a75f50,
+0x6c653330, 0xf3e38821, 0xf4663e43, 0x2f7e801e, 0xfca360af, 0x53cd3c59, 0xd20da292, 0x812a0241 };
+
+TEST(Crc32c, Range) {
+  int len = sizeof(crc_check_table) / sizeof(crc_check_table[0]);
+  const char *b = (const char *)malloc(len);
+  memset((void *)b, 1, len);
+  uint32_t crc = 0;
+  uint32_t *check = crc_check_table;
+  for (int i = 0 ; i < len; i++, check++) {
+    crc = ceph_crc32c(crc, (unsigned char *)b+i, len-i);
+    ASSERT_EQ(crc, *check);
+  }
+}
+
+static uint32_t crc_zero_check_table[] = {
+0xbd6f81f8, 0x6213374d, 0x72952aeb, 0x8ecb5e52, 0xa04914b4, 0xaf3aaea9, 0xb88d42d6, 0x81797724,
+0xc0022634, 0x4dbf46a4, 0xc7813aa, 0x172150e0, 0x13d8d958, 0x339fd933, 0xd9e725f4, 0x20b65b14,
+0x349c971c, 0x7f812818, 0x5228e357, 0x811f231f, 0xe4bdaeee, 0xcdd22442, 0x26ae3c58, 0xf9628c5e,
+0x8118e80b, 0xca0ea635, 0xc5028f6d, 0xbd2270, 0x4d9171a3, 0xe810af42, 0x904c7218, 0xdc62c735,
+0x3c8b3748, 0x7cae4eef, 0xed170242, 0xdc0a6a28, 0x4afb0591, 0x4643748a, 0xad28d5b, 0xeb2d60d3,
+0x479d21a9, 0x2a0916c1, 0x144cd9fb, 0x2498ba7a, 0x196489f, 0x330bb594, 0x5abe491d, 0x195658fe,
+0xc6ef898f, 0x94b251a1, 0x4f968332, 0xfbf5f29d, 0x7b4828ce, 0x3af20a6f, 0x653a721f, 0x6d92d018,
+0xf43ca065, 0xf55da16e, 0x94af47c6, 0xf08abdc, 0x11344631, 0xb249e575, 0x1f9f992b, 0xfdb6f490,
+0xbd40d84b, 0x945c69e1, 0x2a94e2e3, 0xe5aa9b91, 0x89cebb57, 0x175a3097, 0x502b7d34, 0x174f2c92,
+0x2a8f01c0, 0x645a2db8, 0x9e9a4a8, 0x13adac02, 0x2759a24b, 0x8bfcb972, 0xfa1edbfe, 0x5a88365e,
+0x5c107fd9, 0x91ac73a8, 0xbd40e99e, 0x513011ca, 0x97bd2841, 0x336c1c4e, 0x4e88563e, 0x6948813e,
+0x96e1cbee, 0x64b2faa5, 0x9671e44, 0x7d492fcb, 0x3539d74a, 0xcbe26ad7, 0x6106e673, 0x162115d,
+0x8534e6a6, 0xd28a1ea0, 0xf73beb20, 0x481bdbae, 0xcd12e442, 0x8ab52843, 0x171d72c4, 0xd97cb216,
+0x60fa0ecf, 0x74336ebb, 0x4d67fd86, 0x9393e96a, 0x63670234, 0x3f2a31da, 0x4036c11f, 0x55cc2ceb,
+0xf75b27dc, 0xcabdca83, 0x80699d1a, 0x228c13a1, 0x5ea7f8a9, 0xc7631f40, 0x710b867a, 0xaa6e67b9,
+0x27444987, 0xd693cd2a, 0xc4e21e0c, 0xd340e1cb, 0x2a2a346f, 0xac55e843, 0xfcd2750c, 0x4529a016,
+0x7ac5802, 0xa2eb291f, 0x4a0fb9ea, 0x6a58a9a0, 0x51f56797, 0xda595134, 0x267aba96, 0x8ba80ee,
+0x4474659e, 0x2b7bacb, 0xba524d37, 0xb60981bb, 0x5fd43811, 0xca41594a, 0x98ace58, 0x3fc5b984,
+0x6a290b91, 0x6576108a, 0x8c33c85e, 0x52622407, 0x99cf8723, 0x68198dc8, 0x18b7341d, 0x540fc0f9,
+0xf4a7b6f6, 0xfade9dfa, 0x725471ca, 0x5c160723, 0x5f33b243, 0xecec5d09, 0x6f520abb, 0x139c7bca,
+0x58349acb, 0x1fccef32, 0x1d01aa0f, 0x3f477a65, 0xebf55472, 0xde9ae082, 0x76d3119e, 0x937e2708,
+0xba565506, 0xbe820951, 0xc1f336fa, 0xfc41afb6, 0x4ef12d88, 0xd6f6d4f, 0xb33fb3fe, 0x9c6d1ae,
+0x24ae1c29, 0xf9ae57f7, 0x51d1e4c9, 0x86dc73fc, 0x54b7bf38, 0x688a141c, 0x91d4ea7a, 0xd57a0fd0,
+0x5cdcd16f, 0xc59c135a, 0x5bb003b5, 0x730b52f3, 0xc1dc5b1e, 0xf083f53, 0x8159e7c8, 0xf396d2e3,
+0x1c7f18ec, 0x5bedc75e, 0x2f11fbfd, 0xb4437094, 0x77c55e3, 0x1d8636e1, 0x159bf2f, 0x6cbabf5b,
+0xf4d005bc, 0x39f0bc55, 0x3d525f54, 0x8422e29d, 0xfb8a413d, 0x66e78593, 0xa0e14663, 0x880b8fa1,
+0x24b53713, 0x12105ff3, 0xa94dd90f, 0x3ff981bc, 0xaf2366af, 0x8e98710, 0x48eb45c6, 0xbc3aee53,
+0x6933d852, 0xe236cfd3, 0x3e6c50af, 0xe309e3fd, 0x452eac88, 0x725bf633, 0xbe89339a, 0x4b54eff7,
+0xa57e392f, 0x6ee15bef, 0x67630f96, 0x31656c71, 0x77fc97f0, 0x1d29682f, 0xa4b0fc5d, 0xb3fd0ee1,
+0x9d10aa57, 0xf104e21, 0x478b5f75, 0xaf1ca64b, 0x13e8a297, 0x21caa105, 0xb3cb8e9d, 0xd4536cb,
+0x425bdfce, 0x90462d05, 0x8cace1cf, 0xc0ab7293, 0xbcf288cb, 0x5edcdc11, 0x4ec8b5e0, 0x42738654,
+0x4ba49663, 0x2b264337, 0x41d1a5ce, 0xaa8acb92, 0xe79714aa, 0x86695e7c, 0x1330c69a, 0xe0c6485f,
+0xb038b81a, 0x6f823a85, 0x4eeff0e4, 0x7355d58f, 0x7cc87e83, 0xe23e4619, 0x7093faa0, 0x7328cb2f,
+0x7856db5e, 0xbc38d892, 0x1e4307c8, 0x347997e1, 0xb26958, 0x997ddf1e, 0x58dc72e3, 0x4b6e9a77,
+0x49eb9924, 0x36d555db, 0x59456efd, 0x904bd6d2, 0xd932837d, 0xf96a24ec, 0x525aa449, 0x5fd05bc7,
+0x84778138, 0xd869bfe1, 0xe6bbd546, 0x2f796af4, 0xbaab980f, 0x7f18a176, 0x3a8e00d9, 0xb589ea81,
+0x77920ee3, 0xc6730dbc, 0x8a5df534, 0xb7df9a12, 0xdc93009c, 0x215b885, 0x309104b, 0xf47e380b,
+0x23f6cdef, 0xe112a923, 0x83686f38, 0xde2c7871, 0x9f728ec7, 0xeaae7af6, 0x6d7b7b0a, 0xaf0cde04,
+0xfcb51a1f, 0xf0cd53cf, 0x7aa5556a, 0xa64ccf7e, 0x854c2084, 0xc493ddd4, 0x92684099, 0x913beb92,
+0xe4067ea8, 0x9557605a, 0x934346d6, 0x23a3a7c7, 0x588b2805, 0xe1e755ae, 0xe4c05e84, 0x8e09d0f3,
+0x1343a510, 0x6175c2c3, 0x39bb7947, 0x4a1b9b6b, 0xf0e373da, 0xe7b9a201, 0x24b7a392, 0x91a27584,
+0x9ac3a10f, 0x91fc9314, 0xc495d878, 0x3fcbc776, 0x7f81d6da, 0x973edb2f, 0xa9d731c6, 0x2dc022a8,
+0xa066c881, 0x7e082dff, 0xa1ff394d, 0x1cb0c2bb, 0xef87a116, 0x5179810b, 0xa1594c92, 0xe291e155,
+0x3578c98f, 0xb801f82c, 0xa1778ad9, 0xbdd48b76, 0x74f1ce54, 0x46b8de63, 0x3861112c, 0x46a8920f,
+0x3e1075e7, 0x220a49dd, 0x3e51d6d2, 0xbf1f22cd, 0x5d1490c5, 0x7f1e05f5, 0xa0c1691d, 0x9108debf,
+0xe69899b, 0xe771d8b6, 0x878c92c1, 0x973e37c0, 0x833c4c25, 0xcffe7b03, 0x92e0921e, 0xccee9836,
+0xa9739832, 0xc774f2f2, 0xf34f9467, 0x608cef83, 0x97a584d2, 0xf5218c9, 0x73eb9524, 0xb3fb4870,
+0x53296e3d, 0x8836f46f, 0x9d6a40b0, 0x789b5e91, 0x62a915ba, 0x32c02d74, 0xc93de2f3, 0xefa67fc7,
+0x169ee4f1, 0x72bbbe9e, 0x49357cf2, 0x219207bf, 0x12516225, 0x182df160, 0x230c9a3f, 0x137a8497,
+0xa429ad30, 0x4aa66f88, 0x40319931, 0xfa241c42, 0x1e5189ec, 0xca693ada, 0xe7b923f4, 0xff546a06,
+0xf01103c2, 0x99875a32, 0x4bbf55a9, 0x48abdf3e, 0x85eb3dec, 0x2d009057, 0x14c2a682, 0xfabe68af,
+0x96a31fa6, 0xf52f4686, 0x73f72b61, 0x92f39e13, 0x66794863, 0x7ca4c2aa, 0x37a2fe39, 0x33be288a,
+0x1ff9a59c, 0xd65e667, 0x5d7c9332, 0x8a6a2d8b, 0x37ec2d3b, 0x9f935ab9, 0x67fcd589, 0x48a09508,
+0xc446e984, 0x58f69202, 0x968dfbbb, 0xc93d7626, 0x82344e, 0xf1d930a4, 0xcc3acdde, 0x20cf92bf,
+0x94b7616d, 0xb0e45050, 0xdc36c072, 0x74cba0, 0x6478300a, 0x27803b97, 0xb7b2ebd0, 0xb3a691e,
+0x35c2f261, 0x3fcff45a, 0x3e4b7b93, 0x86b680bd, 0x720333ce, 0x67f933ca, 0xb10256de, 0xe939bb3f,
+0xb540a02f, 0x39a8b8e4, 0xb6a63aa5, 0x5e1d56ee, 0xa415a16, 0xcb5753d, 0x17fabd19, 0x90eac10d,
+0x2308857d, 0xb8f6224c, 0x71790390, 0x18749d48, 0xed778f1b, 0x69f0e17c, 0xbd622f4, 0x52c3a79e,
+0x9697bf51, 0xa768755c, 0x9fe860ea, 0xa852b0ac, 0x9549ec64, 0x8669c603, 0x120e289c, 0x3f0520f5,
+0x9b15884, 0x2d06fa7f, 0x767b12f6, 0xcb232dd6, 0x4e2b4590, 0x97821835, 0x4506a582, 0xd974dbaa,
+0x379bd22f, 0xb9d65a2f, 0x8fad14d9, 0x72a55b5f, 0x34d56c6e, 0xc0badd55, 0xc20ee31b, 0xeb567f69,
+0xdadac1c, 0xb6dcc8f5, 0xc6d89117, 0x16c4999d, 0xc9b0da2a, 0xfcd6e9b3, 0x72d299ae, 0x4c2b345b,
+0x5d2c06cb, 0x9b9a3ce2, 0x8e84866, 0x876d1806, 0xbaeb6183, 0xe2a89d5d, 0x4604d2fe, 0x9909c5e0,
+0xf2fb7bec, 0x7e04dcd0, 0xe5b24865, 0xda96b760, 0x74a4d01, 0xb0f35bea, 0x9a2edb2, 0x5327a0d3 };
+
+
+TEST(Crc32c, RangeZero) {
+  int len = sizeof(crc_zero_check_table) / sizeof(crc_zero_check_table[0]);
+  const char *b = (const char *)malloc(len);
+  memset((void *)b, 0, len);
+  uint32_t crc = 1; /* when checking zero buffer we want to start with a non zero crc, otherwise
+                       all the results are going to be zero */
+  uint32_t *check = crc_zero_check_table;
+  for (int i = 0 ; i < len; i++, check++) {
+    crc = ceph_crc32c(crc, (unsigned char *)b+i, len-i);
+    ASSERT_EQ(crc, *check);
+  }
+}
+
+TEST(Crc32c, RangeNull) {
+  int len = sizeof(crc_zero_check_table) / sizeof(crc_zero_check_table[0]);
+  uint32_t crc = 1; /* when checking zero buffer we want to start with a non zero crc, otherwise
+                       all the results are going to be zero */
+  uint32_t *check = crc_zero_check_table;
+
+  for (int i = 0 ; i < len; i++, check++) {
+    crc = ceph_crc32c(crc, NULL, len-i);
+    ASSERT_EQ(crc, *check);
+  }
+}
diff --git a/src/test/common/test_sharedptr_registry.cc b/src/test/common/test_sharedptr_registry.cc
new file mode 100644
index 0000000..6121b63
--- /dev/null
+++ b/src/test/common/test_sharedptr_registry.cc
@@ -0,0 +1,342 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library Public License for more details.
+ *
+ */
+
+#include <stdio.h>
+#include <signal.h>
+#include "common/Thread.h"
+#include "common/sharedptr_registry.hpp"
+#include "common/ceph_argparse.h"
+#include "global/global_init.h"
+#include <gtest/gtest.h>
+
+using namespace std::tr1;
+
+class SharedPtrRegistryTest : public SharedPtrRegistry<unsigned int, int> {
+public:
+  Mutex &get_lock() { return lock; }
+  map<unsigned int, pair<weak_ptr<int>, int*> > &get_contents() {
+    return contents;
+  }
+};
+
+class SharedPtrRegistry_all : public ::testing::Test {
+public:
+
+  class Thread_wait : public Thread {
+  public:
+    SharedPtrRegistryTest ®istry;
+    unsigned int key;
+    int value;
+    shared_ptr<int> ptr;
+    enum in_method_t { LOOKUP, LOOKUP_OR_CREATE } in_method;
+
+    Thread_wait(SharedPtrRegistryTest& _registry, unsigned int _key, int _value, in_method_t _in_method) : 
+      registry(_registry),
+      key(_key),
+      value(_value),
+      in_method(_in_method)
+    {
+    }
+    
+    virtual void *entry() {
+      switch(in_method) {
+      case LOOKUP_OR_CREATE:
+	if (value) 
+	  ptr = registry.lookup_or_create<int>(key, value);
+	else
+	  ptr = registry.lookup_or_create(key);
+	break;
+      case LOOKUP:
+	ptr = shared_ptr<int>(new int);
+	*ptr = value;
+	ptr = registry.lookup(key);
+	break;
+      }
+      return NULL;
+    }
+  };
+
+  static const useconds_t DELAY_MAX = 20 * 1000 * 1000;
+  static useconds_t delay;
+
+  bool wait_for(SharedPtrRegistryTest &registry, int waiting) {
+    do {
+      //
+      // the delay variable is supposed to be initialized to zero. It would be fine
+      // to usleep(0) but we take this opportunity to test the loop. It will try 
+      // again and therefore show that the logic ( increasing the delay ) actually
+      // works. 
+      //
+      if (delay > 0)
+	usleep(delay);
+      {
+	Mutex::Locker l(registry.get_lock());
+	if (registry.waiting == waiting) 
+	  break;
+      }
+      if (delay > 0)
+	cout << "delay " << delay << "us, is not long enough, try again\n";
+    } while (( delay = delay * 2 + 1) < DELAY_MAX);
+    return delay < DELAY_MAX;
+  }
+};
+
+useconds_t SharedPtrRegistry_all::delay = 0;
+
+TEST_F(SharedPtrRegistry_all, lookup_or_create) {
+  SharedPtrRegistryTest registry;
+  unsigned int key = 1;
+  int value = 2;
+  shared_ptr<int> ptr = registry.lookup_or_create(key);
+  *ptr = value;
+  ASSERT_EQ(value, *registry.lookup_or_create(key));
+}
+
+TEST_F(SharedPtrRegistry_all, wait_lookup_or_create) {
+  SharedPtrRegistryTest registry;
+
+  //
+  // simulate the following: The last reference to a shared_ptr goes
+  // out of scope and the shared_ptr object is about to be removed and
+  // marked as such. The weak_ptr stored in the registry will show
+  // that it has expired(). However, the SharedPtrRegistry::OnRemoval
+  // object has not yet been called and did not get a chance to
+  // acquire the lock. The lookup_or_create and lookup methods must
+  // detect that situation and wait until the weak_ptr is removed from
+  // the registry.
+  //
+  {
+    unsigned int key = 1;
+    {
+      shared_ptr<int> ptr(new int);
+      registry.get_contents()[key] = make_pair(ptr, ptr.get());
+    }
+    EXPECT_FALSE(registry.get_contents()[key].first.lock());
+
+    Thread_wait t(registry, key, 0, Thread_wait::LOOKUP_OR_CREATE);
+    t.create();
+    ASSERT_TRUE(wait_for(registry, 1));
+    EXPECT_FALSE(t.ptr);
+    // waiting on a key does not block lookups on other keys
+    EXPECT_TRUE(registry.lookup_or_create(key + 12345));
+    registry.remove(key);
+    ASSERT_TRUE(wait_for(registry, 0));
+    t.join();
+    EXPECT_TRUE(t.ptr);
+  }
+  {
+    unsigned int key = 2;
+    int value = 3;
+    {
+      shared_ptr<int> ptr(new int);
+      registry.get_contents()[key] = make_pair(ptr, ptr.get());
+    }
+    EXPECT_FALSE(registry.get_contents()[key].first.lock());
+
+    Thread_wait t(registry, key, value, Thread_wait::LOOKUP_OR_CREATE);
+    t.create();
+    ASSERT_TRUE(wait_for(registry, 1));
+    EXPECT_FALSE(t.ptr);
+    // waiting on a key does not block lookups on other keys
+    {
+      int other_value = value + 1;
+      unsigned int other_key = key + 1;
+      shared_ptr<int> ptr = registry.lookup_or_create<int>(other_key, other_value);
+      EXPECT_TRUE(ptr);
+      EXPECT_EQ(other_value, *ptr);
+    }
+    registry.remove(key);
+    ASSERT_TRUE(wait_for(registry, 0));
+    t.join();
+    EXPECT_TRUE(t.ptr);
+    EXPECT_EQ(value, *t.ptr);
+  }
+}
+
+TEST_F(SharedPtrRegistry_all, lookup) {
+  SharedPtrRegistryTest registry;
+  unsigned int key = 1;
+  int value = 2;
+  {
+    shared_ptr<int> ptr = registry.lookup_or_create(key);
+    *ptr = value;
+    ASSERT_EQ(value, *registry.lookup(key));
+  }
+  ASSERT_FALSE(registry.lookup(key));
+}
+
+TEST_F(SharedPtrRegistry_all, wait_lookup) {
+  SharedPtrRegistryTest registry;
+
+  unsigned int key = 1;
+  int value = 2;
+  {
+    shared_ptr<int> ptr(new int);
+    registry.get_contents()[key] = make_pair(ptr, ptr.get());
+  }
+  EXPECT_FALSE(registry.get_contents()[key].first.lock());
+
+  Thread_wait t(registry, key, value, Thread_wait::LOOKUP);
+  t.create();
+  ASSERT_TRUE(wait_for(registry, 1));
+  EXPECT_EQ(value, *t.ptr);
+  // waiting on a key does not block lookups on other keys
+  EXPECT_FALSE(registry.lookup(key + 12345));
+  registry.remove(key);
+  ASSERT_TRUE(wait_for(registry, 0));
+  t.join();
+  EXPECT_FALSE(t.ptr);
+}
+
+TEST_F(SharedPtrRegistry_all, get_next) {
+
+  {
+    SharedPtrRegistry<unsigned int,int> registry;
+    const unsigned int key = 0;
+    pair<unsigned int, int> i;
+    EXPECT_FALSE(registry.get_next(key, &i));
+  }
+  {
+    SharedPtrRegistryTest registry;
+
+    const unsigned int key2 = 333;
+    shared_ptr<int> ptr2 = registry.lookup_or_create(key2);
+    const int value2 = *ptr2 = 400;
+
+    // entries with expired pointers are silentely ignored
+    const unsigned int key_gone = 222;
+    registry.get_contents()[key_gone] = make_pair(shared_ptr<int>(), (int*)0);
+
+    const unsigned int key1 = 111;
+    shared_ptr<int> ptr1 = registry.lookup_or_create(key1);
+    const int value1 = *ptr1 = 800;
+
+    pair<unsigned int, int> i;
+    EXPECT_TRUE(registry.get_next(i.first, &i));
+    EXPECT_EQ(key1, i.first);
+    EXPECT_EQ(value1, i.second);
+
+    EXPECT_TRUE(registry.get_next(i.first, &i));
+    EXPECT_EQ(key2, i.first);
+    EXPECT_EQ(value2, i.second);
+
+    EXPECT_FALSE(registry.get_next(i.first, &i));
+  }
+  {
+    //
+    // http://tracker.ceph.com/issues/6117
+    // reproduce the issue.
+    //
+    SharedPtrRegistryTest registry;
+    const unsigned int key1 = 111;
+    shared_ptr<int> *ptr1 = new shared_ptr<int>(registry.lookup_or_create(key1));
+    const unsigned int key2 = 222;
+    shared_ptr<int> ptr2 = registry.lookup_or_create(key2);
+    
+    pair<unsigned int, shared_ptr<int> > i;
+    EXPECT_TRUE(registry.get_next(i.first, &i));
+    EXPECT_EQ(key1, i.first);
+    delete ptr1;
+    EXPECT_TRUE(registry.get_next(i.first, &i));    
+    EXPECT_EQ(key2, i.first);
+  }
+}
+
+TEST_F(SharedPtrRegistry_all, remove) {
+  {
+    SharedPtrRegistryTest registry;
+    const unsigned int key1 = 1;
+    shared_ptr<int> ptr1 = registry.lookup_or_create(key1);
+    *ptr1 = 400;
+    registry.remove(key1);
+
+    shared_ptr<int> ptr2 = registry.lookup_or_create(key1);
+    *ptr2 = 500;
+
+    ptr1 = shared_ptr<int>();
+    shared_ptr<int> res = registry.lookup(key1);
+    assert(res);
+    assert(res == ptr2);
+    assert(*res == 500);
+  }
+  {
+    SharedPtrRegistryTest registry;
+    const unsigned int key1 = 1;
+    shared_ptr<int> ptr1 = registry.lookup_or_create(key1, 400);
+    registry.remove(key1);
+
+    shared_ptr<int> ptr2 = registry.lookup_or_create(key1, 500);
+
+    ptr1 = shared_ptr<int>();
+    shared_ptr<int> res = registry.lookup(key1);
+    assert(res);
+    assert(res == ptr2);
+    assert(*res == 500);
+  }
+}
+
+class SharedPtrRegistry_destructor : public ::testing::Test {
+public:
+
+  typedef enum { UNDEFINED, YES, NO } DieEnum;
+  static DieEnum died;
+
+  struct TellDie {
+    TellDie() { died = NO; }
+    ~TellDie() { died = YES; }
+    
+    int value;
+  };
+
+  virtual void SetUp() {
+    died = UNDEFINED;
+  }
+};
+
+SharedPtrRegistry_destructor::DieEnum SharedPtrRegistry_destructor::died = SharedPtrRegistry_destructor::UNDEFINED;
+
+TEST_F(SharedPtrRegistry_destructor, destructor) {
+  SharedPtrRegistry<int,TellDie> registry;
+  EXPECT_EQ(UNDEFINED, died);
+  int key = 101;
+  {
+    shared_ptr<TellDie> a = registry.lookup_or_create(key);
+    EXPECT_EQ(NO, died);
+    EXPECT_TRUE(a);
+  }
+  EXPECT_EQ(YES, died);
+  EXPECT_FALSE(registry.lookup(key));
+}
+
+int main(int argc, char **argv) {
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  ::testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
+
+// Local Variables:
+// compile-command: "cd ../.. ; make unittest_sharedptr_registry && ./unittest_sharedptr_registry # --gtest_filter=*.* --log-to-stderr=true"
+// End:
diff --git a/src/test/common/test_sloppy_crc_map.cc b/src/test/common/test_sloppy_crc_map.cc
new file mode 100644
index 0000000..2650f4f
--- /dev/null
+++ b/src/test/common/test_sloppy_crc_map.cc
@@ -0,0 +1,113 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "common/SloppyCRCMap.h"
+#include "common/Formatter.h"
+#include <gtest/gtest.h>
+
+void dump(const SloppyCRCMap& scm)
+{
+  Formatter *f = new_formatter("json-pretty");
+  f->open_object_section("map");
+  scm.dump(f);
+  f->close_section();
+  f->flush(cout);
+  delete f;
+}
+
+TEST(SloppyCRCMap, basic) {
+  SloppyCRCMap scm(4);
+
+  bufferlist a, b;
+  a.append("The quick brown fox jumped over a fence whose color I forget.");
+  b.append("asdf");
+
+  scm.write(0, a.length(), a);
+  if (0)
+    dump(scm);
+  ASSERT_EQ(0, scm.read(0, a.length(), a, &cout));
+
+  scm.write(12, b.length(), b);
+  if (0)
+    dump(scm);
+
+  ASSERT_EQ(0, scm.read(12, b.length(), b, &cout));
+  ASSERT_EQ(1, scm.read(0, a.length(), a, &cout));
+}
+
+TEST(SloppyCRCMap, truncate) {
+  SloppyCRCMap scm(4);
+
+  bufferlist a, b;
+  a.append("asdf");
+  b.append("qwer");
+
+  scm.write(0, a.length(), a);
+  scm.write(4, a.length(), a);
+  ASSERT_EQ(0, scm.read(4, 4, a, &cout));
+  ASSERT_EQ(1, scm.read(4, 4, b, &cout));
+  scm.truncate(4);
+  ASSERT_EQ(0, scm.read(4, 4, b, &cout));
+}
+
+TEST(SloppyCRCMap, zero) {
+  SloppyCRCMap scm(4);
+
+  bufferlist a, b;
+  a.append("asdf");
+  b.append("qwer");
+
+  scm.write(0, a.length(), a);
+  scm.write(4, a.length(), a);
+  ASSERT_EQ(0, scm.read(4, 4, a, &cout));
+  ASSERT_EQ(1, scm.read(4, 4, b, &cout));
+  scm.zero(4, 4);
+  ASSERT_EQ(1, scm.read(4, 4, a, &cout));
+  ASSERT_EQ(1, scm.read(4, 4, b, &cout));
+
+  bufferptr bp(4);
+  bp.zero();
+  bufferlist c;
+  c.append(bp);
+  ASSERT_EQ(0, scm.read(0, 4, a, &cout));
+  ASSERT_EQ(0, scm.read(4, 4, c, &cout));
+  scm.zero(0, 15);
+  ASSERT_EQ(1, scm.read(0, 4, a, &cout));
+  ASSERT_EQ(0, scm.read(0, 4, c, &cout));
+}
+
+TEST(SloppyCRCMap, clone_range) {
+  SloppyCRCMap src(4);
+  SloppyCRCMap dst(4);
+
+  bufferlist a, b;
+  a.append("asdfghjkl");
+  b.append("qwertyui");
+
+  src.write(0, a.length(), a);
+  src.write(8, a.length(), a);
+  src.write(16, a.length(), a);
+
+  dst.write(0, b.length(), b);
+  dst.clone_range(0, 8, 0, src);
+  ASSERT_EQ(2, dst.read(0, 8, b, &cout));
+  ASSERT_EQ(0, dst.read(8, 8, b, &cout));
+
+  dst.write(16, b.length(), b);
+  ASSERT_EQ(2, dst.read(16, 8, a, &cout));
+  dst.clone_range(16, 8, 16, src);
+  ASSERT_EQ(0, dst.read(16, 8, a, &cout));
+
+  dst.write(16, b.length(), b);
+  ASSERT_EQ(1, dst.read(16, 4, a, &cout));
+  dst.clone_range(16, 8, 2, src);
+  ASSERT_EQ(0, dst.read(16, 4, a, &cout));
+
+  dst.write(0, b.length(), b);
+  dst.write(8, b.length(), b);
+  ASSERT_EQ(2, dst.read(0, 8, a, &cout));
+  ASSERT_EQ(2, dst.read(8, 8, a, &cout));
+  dst.clone_range(2, 8, 0, src);
+  ASSERT_EQ(0, dst.read(0, 8, a, &cout));
+  ASSERT_EQ(0, dst.read(8, 4, a, &cout));
+}
diff --git a/src/test/common/test_util.cc b/src/test/common/test_util.cc
index 1671307..cb22047 100644
--- a/src/test/common/test_util.cc
+++ b/src/test/common/test_util.cc
@@ -21,6 +21,7 @@ TEST(util, unit_to_bytesize)
 {
   ASSERT_EQ(1234ll, unit_to_bytesize("1234", &cerr));
   ASSERT_EQ(1024ll, unit_to_bytesize("1K", &cerr));
+  ASSERT_EQ(1024ll, unit_to_bytesize("1k", &cerr));
   ASSERT_EQ(1048576ll, unit_to_bytesize("1M", &cerr));
   ASSERT_EQ(1073741824ll, unit_to_bytesize("1G", &cerr));
   ASSERT_EQ(1099511627776ll, unit_to_bytesize("1T", &cerr));
diff --git a/src/test/encoding/ceph_dencoder.cc b/src/test/encoding/ceph_dencoder.cc
index 81abcd1..dbed6f5 100644
--- a/src/test/encoding/ceph_dencoder.cc
+++ b/src/test/encoding/ceph_dencoder.cc
@@ -93,7 +93,7 @@ public:
     // allow 0- or 1-based (by wrapping)
     if (i == 0)
       i = m_list.size();
-    if (i > m_list.size())
+    if ((i == 0) || (i > m_list.size()))
       return "invalid id for generated object";
     typename list<T*>::iterator p = m_list.begin();
     for (i--; i > 0 && p != m_list.end(); ++p, --i) ;
@@ -177,7 +177,7 @@ public:
     // allow 0- or 1-based (by wrapping)
     if (i == 0)
       i = m_list.size();
-    if (i > m_list.size())
+    if ((i == 0) || (i > m_list.size()))
       return "invalid id for generated object";
     typename list<T*>::iterator p = m_list.begin();
     for (i--; i > 0 && p != m_list.end(); ++p, --i) ;
diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h
index e0bc0a1..e446e7d 100644
--- a/src/test/encoding/types.h
+++ b/src/test/encoding/types.h
@@ -4,6 +4,10 @@ TYPE(CompatSet)
 #include "include/filepath.h"
 TYPE(filepath)
 
+#include "common/bloom_filter.hpp"
+TYPE(bloom_filter)
+TYPE(compressible_bloom_filter)
+
 #include "common/snap_types.h"
 TYPE(SnapContext)
 TYPE(SnapRealmInfo)
@@ -16,6 +20,9 @@ TYPE(LogEntryKey)
 TYPE(LogEntry)
 TYPE(LogSummary)
 
+#include "common/SloppyCRCMap.h"
+TYPE(SloppyCRCMap)
+
 #include "msg/msg_types.h"
 TYPE(entity_name_t)
 TYPE(entity_addr_t)
@@ -29,12 +36,16 @@ TYPEWITHSTRAYDATA(OSDMap::Incremental)
 #include "crush/CrushWrapper.h"
 TYPE(CrushWrapper)
 
+#include "include/histogram.h"
+TYPE(pow2_hist_t)
+
 #include "osd/osd_types.h"
 TYPE(osd_reqid_t)
 TYPE(object_locator_t)
+TYPE(request_redirect_t)
 TYPE(pg_t)
 TYPE(coll_t)
-TYPE(pow2_hist_t)
+TYPE(filestore_perf_stat_t)
 TYPE(osd_stat_t)
 TYPE(OSDSuperblock)
 TYPE_FEATUREFUL(pool_snap_info_t)
@@ -52,6 +63,8 @@ TYPE(pg_log_t)
 TYPE(pg_missing_t::item)
 TYPE(pg_missing_t)
 TYPE(pg_ls_response_t)
+TYPE(object_copy_cursor_t)
+TYPE(object_copy_data_t)
 TYPE(pg_create_t)
 TYPE(watch_info_t)
 TYPE(object_info_t)
@@ -73,8 +86,9 @@ TYPE(ObjectStore::Transaction)
 #include "os/SequencerPosition.h"
 TYPE(SequencerPosition)
 
-#include "os/hobject.h"
+#include "common/hobject.h"
 TYPE(hobject_t)
+TYPE(ghobject_t)
 
 #include "mon/AuthMonitor.h"
 TYPE(AuthMonitor::Incremental)
diff --git a/src/test/filestore/FileStoreDiff.cc b/src/test/filestore/FileStoreDiff.cc
index b2419f5..40c0b32 100644
--- a/src/test/filestore/FileStoreDiff.cc
+++ b/src/test/filestore/FileStoreDiff.cc
@@ -131,7 +131,7 @@ bool FileStoreDiff::diff_objects(FileStore *a_store, FileStore *b_store, coll_t
   bool ret = false;
 
   int err;
-  std::vector<hobject_t> b_objects, a_objects;
+  std::vector<ghobject_t> b_objects, a_objects;
   err = b_store->collection_list(coll, b_objects);
   if (err < 0) {
     dout(0) << "diff_objects list on verify coll " << coll.to_str()
@@ -151,11 +151,11 @@ bool FileStoreDiff::diff_objects(FileStore *a_store, FileStore *b_store, coll_t
     ret = true;
   }
 
-  std::vector<hobject_t>::iterator b_it = b_objects.begin();
-  std::vector<hobject_t>::iterator a_it = b_objects.begin();
+  std::vector<ghobject_t>::iterator b_it = b_objects.begin();
+  std::vector<ghobject_t>::iterator a_it = b_objects.begin();
   for (; b_it != b_objects.end(); ++b_it, ++a_it) {
-    hobject_t b_obj = *b_it, a_obj = *a_it;
-    if (b_obj.oid.name != a_obj.oid.name) {
+    ghobject_t b_obj = *b_it, a_obj = *a_it;
+    if (b_obj.hobj.oid.name != a_obj.hobj.oid.name) {
       dout(0) << "diff_objects name mismatch on A object "
           << coll << "/" << a_obj << " and B object "
           << coll << "/" << b_obj << dendl;
@@ -167,7 +167,7 @@ bool FileStoreDiff::diff_objects(FileStore *a_store, FileStore *b_store, coll_t
     err = b_store->stat(coll, b_obj, &b_stat);
     if (err < 0) {
       dout(0) << "diff_objects error stating B object "
-	      << coll.to_str() << "/" << b_obj.oid.name << dendl;
+	      << coll.to_str() << "/" << b_obj.hobj.oid.name << dendl;
       ret = true;
     }
     err = a_store->stat(coll, a_obj, &a_stat);
diff --git a/src/test/filestore/store_test.cc b/src/test/filestore/store_test.cc
index 80c7750..50450f4 100644
--- a/src/test/filestore/store_test.cc
+++ b/src/test/filestore/store_test.cc
@@ -51,9 +51,9 @@ public:
   }
 };
 
-bool sorted(const vector<hobject_t> &in) {
-  hobject_t start;
-  for (vector<hobject_t>::const_iterator i = in.begin();
+bool sorted(const vector<ghobject_t> &in) {
+  ghobject_t start;
+  for (vector<ghobject_t>::const_iterator i = in.begin();
        i != in.end();
        ++i) {
     if (start > *i) return false;
@@ -105,7 +105,7 @@ TEST_F(StoreTest, SimpleObjectTest) {
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
   }
-  hobject_t hoid(sobject_t("Object 1", CEPH_NOSNAP));
+  ghobject_t hoid(hobject_t(sobject_t("Object 1", CEPH_NOSNAP)));
   {
     ObjectStore::Transaction t;
     t.touch(cid, hoid);
@@ -133,7 +133,7 @@ TEST_F(StoreTest, SimpleObjectLongnameTest) {
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
   }
-  hobject_t hoid(sobject_t("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaObjectaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1", CEPH_NOSNAP));
+  ghobject_t hoid(hobject_t(sobject_t("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaObjectaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1", CEPH_NOSNAP)));
   {
     ObjectStore::Transaction t;
     t.touch(cid, hoid);
@@ -157,7 +157,7 @@ TEST_F(StoreTest, ManyObjectTest) {
   coll_t cid("blah");
   string base = "";
   for (int i = 0; i < 100; ++i) base.append("aaaaa");
-  set<hobject_t> created;
+  set<ghobject_t> created;
   {
     ObjectStore::Transaction t;
     t.create_collection(cid);
@@ -171,27 +171,27 @@ TEST_F(StoreTest, ManyObjectTest) {
     ObjectStore::Transaction t;
     char buf[100];
     snprintf(buf, sizeof(buf), "%d", i);
-    hobject_t hoid(sobject_t(string(buf) + base, CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t(string(buf) + base, CEPH_NOSNAP)));
     t.touch(cid, hoid);
     created.insert(hoid);
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
   }
 
-  for (set<hobject_t>::iterator i = created.begin();
+  for (set<ghobject_t>::iterator i = created.begin();
        i != created.end();
        ++i) {
     struct stat buf;
     ASSERT_TRUE(!store->stat(cid, *i, &buf));
   }
 
-  set<hobject_t> listed;
-  vector<hobject_t> objects;
+  set<ghobject_t> listed;
+  vector<ghobject_t> objects;
   r = store->collection_list(cid, objects);
   ASSERT_EQ(r, 0);
 
   cerr << "objects.size() is " << objects.size() << std::endl;
-  for (vector<hobject_t> ::iterator i = objects.begin();
+  for (vector<ghobject_t> ::iterator i = objects.begin();
        i != objects.end();
        ++i) {
     listed.insert(*i);
@@ -199,11 +199,11 @@ TEST_F(StoreTest, ManyObjectTest) {
   }
   ASSERT_TRUE(listed.size() == created.size());
 
-  hobject_t start, next;
+  ghobject_t start, next;
   objects.clear();
   r = store->collection_list_partial(
     cid,
-    hobject_t::get_max(),
+    ghobject_t::get_max(),
     50,
     60,
     0,
@@ -234,13 +234,13 @@ TEST_F(StoreTest, ManyObjectTest) {
   }
   cerr << "listed.size() is " << listed.size() << std::endl;
   ASSERT_TRUE(listed.size() == created.size());
-  for (set<hobject_t>::iterator i = listed.begin();
+  for (set<ghobject_t>::iterator i = listed.begin();
        i != listed.end();
        ++i) {
     ASSERT_TRUE(created.count(*i));
   }
 
-  for (set<hobject_t>::iterator i = created.begin();
+  for (set<ghobject_t>::iterator i = created.begin();
        i != created.end();
        ++i) {
     ObjectStore::Transaction t;
@@ -259,7 +259,7 @@ TEST_F(StoreTest, ManyObjectTest) {
 
 class ObjectGenerator {
 public:
-  virtual hobject_t create_object(gen_type *gen) = 0;
+  virtual ghobject_t create_object(gen_type *gen) = 0;
   virtual ~ObjectGenerator() {}
 };
 
@@ -267,7 +267,7 @@ class MixedGenerator : public ObjectGenerator {
 public:
   unsigned seq;
   MixedGenerator() : seq(0) {}
-  hobject_t create_object(gen_type *gen) {
+  ghobject_t create_object(gen_type *gen) {
     char buf[100];
     snprintf(buf, sizeof(buf), "%u", seq);
 
@@ -283,7 +283,7 @@ public:
     // hash
     //boost::binomial_distribution<uint32_t> bin(0xFFFFFF, 0.5);
     ++seq;
-    return hobject_t(name, string(), rand() & 2 ? CEPH_NOSNAP : rand(), rand() & 0xFF, 0, "");
+    return ghobject_t(hobject_t(name, string(), rand() & 2 ? CEPH_NOSNAP : rand(), rand() & 0xFF, 0, ""));
   }
 };
 
@@ -293,8 +293,8 @@ public:
   static const unsigned max_objects = 3000;
   coll_t cid;
   unsigned in_flight;
-  set<hobject_t> available_objects;
-  set<hobject_t> in_use_objects;
+  set<ghobject_t> available_objects;
+  set<ghobject_t> in_use_objects;
   ObjectGenerator *object_gen;
   gen_type *rng;
   ObjectStore *store;
@@ -307,9 +307,9 @@ public:
   public:
     SyntheticWorkloadState *state;
     ObjectStore::Transaction *t;
-    hobject_t hoid;
+    ghobject_t hoid;
     C_SyntheticOnReadable(SyntheticWorkloadState *state,
-			  ObjectStore::Transaction *t, hobject_t hoid)
+			  ObjectStore::Transaction *t, ghobject_t hoid)
       : state(state), t(t), hoid(hoid) {}
 
     void finish(int r) {
@@ -339,14 +339,14 @@ public:
     return store->apply_transaction(t);
   }
 
-  hobject_t get_uniform_random_object() {
+  ghobject_t get_uniform_random_object() {
     while (in_flight >= max_in_flight || available_objects.empty())
       cond.Wait(lock);
     boost::uniform_int<> choose(0, available_objects.size() - 1);
     int index = choose(*rng);
-    set<hobject_t>::iterator i = available_objects.begin();
+    set<ghobject_t>::iterator i = available_objects.begin();
     for ( ; index > 0; --index, ++i) ;
-    hobject_t ret = *i;
+    ghobject_t ret = *i;
     available_objects.erase(i);
     return ret;
   }
@@ -375,7 +375,7 @@ public:
     if (!can_create())
       return -ENOSPC;
     wait_for_ready();
-    hobject_t new_obj = object_gen->create_object(rng);
+    ghobject_t new_obj = object_gen->create_object(rng);
     in_use_objects.insert(new_obj);
     available_objects.erase(new_obj);
     ObjectStore::Transaction *t = new ObjectStore::Transaction;
@@ -388,9 +388,9 @@ public:
     Mutex::Locker locker(lock);
     while (in_flight)
       cond.Wait(lock);
-    vector<hobject_t> objects;
-    set<hobject_t> objects_set, objects_set2;
-    hobject_t next, current;
+    vector<ghobject_t> objects;
+    set<ghobject_t> objects_set, objects_set2;
+    ghobject_t next, current;
     while (1) {
       cerr << "scanning..." << std::endl;
       int r = store->collection_list_partial(cid, current, 50, 100, 
@@ -403,7 +403,7 @@ public:
       current = next;
     }
     ASSERT_EQ(objects_set.size(), available_objects.size());
-    for (set<hobject_t>::iterator i = objects_set.begin();
+    for (set<ghobject_t>::iterator i = objects_set.begin();
 	 i != objects_set.end();
 	 ++i) {
       ASSERT_GT(available_objects.count(*i), (unsigned)0);
@@ -413,7 +413,7 @@ public:
     ASSERT_EQ(r, 0);
     objects_set2.insert(objects.begin(), objects.end());
     ASSERT_EQ(objects_set2.size(), available_objects.size());
-    for (set<hobject_t>::iterator i = objects_set2.begin();
+    for (set<ghobject_t>::iterator i = objects_set2.begin();
 	 i != objects_set2.end();
 	 ++i) {
       ASSERT_GT(available_objects.count(*i), (unsigned)0);
@@ -421,7 +421,7 @@ public:
   }
 
   int stat() {
-    hobject_t hoid;
+    ghobject_t hoid;
     {
       Mutex::Locker locker(lock);
       if (!can_unlink())
@@ -446,7 +446,7 @@ public:
     Mutex::Locker locker(lock);
     if (!can_unlink())
       return -ENOENT;
-    hobject_t to_remove = get_uniform_random_object();
+    ghobject_t to_remove = get_uniform_random_object();
     ObjectStore::Transaction *t = new ObjectStore::Transaction;
     t->remove(cid, to_remove);
     ++in_flight;
@@ -505,7 +505,7 @@ TEST_F(StoreTest, HashCollisionTest) {
   }
   string base = "";
   for (int i = 0; i < 100; ++i) base.append("aaaaa");
-  set<hobject_t> created;
+  set<ghobject_t> created;
   for (int n = 0; n < 10; ++n) {
     char nbuf[100];
     sprintf(nbuf, "n%d", n);
@@ -515,7 +515,7 @@ TEST_F(StoreTest, HashCollisionTest) {
     if (!(i % 5)) {
       cerr << "Object n" << n << " "<< i << std::endl;
     }
-    hobject_t hoid(string(buf) + base, string(), CEPH_NOSNAP, 0, 0, string(nbuf));
+    ghobject_t hoid(hobject_t(string(buf) + base, string(), CEPH_NOSNAP, 0, 0, string(nbuf)));
     {
       ObjectStore::Transaction t;
       t.touch(cid, hoid);
@@ -525,21 +525,21 @@ TEST_F(StoreTest, HashCollisionTest) {
     created.insert(hoid);
   }
   }
-  vector<hobject_t> objects;
+  vector<ghobject_t> objects;
   r = store->collection_list(cid, objects);
   ASSERT_EQ(r, 0);
-  set<hobject_t> listed(objects.begin(), objects.end());
+  set<ghobject_t> listed(objects.begin(), objects.end());
   cerr << "listed.size() is " << listed.size() << " and created.size() is " << created.size() << std::endl;
   ASSERT_TRUE(listed.size() == created.size());
   objects.clear();
   listed.clear();
-  hobject_t current, next;
+  ghobject_t current, next;
   while (1) {
     r = store->collection_list_partial(cid, current, 50, 60,
 				       0, &objects, &next);
     ASSERT_EQ(r, 0);
     ASSERT_TRUE(sorted(objects));
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
       if (listed.count(*i))
@@ -555,13 +555,13 @@ TEST_F(StoreTest, HashCollisionTest) {
   }
   cerr << "listed.size() is " << listed.size() << std::endl;
   ASSERT_TRUE(listed.size() == created.size());
-  for (set<hobject_t>::iterator i = listed.begin();
+  for (set<ghobject_t>::iterator i = listed.begin();
        i != listed.end();
        ++i) {
     ASSERT_TRUE(created.count(*i));
   }
 
-  for (set<hobject_t>::iterator i = created.begin();
+  for (set<ghobject_t>::iterator i = created.begin();
        i != created.end();
        ++i) {
     ObjectStore::Transaction t;
@@ -576,7 +576,7 @@ TEST_F(StoreTest, HashCollisionTest) {
 
 TEST_F(StoreTest, OMapTest) {
   coll_t cid("blah");
-  hobject_t hoid("tesomap", "", CEPH_NOSNAP, 0, 0, "");
+  ghobject_t hoid(hobject_t("tesomap", "", CEPH_NOSNAP, 0, 0, ""));
   int r;
   {
     ObjectStore::Transaction t;
@@ -672,7 +672,7 @@ TEST_F(StoreTest, OMapTest) {
 
 TEST_F(StoreTest, XattrTest) {
   coll_t cid("blah");
-  hobject_t hoid("tesomap", "", CEPH_NOSNAP, 0, 0, "");
+  ghobject_t hoid(hobject_t("tesomap", "", CEPH_NOSNAP, 0, 0, ""));
   bufferlist big;
   for (unsigned i = 0; i < 10000; ++i) {
     big.append('\0');
@@ -769,12 +769,12 @@ void colsplittest(
     for (uint32_t i = 0; i < 2*num_objects; ++i) {
       stringstream objname;
       objname << "obj" << i;
-      t.touch(cid, hobject_t(
+      t.touch(cid, ghobject_t(hobject_t(
 	  objname.str(),
 	  "",
 	  CEPH_NOSNAP,
 	  i<<common_suffix_size,
-	  0, ""));
+	  0, "")));
     }
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
@@ -788,14 +788,14 @@ void colsplittest(
   }
 
   ObjectStore::Transaction t;
-  vector<hobject_t> objects;
+  vector<ghobject_t> objects;
   r = store->collection_list(cid, objects);
   ASSERT_EQ(r, 0);
   ASSERT_EQ(objects.size(), num_objects);
-  for (vector<hobject_t>::iterator i = objects.begin();
+  for (vector<ghobject_t>::iterator i = objects.begin();
        i != objects.end();
        ++i) {
-    ASSERT_EQ(!(i->hash & (1<<common_suffix_size)), 0u);
+    ASSERT_EQ(!(i->hobj.hash & (1<<common_suffix_size)), 0u);
     t.remove(cid, *i);
   }
 
@@ -803,10 +803,10 @@ void colsplittest(
   r = store->collection_list(tid, objects);
   ASSERT_EQ(r, 0);
   ASSERT_EQ(objects.size(), num_objects);
-  for (vector<hobject_t>::iterator i = objects.begin();
+  for (vector<ghobject_t>::iterator i = objects.begin();
        i != objects.end();
        ++i) {
-    ASSERT_EQ(i->hash & (1<<common_suffix_size), 0u);
+    ASSERT_EQ(i->hobj.hash & (1<<common_suffix_size), 0u);
     t.remove(tid, *i);
   }
 
@@ -848,12 +848,12 @@ TEST_F(StoreTest, TwoHash) {
   std::cout << "Making objects" << std::endl;
   for (int i = 0; i < 360; ++i) {
     ObjectStore::Transaction t;
-    hobject_t o;
+    ghobject_t o;
     if (i < 8) {
-      o.hash = (i << 16) | 0xA1;
+      o.hobj.hash = (i << 16) | 0xA1;
       t.touch(cid, o);
     }
-    o.hash = (i << 16) | 0xB1;
+    o.hobj.hash = (i << 16) | 0xB1;
     t.touch(cid, o);
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
@@ -861,8 +861,8 @@ TEST_F(StoreTest, TwoHash) {
   std::cout << "Removing half" << std::endl;
   for (int i = 1; i < 8; ++i) {
     ObjectStore::Transaction t;
-    hobject_t o;
-    o.hash = (i << 16) | 0xA1;
+    ghobject_t o;
+    o.hobj.hash = (i << 16) | 0xA1;
     t.remove(cid, o);
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
@@ -870,24 +870,24 @@ TEST_F(StoreTest, TwoHash) {
   std::cout << "Checking" << std::endl;
   for (int i = 1; i < 8; ++i) {
     ObjectStore::Transaction t;
-    hobject_t o;
-    o.hash = (i << 16) | 0xA1;
+    ghobject_t o;
+    o.hobj.hash = (i << 16) | 0xA1;
     bool exists = store->exists(cid, o);
     ASSERT_EQ(exists, false);
   }
   {
-    hobject_t o;
-    o.hash = 0xA1;
+    ghobject_t o;
+    o.hobj.hash = 0xA1;
     bool exists = store->exists(cid, o);
     ASSERT_EQ(exists, true);
   }
   std::cout << "Cleanup" << std::endl;
   for (int i = 0; i < 360; ++i) {
     ObjectStore::Transaction t;
-    hobject_t o;
-    o.hash = (i << 16) | 0xA1;
+    ghobject_t o;
+    o.hobj.hash = (i << 16) | 0xA1;
     t.remove(cid, o);
-    o.hash = (i << 16) | 0xB1;
+    o.hobj.hash = (i << 16) | 0xB1;
     t.remove(cid, o);
     r = store->apply_transaction(t);
     ASSERT_EQ(r, 0);
@@ -898,6 +898,65 @@ TEST_F(StoreTest, TwoHash) {
   ASSERT_EQ(r, 0);
 }
 
+TEST_F(StoreTest, MoveRename) {
+  coll_t temp_cid("mytemp");
+  hobject_t temp_oid("tmp_oid", "", CEPH_NOSNAP, 0, 0, "");
+  coll_t cid("dest");
+  hobject_t oid("dest_oid", "", CEPH_NOSNAP, 0, 0, "");
+  int r;
+  {
+    ObjectStore::Transaction t;
+    t.create_collection(cid);
+    t.touch(cid, oid);
+    r = store->apply_transaction(t);
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_TRUE(store->exists(cid, oid));
+  bufferlist data, attr;
+  map<string, bufferlist> omap;
+  data.append("data payload");
+  attr.append("attr value");
+  omap["omap_key"].append("omap value");
+  {
+    ObjectStore::Transaction t;
+    t.create_collection(temp_cid);
+    t.touch(temp_cid, temp_oid);
+    t.write(temp_cid, temp_oid, 0, data.length(), data);
+    t.setattr(temp_cid, temp_oid, "attr", attr);
+    t.omap_setkeys(temp_cid, temp_oid, omap);
+    r = store->apply_transaction(t);
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_TRUE(store->exists(temp_cid, temp_oid));
+  {
+    ObjectStore::Transaction t;
+    t.remove(cid, oid);
+    t.collection_move_rename(temp_cid, temp_oid, cid, oid);
+    r = store->apply_transaction(t);
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_TRUE(store->exists(cid, oid));
+  ASSERT_FALSE(store->exists(temp_cid, temp_oid));
+  {
+    bufferlist newdata;
+    r = store->read(cid, oid, 0, 1000, newdata);
+    ASSERT_GE(r, 0);
+    ASSERT_TRUE(newdata.contents_equal(data));
+    bufferlist newattr;
+    r = store->getattr(cid, oid, "attr", newattr);
+    ASSERT_GE(r, 0);
+    ASSERT_TRUE(newattr.contents_equal(attr));
+    set<string> keys;
+    keys.insert("omap_key");
+    map<string, bufferlist> newomap;
+    r = store->omap_get_values(cid, oid, keys, &newomap);
+    ASSERT_GE(r, 0);
+    ASSERT_EQ(1u, newomap.size());
+    ASSERT_TRUE(newomap.count("omap_key"));
+    ASSERT_TRUE(newomap["omap_key"].contents_equal(omap["omap_key"]));
+  }
+}
+
 //
 // support tests for qa/workunits/filestore/filestore.sh
 //
diff --git a/src/test/filestore/workload_generator.cc b/src/test/filestore/workload_generator.cc
index 496379d..704d930 100644
--- a/src/test/filestore/workload_generator.cc
+++ b/src/test/filestore/workload_generator.cc
@@ -344,12 +344,12 @@ void WorkloadGenerator::do_destroy_collection(ObjectStore::Transaction *t,
 {  
   m_nr_runs.set(0);
   entry->m_osr.flush();
-  vector<hobject_t> ls;
+  vector<ghobject_t> ls;
   m_store->collection_list(entry->m_coll, ls);
   dout(2) << __func__ << " coll " << entry->m_coll
       << " (" << ls.size() << " objects)" << dendl;
 
-  for (vector<hobject_t>::iterator it = ls.begin(); it < ls.end(); ++it) {
+  for (vector<ghobject_t>::iterator it = ls.begin(); it < ls.end(); ++it) {
     t->remove(entry->m_coll, *it);
   }
 
diff --git a/src/test/filestore/workload_generator.h b/src/test/filestore/workload_generator.h
index 6a63b35..80e95da 100644
--- a/src/test/filestore/workload_generator.h
+++ b/src/test/filestore/workload_generator.h
@@ -163,7 +163,7 @@ public:
       : stat_state(state), ctx(context) { }
 
     void finish(int r) {
-      ctx->finish(r);
+      ctx->complete(r);
 
       stat_state->wrkldgen->m_stats_lock.Lock();
 
diff --git a/src/test/gather.cc b/src/test/gather.cc
index 92bec76..e067cee 100644
--- a/src/test/gather.cc
+++ b/src/test/gather.cc
@@ -40,8 +40,7 @@ TEST(ContextGather, OneSub) {
   C_Checker *checker = new C_Checker(&finish_called, &result);
   gather.set_finisher(checker);
   gather.activate();
-  sub->finish(0);
-  delete sub;
+  sub->complete(0);
   EXPECT_TRUE(finish_called);
   EXPECT_EQ(0, result);
 }
@@ -63,14 +62,12 @@ TEST(ContextGather, ManySubs) {
 
   //finish all except one sub
   for (int j = 0; j < sub_count - 1; ++j) {
-    subs[j]->finish(0);
-    delete subs[j];
+    subs[j]->complete(0);
     EXPECT_FALSE(finish_called);
   }
 
   //finish last one and check asserts
-  subs[sub_count-1]->finish(0);
-  delete subs[sub_count-1];
+  subs[sub_count-1]->complete(0);
   EXPECT_TRUE(finish_called);
 }
 
@@ -92,16 +89,14 @@ TEST(ContextGather, AlternatingSubCreateFinish) {
 
   //alternate finishing first half of subs and creating last half of subs
   for (int j = 0; j < sub_count / 2; ++j) {
-    subs[j]->finish(0);
-    delete subs[j];
+    subs[j]->complete(0);
     subs[sub_count / 2 + j] = gather.new_sub();
   }
   gather.activate();
 
   //finish last half of subs
   for (int k = sub_count / 2; k < sub_count; ++k) {
-    subs[k]->finish(0);
-    delete subs[k];
+    subs[k]->complete(0);
   }
 
   EXPECT_TRUE(finish_called);
diff --git a/src/test/libcephfs/caps.cc b/src/test/libcephfs/caps.cc
index 96f1a90..9fa92cf 100644
--- a/src/test/libcephfs/caps.cc
+++ b/src/test/libcephfs/caps.cc
@@ -11,11 +11,11 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include "gtest/gtest.h"
 #include "include/cephfs/libcephfs.h"
 #include <linux/types.h>
-#include <inttypes.h>
 #include "include/ceph_fs.h"
 #include <errno.h>
 #include <sys/fcntl.h>
diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc
index 71343f2..f47cc9f 100644
--- a/src/test/librados/cmd.cc
+++ b/src/test/librados/cmd.cc
@@ -100,8 +100,9 @@ TEST(LibRadosCmd, PGCmd) {
   string pgid = stringify(poolid) + ".0";
 
   cmd[0] = (char *)"asdfasdf";
-  ASSERT_EQ(-22, rados_pg_command(cluster, pgid.c_str(), (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
-
+  // note: tolerate NXIO here in case the cluster is thrashing out underneath us.
+  int r = rados_pg_command(cluster, pgid.c_str(), (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen);
+  ASSERT_TRUE(r == -22 || r == -ENXIO);
 
   // make sure the pg exists on the osd before we query it
   rados_ioctx_t io;
@@ -114,7 +115,9 @@ TEST(LibRadosCmd, PGCmd) {
 
   string qstr = "{\"prefix\":\"pg\", \"cmd\":\"query\", \"pgid\":\"" +  pgid + "\"}";
   cmd[0] = (char *)qstr.c_str();
-  ASSERT_EQ(0, rados_pg_command(cluster, pgid.c_str(), (const char **)cmd, 1, "", 0,  &buf, &buflen, &st, &stlen));
+  // note: tolerate ENOENT/ENXIO here if hte osd is thrashing out underneath us
+  r = rados_pg_command(cluster, pgid.c_str(), (const char **)cmd, 1, "", 0,  &buf, &buflen, &st, &stlen);
+  ASSERT_TRUE(r == 0 || r == -ENOENT || r == -ENXIO);
 
   ASSERT_LT(0u, buflen);
   rados_buffer_free(buf);
diff --git a/src/test/librados/list.cc b/src/test/librados/list.cc
index 1ea56c2..5adbe07 100644
--- a/src/test/librados/list.cc
+++ b/src/test/librados/list.cc
@@ -1,3 +1,4 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 #include "include/rados/librados.h"
 #include "include/rados/librados.hpp"
 #include "test/librados/test.h"
@@ -20,9 +21,12 @@ TEST(LibRadosList, ListObjects) {
   rados_list_ctx_t ctx;
   ASSERT_EQ(0, rados_objects_list_open(ioctx, &ctx));
   const char *entry;
-  ASSERT_EQ(0, rados_objects_list_next(ctx, &entry, NULL));
-  ASSERT_EQ(std::string(entry), "foo");
-  ASSERT_EQ(-ENOENT, rados_objects_list_next(ctx, &entry, NULL));
+  bool foundit = false;
+  while (rados_objects_list_next(ctx, &entry, NULL) != -ENOENT) {
+    foundit = true;
+    ASSERT_EQ(std::string(entry), "foo");
+  }
+  ASSERT_TRUE(foundit);
   rados_objects_list_close(ctx);
   rados_ioctx_destroy(ioctx);
   ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));
@@ -40,10 +44,13 @@ TEST(LibRadosList, ListObjectsPP) {
   bl1.append(buf, sizeof(buf));
   ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
   ObjectIterator iter(ioctx.objects_begin());
-  ASSERT_EQ((iter == ioctx.objects_end()), false);
-  ASSERT_EQ((*iter).first, "foo");
-  ++iter;
-  ASSERT_EQ(true, (iter == ioctx.objects_end()));
+  bool foundit = false;
+  while (iter != ioctx.objects_end()) {
+    foundit = true;
+    ASSERT_EQ((*iter).first, "foo");
+    ++iter;
+  }
+  ASSERT_TRUE(foundit);
   ioctx.close();
   ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
 }
@@ -51,12 +58,18 @@ TEST(LibRadosList, ListObjectsPP) {
 static void check_list(std::set<std::string>& myset, rados_list_ctx_t& ctx)
 {
   const char *entry;
-  while(!myset.empty()) {
-    ASSERT_EQ(0, rados_objects_list_next(ctx, &entry, NULL));
-    ASSERT_TRUE(myset.end() != myset.find(std::string(entry)));
+  std::set<std::string> orig_set(myset);
+  /**
+   * During splitting, we might see duplicate items.
+   * We assert that every object returned is in myset and that
+   * we don't hit ENOENT until we have hit every item in myset
+   * at least once.
+   */
+  while (rados_objects_list_next(ctx, &entry, NULL) != -ENOENT) {
+    ASSERT_TRUE(orig_set.end() != orig_set.find(std::string(entry)));
     myset.erase(std::string(entry));
   }
-  ASSERT_EQ(-ENOENT, rados_objects_list_next(ctx, &entry, NULL));
+  ASSERT_TRUE(myset.empty());
 }
 
 TEST(LibRadosList, ListObjectsNS) {
@@ -117,18 +130,19 @@ TEST(LibRadosList, ListObjectsNS) {
 static void check_listpp(std::set<std::string>& myset, IoCtx& ioctx)
 {
   ObjectIterator iter(ioctx.objects_begin());
-  if (myset.empty()) {
-    ASSERT_EQ((iter == ioctx.objects_end()), true);
-    return;
-  }
-    
-  while(!myset.empty()) {
-    ASSERT_EQ((iter == ioctx.objects_end()), false);
-    ASSERT_TRUE(myset.end() != myset.find(std::string((*iter).first)));
+  std::set<std::string> orig_set(myset);
+  /**
+   * During splitting, we might see duplicate items.
+   * We assert that every object returned is in myset and that
+   * we don't hit ENOENT until we have hit every item in myset
+   * at least once.
+   */
+  while (iter != ioctx.objects_end()) {
+    ASSERT_TRUE(orig_set.end() != orig_set.find(std::string((*iter).first)));
     myset.erase(std::string((*iter).first));
     ++iter;
   }
-  ASSERT_EQ((iter == ioctx.objects_end()), true);
+  ASSERT_TRUE(myset.empty());
 }
 
 TEST(LibRadosList, ListObjectsPPNS) {
diff --git a/src/test/librados/misc.cc b/src/test/librados/misc.cc
index 6cb7cf5..9abac9c 100644
--- a/src/test/librados/misc.cc
+++ b/src/test/librados/misc.cc
@@ -538,21 +538,25 @@ TEST(LibRadosMisc, BigAttrPP) {
 
   bufferlist got;
 
-  bl.clear();
-  got.clear();
-  bl.append(buffer::create(g_conf->osd_max_attr_size));
-  ASSERT_EQ(0, ioctx.setxattr("foo", "one", bl));
-  ASSERT_EQ((int)bl.length(), ioctx.getxattr("foo", "one", got));
-  ASSERT_TRUE(bl.contents_equal(got));
+  if (g_conf->osd_max_attr_size) {
+    bl.clear();
+    got.clear();
+    bl.append(buffer::create(g_conf->osd_max_attr_size));
+    ASSERT_EQ(0, ioctx.setxattr("foo", "one", bl));
+    ASSERT_EQ((int)bl.length(), ioctx.getxattr("foo", "one", got));
+    ASSERT_TRUE(bl.contents_equal(got));
 
-  bl.clear();
-  bl.append(buffer::create(g_conf->osd_max_attr_size+1));
-  ASSERT_EQ(-EFBIG, ioctx.setxattr("foo", "one", bl));
+    bl.clear();
+    bl.append(buffer::create(g_conf->osd_max_attr_size+1));
+    ASSERT_EQ(-EFBIG, ioctx.setxattr("foo", "one", bl));
+  } else {
+    cout << "osd_max_attr_size == 0; skipping test" << std::endl;
+  }
 
   for (int i=0; i<1000; i++) {
     bl.clear();
     got.clear();
-    bl.append(buffer::create(g_conf->osd_max_attr_size));
+    bl.append(buffer::create(MIN(g_conf->osd_max_attr_size, 1024)));
     char n[10];
     snprintf(n, sizeof(n), "a%d", i);
     ASSERT_EQ(0, ioctx.setxattr("foo", n, bl));
@@ -564,6 +568,139 @@ TEST(LibRadosMisc, BigAttrPP) {
   ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
 }
 
+TEST(LibRadosMisc, CopyPP) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx));
+
+  bufferlist bl, x;
+  bl.append("hi there");
+  x.append("bar");
+
+  // small object
+  bufferlist blc = bl;
+  bufferlist xc = x;
+  ASSERT_EQ(0, ioctx.write_full("foo", blc));
+  ASSERT_EQ(0, ioctx.setxattr("foo", "myattr", xc));
+
+  {
+    ObjectWriteOperation op;
+    op.copy_from("foo", ioctx, ioctx.get_last_version());
+    ASSERT_EQ(0, ioctx.operate("foo.copy", &op));
+
+    bufferlist bl2, x2;
+    ASSERT_EQ((int)bl.length(), ioctx.read("foo.copy", bl2, 10000, 0));
+    ASSERT_TRUE(bl.contents_equal(bl2));
+    ASSERT_EQ((int)x.length(), ioctx.getxattr("foo.copy", "myattr", x2));
+    ASSERT_TRUE(x.contents_equal(x2));
+  }
+
+  // small object without a version
+  {
+    ObjectWriteOperation op;
+    op.copy_from("foo", ioctx, 0);
+    ASSERT_EQ(0, ioctx.operate("foo.copy2", &op));
+
+    bufferlist bl2, x2;
+    ASSERT_EQ((int)bl.length(), ioctx.read("foo.copy2", bl2, 10000, 0));
+    ASSERT_TRUE(bl.contents_equal(bl2));
+    ASSERT_EQ((int)x.length(), ioctx.getxattr("foo.copy2", "myattr", x2));
+    ASSERT_TRUE(x.contents_equal(x2));
+  }
+
+  // do a big object
+  bl.append(buffer::create(g_conf->osd_copyfrom_max_chunk * 3));
+  bl.zero();
+  bl.append("tail");
+  blc = bl;
+  xc = x;
+  ASSERT_EQ(0, ioctx.write_full("big", blc));
+  ASSERT_EQ(0, ioctx.setxattr("big", "myattr", xc));
+
+  {
+    ObjectWriteOperation op;
+    op.copy_from("big", ioctx, ioctx.get_last_version());
+    ASSERT_EQ(0, ioctx.operate("big.copy", &op));
+
+    bufferlist bl2, x2;
+    ASSERT_EQ((int)bl.length(), ioctx.read("big.copy", bl2, bl.length(), 0));
+    ASSERT_TRUE(bl.contents_equal(bl2));
+    ASSERT_EQ((int)x.length(), ioctx.getxattr("foo.copy", "myattr", x2));
+    ASSERT_TRUE(x.contents_equal(x2));
+  }
+
+  {
+    ObjectWriteOperation op;
+    op.copy_from("big", ioctx, 0);
+    ASSERT_EQ(0, ioctx.operate("big.copy2", &op));
+
+    bufferlist bl2, x2;
+    ASSERT_EQ((int)bl.length(), ioctx.read("big.copy2", bl2, bl.length(), 0));
+    ASSERT_TRUE(bl.contents_equal(bl2));
+    ASSERT_EQ((int)x.length(), ioctx.getxattr("foo.copy2", "myattr", x2));
+    ASSERT_TRUE(x.contents_equal(x2));
+  }
+
+  ioctx.close();
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
+TEST(LibRadosMisc, Dirty) {
+  Rados cluster;
+  std::string pool_name = get_temp_pool_name();
+  ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
+  IoCtx ioctx;
+  ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx));
+
+  {
+    ObjectWriteOperation op;
+    op.create(true);
+    ASSERT_EQ(0, ioctx.operate("foo", &op));
+  }
+  {
+    bool dirty = false;
+    int r = -1;
+    ObjectReadOperation op;
+    op.is_dirty(&dirty, &r);
+    ASSERT_EQ(0, ioctx.operate("foo", &op, NULL));
+    ASSERT_TRUE(dirty);
+    ASSERT_EQ(0, r);
+  }
+  {
+    ObjectWriteOperation op;
+    op.undirty();
+    ASSERT_EQ(0, ioctx.operate("foo", &op));
+  }
+  {
+    bool dirty = false;
+    int r = -1;
+    ObjectReadOperation op;
+    op.is_dirty(&dirty, &r);
+    ASSERT_EQ(0, ioctx.operate("foo", &op, NULL));
+    ASSERT_FALSE(dirty);
+    ASSERT_EQ(0, r);
+  }
+  {
+    ObjectWriteOperation op;
+    op.truncate(0);  // still a write even tho it is a no-op
+    ASSERT_EQ(0, ioctx.operate("foo", &op));
+  }
+  {
+    bool dirty = false;
+    int r = -1;
+    ObjectReadOperation op;
+    op.is_dirty(&dirty, &r);
+    ASSERT_EQ(0, ioctx.operate("foo", &op, NULL));
+    ASSERT_TRUE(dirty);
+    ASSERT_EQ(0, r);
+  }
+
+  ioctx.close();
+  ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster));
+}
+
 int main(int argc, char **argv)
 {
   ::testing::InitGoogleTest(&argc, argv);
diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc
index 562be6a..5169a14 100644
--- a/src/test/librbd/test_librbd.cc
+++ b/src/test/librbd/test_librbd.cc
@@ -12,15 +12,19 @@
  *
  */
 
+#include "include/int_types.h"
 #include "include/rados/librados.h"
 #include "include/rbd_types.h"
 #include "include/rbd/librbd.h"
 #include "include/rbd/librbd.hpp"
 
+#include "global/global_context.h"
+#include "global/global_init.h"
+#include "common/ceph_argparse.h"
+
 #include "gtest/gtest.h"
 
 #include <errno.h>
-#include <inttypes.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -428,10 +432,9 @@ TEST(LibRBD, TestCopyPP)
 
 int test_ls_snaps(rbd_image_t image, int num_expected, ...)
 {
-  rbd_snap_info_t *snaps;
   int num_snaps, i, j, max_size = 10;
   va_list ap;
-  snaps = (rbd_snap_info_t *) malloc(sizeof(rbd_snap_info_t *) * max_size);
+  rbd_snap_info_t snaps[max_size];
   num_snaps = rbd_snap_list(image, snaps, &max_size);
   printf("num snaps is: %d\nexpected: %d\n", num_snaps, num_expected);
 
@@ -463,7 +466,6 @@ int test_ls_snaps(rbd_image_t image, int num_expected, ...)
   for (i = 0; i < num_snaps; i++) {
     assert(snaps[i].name == NULL);
   }
-  free(snaps);
 
   return num_snaps;
 }
@@ -1772,3 +1774,16 @@ TEST(LibRBD, DiffIterateStress)
   ioctx.close();
   ASSERT_EQ(0, destroy_one_pool_pp(pool_name, rados));
 }
+
+int main(int argc, char **argv)
+{
+  ::testing::InitGoogleTest(&argc, argv);
+
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  return RUN_ALL_TESTS();
+}
diff --git a/src/test/mon/moncap.cc b/src/test/mon/moncap.cc
index 92d5750..238442b 100644
--- a/src/test/mon/moncap.cc
+++ b/src/test/mon/moncap.cc
@@ -51,6 +51,9 @@ const char *parse_good[] = {
   "allow service foo-foo r, allow service bar r",
   "allow service \" foo \" w, allow service bar r",
   "allow command abc with arg=foo arg2=bar, allow service foo r",
+  "allow command abc.def with arg=foo arg2=bar, allow service foo r",
+  "allow command \"foo bar\" with arg=\"baz\"",
+  "allow command \"foo bar\" with arg=\"baz.xx\"",
   0
 };
 
diff --git a/src/test/os/TestFlatIndex.cc b/src/test/os/TestFlatIndex.cc
index 6db4f6c..53d2bbe 100644
--- a/src/test/os/TestFlatIndex.cc
+++ b/src/test/os/TestFlatIndex.cc
@@ -49,8 +49,8 @@ TEST(FlatIndex, collection) {
   uint64_t hash = 111;
   uint64_t pool = 222;
   const std::string object_name(10, 'A');
-  hobject_t hoid(object_t(object_name), key, CEPH_NOSNAP, hash, pool, "");
-  vector<hobject_t> ls;
+  ghobject_t hoid(hobject_t(object_t(object_name), key, CEPH_NOSNAP, hash, pool, ""));
+  vector<ghobject_t> ls;
   ASSERT_DEATH(index.collection_list_partial(hoid, 0, 0, 0, &ls, &hoid), "0");
 }
 
@@ -70,7 +70,7 @@ TEST(FlatIndex, created_unlink) {
     CollectionIndex::IndexedPath indexed_path;
     index->set_ref(index);
     const std::string object_name(10, 'A');
-    hobject_t hoid(object_t(object_name), key, CEPH_NOSNAP, hash, pool, "");
+    ghobject_t hoid(hobject_t(object_t(object_name), key, CEPH_NOSNAP, hash, pool, ""));
     int exists;
     EXPECT_EQ(0, index->lookup(hoid, &indexed_path, &exists));
     EXPECT_EQ(0, exists);
@@ -88,7 +88,7 @@ TEST(FlatIndex, created_unlink) {
     CollectionIndex::IndexedPath indexed_path;
     index->set_ref(index);
     const std::string object_name(1024, 'A');
-    hobject_t hoid(object_t(object_name), key, CEPH_NOSNAP, hash, pool, "");
+    ghobject_t hoid(hobject_t(object_t(object_name), key, CEPH_NOSNAP, hash, pool, ""));
     int exists;
     EXPECT_EQ(0, index->lookup(hoid, &indexed_path, &exists));
     EXPECT_EQ(0, exists);
@@ -110,10 +110,10 @@ TEST(FlatIndex, collection_list) {
   const std::string filename("PATH/" + object_name + "_head");
   EXPECT_EQ(0, ::close(::creat(filename.c_str(), 0600)));
   std::tr1::shared_ptr<CollectionIndex> index(new FlatIndex(collection, base_path));
-  vector<hobject_t> ls;
+  vector<ghobject_t> ls;
   index->collection_list(&ls);
   EXPECT_EQ((unsigned)1, ls.size());
-  EXPECT_EQ(object_name, ls[0].oid.name);
+  EXPECT_EQ(object_name, ls[0].hobj.oid.name);
   EXPECT_EQ(0, ::system("rm -fr PATH"));
 }
 
diff --git a/src/test/os/TestLFNIndex.cc b/src/test/os/TestLFNIndex.cc
index 33dbfe5..02578eb 100644
--- a/src/test/os/TestLFNIndex.cc
+++ b/src/test/os/TestLFNIndex.cc
@@ -45,10 +45,10 @@ public:
 		     std::tr1::shared_ptr<CollectionIndex> dest
 		     ) { return 0; }
 
-  void test_generate_and_parse(const hobject_t &hoid, const std::string &mangled_expected) {
+  void test_generate_and_parse(const ghobject_t &hoid, const std::string &mangled_expected) {
     const std::string mangled_name = lfn_generate_object_name(hoid);
     EXPECT_EQ(mangled_expected, mangled_name);
-    hobject_t hoid_parsed;
+    ghobject_t hoid_parsed;
     EXPECT_TRUE(lfn_parse_object_name(mangled_name, &hoid_parsed));
     EXPECT_EQ(hoid, hoid_parsed);
   }
@@ -58,34 +58,34 @@ protected:
 
   virtual int _created(
 		       const vector<string> &path,
-		       const hobject_t &hoid,     
+		       const ghobject_t &hoid,
 		       const string &mangled_name 
 		       ) { return 0; }
 
   virtual int _remove(
 		      const vector<string> &path,
-		      const hobject_t &hoid,    
+		      const ghobject_t &hoid,
 		      const string &mangled_name
 		      ) { return 0; }
 
   virtual int _lookup(
-		      const hobject_t &hoid,
+		      const ghobject_t &hoid,
 		      vector<string> *path,
 		      string *mangled_name,
 		      int *exists		 
 		      ) { return 0; }
 
   virtual int _collection_list(
-			       vector<hobject_t> *ls
+			       vector<ghobject_t> *ls
 			       ) { return 0; }
 
   virtual int _collection_list_partial(
-				       const hobject_t &start,
+				       const ghobject_t &start,
 				       int min_count,
 				       int max_count,
 				       snapid_t seq,
-				       vector<hobject_t> *ls,
-				       hobject_t *next
+				       vector<ghobject_t> *ls,
+				       ghobject_t *next
 				       ) { return 0; }
 };
 
@@ -101,9 +101,9 @@ TEST_F(TestHASH_INDEX_TAG, generate_and_parse_name) {
   uint64_t hash = 0xABABABAB;
   uint64_t pool = -1;
 
-  test_generate_and_parse(hobject_t(object_t(".A/B_\\C.D"), key, CEPH_NOSNAP, hash, pool, ""),
+  test_generate_and_parse(ghobject_t(hobject_t(object_t(".A/B_\\C.D"), key, CEPH_NOSNAP, hash, pool, "")),
 			  "\\.A\\sB_\\\\C.D_head_ABABABAB");
-  test_generate_and_parse(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, ""),
+  test_generate_and_parse(ghobject_t(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, "")),
 			  "\\dA_head_ABABABAB");
 }
 
@@ -123,11 +123,11 @@ TEST_F(TestHASH_INDEX_TAG_2, generate_and_parse_name) {
   {
     std::string name(".XA/B_\\C.D");
     name[1] = '\0';
-    hobject_t hoid(object_t(name), key, CEPH_NOSNAP, hash, pool, "");
+    ghobject_t hoid(hobject_t(object_t(name), key, CEPH_NOSNAP, hash, pool, ""));
 
     test_generate_and_parse(hoid, "\\.\\nA\\sB\\u\\\\C.D_KEY_head_ABABABAB");
   }
-  test_generate_and_parse(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, ""),
+  test_generate_and_parse(ghobject_t(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, "")),
 			  "\\dA_KEY_head_ABABABAB");
 }
 
@@ -143,36 +143,52 @@ TEST_F(TestHOBJECT_WITH_POOL, generate_and_parse_name) {
   const std::string key("KEY");
   uint64_t hash = 0xABABABAB;
   uint64_t pool = 0xCDCDCDCD;
+  int64_t gen = 0xefefefefef;
+  int8_t shard_id = 0xb;
 
   {
     std::string name(".XA/B_\\C.D");
     name[1] = '\0';
-    hobject_t hoid(object_t(name), key, CEPH_NOSNAP, hash, pool, "");
-    hoid.nspace = "NSPACE";
+    ghobject_t hoid(hobject_t(object_t(name), key, CEPH_NOSNAP, hash, pool, ""));
+    hoid.hobj.nspace = "NSPACE";
 
     test_generate_and_parse(hoid, "\\.\\nA\\sB\\u\\\\C.D_KEY_head_ABABABAB_NSPACE_cdcdcdcd");
   }
   {
-    hobject_t hoid(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, "");
-    hoid.nspace = "NSPACE";
+    ghobject_t hoid(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, ""));
+    hoid.hobj.nspace = "NSPACE";
 
     test_generate_and_parse(hoid, "\\dA_KEY_head_ABABABAB_NSPACE_cdcdcdcd");
   }
+  {
+    std::string name(".XA/B_\\C.D");
+    name[1] = '\0';
+    ghobject_t hoid(hobject_t(object_t(name), key, CEPH_NOSNAP, hash, pool, ""), gen, shard_id);
+    hoid.hobj.nspace = "NSPACE";
+
+    test_generate_and_parse(hoid, "\\.\\nA\\sB\\u\\\\C.D_KEY_head_ABABABAB_NSPACE_cdcdcdcd_efefefefef_b");
+  }
+  {
+    ghobject_t hoid(hobject_t(object_t("DIR_A"), key, CEPH_NOSNAP, hash, pool, ""), gen, shard_id);
+    hoid.hobj.nspace = "NSPACE";
+
+    test_generate_and_parse(hoid, "\\dA_KEY_head_ABABABAB_NSPACE_cdcdcdcd_efefefefef_b");
+  }
 }
 
 class TestLFNIndex : public TestWrapLFNIndex, public ::testing::Test {
 public:
-  TestLFNIndex() : TestWrapLFNIndex(coll_t("ABC"), "PATH", CollectionIndex::HASH_INDEX_TAG) {
+  TestLFNIndex() : TestWrapLFNIndex(coll_t("ABC"), "PATH", CollectionIndex::HOBJECT_WITH_POOL) {
   }
 
   virtual void SetUp() {
     ::chmod("PATH", 0700);
-    ::system("rm -fr PATH");
-    ::mkdir("PATH", 0700);
+    ASSERT_EQ(0, ::system("rm -fr PATH"));
+    ASSERT_EQ(0, ::mkdir("PATH", 0700));
   }
 
   virtual void TearDown() {
-    ::system("rm -fr PATH");
+    ASSERT_EQ(0, ::system("rm -fr PATH"));
   }
 };
 
@@ -185,7 +201,7 @@ TEST_F(TestLFNIndex, remove_object) {
   {
     std::string mangled_name;
     int exists = 666;
-    hobject_t hoid(sobject_t("ABC", CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t("ABC", CEPH_NOSNAP)));
 
     EXPECT_EQ(0, ::chmod("PATH", 0000));
     EXPECT_EQ(-EACCES, remove_object(path, hoid));
@@ -205,7 +221,7 @@ TEST_F(TestLFNIndex, remove_object) {
     std::string mangled_name;
     int exists;
     const std::string object_name(1024, 'A');
-    hobject_t hoid(sobject_t(object_name, CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t(object_name, CEPH_NOSNAP)));
 
     EXPECT_EQ(0, get_mangled_name(path, hoid, &mangled_name, &exists));
     EXPECT_EQ(0, exists);
@@ -226,7 +242,7 @@ TEST_F(TestLFNIndex, remove_object) {
     std::string mangled_name;
     int exists;
     const std::string object_name(1024, 'A');
-    hobject_t hoid(sobject_t(object_name, CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t(object_name, CEPH_NOSNAP)));
 
     //
     //   PATH/AAA..._0_long => does not match long object name
@@ -237,7 +253,12 @@ TEST_F(TestLFNIndex, remove_object) {
     std::string pathname("PATH/" + mangled_name);
     EXPECT_EQ(0, ::close(::creat(pathname.c_str(), 0600)));
     EXPECT_EQ(0, created(hoid, pathname.c_str()));
-    const string LFN_ATTR = "user.cephos.lfn";
+    string LFN_ATTR = "user.cephos.lfn";
+    if (index_version != HASH_INDEX_TAG) {
+      char buf[100];
+      snprintf(buf, sizeof(buf), "%d", index_version);
+      LFN_ATTR += string(buf);
+    }
     const std::string object_name_1 = object_name + "SUFFIX";
     EXPECT_EQ(object_name_1.size(), (unsigned)chain_setxattr(pathname.c_str(), LFN_ATTR.c_str(), object_name_1.c_str(), object_name_1.size()));
 
@@ -270,7 +291,7 @@ TEST_F(TestLFNIndex, remove_object) {
     std::string mangled_name;
     int exists;
     const std::string object_name(1024, 'A');
-    hobject_t hoid(sobject_t(object_name, CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t(object_name, CEPH_NOSNAP)));
 
     //
     //   PATH/AAA..._0_long => matches long object name
@@ -318,16 +339,16 @@ TEST_F(TestLFNIndex, get_mangled_name) {
   {
     std::string mangled_name;
     int exists = 666;
-    hobject_t hoid(sobject_t("ABC", CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t("ABC", CEPH_NOSNAP)));
 
     EXPECT_EQ(0, get_mangled_name(path, hoid, &mangled_name, &exists));
-    EXPECT_NE(std::string::npos, mangled_name.find("ABC_head"));
+    EXPECT_NE(std::string::npos, mangled_name.find("ABC__head"));
     EXPECT_EQ(std::string::npos, mangled_name.find("0_long"));
     EXPECT_EQ(0, exists);
     const std::string pathname("PATH/" + mangled_name);
     EXPECT_EQ(0, ::close(::creat(pathname.c_str(), 0600)));
     EXPECT_EQ(0, get_mangled_name(path, hoid, &mangled_name, &exists));
-    EXPECT_NE(std::string::npos, mangled_name.find("ABC_head"));
+    EXPECT_NE(std::string::npos, mangled_name.find("ABC__head"));
     EXPECT_EQ(1, exists);
     EXPECT_EQ(0, ::unlink(pathname.c_str()));
   }
@@ -338,7 +359,7 @@ TEST_F(TestLFNIndex, get_mangled_name) {
     std::string mangled_name;
     int exists;
     const std::string object_name(1024, 'A');
-    hobject_t hoid(sobject_t(object_name, CEPH_NOSNAP));
+    ghobject_t hoid(hobject_t(sobject_t(object_name, CEPH_NOSNAP)));
 
     //
     // long version of the mangled name and no matching
@@ -399,7 +420,12 @@ TEST_F(TestLFNIndex, get_mangled_name) {
     // are not identical and it so happens that their SHA1 is
     // identical : a collision number is used to differentiate them
     //
-    const string LFN_ATTR = "user.cephos.lfn";
+    string LFN_ATTR = "user.cephos.lfn";
+    if (index_version != HASH_INDEX_TAG) {
+      char buf[100];
+      snprintf(buf, sizeof(buf), "%d", index_version);
+      LFN_ATTR += string(buf);
+    }
     const std::string object_name_same_prefix = object_name + "SUFFIX";
     EXPECT_EQ(object_name_same_prefix.size(), (unsigned)chain_setxattr(pathname.c_str(), LFN_ATTR.c_str(), object_name_same_prefix.c_str(), object_name_same_prefix.size()));
     std::string mangled_name_same_prefix;
@@ -431,6 +457,11 @@ int main(int argc, char **argv) {
   }
 }
 
-// Local Variables:
-// compile-command: "cd ../.. ; make unittest_lfnindex ; valgrind --tool=memcheck ./unittest_lfnindex # --gtest_filter=TestLFNIndex.* --log-to-stderr=true --debug-filestore=20"
-// End:
+/* 
+ * Local Variables:
+ * compile-command: "cd ../.. ; 
+ *   make unittest_lfnindex && 
+ *   valgrind --tool=memcheck ./unittest_lfnindex \
+ *   # --gtest_filter=TestLFNIndex.* --log-to-stderr=true --debug-filestore=20"
+ * End:
+ */
diff --git a/src/test/osd/ErasureCodeExample.h b/src/test/osd/ErasureCodeExample.h
new file mode 100644
index 0000000..0fd5518
--- /dev/null
+++ b/src/test/osd/ErasureCodeExample.h
@@ -0,0 +1,161 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#ifndef CEPH_ERASURE_CODE_EXAMPLE_H
+#define CEPH_ERASURE_CODE_EXAMPLE_H
+
+#include <unistd.h>
+#include <errno.h>
+#include <algorithm>
+#include <sstream>
+#include "osd/ErasureCodeInterface.h"
+
+#define FIRST_DATA_CHUNK 0
+#define SECOND_DATA_CHUNK 1
+#define DATA_CHUNKS 2u
+
+#define CODING_CHUNK 2
+#define CODING_CHUNKS 1u
+
+#define MINIMUM_TO_RECOVER 2u
+
+class ErasureCodeExample : public ErasureCodeInterface {
+public:
+  virtual ~ErasureCodeExample() {}
+  
+  virtual int minimum_to_decode(const set<int> &want_to_read,
+                                const set<int> &available_chunks,
+                                set<int> *minimum) {
+    if (includes(available_chunks.begin(), available_chunks.end(),
+		 want_to_read.begin(), want_to_read.end())) {
+      *minimum = want_to_read;
+      return 0;
+    } else if (available_chunks.size() >= MINIMUM_TO_RECOVER) {
+      *minimum = available_chunks;
+      return 0;
+    } else {
+      return -EIO;
+    }
+  }
+
+  virtual int minimum_to_decode_with_cost(const set<int> &want_to_read,
+                                          const map<int, int> &available,
+                                          set<int> *minimum) {
+    //
+    // If one chunk is more expensive to fetch than the others,
+    // recover it instead. For instance, if the cost reflects the
+    // time it takes for a chunk to be retrieved from a remote
+    // OSD and if CPU is cheap, it could make sense to recover
+    // instead of fetching the chunk.
+    //
+    map<int, int> c2c(available);
+    if (c2c.size() > DATA_CHUNKS) {
+      if (c2c[FIRST_DATA_CHUNK] > c2c[SECOND_DATA_CHUNK] &&
+	  c2c[FIRST_DATA_CHUNK] > c2c[CODING_CHUNK])
+	c2c.erase(FIRST_DATA_CHUNK);
+      else if(c2c[SECOND_DATA_CHUNK] > c2c[FIRST_DATA_CHUNK] &&
+	      c2c[SECOND_DATA_CHUNK] > c2c[CODING_CHUNK])
+	c2c.erase(SECOND_DATA_CHUNK);
+      else if(c2c[CODING_CHUNK] > c2c[FIRST_DATA_CHUNK] &&
+	      c2c[CODING_CHUNK] > c2c[SECOND_DATA_CHUNK])
+	c2c.erase(CODING_CHUNK);
+    }
+    set <int> available_chunks;
+    for (map<int, int>::const_iterator i = c2c.begin();
+	 i != c2c.end();
+	 i++)
+      available_chunks.insert(i->first);
+    return minimum_to_decode(want_to_read, available_chunks, minimum);
+  }
+
+  virtual int encode(const set<int> &want_to_encode,
+                     const bufferlist &in,
+                     map<int, bufferlist> *encoded) {
+    //
+    // make sure all data chunks have the same length, allocating
+    // padding if necessary.
+    //
+    unsigned chunk_length = ( in.length() / DATA_CHUNKS ) + 1;
+    unsigned length = chunk_length * ( DATA_CHUNKS + CODING_CHUNKS );
+    bufferlist out(in);
+    bufferptr pad(length - in.length());
+    pad.zero(0, DATA_CHUNKS);
+    out.push_back(pad);
+    //
+    // compute the coding chunk with first chunk ^ second chunk
+    //
+    char *p = out.c_str();
+    for (unsigned i = 0; i < chunk_length; i++)
+      p[i + CODING_CHUNK * chunk_length] =
+        p[i + FIRST_DATA_CHUNK * chunk_length] ^
+	p[i + SECOND_DATA_CHUNK * chunk_length];
+    //
+    // populate the bufferlist with bufferptr pointing
+    // to chunk boundaries
+    //
+    const bufferptr ptr = out.buffers().front();
+    for (set<int>::iterator j = want_to_encode.begin();
+         j != want_to_encode.end();
+         j++) {
+      bufferptr chunk(ptr, (*j) * chunk_length, chunk_length);
+      (*encoded)[*j].push_front(chunk);
+    }
+    return 0;
+  }
+
+  virtual int decode(const set<int> &want_to_read,
+                     const map<int, bufferlist> &chunks,
+                     map<int, bufferlist> *decoded) {
+    //
+    // All chunks have the same size
+    //
+    unsigned chunk_length = (*chunks.begin()).second.length();
+    for (set<int>::iterator i = want_to_read.begin();
+         i != want_to_read.end();
+         i++) {
+      if (chunks.find(*i) != chunks.end()) {
+	//
+	// If the chunk is available, just copy the bufferptr pointer
+	// to the decoded argument.
+	//
+        (*decoded)[*i] = chunks.find(*i)->second;
+      } else if(chunks.size() != 2) {
+	//
+	// If a chunk is missing and there are not enough chunks
+	// to recover, abort.
+	//
+	return -ERANGE;
+      } else {
+	//
+	// No matter what the missing chunk is, XOR of the other
+	// two recovers it.
+	//
+        bufferptr chunk(chunk_length);
+        map<int, bufferlist>::const_iterator k = chunks.begin();
+        const char *a = k->second.buffers().front().c_str();
+        k++;
+        const char *b = k->second.buffers().front().c_str();
+        for (unsigned j = 0; j < chunk_length; j++) {
+          chunk[j] = a[j] ^ b[j];
+        }
+        (*decoded)[*i].push_front(chunk);
+      }
+    }
+    return 0;
+  }
+};
+
+#endif
diff --git a/src/test/osd/ErasureCodePluginExample.cc b/src/test/osd/ErasureCodePluginExample.cc
new file mode 100644
index 0000000..6ae61c0
--- /dev/null
+++ b/src/test/osd/ErasureCodePluginExample.cc
@@ -0,0 +1,36 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <unistd.h>
+
+#include "osd/ErasureCodePlugin.h"
+#include "ErasureCodeExample.h"
+
+class ErasureCodePluginExample : public ErasureCodePlugin {
+public:
+  virtual int factory(const map<std::string,std::string> &parameters,
+                      ErasureCodeInterfaceRef *erasure_code)
+  {
+    *erasure_code = ErasureCodeInterfaceRef(new ErasureCodeExample());
+    return 0;
+  }
+};
+
+int __erasure_code_init(char *plugin_name)
+{
+  ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+  return instance.add(plugin_name, new ErasureCodePluginExample());
+}
diff --git a/src/test/osd/ErasureCodePluginFailToInitialize.cc b/src/test/osd/ErasureCodePluginFailToInitialize.cc
new file mode 100644
index 0000000..cded6ee
--- /dev/null
+++ b/src/test/osd/ErasureCodePluginFailToInitialize.cc
@@ -0,0 +1,23 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <errno.h>
+#include "osd/ErasureCodePlugin.h"
+
+int __erasure_code_init(char *plugin_name)
+{
+  return -ESRCH;
+}
diff --git a/src/test/osd/ErasureCodePluginFailToRegister.cc b/src/test/osd/ErasureCodePluginFailToRegister.cc
new file mode 100644
index 0000000..ea980b7
--- /dev/null
+++ b/src/test/osd/ErasureCodePluginFailToRegister.cc
@@ -0,0 +1,22 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include "osd/ErasureCodePlugin.h"
+
+int __erasure_code_init(char *plugin_name)
+{
+  return 0;
+}
diff --git a/src/test/osd/ErasureCodePluginHangs.cc b/src/test/osd/ErasureCodePluginHangs.cc
new file mode 100644
index 0000000..ea73786
--- /dev/null
+++ b/src/test/osd/ErasureCodePluginHangs.cc
@@ -0,0 +1,24 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <unistd.h>
+#include "osd/ErasureCodePlugin.h"
+
+int __erasure_code_init(char *plugin_name)
+{
+  sleep(1000);
+  return 0;
+}
diff --git a/src/test/osd/ErasureCodePluginMissingEntryPoint.cc b/src/test/osd/ErasureCodePluginMissingEntryPoint.cc
new file mode 100644
index 0000000..fc60f86
--- /dev/null
+++ b/src/test/osd/ErasureCodePluginMissingEntryPoint.cc
@@ -0,0 +1 @@
+// missing int __erasure_code_init(char *plugin_name) {}
diff --git a/src/test/osd/Object.cc b/src/test/osd/Object.cc
index 408cc63..d4be4df 100644
--- a/src/test/osd/Object.cc
+++ b/src/test/osd/Object.cc
@@ -9,10 +9,11 @@
 
 ostream &operator<<(ostream &out, const ContDesc &rhs)
 {
-  return out << "ObjNum: " << rhs.objnum
-	     << " snap: " << rhs.cursnap
-	     << " seqnum: " << rhs.seqnum
-	     << " prefix: " << rhs.prefix;
+  return out << "(ObjNum " << rhs.objnum
+	     << " snap " << rhs.cursnap
+	     << " seq_num " << rhs.seqnum
+    //<< " prefix " << rhs.prefix
+	     << ")";
 }
 
 void VarLenGenerator::get_ranges(const ContDesc &cont, interval_set<uint64_t> &out) {
diff --git a/src/test/osd/Object.h b/src/test/osd/Object.h
index 39acf1e..09f0a5f 100644
--- a/src/test/osd/Object.h
+++ b/src/test/osd/Object.h
@@ -240,9 +240,9 @@ public:
 class ObjectDesc {
 public:
   ObjectDesc(ContentsGenerator *cont_gen) : 
-    exists(false), tmap(false), layers(), cont_gen(cont_gen) {};
+    exists(false), tmap(false), version(0), layers(), cont_gen(cont_gen) {};
   ObjectDesc(const ContDesc &init, ContentsGenerator *cont_gen) : 
-    exists(false), tmap(false), layers(), cont_gen(cont_gen) {
+    exists(false), tmap(false), version(0), layers(), cont_gen(cont_gen) {
     layers.push_front(init);
   };
 
@@ -314,6 +314,7 @@ public:
   bool exists;
   bool tmap;
   bufferlist tmap_contents;
+  uint64_t version;
 private:
   list<ContDesc> layers;
   ContentsGenerator *cont_gen;
diff --git a/src/test/osd/RadosModel.h b/src/test/osd/RadosModel.h
index b022d24..80bcf00 100644
--- a/src/test/osd/RadosModel.h
+++ b/src/test/osd/RadosModel.h
@@ -1,4 +1,6 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+#include "include/int_types.h"
+
 #include "common/Mutex.h"
 #include "common/Cond.h"
 #include "include/rados/librados.hpp"
@@ -15,8 +17,8 @@
 #include <time.h>
 #include "Object.h"
 #include "TestOpStat.h"
-#include "inttypes.h"
 #include "test/librados/test.h"
+#include "common/sharedptr_registry.hpp"
 
 #ifndef RADOSMODEL_H
 #define RADOSMODEL_H
@@ -48,7 +50,8 @@ enum TestOpType {
   TEST_OP_SETATTR,
   TEST_OP_RMATTR,
   TEST_OP_TMAPPUT,
-  TEST_OP_WATCH
+  TEST_OP_WATCH,
+  TEST_OP_COPY_FROM
 };
 
 class TestWatchContext : public librados::WatchCtx {
@@ -81,14 +84,16 @@ public:
 
 class TestOp {
 public:
+  int num;
   RadosTestContext *context;
   TestOpStat *stat;
   bool done;
-  TestOp(RadosTestContext *context,
-	 TestOpStat *stat = 0) :
-    context(context),
-    stat(stat),
-    done(0)
+  TestOp(int n, RadosTestContext *context,
+	 TestOpStat *stat = 0)
+    : num(n),
+      context(context),
+      stat(stat),
+      done(0)
   {}
 
   virtual ~TestOp() {};
@@ -139,6 +144,7 @@ public:
   map<int, map<string,ObjectDesc> > pool_obj_cont;
   set<string> oid_in_use;
   set<string> oid_not_in_use;
+  SharedPtrRegistry<int, int> snaps_in_use;
   int current_snap;
   string pool_name;
   librados::IoCtx io_ctx;
@@ -228,6 +234,7 @@ public:
 	for (list<TestOp*>::iterator i = inflight.begin();
 	     i != inflight.end();) {
 	  if ((*i)->finished()) {
+	    cout << (*i)->num << ": done (" << (inflight.size()-1) << " left)" << std::endl;
 	    delete *i;
 	    inflight.erase(i++);
 	  } else {
@@ -236,7 +243,7 @@ public:
 	}
 	
 	if (inflight.size() >= (unsigned) max_in_flight || (!next && !inflight.empty())) {
-	  cout << "Waiting on " << inflight.size() << std::endl;
+	  cout << " waiting on " << inflight.size() << std::endl;
 	  wait();
 	} else {
 	  break;
@@ -396,6 +403,27 @@ public:
     pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
   }
 
+  void update_object_full(const string &oid, const ObjectDesc &contents)
+  {
+    pool_obj_cont[current_snap].erase(oid);
+    pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, contents));
+  }
+
+  void update_object_version(const string &oid, uint64_t version)
+  {
+    for (map<int, map<string,ObjectDesc> >::reverse_iterator i = 
+	   pool_obj_cont.rbegin();
+	 i != pool_obj_cont.rend();
+	 ++i) {
+      map<string,ObjectDesc>::iterator j = i->second.find(oid);
+      if (j != i->second.end()) {
+	j->second.version = version;
+	cout << __func__ << " oid " << oid << " v " << version << " " << j->second.most_recent() << std::endl;
+	break;
+      }
+    }
+  }
+
   void remove_object(const string &oid)
   {
     assert(!get_watch_context(oid));
@@ -465,11 +493,11 @@ public:
   librados::ObjectWriteOperation op;
   librados::AioCompletion *comp;
   bool done;
-  RemoveAttrsOp(RadosTestContext *context,
+  RemoveAttrsOp(int n, RadosTestContext *context,
 	       const string &oid,
-	       TestOpStat *stat) :
-    TestOp(context, stat), oid(oid), comp(NULL), done(false)
-    {}
+	       TestOpStat *stat)
+    : TestOp(n, context, stat), oid(oid), comp(NULL), done(false)
+  {}
 
   void _begin()
   {
@@ -554,11 +582,12 @@ public:
   librados::ObjectWriteOperation op;
   librados::AioCompletion *comp;
   bool done;
-  TmapPutOp(RadosTestContext *context,
-	       const string &oid,
-	       TestOpStat *stat) :
-    TestOp(context, stat), oid(oid), comp(NULL), done(false)
-    {}
+  TmapPutOp(int n,
+	    RadosTestContext *context,
+	    const string &oid,
+	    TestOpStat *stat)
+    : TestOp(n, context, stat), oid(oid), comp(NULL), done(false)
+  {}
 
   void _begin()
   {
@@ -624,6 +653,7 @@ public:
       assert(0);
     }
     done = true;
+    context->update_object_version(oid, comp->get_version64());
     context->oid_in_use.erase(oid);
     context->oid_not_in_use.insert(oid);
     context->kick();
@@ -646,11 +676,13 @@ public:
   librados::ObjectWriteOperation op;
   librados::AioCompletion *comp;
   bool done;
-  SetAttrsOp(RadosTestContext *context,
-	       const string &oid,
-	       TestOpStat *stat) :
-    TestOp(context, stat), oid(oid), comp(NULL), done(false)
-    {}
+  SetAttrsOp(int n,
+	     RadosTestContext *context,
+	     const string &oid,
+	     TestOpStat *stat)
+    : TestOp(n, context, stat),
+      oid(oid), comp(NULL), done(false)
+  {}
 
   void _begin()
   {
@@ -714,6 +746,7 @@ public:
       assert(0);
     }
     done = true;
+    context->update_object_version(oid, comp->get_version64());
     context->oid_in_use.erase(oid);
     context->oid_not_in_use.insert(oid);
     context->kick();
@@ -735,14 +768,19 @@ public:
   string oid;
   ContDesc cont;
   set<librados::AioCompletion *> waiting;
+  librados::AioCompletion *rcompletion;
   uint64_t waiting_on;
   uint64_t last_acked_tid;
 
-  WriteOp(RadosTestContext *context, 
+  librados::ObjectReadOperation read_op;
+  bufferlist rbuffer;
+
+  WriteOp(int n,
+	  RadosTestContext *context,
 	  const string &oid,
-	  TestOpStat *stat = 0) : 
-    TestOp(context, stat),
-    oid(oid), waiting_on(0), last_acked_tid(0)
+	  TestOpStat *stat = 0)
+    : TestOp(n, context, stat),
+      oid(oid), waiting_on(0), last_acked_tid(0)
   {}
 		
   void _begin()
@@ -760,27 +798,14 @@ public:
     context->oid_in_use.insert(oid);
     context->oid_not_in_use.erase(oid);
 
-    context->seq_num++;
-
-    vector<uint64_t> snapset(context->snaps.size());
-    int j = 0;
-    for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin();
-	 i != context->snaps.rend();
-	 ++i, ++j) {
-      snapset[j] = i->second;
-    }
     interval_set<uint64_t> ranges;
     context->cont_gen.get_ranges(cont, ranges);
+    std::cout << num << ":  seq_num " << context->seq_num << " ranges " << ranges << std::endl;
+    context->seq_num++;
     context->state_lock.Unlock();
 
-    int r = context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset);
-    if (r) {
-      cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl;
-      assert(0);
-    }
-
     waiting_on = ranges.num_intervals();
-    cout << "waiting_on = " << waiting_on << std::endl;
+    //cout << " waiting_on = " << waiting_on << std::endl;
     ContentsGenerator::iterator gen_pos = context->cont_gen.get_iterator(cont);
     uint64_t tid = 1;
     for (interval_set<uint64_t>::iterator i = ranges.begin(); 
@@ -793,9 +818,8 @@ public:
       }
       assert(to_write.length() == i.get_len());
       assert(to_write.length() > 0);
-      std::cout << "Writing " << context->prefix+oid << " from " << i.get_start()
-		<< " to " << i.get_len() + i.get_start() << " tid " << tid
-		<< " ranges are " << ranges << std::endl;
+      std::cout << num << ":  writing " << context->prefix+oid << " from " << i.get_start()
+		<< " to " << i.get_len() + i.get_start() << " tid " << tid << std::endl;
       pair<TestOp*, TestOp::CallbackInfo*> *cb_arg =
 	new pair<TestOp*, TestOp::CallbackInfo*>(this,
 						 new TestOp::CallbackInfo(tid));
@@ -805,6 +829,21 @@ public:
       context->io_ctx.aio_write(context->prefix+oid, completion,
 				to_write, i.get_len(), i.get_start());
     }
+
+    pair<TestOp*, TestOp::CallbackInfo*> *cb_arg =
+      new pair<TestOp*, TestOp::CallbackInfo*>(
+	this,
+	new TestOp::CallbackInfo(tid));
+    rcompletion = context->rados.aio_create_completion(
+      (void*) cb_arg, &write_callback, NULL);
+    waiting_on++;
+    read_op.read(0, 1, &rbuffer, 0);
+    context->io_ctx.aio_operate(
+      context->prefix+oid, rcompletion,
+      &read_op,
+      librados::SNAP_HEAD,
+      librados::OPERATION_ORDER_READS_WRITES,  // order wrt previous write/update
+      0);
   }
 
   void _finish(CallbackInfo *info)
@@ -813,7 +852,7 @@ public:
     context->state_lock.Lock();
     uint64_t tid = info->id;
 
-    cout << "finishing write tid " << tid << " to " << context->prefix + oid << std::endl;
+    cout << num << ":  finishing write tid " << tid << " to " << context->prefix + oid << std::endl;
 
     if (tid <= last_acked_tid) {
       cerr << "Error: finished tid " << tid
@@ -825,6 +864,7 @@ public:
     assert(!done);
     waiting_on--;
     if (waiting_on == 0) {
+      uint64_t version = 0;
       for (set<librados::AioCompletion *>::iterator i = waiting.begin();
 	   i != waiting.end();
 	   ) {
@@ -833,10 +873,20 @@ public:
 	  cerr << "Error: oid " << oid << " write returned error code "
 	       << err << std::endl;
 	}
+	if ((*i)->get_version64() > version)
+	  version = (*i)->get_version64();
 	(*i)->release();
 	waiting.erase(i++);
       }
       
+      context->update_object_version(oid, version);
+      if (rcompletion->get_version64() != version) {
+	cerr << "Error: racing read on " << oid << " returned version "
+	     << rcompletion->get_version64() << " rather than version "
+	     << version << std::endl;
+	assert(0 == "racing read got wrong version");
+      }
+      rcompletion->release();
       context->oid_in_use.erase(oid);
       context->oid_not_in_use.insert(oid);
       context->kick();
@@ -860,10 +910,11 @@ class DeleteOp : public TestOp {
 public:
   string oid;
 
-  DeleteOp(RadosTestContext *context,
+  DeleteOp(int n,
+	   RadosTestContext *context,
 	   const string &oid,
-	   TestOpStat *stat = 0) :
-    TestOp(context, stat), oid(oid)
+	   TestOpStat *stat = 0)
+    : TestOp(n, context, stat), oid(oid)
   {}
 
   void _begin()
@@ -885,23 +936,10 @@ public:
 
     context->remove_object(oid);
 
-    vector<uint64_t> snapset(context->snaps.size());
-    int j = 0;
-    for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin();
-	 i != context->snaps.rend();
-	 ++i, ++j) {
-      snapset[j] = i->second;
-    }
     interval_set<uint64_t> ranges;
     context->state_lock.Unlock();
 
-    int r = context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset);
-    if (r) {
-      cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl;
-      assert(0);
-    }
-
-    r = context->io_ctx.remove(context->prefix+oid);
+    int r = context->io_ctx.remove(context->prefix+oid);
     if (r && !(r == -ENOENT && !present)) {
       cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl;
       assert(0);
@@ -941,16 +979,17 @@ public:
   bufferlist header;
 
   map<string, bufferlist> xattrs;
-  ReadOp(RadosTestContext *context, 
+  ReadOp(int n,
+	 RadosTestContext *context,
 	 const string &oid,
-	 TestOpStat *stat = 0) : 
-    TestOp(context, stat),
-    completion(NULL),
-    oid(oid),
-    old_value(&context->cont_gen),
-    snap(0),
-    retval(0),
-    attrretval(0)
+	 TestOpStat *stat = 0)
+    : TestOp(n, context, stat),
+      completion(NULL),
+      oid(oid),
+      old_value(&context->cont_gen),
+      snap(0),
+      retval(0),
+      attrretval(0)
   {}
 		
   void _begin()
@@ -973,9 +1012,9 @@ public:
     if (ctx) {
       assert(old_value.exists);
       TestAlarm alarm;
-      std::cerr << "about to start" << std::endl;
+      std::cerr << num << ":  about to start" << std::endl;
       ctx->start();
-      std::cerr << "started" << std::endl;
+      std::cerr << num << ":  started" << std::endl;
       bufferlist bl;
       context->io_ctx.set_notify_timeout(600);
       int r = context->io_ctx.notify(context->prefix+oid, 0, bl);
@@ -983,7 +1022,7 @@ public:
 	std::cerr << "r is " << r << std::endl;
 	assert(0);
       }
-      std::cerr << "notified, waiting" << std::endl;
+      std::cerr << num << ":  notified, waiting" << std::endl;
       ctx->wait();
     }
     if (snap >= 0) {
@@ -1027,27 +1066,30 @@ public:
     context->oid_in_use.erase(oid);
     context->oid_not_in_use.insert(oid);
     assert(completion->is_complete());
+    uint64_t version = completion->get_version64();
     if (int err = completion->get_return_value()) {
       if (!(err == -ENOENT && old_value.deleted())) {
-	cerr << "Error: oid " << oid << " read returned error code "
+	cerr << num << ": Error: oid " << oid << " read returned error code "
 	     << err << std::endl;
+	context->errors++;
       }
     } else {
+      cout << num << ":  expect " << old_value.most_recent() << std::endl;
       assert(!old_value.deleted());
       if (old_value.has_contents()) {
 	ContDesc to_check;
 	bufferlist::iterator p = result.begin();
 	if (!context->cont_gen.read_header(p, to_check)) {
-	  cerr << "Unable to decode oid " << oid << " at snap " << context->current_snap << std::endl;
+	  cerr << num << ": Unable to decode oid " << oid << " at snap " << context->current_snap << std::endl;
 	  context->errors++;
 	}
 	if (to_check != old_value.most_recent()) {
-	  cerr << "Found incorrect object contents " << to_check
-	       << ", expected " << old_value.most_recent() << " oid " << oid << std::endl;
+	  cerr << num << ": oid " << oid << " found incorrect object contents " << to_check
+	       << ", expected " << old_value.most_recent() << std::endl;
 	  context->errors++;
 	}
 	if (!old_value.check(result)) {
-	  cerr << "Object " << oid << " contents " << to_check << " corrupt" << std::endl;
+	  cerr << num << ": oid " << oid << " contents " << to_check << " corrupt" << std::endl;
 	  context->errors++;
 	}
 	if (context->errors) assert(0);
@@ -1055,26 +1097,31 @@ public:
 
       // Attributes
       if (!(old_value.header == header)) {
-	cerr << "oid: " << oid << " header does not match, old size: "
+	cerr << num << ": oid " << oid << " header does not match, old size: "
 	     << old_value.header.length() << " new size " << header.length()
 	     << std::endl;
 	assert(old_value.header == header);
       }
       if (omap.size() != old_value.attrs.size()) {
-	cerr << "oid: " << oid << " tmap.size() is " << omap.size()
+	cerr << num << ": oid " << oid << " tmap.size() is " << omap.size()
 	     << " and old is " << old_value.attrs.size() << std::endl;
 	assert(omap.size() == old_value.attrs.size());
       }
       if (omap_keys.size() != old_value.attrs.size()) {
-	cerr << "oid: " << oid << " tmap.size() is " << omap_keys.size()
+	cerr << num << ": oid " << oid << " tmap.size() is " << omap_keys.size()
 	     << " and old is " << old_value.attrs.size() << std::endl;
 	assert(omap_keys.size() == old_value.attrs.size());
       }
       if (xattrs.size() != old_value.attrs.size()) {
-	cerr << "oid: " << oid << " xattrs.size() is " << xattrs.size()
+	cerr << num << ": oid " << oid << " xattrs.size() is " << xattrs.size()
 	     << " and old is " << old_value.attrs.size() << std::endl;
 	assert(xattrs.size() == old_value.attrs.size());
       }
+      if (version != old_value.version) {
+	cerr << num << ": oid " << oid << " version is " << version
+	     << " and expected " << old_value.version << std::endl;
+	assert(version == old_value.version);
+      }
       for (map<string, bufferlist>::iterator omap_iter = omap.begin();
 	   omap_iter != omap.end();
 	   ++omap_iter) {
@@ -1128,9 +1175,10 @@ public:
 
 class SnapCreateOp : public TestOp {
 public:
-  SnapCreateOp(RadosTestContext *context,
-	       TestOpStat *stat = 0) :
-    TestOp(context, stat)
+  SnapCreateOp(int n,
+	       RadosTestContext *context,
+	       TestOpStat *stat = 0)
+    : TestOp(n, context, stat)
   {}
 
   void _begin()
@@ -1166,11 +1214,11 @@ public:
 class SnapRemoveOp : public TestOp {
 public:
   int to_remove;
-  SnapRemoveOp(RadosTestContext *context,
+  SnapRemoveOp(int n, RadosTestContext *context,
 	       int snap,
-	       TestOpStat *stat = 0) :
-    TestOp(context, stat),
-    to_remove(snap)
+	       TestOpStat *stat = 0)
+    : TestOp(n, context, stat),
+      to_remove(snap)
   {}
 
   void _begin()
@@ -1206,11 +1254,12 @@ public:
 class WatchOp : public TestOp {
   string oid;
 public:
-  WatchOp(RadosTestContext *context,
-	     const string &_oid,
-	     TestOpStat *stat = 0) :
-    TestOp(context, stat),
-    oid(_oid)
+  WatchOp(int n,
+	  RadosTestContext *context,
+	  const string &_oid,
+	  TestOpStat *stat = 0)
+    : TestOp(n, context, stat),
+      oid(_oid)
   {}
 
   void _begin()
@@ -1226,17 +1275,8 @@ public:
     context->oid_in_use.insert(oid);
     context->oid_not_in_use.erase(oid);
 
-    vector<uint64_t> snapset(context->snaps.size());
-    int j = 0;
-    for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin();
-	 i != context->snaps.rend();
-	 ++i, ++j) {
-      snapset[j] = i->second;
-    }
-
     TestWatchContext *ctx = context->get_watch_context(oid);
     context->state_lock.Unlock();
-    assert(!context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset));
     int r;
     if (!ctx) {
       {
@@ -1279,13 +1319,18 @@ class RollbackOp : public TestOp {
 public:
   string oid;
   int roll_back_to;
-  RollbackOp(RadosTestContext *context,
+  bool done;
+  librados::ObjectWriteOperation op;
+  librados::AioCompletion *comp;
+  std::tr1::shared_ptr<int> in_use;
+
+  RollbackOp(int n,
+	     RadosTestContext *context,
 	     const string &_oid,
-	     int snap,
-	     TestOpStat *stat = 0) :
-    TestOp(context, stat),
-    oid(_oid),
-    roll_back_to(snap)
+	     TestOpStat *stat = 0)
+    : TestOp(n, context, stat),
+      oid(_oid),
+      roll_back_to(-1), done(false)
   {}
 
   void _begin()
@@ -1296,40 +1341,195 @@ public:
       context->state_lock.Unlock();
       return;
     }
+
+    if (context->snaps.empty()) {
+      context->kick();
+      context->state_lock.Unlock();
+      done = true;
+      return;
+    }
+
     context->oid_in_use.insert(oid);
     context->oid_not_in_use.erase(oid);
+
+    roll_back_to = rand_choose(context->snaps)->first;
+    in_use = context->snaps_in_use.lookup_or_create(
+      roll_back_to,
+      roll_back_to);
+
+    cout << "rollback oid " << oid << " to " << roll_back_to << std::endl;
+
     context->roll_back(oid, roll_back_to);
     uint64_t snap = context->snaps[roll_back_to];
 
-    vector<uint64_t> snapset(context->snaps.size());
-    int j = 0;
-    for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin();
-	 i != context->snaps.rend();
-	 ++i, ++j) {
-      snapset[j] = i->second;
-    }
     context->state_lock.Unlock();
-    assert(!context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset));
 
-	
-    int r = context->io_ctx.selfmanaged_snap_rollback(context->prefix+oid, 
-						      snap);
-    if (r) {
-      cerr << "r is " << r << std::endl;
+    op.selfmanaged_snap_rollback(snap);
+
+    pair<TestOp*, TestOp::CallbackInfo*> *cb_arg =
+      new pair<TestOp*, TestOp::CallbackInfo*>(this,
+					       new TestOp::CallbackInfo(0));
+    comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback,
+						NULL);
+    context->io_ctx.aio_operate(context->prefix+oid, comp, &op);
+  }
+
+  void _finish(CallbackInfo *info)
+  {
+    Mutex::Locker l(context->state_lock);
+    int r;
+    if ((r = comp->get_return_value())) {
+      cerr << "err " << r << std::endl;
       assert(0);
     }
+    done = true;
+    context->update_object_version(oid, comp->get_version64());
+    context->oid_in_use.erase(oid);
+    context->oid_not_in_use.insert(oid);
+    in_use = std::tr1::shared_ptr<int>();
+    context->kick();
+  }
 
+  bool finished()
+  {
+    return done;
+  }
+
+  string getType()
+  {
+    return "RollBackOp";
+  }
+};
+
+class CopyFromOp : public TestOp {
+public:
+  string oid, oid_src;
+  ObjectDesc src_value;
+  librados::ObjectWriteOperation op;
+  librados::ObjectReadOperation rd_op;
+  librados::AioCompletion *comp;
+  librados::AioCompletion *comp_racing_read;
+  int snap;
+  int done;
+  uint64_t version;
+  int r;
+  CopyFromOp(int n,
+	     RadosTestContext *context,
+	     const string &oid,
+	     const string &oid_src,
+	     TestOpStat *stat)
+    : TestOp(n, context, stat),
+      oid(oid), oid_src(oid_src),
+      src_value(&context->cont_gen),
+      comp(NULL), done(0), version(0), r(0)
+  {}
+
+  void _begin()
+  {
+    ContDesc cont;
     {
       Mutex::Locker l(context->state_lock);
+      cont = ContDesc(context->seq_num, context->current_snap,
+		      context->seq_num, "");
+      context->oid_in_use.insert(oid);
+      context->oid_not_in_use.erase(oid);
+      context->oid_in_use.insert(oid_src);
+      context->oid_not_in_use.erase(oid_src);
+    }
+
+    // choose source snap
+    if (0 && !(rand() % 4) && !context->snaps.empty()) {
+      snap = rand_choose(context->snaps)->first;
+    } else {
+      snap = -1;
+    }
+    context->find_object(oid_src, &src_value, snap);
+    if (!src_value.deleted())
+      context->update_object_full(oid, src_value);
+
+    string src = context->prefix+oid_src;
+    op.copy_from(src.c_str(), context->io_ctx, src_value.version);
+
+    pair<TestOp*, TestOp::CallbackInfo*> *cb_arg =
+      new pair<TestOp*, TestOp::CallbackInfo*>(this,
+					       new TestOp::CallbackInfo(0));
+    comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback,
+						NULL);
+    context->io_ctx.aio_operate(context->prefix+oid, comp, &op);
+
+    // queue up a racing read, too.
+    pair<TestOp*, TestOp::CallbackInfo*> *read_cb_arg =
+      new pair<TestOp*, TestOp::CallbackInfo*>(this,
+					       new TestOp::CallbackInfo(1));
+    comp_racing_read = context->rados.aio_create_completion((void*) read_cb_arg, &write_callback,
+							    NULL);
+    rd_op.stat(NULL, NULL, NULL);
+    context->io_ctx.aio_operate(context->prefix+oid, comp_racing_read, &rd_op,
+				librados::SNAP_HEAD,
+				librados::OPERATION_ORDER_READS_WRITES,  // order wrt previous write/update
+				NULL);
+
+  }
+
+  void _finish(CallbackInfo *info)
+  {
+    Mutex::Locker l(context->state_lock);
+
+    // note that the read can (and atm will) come back before the
+    // write reply, but will reflect the update and the versions will
+    // match.
+
+    if (info->id == 0) {
+      // copy_from
+      assert(comp->is_complete());
+      cout << num << ":  finishing copy_from to " << context->prefix + oid << std::endl;
+      if ((r = comp->get_return_value())) {
+	if (r == -ENOENT && src_value.deleted()) {
+	  cout << num << ":  got expected ENOENT (src dne)" << std::endl;
+	} else {
+	  cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code "
+	       << r << std::endl;
+	  assert(0);
+	}
+      } else {
+	assert(!version || comp->get_version64() == version);
+	version = comp->get_version64();
+	context->update_object_version(oid, comp->get_version64());
+      }
+    } else if (info->id == 1) {
+      // racing read
+      assert(comp_racing_read->is_complete());
+      cout << num << ":  finishing copy_from racing read to " << context->prefix + oid << std::endl;
+      if ((r = comp_racing_read->get_return_value())) {
+	if (!(r == -ENOENT && src_value.deleted())) {
+	  cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code "
+	       << r << std::endl;
+	}
+      } else {
+	assert(comp_racing_read->get_return_value() == 0);
+	assert(!version || comp_racing_read->get_version64() == version);
+	version = comp_racing_read->get_version64();
+      }
+    }
+    if (++done == 2) {
       context->oid_in_use.erase(oid);
       context->oid_not_in_use.insert(oid);
+      context->oid_in_use.erase(oid_src);
+      context->oid_not_in_use.insert(oid_src);
+      context->kick();
     }
   }
 
+  bool finished()
+  {
+    return done == 2;
+  }
+
   string getType()
   {
-    return "RollBackOp";
+    return "TmapPutOp";
   }
 };
 
+
 #endif
diff --git a/src/test/osd/TestErasureCodeExample.cc b/src/test/osd/TestErasureCodeExample.cc
new file mode 100644
index 0000000..f12e80c
--- /dev/null
+++ b/src/test/osd/TestErasureCodeExample.cc
@@ -0,0 +1,173 @@
+// -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include "global/global_init.h"
+#include "ErasureCodeExample.h"
+#include "common/ceph_argparse.h"
+#include "global/global_context.h"
+#include "gtest/gtest.h"
+
+TEST(ErasureCodeExample, minimum_to_decode)
+{
+  ErasureCodeExample example;
+  set<int> available_chunks;
+  set<int> want_to_read;
+  want_to_read.insert(1);
+  {
+    set<int> minimum;
+    EXPECT_EQ(-EIO, example.minimum_to_decode(want_to_read,
+                                              available_chunks,
+                                              &minimum));
+  }
+  available_chunks.insert(0);
+  available_chunks.insert(2);
+  {
+    set<int> minimum;
+    EXPECT_EQ(0, example.minimum_to_decode(want_to_read,
+                                           available_chunks,
+                                           &minimum));
+    EXPECT_EQ(available_chunks, minimum);
+    EXPECT_EQ(2u, minimum.size());
+    EXPECT_EQ(1u, minimum.count(0));
+    EXPECT_EQ(1u, minimum.count(2));
+  }
+  {
+    set<int> minimum;
+    available_chunks.insert(1);
+    EXPECT_EQ(0, example.minimum_to_decode(want_to_read,
+                                           available_chunks,
+                                           &minimum));
+    EXPECT_EQ(1u, minimum.size());
+    EXPECT_EQ(1u, minimum.count(1));
+  }
+}
+
+TEST(ErasureCodeExample, minimum_to_decode_with_cost)
+{
+  ErasureCodeExample example;
+  map<int,int> available;
+  set<int> want_to_read;
+  want_to_read.insert(1);
+  {
+    set<int> minimum;
+    EXPECT_EQ(-EIO, example.minimum_to_decode_with_cost(want_to_read,
+							available,
+							&minimum));
+  }
+  available[0] = 1;
+  available[2] = 1;
+  {
+    set<int> minimum;
+    EXPECT_EQ(0, example.minimum_to_decode_with_cost(want_to_read,
+						     available,
+						     &minimum));
+    EXPECT_EQ(2u, minimum.size());
+    EXPECT_EQ(1u, minimum.count(0));
+    EXPECT_EQ(1u, minimum.count(2));
+  }
+  {
+    set<int> minimum;
+    available[1] = 1;
+    EXPECT_EQ(0, example.minimum_to_decode_with_cost(want_to_read,
+						     available,
+						     &minimum));
+    EXPECT_EQ(1u, minimum.size());
+    EXPECT_EQ(1u, minimum.count(1));
+  }
+  {
+    set<int> minimum;
+    available[1] = 2;
+    EXPECT_EQ(0, example.minimum_to_decode_with_cost(want_to_read,
+						     available,
+						     &minimum));
+    EXPECT_EQ(2u, minimum.size());
+    EXPECT_EQ(1u, minimum.count(0));
+    EXPECT_EQ(1u, minimum.count(2));
+  }
+}
+
+TEST(ErasureCodeExample, encode_decode)
+{
+  ErasureCodeExample example;
+
+  bufferlist in;
+  in.append("ABCDE");
+  int want_to_encode[] = { 0, 1, 2 };
+  map<int, bufferlist> encoded;
+  EXPECT_EQ(0, example.encode(set<int>(want_to_encode, want_to_encode+3),
+                              in,
+                              &encoded));
+  EXPECT_EQ(3u, encoded.size());
+  EXPECT_EQ(3u, encoded[0].length());
+  EXPECT_EQ('A', encoded[0][0]);
+  EXPECT_EQ('B', encoded[0][1]);
+  EXPECT_EQ('C', encoded[0][2]);
+  EXPECT_EQ('D', encoded[1][0]);
+  EXPECT_EQ('E', encoded[1][1]);
+  EXPECT_EQ('A'^'D', encoded[2][0]);
+  EXPECT_EQ('B'^'E', encoded[2][1]);
+  EXPECT_EQ('C'^0, encoded[2][2]);
+
+  // all chunks are available
+  {
+    int want_to_decode[] = { 0, 1 };
+    map<int, bufferlist> decoded;
+    EXPECT_EQ(0, example.decode(set<int>(want_to_decode, want_to_decode+2),
+                                encoded,
+                                &decoded));
+    EXPECT_EQ(2u, decoded.size());
+    EXPECT_EQ(3u, decoded[0].length());
+    EXPECT_EQ('A', decoded[0][0]);
+    EXPECT_EQ('B', decoded[0][1]);
+    EXPECT_EQ('C', decoded[0][2]);
+    EXPECT_EQ('D', decoded[1][0]);
+    EXPECT_EQ('E', decoded[1][1]);
+  }
+
+  // one chunk is missing 
+  {
+    map<int, bufferlist> degraded = encoded;
+    degraded.erase(0);
+    EXPECT_EQ(2u, degraded.size());
+    int want_to_decode[] = { 0, 1 };
+    map<int, bufferlist> decoded;
+    EXPECT_EQ(0, example.decode(set<int>(want_to_decode, want_to_decode+2),
+                                degraded,
+                                &decoded));
+    EXPECT_EQ(2u, decoded.size());
+    EXPECT_EQ(3u, decoded[0].length());
+    EXPECT_EQ('A', decoded[0][0]);
+    EXPECT_EQ('B', decoded[0][1]);
+    EXPECT_EQ('C', decoded[0][2]);
+    EXPECT_EQ('D', decoded[1][0]);
+    EXPECT_EQ('E', decoded[1][1]);
+  }
+}
+
+int main(int argc, char **argv) {
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  ::testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
+
+// Local Variables:
+// compile-command: "cd ../.. ; make -j4 && make unittest_erasure_code_example && valgrind  --leak-check=full --tool=memcheck ./unittest_erasure_code_example --gtest_filter=*.* --log-to-stderr=true --debug-osd=20"
+// End:
diff --git a/src/test/osd/TestErasureCodeJerasure.cc b/src/test/osd/TestErasureCodeJerasure.cc
new file mode 100644
index 0000000..a51cb85
--- /dev/null
+++ b/src/test/osd/TestErasureCodeJerasure.cc
@@ -0,0 +1,306 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <errno.h>
+#include "global/global_init.h"
+#include "osd/ErasureCodePluginJerasure/ErasureCodeJerasure.h"
+#include "common/ceph_argparse.h"
+#include "global/global_context.h"
+#include "gtest/gtest.h"
+
+template <typename T>
+class ErasureCodeTest : public ::testing::Test {
+ public:
+};
+
+typedef ::testing::Types<
+  ErasureCodeJerasureReedSolomonVandermonde,
+  ErasureCodeJerasureReedSolomonRAID6,
+  ErasureCodeJerasureCauchyOrig,
+  ErasureCodeJerasureCauchyGood,
+  ErasureCodeJerasureLiberation,
+  ErasureCodeJerasureBlaumRoth,
+  ErasureCodeJerasureLiber8tion
+> JerasureTypes;
+TYPED_TEST_CASE(ErasureCodeTest, JerasureTypes);
+
+TYPED_TEST(ErasureCodeTest, encode_decode)
+{
+  TypeParam jerasure;
+  map<std::string,std::string> parameters;
+  parameters["erasure-code-k"] = "2";
+  parameters["erasure-code-m"] = "2";
+  parameters["erasure-code-w"] = "7";
+  parameters["erasure-code-packetsize"] = "8";
+  jerasure.init(parameters);
+
+#define LARGE_ENOUGH 2048
+  bufferptr in_ptr(LARGE_ENOUGH);
+  in_ptr.zero();
+  in_ptr.set_length(0);
+  const char *payload =
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+  in_ptr.append(payload, strlen(payload));
+  bufferlist in;
+  in.push_front(in_ptr);
+  int want_to_encode[] = { 0, 1, 2, 3 };
+  map<int, bufferlist> encoded;
+  EXPECT_EQ(0, jerasure.encode(set<int>(want_to_encode, want_to_encode+4),
+                              in,
+                              &encoded));
+  EXPECT_EQ(4u, encoded.size());
+  unsigned length =  encoded[0].length();
+  EXPECT_EQ(0, strncmp(encoded[0].c_str(), in.c_str(), length));
+  EXPECT_EQ(0, strncmp(encoded[1].c_str(), in.c_str() + length,
+		       in.length() - length));
+
+
+  // all chunks are available
+  {
+    int want_to_decode[] = { 0, 1 };
+    map<int, bufferlist> decoded;
+    EXPECT_EQ(0, jerasure.decode(set<int>(want_to_decode, want_to_decode+2),
+                                encoded,
+                                &decoded));
+    // always decode all, regardless of want_to_decode
+    EXPECT_EQ(4u, decoded.size()); 
+    EXPECT_EQ(length, decoded[0].length());
+    EXPECT_EQ(0, strncmp(decoded[0].c_str(), in.c_str(), length));
+    EXPECT_EQ(0, strncmp(decoded[1].c_str(), in.c_str() + length,
+			 in.length() - length));
+  }
+
+  // two chunks are missing 
+  {
+    map<int, bufferlist> degraded = encoded;
+    degraded.erase(0);
+    degraded.erase(1);
+    EXPECT_EQ(2u, degraded.size());
+    int want_to_decode[] = { 0, 1 };
+    map<int, bufferlist> decoded;
+    EXPECT_EQ(0, jerasure.decode(set<int>(want_to_decode, want_to_decode+2),
+                                degraded,
+                                &decoded));
+    // always decode all, regardless of want_to_decode
+    EXPECT_EQ(4u, decoded.size()); 
+    EXPECT_EQ(length, decoded[0].length());
+    EXPECT_EQ(0, strncmp(decoded[0].c_str(), in.c_str(), length));
+    EXPECT_EQ(0, strncmp(decoded[1].c_str(), in.c_str() + length,
+			 in.length() - length));
+  }
+}
+
+TYPED_TEST(ErasureCodeTest, minimum_to_decode)
+{
+  TypeParam jerasure;
+  map<std::string,std::string> parameters;
+  parameters["erasure-code-k"] = "2";
+  parameters["erasure-code-m"] = "2";
+  parameters["erasure-code-w"] = "7";
+  parameters["erasure-code-packetsize"] = "8";
+  jerasure.init(parameters);
+
+  //
+  // If trying to read nothing, the minimum is empty.
+  //
+  {
+    set<int> want_to_read;
+    set<int> available_chunks;
+    set<int> minimum;
+
+    EXPECT_EQ(0, jerasure.minimum_to_decode(want_to_read,
+					    available_chunks,
+					    &minimum));
+    EXPECT_TRUE(minimum.empty());
+  }
+  //
+  // There is no way to read a chunk if none are available.
+  //
+  {
+    set<int> want_to_read;
+    set<int> available_chunks;
+    set<int> minimum;
+
+    want_to_read.insert(0);
+
+    EXPECT_EQ(-EIO, jerasure.minimum_to_decode(want_to_read,
+					       available_chunks,
+					       &minimum));
+  }
+  //
+  // Reading a subset of the available chunks is always possible.
+  //
+  {
+    set<int> want_to_read;
+    set<int> available_chunks;
+    set<int> minimum;
+
+    want_to_read.insert(0);
+    available_chunks.insert(0);
+
+    EXPECT_EQ(0, jerasure.minimum_to_decode(want_to_read,
+					    available_chunks,
+					    &minimum));
+    EXPECT_EQ(want_to_read, minimum);
+  }
+  //
+  // There is no way to read a missing chunk if there is less than k
+  // chunks available.
+  //
+  {
+    set<int> want_to_read;
+    set<int> available_chunks;
+    set<int> minimum;
+
+    want_to_read.insert(0);
+    want_to_read.insert(1);
+    available_chunks.insert(0);
+
+    EXPECT_EQ(-EIO, jerasure.minimum_to_decode(want_to_read,
+					       available_chunks,
+					       &minimum));
+  }
+  //
+  // When chunks are not available, the minimum can be made of any
+  // chunks. For instance, to read 1 and 3 below the minimum could be
+  // 2 and 3 which may seem better because it contains one of the
+  // chunks to be read. But it won't be more efficient than retrieving
+  // 0 and 2 instead because, in both cases, the decode function will
+  // need to run the same recovery operation and use the same amount
+  // of CPU and memory.
+  //
+  {
+    set<int> want_to_read;
+    set<int> available_chunks;
+    set<int> minimum;
+
+    want_to_read.insert(1);
+    want_to_read.insert(3);
+    available_chunks.insert(0);
+    available_chunks.insert(2);
+    available_chunks.insert(3);
+
+    EXPECT_EQ(0, jerasure.minimum_to_decode(want_to_read,
+					    available_chunks,
+					    &minimum));
+    EXPECT_EQ(2u, minimum.size());
+    EXPECT_EQ(0u, minimum.count(3));
+  }
+}
+
+TEST(ErasureCodeTest, encode)
+{
+  ErasureCodeJerasureReedSolomonVandermonde jerasure;
+  map<std::string,std::string> parameters;
+  parameters["erasure-code-k"] = "2";
+  parameters["erasure-code-m"] = "2";
+  parameters["erasure-code-w"] = "8";
+  jerasure.init(parameters);
+
+  unsigned alignment = jerasure.get_alignment();
+  {
+    //
+    // When the input bufferlist is perfectly aligned, it is 
+    // pointed to unmodified by the returned encoded chunks.
+    //
+    bufferlist in;
+    map<int,bufferlist> encoded;
+    int want_to_encode[] = { 0, 1, 2, 3 };
+    in.append(string(alignment * 2, 'X'));
+    EXPECT_EQ(alignment * 2, in.length());
+    EXPECT_EQ(0, jerasure.encode(set<int>(want_to_encode, want_to_encode+4),
+				 in,
+				 &encoded));
+    EXPECT_EQ(4u, encoded.size());
+    for(int i = 0; i < 4; i++)
+      EXPECT_EQ(alignment, encoded[i].length());
+    EXPECT_EQ(in.c_str(), encoded[0].c_str());
+    EXPECT_EQ(in.c_str() + alignment, encoded[1].c_str());
+  }
+
+  {
+    //
+    // When the input bufferlist needs to be padded because
+    // it is not properly aligned, it is padded with zeros.
+    // The beginning of the input bufferlist is pointed to 
+    // unmodified by the returned encoded chunk, only the 
+    // trailing chunk is allocated and copied.
+    //
+    bufferlist in;
+    map<int,bufferlist> encoded;
+    int want_to_encode[] = { 0, 1, 2, 3 };
+    int trail_length = 10;
+    in.append(string(alignment + trail_length, 'X'));
+    EXPECT_EQ(0, jerasure.encode(set<int>(want_to_encode, want_to_encode+4),
+				 in,
+				 &encoded));
+    EXPECT_EQ(4u, encoded.size());
+    for(int i = 0; i < 4; i++)
+      EXPECT_EQ(alignment, encoded[i].length());
+    EXPECT_EQ(in.c_str(), encoded[0].c_str());
+    EXPECT_NE(in.c_str() + alignment, encoded[1].c_str());
+    char *last_chunk = encoded[1].c_str();
+    EXPECT_EQ('X', last_chunk[0]);
+    EXPECT_EQ('\0', last_chunk[trail_length]);
+  }
+
+  {
+    //
+    // When only the first chunk is required, the encoded map only
+    // contains the first chunk. Although the jerasure encode
+    // internally allocated a buffer because of padding requirements
+    // and also computes the coding chunks, they are released before
+    // the return of the method, as shown when running the tests thru
+    // valgrind that shows there is no leak.
+    //
+    bufferlist in;
+    map<int,bufferlist> encoded;
+    set<int> want_to_encode;
+    want_to_encode.insert(0);
+    int trail_length = 10;
+    in.append(string(alignment + trail_length, 'X'));
+    EXPECT_EQ(0, jerasure.encode(want_to_encode, in, &encoded));
+    EXPECT_EQ(1u, encoded.size());
+    EXPECT_EQ(alignment, encoded[0].length());
+    EXPECT_EQ(in.c_str(), encoded[0].c_str());
+  }
+}
+
+int main(int argc, char **argv)
+{
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  ::testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
+
+/* 
+ * Local Variables:
+ * compile-command: "cd ../.. ; make -j4 && 
+ *   make unittest_erasure_code_jerasure && 
+ *   valgrind --tool=memcheck --leak-check=full \
+ *      ./unittest_erasure_code_jerasure \
+ *      --gtest_filter=*.* --log-to-stderr=true --debug-osd=20"
+ * End:
+ */
diff --git a/src/test/osd/TestErasureCodePlugin.cc b/src/test/osd/TestErasureCodePlugin.cc
new file mode 100644
index 0000000..46ed4b1
--- /dev/null
+++ b/src/test/osd/TestErasureCodePlugin.cc
@@ -0,0 +1,108 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <errno.h>
+#include <signal.h>
+#include "common/Thread.h"
+#include "global/global_init.h"
+#include "osd/ErasureCodePlugin.h"
+#include "common/ceph_argparse.h"
+#include "global/global_context.h"
+#include "gtest/gtest.h"
+
+class ErasureCodePluginRegistryTest : public ::testing::Test {
+protected:
+
+  class Thread_factory : public Thread {
+  public:
+    virtual void *entry() {
+      map<std::string,std::string> parameters;
+      parameters["erasure-code-directory"] = ".libs";
+      ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+      ErasureCodeInterfaceRef erasure_code;
+      instance.factory("hangs", parameters, &erasure_code);
+      return NULL;
+    }
+  };
+
+};
+
+TEST_F(ErasureCodePluginRegistryTest, factory_mutex) {
+  ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+
+  EXPECT_TRUE(instance.lock.TryLock());
+  instance.lock.Unlock();
+
+  // 
+  // Test that the loading of a plugin is protected by a mutex.
+  //
+  useconds_t delay = 0;
+  const useconds_t DELAY_MAX = 20 * 1000 * 1000;
+  Thread_factory sleep_forever;
+  sleep_forever.create();
+  do {
+    cout << "Trying (1) with delay " << delay << "us\n";
+    if (delay > 0)
+      usleep(delay);
+    if (!instance.loading)
+      delay = ( delay + 1 ) * 2;
+  } while(!instance.loading && delay < DELAY_MAX);
+  ASSERT_TRUE(delay < DELAY_MAX);
+
+  EXPECT_FALSE(instance.lock.TryLock());
+
+  EXPECT_EQ(0, pthread_cancel(sleep_forever.get_thread_id()));
+  EXPECT_EQ(0, sleep_forever.join());
+}
+
+TEST_F(ErasureCodePluginRegistryTest, all)
+{
+  map<std::string,std::string> parameters;
+  parameters["erasure-code-directory"] = ".libs";
+  ErasureCodeInterfaceRef erasure_code;
+  ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+  EXPECT_FALSE(erasure_code);
+  EXPECT_EQ(-EIO, instance.factory("invalid", parameters, &erasure_code));
+  EXPECT_FALSE(erasure_code);
+  EXPECT_EQ(-ENOENT, instance.factory("missing_entry_point", parameters,
+				      &erasure_code));
+  EXPECT_FALSE(erasure_code);
+  EXPECT_EQ(-ESRCH, instance.factory("fail_to_initialize", parameters,
+				     &erasure_code));
+  EXPECT_FALSE(erasure_code);
+  EXPECT_EQ(-EBADF, instance.factory("fail_to_register", parameters,
+				     &erasure_code));
+  EXPECT_FALSE(erasure_code);
+  EXPECT_EQ(0, instance.factory("example", parameters, &erasure_code));
+  EXPECT_TRUE(erasure_code);
+  ErasureCodePlugin *plugin = 0;
+  EXPECT_EQ(-EEXIST, instance.load("example", parameters, &plugin));
+}
+
+int main(int argc, char **argv) {
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  ::testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
+
+// Local Variables:
+// compile-command: "cd ../.. ; make -j4 && make unittest_erasure_code_plugin && valgrind  --leak-check=full --tool=memcheck ./unittest_erasure_code_plugin --gtest_filter=*.* --log-to-stderr=true --debug-osd=20"
+// End:
diff --git a/src/test/osd/TestErasureCodePluginJerasure.cc b/src/test/osd/TestErasureCodePluginJerasure.cc
new file mode 100644
index 0000000..2f55893
--- /dev/null
+++ b/src/test/osd/TestErasureCodePluginJerasure.cc
@@ -0,0 +1,74 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Cloudwatt <libre.licensing at cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic at dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include <errno.h>
+#include "global/global_init.h"
+#include "osd/ErasureCodePlugin.h"
+#include "common/ceph_argparse.h"
+#include "global/global_context.h"
+#include "gtest/gtest.h"
+
+TEST(ErasureCodePlugin, factory)
+{
+  ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+  map<std::string,std::string> parameters;
+  parameters["erasure-code-directory"] = ".libs";
+  {
+    ErasureCodeInterfaceRef erasure_code;
+    EXPECT_FALSE(erasure_code);
+    EXPECT_EQ(-ENOENT, instance.factory("jerasure", parameters, &erasure_code));
+    EXPECT_FALSE(erasure_code);
+  }
+  const char *techniques[] = {
+    "reed_sol_van",
+    "reed_sol_r6_op",
+    "cauchy_orig",
+    "cauchy_good",
+    "liberation",
+    "blaum_roth",
+    "liber8tion",
+    0
+  };
+  for(const char **technique = techniques; *technique; technique++) {
+    ErasureCodeInterfaceRef erasure_code;
+    parameters["erasure-code-technique"] = *technique;
+    EXPECT_FALSE(erasure_code);
+    EXPECT_EQ(0, instance.factory("jerasure", parameters, &erasure_code));
+    EXPECT_TRUE(erasure_code);
+  }
+}
+
+int main(int argc, char **argv)
+{
+  vector<const char*> args;
+  argv_to_vec(argc, (const char **)argv, args);
+
+  global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+  ::testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
+
+/* 
+ * Local Variables:
+ * compile-command: "cd ../.. ; make -j4 && 
+ *   make unittest_erasure_code_plugin_jerasure && 
+ *   valgrind --tool=memcheck ./unittest_erasure_code_plugin_jerasure \
+ *      --gtest_filter=*.* --log-to-stderr=true --debug-osd=20"
+ * End:
+ */
+
diff --git a/src/test/osd/TestRados.cc b/src/test/osd/TestRados.cc
index 6ac661c..20a4f82 100644
--- a/src/test/osd/TestRados.cc
+++ b/src/test/osd/TestRados.cc
@@ -48,8 +48,8 @@ public:
     if (m_op <= m_objects) {
       stringstream oid;
       oid << m_op;
-      cout << m_op << ": Writing initial " << oid.str() << std::endl;
-      return new WriteOp(&context, oid.str());
+      cout << m_op << ": write initial oid " << oid.str() << std::endl;
+      return new WriteOp(m_op, &context, oid.str());
     } else if (m_op >= m_ops) {
       return NULL;
     }
@@ -71,7 +71,6 @@ public:
 	   it != m_weight_sums.end();
 	   ++it) {
 	if (rand_val < it->second) {
-	  cout << m_op << ": ";
 	  retval = gen_op(context, it->first);
 	  break;
 	}
@@ -84,73 +83,84 @@ private:
 
   TestOp *gen_op(RadosTestContext &context, TestOpType type)
   {
-    string oid;
-    cout << "oids not in use " << context.oid_not_in_use.size() << std::endl;
+    string oid, oid2;
+    //cout << "oids not in use " << context.oid_not_in_use.size() << std::endl;
     assert(context.oid_not_in_use.size());
+
+    cout << m_op << ": ";
     switch (type) {
     case TEST_OP_READ:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Reading " << oid << std::endl;
-      return new ReadOp(&context, oid, m_stats);
+      cout << "read oid " << oid << std::endl;
+      return new ReadOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_WRITE:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Writing " << oid << " current snap is "
+      cout << "write oid " << oid << " current snap is "
 	   << context.current_snap << std::endl;
-      return new WriteOp(&context, oid, m_stats);
+      return new WriteOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_DELETE:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Deleting " << oid << " current snap is "
+      cout << "delete oid " << oid << " current snap is "
 	   << context.current_snap << std::endl;
-      return new DeleteOp(&context, oid, m_stats);
+      return new DeleteOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_SNAP_CREATE:
-      cout << "Snapping" << std::endl;
-      return new SnapCreateOp(&context, m_stats);
+      cout << "snap_create" << std::endl;
+      return new SnapCreateOp(m_op, &context, m_stats);
 
     case TEST_OP_SNAP_REMOVE:
-      if (context.snaps.empty()) {
+      if (context.snaps.size() <= context.snaps_in_use.size()) {
 	return NULL;
-      } else {
+      }
+      while (true) {
 	int snap = rand_choose(context.snaps)->first;
-	cout << "RemovingSnap " << snap << std::endl;
-	return new SnapRemoveOp(&context, snap, m_stats);
+	if (context.snaps_in_use.lookup(snap))
+	  continue;  // in use; try again!
+	cout << "snap_remove snap " << snap << std::endl;
+	return new SnapRemoveOp(m_op, &context, snap, m_stats);
       }
 
     case TEST_OP_ROLLBACK:
-      if (context.snaps.empty()) {
-	return NULL;
-      } else {
-	int snap = rand_choose(context.snaps)->first;
+      {
 	string oid = *(rand_choose(context.oid_not_in_use));
-	cout << "RollingBack " << oid << " to " << snap << std::endl;
-        return new RollbackOp(&context, oid, snap);
+	cout << "rollback oid " << oid << std::endl;
+	return new RollbackOp(m_op, &context, oid);
       }
 
     case TEST_OP_SETATTR:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Setting attrs on " << oid
+      cout << "setattr oid " << oid
 	   << " current snap is " << context.current_snap << std::endl;
-      return new SetAttrsOp(&context, oid, m_stats);
+      return new SetAttrsOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_RMATTR:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Removing attrs on " << oid
+      cout << "rmattr oid " << oid
 	   << " current snap is " << context.current_snap << std::endl;
-      return new RemoveAttrsOp(&context, oid, m_stats);
+      return new RemoveAttrsOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_TMAPPUT:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Setting tmap on " << oid
+      cout << "tmapput oid " << oid
 	   << " current snap is " << context.current_snap << std::endl;
-      return new TmapPutOp(&context, oid, m_stats);
+      return new TmapPutOp(m_op, &context, oid, m_stats);
 
     case TEST_OP_WATCH:
       oid = *(rand_choose(context.oid_not_in_use));
-      cout << "Watching " << oid
+      cout << "watch oid " << oid
+	   << " current snap is " << context.current_snap << std::endl;
+      return new WatchOp(m_op, &context, oid, m_stats);
+
+    case TEST_OP_COPY_FROM:
+      oid = *(rand_choose(context.oid_not_in_use));
+      do {
+	oid2 = *(rand_choose(context.oid_not_in_use));
+      } while (oid == oid2);
+      cout << "copy_from oid " << oid << " from oid " << oid2
 	   << " current snap is " << context.current_snap << std::endl;
-      return new WatchOp(&context, oid, m_stats);
+      return new CopyFromOp(m_op, &context, oid, oid2, m_stats);
 
     default:
       cerr << "Invalid op type " << type << std::endl;
@@ -192,6 +202,7 @@ int main(int argc, char **argv)
     { TEST_OP_RMATTR, "rmattr" },
     { TEST_OP_TMAPPUT, "tmapput" },
     { TEST_OP_WATCH, "watch" },
+    { TEST_OP_COPY_FROM, "copy_from" },
     { TEST_OP_READ /* grr */, NULL },
   };
 
@@ -273,8 +284,8 @@ int main(int argc, char **argv)
     return 1;
   }
 
-  if (max_in_flight > objects) {
-    cerr << "Error: max_in_flight must be less than the number of objects"
+  if (max_in_flight * 2 > objects) {
+    cerr << "Error: max_in_flight must be <= than the number of objects / 2"
 	 << std::endl;
     return 1;
   }
diff --git a/src/test/osd/osdcap.cc b/src/test/osd/osdcap.cc
index 5f7c607..8fc3ddd 100644
--- a/src/test/osd/osdcap.cc
+++ b/src/test/osd/osdcap.cc
@@ -41,6 +41,7 @@ const char *parse_good[] = {
   "allow rwx pool foo; allow r pool bar",
   "allow auid 123 rwx",
   "allow pool foo rwx, allow pool bar r",
+  "allow pool foo.froo.foo rwx, allow pool bar r",
   "allow pool foo rwx ; allow pool bar r",
   "allow pool foo rwx ;allow pool bar r",
   "allow pool foo rwx; allow pool bar r",
diff --git a/src/test/perf_counters.cc b/src/test/perf_counters.cc
index d0b05f9..c44a15e 100644
--- a/src/test/perf_counters.cc
+++ b/src/test/perf_counters.cc
@@ -11,6 +11,10 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "include/int_types.h"
+#include "include/types.h" // FIXME: ordering shouldn't be important, but right 
+                           // now, this include has to come before the others.
+
 
 #include "common/perf_counters.h"
 #include "common/admin_socket_client.h"
@@ -19,9 +23,6 @@
 #include "common/errno.h"
 #include "common/safe_io.h"
 
-#include "include/types.h" // FIXME: ordering shouldn't be important, but right 
-                           // now, this include has to come before the others.
-
 #include "common/code_environment.h"
 #include "global/global_context.h"
 #include "global/global_init.h"
@@ -30,7 +31,6 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <inttypes.h>
 #include <map>
 #include <poll.h>
 #include <sstream>
diff --git a/src/streamtest.cc b/src/test/streamtest.cc
similarity index 100%
rename from src/streamtest.cc
rename to src/test/streamtest.cc
diff --git a/src/test/test_arch.c b/src/test/test_arch.c
new file mode 100644
index 0000000..549221e
--- /dev/null
+++ b/src/test/test_arch.c
@@ -0,0 +1,19 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#include "arch/probe.h"
+#include "arch/intel.h"
+#include "arch/neon.h"
+
+int main(int argc, char **argv)
+{
+	ceph_arch_probe();
+	assert(ceph_arch_probed);
+
+	printf("ceph_arch_intel_sse42 = %d\n", ceph_arch_intel_sse42);
+	printf("ceph_arch_neon = %d\n", ceph_arch_neon);
+
+	return 0;
+}
diff --git a/src/test/test_osd_types.cc b/src/test/test_osd_types.cc
index fa4ae61..3467435 100644
--- a/src/test/test_osd_types.cc
+++ b/src/test/test_osd_types.cc
@@ -712,7 +712,8 @@ TEST(pg_missing_t, add_next_event)
   eversion_t version(10,5);
   eversion_t prior_version(3,4);
   pg_log_entry_t sample_e(pg_log_entry_t::DELETE, oid, version, prior_version,
-			  osd_reqid_t(entity_name_t::CLIENT(777), 8, 999), utime_t(8,9));
+			  0, osd_reqid_t(entity_name_t::CLIENT(777), 8, 999),
+			  utime_t(8,9));
 
   // new object (MODIFY)
   {
@@ -1008,8 +1009,7 @@ protected:
 TEST_F(ObjectContextTest, read_write_lock)
 {
   {
-    object_info_t oi;
-    ObjectContext obc(oi, false, NULL);
+    ObjectContext obc;
 
     //
     // write_lock
@@ -1044,8 +1044,7 @@ TEST_F(ObjectContextTest, read_write_lock)
   useconds_t delay = 0;
 
   {
-    object_info_t oi;
-    ObjectContext obc(oi, false, NULL);
+    ObjectContext obc;
 
     //
     // write_lock
@@ -1081,11 +1080,6 @@ TEST_F(ObjectContextTest, read_write_lock)
 
     obc.ondisk_write_unlock();
 
-    EXPECT_EQ(1, obc.readers_waiting);
-    EXPECT_EQ(0, obc.readers);
-    EXPECT_EQ(0, obc.writers_waiting);
-    EXPECT_EQ(0, obc.unstable_writes);
-
     do {
       cout << "Trying (2) with delay " << delay << "us\n";
       usleep(delay);
@@ -1107,8 +1101,7 @@ TEST_F(ObjectContextTest, read_write_lock)
   }
 
   {
-    object_info_t oi;
-    ObjectContext obc(oi, false, NULL);
+    ObjectContext obc;
 
     //
     // read_lock
@@ -1144,11 +1137,6 @@ TEST_F(ObjectContextTest, read_write_lock)
 
     obc.ondisk_read_unlock();
 
-    EXPECT_EQ(0, obc.readers_waiting);
-    EXPECT_EQ(0, obc.readers);
-    EXPECT_EQ(1, obc.writers_waiting);
-    EXPECT_EQ(0, obc.unstable_writes);
-
     do {
       cout << "Trying (4) with delay " << delay << "us\n";
       usleep(delay);
diff --git a/src/test_trans.cc b/src/test/test_trans.cc
similarity index 100%
rename from src/test_trans.cc
rename to src/test/test_trans.cc
diff --git a/src/testcrypto.cc b/src/test/testcrypto.cc
similarity index 100%
rename from src/testcrypto.cc
rename to src/test/testcrypto.cc
diff --git a/src/testkeys.cc b/src/test/testkeys.cc
similarity index 100%
rename from src/testkeys.cc
rename to src/test/testkeys.cc
diff --git a/src/testmsgr.cc b/src/test/testmsgr.cc
similarity index 100%
rename from src/testmsgr.cc
rename to src/test/testmsgr.cc
diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
new file mode 100644
index 0000000..db86067
--- /dev/null
+++ b/src/tools/Makefile.am
@@ -0,0 +1,100 @@
+ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc
+ceph_osdomap_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+bin_DEBUGPROGRAMS += ceph-osdomap-tool
+
+ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc
+ceph_monstore_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+bin_DEBUGPROGRAMS += ceph-monstore-tool
+
+ceph_kvstore_tool_SOURCES = tools/ceph-kvstore-tool.cc
+ceph_kvstore_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+ceph_kvstore_tool_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+bin_DEBUGPROGRAMS += ceph-kvstore-tool
+
+
+ceph_filestore_tool_SOURCES = tools/ceph-filestore-tool.cc
+ceph_filestore_tool_LDADD = $(LIBOSD) $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+if LINUX
+ceph_filestore_tool_LDADD += -ldl
+endif # LINUX
+bin_PROGRAMS += ceph_filestore_tool
+
+ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc
+ceph_filestore_dump_LDADD = $(LIBOSD) $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options
+if LINUX
+ceph_filestore_dump_LDADD += -ldl
+endif # LINUX
+bin_PROGRAMS += ceph_filestore_dump
+
+monmaptool_SOURCES = tools/monmaptool.cc
+monmaptool_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += monmaptool
+
+crushtool_SOURCES = tools/crushtool.cc
+crushtool_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += crushtool
+
+osdmaptool_SOURCES = tools/osdmaptool.cc
+osdmaptool_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += osdmaptool
+
+ceph_scratchtool_SOURCES = tools/scratchtool.c
+ceph_scratchtool_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_scratchtool
+
+ceph_scratchtoolpp_SOURCES = tools/scratchtoolpp.cc
+ceph_scratchtoolpp_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_scratchtoolpp
+
+ceph_psim_SOURCES = tools/psim.cc
+ceph_psim_LDADD = $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_psim
+
+ceph_dupstore_SOURCES = tools/dupstore.cc
+ceph_dupstore_LDADD = $(LIBOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_dupstore
+
+ceph_radosacl_SOURCES = tools/radosacl.cc
+ceph_radosacl_LDADD = $(LIBRADOS) $(CEPH_GLOBAL)
+bin_DEBUGPROGRAMS += ceph_radosacl
+
+rados_SOURCES = \
+	tools/rados/rados.cc \
+	tools/rados/rados_import.cc \
+	tools/rados/rados_export.cc \
+	tools/rados/rados_sync.cc
+rados_SOURCES += common/obj_bencher.cc # needs cleanup so it can go in libcommon.la
+rados_LDADD = libcls_lock_client.la $(LIBRADOS) $(CEPH_GLOBAL)
+bin_PROGRAMS += rados
+
+if WITH_REST_BENCH
+rest_bench_SOURCES = tools/rest_bench.cc
+rest_bench_SOURCES += common/obj_bencher.cc # needs cleanup so it can go in libcommon.la
+rest_bench_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += rest-bench
+
+if WITH_SYSTEM_LIBS3
+rest_bench_LDADD += -ls3
+else
+rest_bench_LDADD += libs3/build/lib/libs3.a -lcurl -lxml2
+rest_bench_CXXFLAGS = ${AM_CXXFLAGS} -I$(top_srcdir)/src/libs3/inc
+SUBDIRS += libs3
+endif # WITH_SYSTEM_LIBS3
+endif # WITH_REST_BENCH
+
+ceph_conf_SOURCES = tools/ceph_conf.cc
+ceph_conf_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += ceph-conf
+
+ceph_authtool_SOURCES = tools/ceph_authtool.cc
+ceph_authtool_LDADD = $(CEPH_GLOBAL)
+bin_PROGRAMS += ceph-authtool
+
+ceph_mon_store_converter_SOURCES = tools/mon_store_converter.cc
+ceph_mon_store_converter_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL)
+bin_PROGRAMS += ceph_mon_store_converter
+
+noinst_HEADERS += \
+	tools/rados/rados_sync.h \
+	tools/common.h
+
diff --git a/src/tools/ceph-filestore-dump.cc b/src/tools/ceph-filestore-dump.cc
index 3badc21..b4220ba 100644
--- a/src/tools/ceph-filestore-dump.cc
+++ b/src/tools/ceph-filestore-dump.cc
@@ -52,6 +52,32 @@ enum {
     END_OF_TYPES,	//Keep at the end
 };
 
+//#define INTERNAL_TEST
+//#define INTERNAL_TEST2
+
+#ifdef INTERNAL_TEST
+CompatSet get_test_compat_set() {
+  CompatSet::FeatureSet ceph_osd_feature_compat;
+  CompatSet::FeatureSet ceph_osd_feature_ro_compat;
+  CompatSet::FeatureSet ceph_osd_feature_incompat;
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_BASE);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_PGINFO);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_OLOC);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_LEC);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_CATEGORIES);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_HOBJECTPOOL);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_BIGINFO);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_LEVELDBINFO);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_LEVELDBLOG);
+#ifdef INTERNAL_TEST2
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_SNAPMAPPER);
+  ceph_osd_feature_incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_SHARDS);
+#endif
+  return CompatSet(ceph_osd_feature_compat, ceph_osd_feature_ro_compat,
+		   ceph_osd_feature_incompat);
+}
+#endif
+
 typedef uint8_t sectiontype_t;
 typedef uint32_t mymagic_t;
 typedef int64_t mysize_t;
@@ -69,7 +95,7 @@ const int fd_none = INT_MIN;
 //can be added to the export format.
 struct super_header {
   static const uint32_t super_magic = (shortmagic << 16) | shortmagic;
-  static const uint32_t super_ver = 1;
+  static const uint32_t super_ver = 2;
   static const uint32_t FIXED_LENGTH = 16;
   uint32_t magic;
   uint32_t version;
@@ -139,18 +165,25 @@ struct footer {
 
 struct pg_begin {
   pg_t pgid;
+  OSDSuperblock superblock;
 
-  pg_begin(pg_t pg): pgid(pg) { }
+  pg_begin(pg_t pg, OSDSuperblock sb):
+    pgid(pg), superblock(sb) { }
   pg_begin() { }
 
   void encode(bufferlist& bl) const {
-    ENCODE_START(1, 1, bl);
+    // New super_ver prevents decode from ver 1
+    ENCODE_START(2, 2, bl);
     ::encode(pgid, bl);
+    ::encode(superblock, bl);
     ENCODE_FINISH(bl);
   }
   void decode(bufferlist::iterator& bl) {
-    DECODE_START(1, bl);
+    DECODE_START(2, bl);
     ::decode(pgid, bl);
+    if (struct_v > 1) {
+      ::decode(superblock, bl);
+    }
     DECODE_FINISH(bl);
   }
 };
@@ -347,8 +380,8 @@ void remove_coll(ObjectStore *store, const coll_t &coll)
     OSD::make_snapmapper_oid());
   SnapMapper mapper(&driver, 0, 0, 0);
 
-  vector<hobject_t> objects;
-  hobject_t next;
+  vector<ghobject_t> objects;
+  ghobject_t next;
   int r = 0;
   int64_t num = 0;
   ObjectStore::Transaction *t = new ObjectStore::Transaction;
@@ -358,13 +391,14 @@ void remove_coll(ObjectStore *store, const coll_t &coll)
       &objects, &next);
     if (r < 0)
       goto out;
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i, ++num) {
 
+      assert(i->generation == ghobject_t::NO_GEN);
       OSDriver::OSTransaction _t(driver.get_transaction(t));
       cout << "remove " << *i << std::endl;
-      int r = mapper.remove_oid(*i, &_t);
+      int r = mapper.remove_oid(i->hobj, &_t);
       if (r != 0 && r != -ENOENT) {
         assert(0);
       }
@@ -621,18 +655,19 @@ int export_file(ObjectStore *store, coll_t cid, hobject_t &obj)
 
 int export_files(ObjectStore *store, coll_t coll)
 {
-  vector<hobject_t> objects;
-  hobject_t next;
+  vector<ghobject_t> objects;
+  ghobject_t next;
 
   while (!next.is_max()) {
     int r = store->collection_list_partial(coll, next, 200, 300, 0,
       &objects, &next);
     if (r < 0)
       return r;
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
-      r = export_file(store, coll, *i);
+      assert(i->generation == ghobject_t::NO_GEN);
+      r = export_file(store, coll, i->hobj);
       if (r < 0)
         return r;
     }
@@ -664,7 +699,7 @@ void write_super()
 }
 
 int do_export(ObjectStore *fs, coll_t coll, pg_t pgid, pg_info_t &info,
-    epoch_t map_epoch, __u8 struct_ver)
+    epoch_t map_epoch, __u8 struct_ver, OSDSuperblock superblock)
 {
   PGLog::IndexedLog log;
   pg_missing_t missing;
@@ -675,7 +710,7 @@ int do_export(ObjectStore *fs, coll_t coll, pg_t pgid, pg_info_t &info,
 
   write_super();
 
-  pg_begin pgb(pgid);
+  pg_begin pgb(pgid, superblock);
   ret = write_section(TYPE_PG_BEGIN, pgb, file_fd);
   if (ret)
     return ret;
@@ -909,7 +944,7 @@ int get_pg_metadata(ObjectStore *store, coll_t coll, bufferlist &bl)
   return 0;
 }
 
-int do_import(ObjectStore *store)
+int do_import(ObjectStore *store, OSDSuperblock sb)
 {
   bufferlist ebl;
   pg_info_t info;
@@ -943,7 +978,16 @@ int do_import(ObjectStore *store)
   pg_begin pgb;
   pgb.decode(ebliter);
   pg_t pgid = pgb.pgid;
-  
+
+  if (debug) {
+    cout << "Exported features: " << pgb.superblock.compat_features << std::endl;
+  }
+  if (sb.compat_features.compare(pgb.superblock.compat_features) == -1) {
+    cout << "Export has incompatible features set "
+      << pgb.superblock.compat_features << std::endl;
+    return 1;
+  }
+
   log_oid = OSD::make_pg_log_oid(pgid);
   biginfo_oid = OSD::make_pg_biginfo_oid(pgid);
 
@@ -1017,7 +1061,7 @@ int main(int argc, char **argv)
     ("pgid", po::value<string>(&pgidstr),
      "PG id, mandatory")
     ("type", po::value<string>(&type),
-     "Type which is 'info' or 'log', mandatory")
+     "Type one of info, log, remove, export, or import, mandatory")
     ("file", po::value<string>(&file),
      "path of file to export or import")
     ("debug", "Enable diagnostic output to stderr")
@@ -1170,14 +1214,67 @@ int main(int argc, char **argv)
     return 1;
   }
 
+  bool fs_sharded_objects = fs->get_allow_sharded_objects();
+
   int ret = 0;
   vector<coll_t> ls;
   vector<coll_t>::iterator it;
+  CompatSet supported;
+
+#ifdef INTERNAL_TEST
+  supported = get_test_compat_set();
+#else
+  supported = OSD::get_osd_compat_set();
+#endif
+
+  bufferlist bl;
+  OSDSuperblock superblock;
+  bufferlist::iterator p;
+  ret = fs->read(coll_t::META_COLL, OSD_SUPERBLOCK_POBJECT, 0, 0, bl);
+  if (ret < 0) {
+    cout << "Failure to read OSD superblock error= " << r << std::endl;
+    goto out;
+  }
+
+  p = bl.begin();
+  ::decode(superblock, p);
+
+#ifdef INTERNAL_TEST2
+  fs->set_allow_sharded_objects();
+  assert(fs->get_allow_sharded_objects());
+  fs_sharded_objects = true;
+  superblock.compat_features.incompat.insert(CEPH_OSD_FEATURE_INCOMPAT_SHARDS);
+#endif
+
+  if (debug && file_fd != STDOUT_FILENO) {
+    cout << "Supported features: " << supported << std::endl;
+    cout << "On-disk features: " << superblock.compat_features << std::endl;
+  }
+  if (supported.compare(superblock.compat_features) == -1) {
+    cout << "On-disk OSD incompatible features set "
+      << superblock.compat_features << std::endl;
+    ret = EINVAL;
+    goto out;
+  }
+
+  // If there was a crash as an OSD was transitioning to sharded objects
+  // and hadn't completed a set_allow_sharded_objects().
+  // This utility does not want to attempt to finish that transition.
+  if (superblock.compat_features.incompat.contains(CEPH_OSD_FEATURE_INCOMPAT_SHARDS) != fs_sharded_objects) {
+    // An OSD should never have call set_allow_sharded_objects() before
+    // updating its own OSD features.
+    if (fs_sharded_objects)
+      cout << "FileStore sharded but OSD not set, Corruption?" << std::endl;
+    else
+      cout << "Found incomplete transition to sharded objects" << std::endl;
+    ret = EINVAL;
+    goto out;
+  }
 
   if (type == "import") {
 
     try {
-      ret = do_import(fs);
+      ret = do_import(fs, superblock);
     }
     catch (const buffer::error &e) {
       cout << "do_import threw exception error " << e.what() << std::endl;
@@ -1260,7 +1357,7 @@ int main(int argc, char **argv)
       cerr << "struct_v " << (int)struct_ver << std::endl;
 
     if (type == "export") {
-      ret = do_export(fs, coll, pgid, info, map_epoch, struct_ver);
+      ret = do_export(fs, coll, pgid, info, map_epoch, struct_ver, superblock);
     } else if (type == "info") {
       formatter->open_object_section("info");
       info.dump(formatter);
diff --git a/src/tools/ceph-filestore-tool.cc b/src/tools/ceph-filestore-tool.cc
new file mode 100644
index 0000000..e9b1351
--- /dev/null
+++ b/src/tools/ceph-filestore-tool.cc
@@ -0,0 +1,260 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2013 Inktank
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include <boost/scoped_ptr.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/program_options/option.hpp>
+#include <boost/program_options/options_description.hpp>
+#include <boost/program_options/variables_map.hpp>
+#include <boost/program_options/cmdline.hpp>
+#include <boost/program_options/parsers.hpp>
+#include <iostream>
+#include <set>
+#include <sstream>
+#include <stdlib.h>
+#include <fstream>
+
+#include "common/Formatter.h"
+
+#include "global/global_init.h"
+#include "os/ObjectStore.h"
+#include "os/FileStore.h"
+#include "common/perf_counters.h"
+#include "common/errno.h"
+#include "osd/PGLog.h"
+#include "osd/osd_types.h"
+#include "osd/OSD.h"
+
+namespace po = boost::program_options;
+using namespace std;
+
+static void invalid_path(string &path)
+{
+  cout << "Invalid path to osd store specified: " << path << "\n";
+  exit(1);
+}
+
+int main(int argc, char **argv)
+{
+  string fspath, jpath, pgidstr;
+  bool list_lost_objects = false;
+  bool fix_lost_objects = false;
+  unsigned LIST_AT_A_TIME = 100;
+  unsigned scanned = 0;
+  
+  po::options_description desc("Allowed options");
+  desc.add_options()
+    ("help", "produce help message")
+    ("filestore-path", po::value<string>(&fspath),
+     "path to filestore directory, mandatory")
+    ("journal-path", po::value<string>(&jpath),
+     "path to journal, mandatory")
+    ("pgid", po::value<string>(&pgidstr),
+     "PG id")
+    ("list-lost-objects", po::value<bool>(
+      &list_lost_objects)->default_value(false),
+     "list lost objects")
+    ("fix-lost-objects", po::value<bool>(
+      &fix_lost_objects)->default_value(false),
+     "fix lost objects")
+    ;
+
+  po::variables_map vm;
+  po::parsed_options parsed =
+   po::command_line_parser(argc, argv).options(desc).
+    allow_unregistered().run();
+  po::store( parsed, vm);
+  try {
+    po::notify(vm);
+  }
+  catch(...) {
+    cout << desc << std::endl;
+    exit(1);
+  }
+     
+  if (vm.count("help")) {
+    cout << desc << std::endl;
+    return 1;
+  }
+
+  if (!vm.count("filestore-path")) {
+    cerr << "Must provide filestore-path" << std::endl
+	 << desc << std::endl;
+    return 1;
+  } 
+  if (!vm.count("journal-path")) {
+    cerr << "Must provide journal-path" << std::endl
+	 << desc << std::endl;
+    return 1;
+  } 
+
+  if ((fspath.length() == 0 || jpath.length() == 0)) {
+    cerr << "Invalid params" << desc << std::endl;
+    exit(1);
+  }
+
+  vector<const char *> ceph_options, def_args;
+  vector<string> ceph_option_strings = po::collect_unrecognized(
+    parsed.options, po::include_positional);
+  ceph_options.reserve(ceph_option_strings.size());
+  for (vector<string>::iterator i = ceph_option_strings.begin();
+       i != ceph_option_strings.end();
+       ++i) {
+    ceph_options.push_back(i->c_str());
+  }
+
+  global_init(
+    &def_args, ceph_options, CEPH_ENTITY_TYPE_OSD,
+    CODE_ENVIRONMENT_UTILITY, 0);
+    //CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
+  common_init_finish(g_ceph_context);
+  g_ceph_context->_conf->apply_changes(NULL);
+  g_conf = g_ceph_context->_conf;
+
+  //Verify that fspath really is an osd store
+  struct stat st;
+  if (::stat(fspath.c_str(), &st) == -1) {
+     perror("fspath");
+     invalid_path(fspath);
+  }
+  if (!S_ISDIR(st.st_mode)) {
+    invalid_path(fspath);
+  }
+  string check = fspath + "/whoami";
+  if (::stat(check.c_str(), &st) == -1) {
+     perror("whoami");
+     invalid_path(fspath);
+  }
+  if (!S_ISREG(st.st_mode)) {
+    invalid_path(fspath);
+  }
+  check = fspath + "/current";
+  if (::stat(check.c_str(), &st) == -1) {
+     perror("current");
+     invalid_path(fspath);
+  }
+  if (!S_ISDIR(st.st_mode)) {
+    invalid_path(fspath);
+  }
+
+  ObjectStore *fs = new FileStore(fspath, jpath);
+
+  int r = fs->mount();
+  if (r < 0) {
+    if (r == -EBUSY) {
+      cout << "OSD has the store locked" << std::endl;
+    } else {
+      cout << "Mount failed with '" << cpp_strerror(-r) << "'" << std::endl;
+    }
+    return 1;
+  }
+
+  vector<coll_t> colls_to_check;
+  if (pgidstr.length()) {
+    pg_t pgid;
+    if (!pgid.parse(pgidstr.c_str())) {
+      cout << "Invalid pgid '" << pgidstr << "' specified" << std::endl;
+      exit(1);
+    }
+    colls_to_check.push_back(coll_t(pgid));
+  } else {
+    vector<coll_t> candidates;
+    r = fs->list_collections(candidates);
+    if (r < 0) {
+      cerr << "Error listing collections: " << cpp_strerror(r) << std::endl;
+      goto UMOUNT;
+    }
+    for (vector<coll_t>::iterator i = candidates.begin();
+	 i != candidates.end();
+	 ++i) {
+      pg_t pgid;
+      snapid_t snap;
+      if (i->is_pg(pgid, snap)) {
+	colls_to_check.push_back(*i);
+      }
+    }
+  }
+
+  cerr << colls_to_check.size() << " pgs to scan" << std::endl;
+  for (vector<coll_t>::iterator i = colls_to_check.begin();
+       i != colls_to_check.end();
+       ++i, ++scanned) {
+    cerr << "Scanning " << *i << ", " << scanned << "/"
+	 << colls_to_check.size() << " completed" << std::endl;
+    ghobject_t next;
+    while (!next.is_max()) {
+      vector<ghobject_t> list;
+      r = fs->collection_list_partial(
+	*i,
+	next,
+	LIST_AT_A_TIME,
+	LIST_AT_A_TIME,
+	CEPH_NOSNAP,
+	&list,
+	&next);
+      if (r < 0) {
+	cerr << "Error listing collection: " << *i << ", "
+	     << cpp_strerror(r) << std::endl;
+	goto UMOUNT;
+      }
+      for (vector<ghobject_t>::iterator obj = list.begin();
+	   obj != list.end();
+	   ++obj) {
+	bufferlist attr;
+	r = fs->getattr(*i, *obj, OI_ATTR, attr);
+	if (r < 0) {
+	  cerr << "Error getting attr on : " << make_pair(*i, *obj) << ", "
+	       << cpp_strerror(r) << std::endl;
+	  goto UMOUNT;
+	}
+	object_info_t oi;
+	bufferlist::iterator bp = attr.begin();
+	try {
+	  ::decode(oi, bp);
+	} catch (...) {
+	  r = -EINVAL;
+	  cerr << "Error getting attr on : " << make_pair(*i, *obj) << ", "
+	       << cpp_strerror(r) << std::endl;
+	  goto UMOUNT;
+	}
+	if (oi.is_lost()) {
+	  if (list_lost_objects) {
+	    cout << *i << "/" << *obj << " is lost" << std::endl;
+	  }
+	  if (fix_lost_objects) {
+	    cerr << *i << "/" << *obj << " is lost, fixing" << std::endl;
+	    oi.clear_flag(object_info_t::FLAG_LOST);
+	    bufferlist bl2;
+	    ::encode(oi, bl2);
+	    ObjectStore::Transaction t;
+	    t.setattr(*i, *obj, OI_ATTR, bl2);
+	    r = fs->apply_transaction(t);
+	    if (r < 0) {
+	      cerr << "Error getting fixing attr on : " << make_pair(*i, *obj)
+		   << ", "
+		   << cpp_strerror(r) << std::endl;
+	      goto UMOUNT;
+	    }
+	  }
+	}
+      }
+    }
+  }
+  cerr << "Completed" << std::endl;
+
+ UMOUNT:
+  fs->sync_and_flush();
+  fs->umount();
+  return r;
+}
diff --git a/src/tools/ceph-kvstore-tool.cc b/src/tools/ceph-kvstore-tool.cc
new file mode 100644
index 0000000..e07391d
--- /dev/null
+++ b/src/tools/ceph-kvstore-tool.cc
@@ -0,0 +1,380 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+* Ceph - scalable distributed file system
+*
+* Copyright (C) 2012 Inktank, Inc.
+*
+* This is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License version 2.1, as published by the Free Software
+* Foundation. See file COPYING.
+*/
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <map>
+#include <set>
+#include <boost/scoped_ptr.hpp>
+
+#include "os/LevelDBStore.h"
+
+#include "common/ceph_argparse.h"
+#include "global/global_init.h"
+#include "common/errno.h"
+#include "common/safe_io.h"
+#include "common/config.h"
+#include "common/strtol.h"
+#include "include/stringify.h"
+
+using namespace std;
+
+class StoreTool
+{
+  boost::scoped_ptr<KeyValueDB> db;
+  string store_path;
+
+  public:
+  StoreTool(const string &path) : store_path(path) {
+    LevelDBStore *db_ptr = new LevelDBStore(g_ceph_context, store_path);
+    assert(!db_ptr->open(std::cerr));
+    db.reset(db_ptr);
+  }
+
+  uint32_t traverse(const string &prefix,
+                    const bool do_crc,
+                    ostream *out) {
+    KeyValueDB::WholeSpaceIterator iter = db->get_iterator();
+
+    if (prefix.empty())
+      iter->seek_to_first();
+    else
+      iter->seek_to_first(prefix);
+
+    uint32_t crc = -1;
+
+    while (iter->valid()) {
+      pair<string,string> rk = iter->raw_key();
+      if (!prefix.empty() && (rk.first != prefix))
+        break;
+
+      if (out)
+        *out << rk.first << ":" << rk.second;
+      if (do_crc) {
+        bufferlist bl;
+        bl.append(rk.first);
+        bl.append(rk.second);
+        bl.append(iter->value());
+
+        crc = bl.crc32c(crc);
+        if (out) {
+          *out << " (" << bl.crc32c(0) << ")";
+        }
+      }
+      if (out)
+        *out << std::endl;
+      iter->next();
+    }
+
+    return crc;
+  }
+
+  void list(const string &prefix, const bool do_crc) {
+    traverse(prefix, do_crc, &std::cout);
+  }
+
+  bool exists(const string &prefix) {
+    assert(!prefix.empty());
+    KeyValueDB::WholeSpaceIterator iter = db->get_iterator();
+    iter->seek_to_first(prefix);
+    return (iter->valid() && (iter->raw_key().first == prefix));
+  }
+
+  bool exists(const string &prefix, const string &key) {
+    assert(!prefix.empty());
+
+    if (key.empty()) {
+      return exists(prefix);
+    }
+
+    bool exists = false;
+    get(prefix, key, exists);
+    return exists;
+  }
+
+  bufferlist get(const string &prefix, const string &key, bool &exists) {
+    assert(!prefix.empty() && !key.empty());
+
+    map<string,bufferlist> result;
+    std::set<std::string> keys;
+    keys.insert(key);
+    db->get(prefix, keys, &result);
+
+    if (result.count(key) > 0) {
+      exists = true;
+      return result[key];
+    }
+    exists = false;
+    return bufferlist();
+  }
+
+  uint64_t get_size() {
+    map<string,uint64_t> extras;
+    uint64_t s = db->get_estimated_size(extras);
+    for (map<string,uint64_t>::iterator p = extras.begin();
+         p != extras.end(); ++p) {
+      std::cout << p->first << " - " << p->second << std::endl;
+    }
+    std::cout << "total: " << s << std::endl;
+    return s;
+  }
+
+  bool set(const string &prefix, const string &key, bufferlist &val) {
+    assert(!prefix.empty());
+    assert(!key.empty());
+    assert(val.length() > 0);
+
+    KeyValueDB::Transaction tx = db->get_transaction();
+    tx->set(prefix, key, val);
+    int ret = db->submit_transaction_sync(tx);
+
+    return (ret == 0);
+  }
+
+  int copy_store_to(const string &other_path, const int num_keys_per_tx) {
+
+    if (num_keys_per_tx <= 0) {
+      std::cerr << "must specify a number of keys/tx > 0" << std::endl;
+      return -EINVAL;
+    }
+
+    // open or create a leveldb store at @p other_path
+    LevelDBStore other(g_ceph_context, other_path);
+    int err = other.create_and_open(std::cerr);
+    if (err < 0)
+      return err;
+
+    KeyValueDB::WholeSpaceIterator it = db->get_iterator();
+    it->seek_to_first();
+    uint64_t total_keys = 0;
+    uint64_t total_size = 0;
+    uint64_t total_txs = 0;
+
+    utime_t started_at = ceph_clock_now(g_ceph_context);
+
+    do {
+      int num_keys = 0;
+
+      KeyValueDB::Transaction tx = other.get_transaction();
+
+
+      while (it->valid() && num_keys < num_keys_per_tx) {
+        pair<string,string> k = it->raw_key();
+        bufferlist v = it->value();
+        tx->set(k.first, k.second, v);
+
+        num_keys ++;
+        total_size += v.length();
+
+        it->next();
+      }
+
+      total_txs ++;
+      total_keys += num_keys;
+
+      if (num_keys > 0)
+        other.submit_transaction_sync(tx);
+
+      utime_t cur_duration = ceph_clock_now(g_ceph_context) - started_at;
+      std::cout << "ts = " << cur_duration << "s, copied " << total_keys
+                << " keys so far (" << stringify(si_t(total_size)) << ")"
+                << std::endl;
+
+    } while (it->valid());
+
+    utime_t time_taken = ceph_clock_now(g_ceph_context) - started_at;
+
+    std::cout << "summary:" << std::endl;
+    std::cout << "  copied " << total_keys << " keys" << std::endl;
+    std::cout << "  used " << total_txs << " transactions" << std::endl;
+    std::cout << "  total size " << stringify(si_t(total_size)) << std::endl;
+    std::cout << "  from '" << store_path << "' to '" << other_path << "'"
+              << std::endl;
+    std::cout << "  duration " << time_taken << " seconds" << std::endl;
+
+    return 0;
+  }
+};
+
+void usage(const char *pname)
+{
+  std::cerr << "Usage: " << pname << " <store path> command [args...]\n"
+    << "\n"
+    << "Commands:\n"
+    << "  list [prefix]\n"
+    << "  list-crc [prefix]\n"
+    << "  exists <prefix> [key]\n"
+    << "  get <prefix> <key>\n"
+    << "  crc <prefix> <key>\n"
+    << "  get-size\n"
+    << "  set <prefix> <key> [ver <N>|in <file>]\n"
+    << "  store-copy <path> [num-keys-per-tx]\n"
+    << "  store-crc <path>\n"
+    << std::endl;
+}
+
+int main(int argc, const char *argv[])
+{
+  vector<const char*> args;
+  argv_to_vec(argc, argv, args);
+  env_to_vec(args);
+
+  global_init(
+      NULL, args,
+      CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
+  common_init_finish(g_ceph_context);
+
+
+  if (args.size() < 2) {
+    usage(argv[0]);
+    return 1;
+  }
+
+  string path(args[0]);
+  string cmd(args[1]);
+
+  StoreTool st(path);
+
+  if (cmd == "list" || cmd == "list-crc") {
+    string prefix;
+    if (argc > 3)
+      prefix = argv[3];
+
+    bool do_crc = (cmd == "list-crc");
+
+    st.list(prefix, do_crc);
+
+  } else if (cmd == "exists") {
+    string key;
+    if (argc < 4) {
+      usage(argv[0]);
+      return 1;
+    }
+    string prefix(argv[3]);
+    if (argc > 4)
+      key = argv[4];
+
+    bool ret = st.exists(prefix, key);
+    std::cout << "(" << prefix << ", " << key << ") "
+      << (ret ? "exists" : "does not exist")
+      << std::endl;
+    return (ret ? 0 : 1);
+
+  } else if (cmd == "get") {
+    if (argc < 5) {
+      usage(argv[0]);
+      return 1;
+    }
+    string prefix(argv[3]);
+    string key(argv[4]);
+
+    bool exists = false;
+    bufferlist bl = st.get(prefix, key, exists);
+    std::cout << "(" << prefix << ", " << key << ")";
+    if (!exists) {
+      std::cout << " does not exist" << std::endl;
+      return 1;
+    }
+    std::cout << std::endl;
+    ostringstream os;
+    bl.hexdump(os);
+    std::cout << os.str() << std::endl;
+
+  } else if (cmd == "crc") {
+    if (argc < 5) {
+      usage(argv[0]);
+      return 1;
+    }
+    string prefix(argv[3]);
+    string key(argv[4]);
+
+    bool exists = false;
+    bufferlist bl = st.get(prefix, key, exists);
+    std::cout << "(" << prefix << ", " << key << ") ";
+    if (!exists) {
+      std::cout << " does not exist" << std::endl;
+      return 1;
+    }
+    std::cout << " crc " << bl.crc32c(0) << std::endl;
+
+  } else if (cmd == "get-size") {
+    std::cout << "estimated store size: " << st.get_size() << std::endl;
+
+  } else if (cmd == "set") {
+    if (argc < 7) {
+      usage(argv[0]);
+      return 1;
+    }
+    string prefix(argv[3]);
+    string key(argv[4]);
+    string subcmd(argv[5]);
+
+    bufferlist val;
+    string errstr;
+    if (subcmd == "ver") {
+      version_t v = (version_t) strict_strtoll(argv[6], 10, &errstr);
+      if (!errstr.empty()) {
+        std::cerr << "error reading version: " << errstr << std::endl;
+        return 1;
+      }
+      ::encode(v, val);
+    } else if (subcmd == "in") {
+      int ret = val.read_file(argv[6], &errstr);
+      if (ret < 0 || !errstr.empty()) {
+        std::cerr << "error reading file: " << errstr << std::endl;
+        return 1;
+      }
+    } else {
+      std::cerr << "unrecognized subcommand '" << subcmd << "'" << std::endl;
+      usage(argv[0]);
+      return 1;
+    }
+
+    bool ret = st.set(prefix, key, val);
+    if (!ret) {
+      std::cerr << "error setting ("
+                << prefix << "," << key << ")" << std::endl;
+      return 1;
+    }
+  } else if (cmd == "store-copy") {
+    int num_keys_per_tx = 128; // magic number that just feels right.
+    if (argc < 4) {
+      usage(argv[0]);
+      return 1;
+    } else if (argc > 4) {
+      string err;
+      num_keys_per_tx = strict_strtol(argv[4], 10, &err);
+      if (!err.empty()) {
+        std::cerr << "invalid num_keys_per_tx: " << err << std::endl;
+        return 1;
+      }
+    }
+
+    int ret = st.copy_store_to(argv[3], num_keys_per_tx);
+    if (ret < 0) {
+      std::cerr << "error copying store to path '" << argv[3]
+                << "': " << cpp_strerror(ret) << std::endl;
+      return 1;
+    }
+
+  } else if (cmd == "store-crc") {
+    uint32_t crc = st.traverse(string(), true, NULL);
+    std::cout << "store at '" << path << "' crc " << crc << std::endl;
+
+  } else {
+    std::cerr << "Unrecognized command: " << cmd << std::endl;
+    return 1;
+  }
+
+  return 0;
+}
diff --git a/src/tools/ceph-monstore-tool.cc b/src/tools/ceph-monstore-tool.cc
index f361266..8f294c4 100644
--- a/src/tools/ceph-monstore-tool.cc
+++ b/src/tools/ceph-monstore-tool.cc
@@ -33,6 +33,7 @@
 #include "mon/MonitorDBStore.h"
 #include "mon/Paxos.h"
 #include "common/Formatter.h"
+#include "include/stringify.h"
 
 namespace po = boost::program_options;
 using namespace std;
@@ -178,15 +179,22 @@ int main(int argc, char **argv) {
 
   int fd;
   if (vm.count("out")) {
-    if ((fd = open(out_path.c_str(), O_WRONLY|O_CREAT|O_TRUNC, 0666)) == -1) {
+    if ((fd = open(out_path.c_str(), O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) {
       int _err = errno;
-      std::cerr << "Couldn't open " << out_path << cpp_strerror(_err) << std::endl; 
-      return 1;
+      if (_err != EISDIR) {
+        std::cerr << "Couldn't open " << out_path << ": " << cpp_strerror(_err) << std::endl; 
+        return 1;
+      }
     }
   } else {
     fd = STDOUT_FILENO;
   }
 
+  if (fd < 0 && cmd != "store-copy") {
+    std::cerr << "error: '" << out_path << "' is a directory!" << std::endl;
+    return 1;
+  }
+
   MonitorDBStore st(store_path);
   if (store_path.size()) {
     stringstream ss;
@@ -206,6 +214,7 @@ int main(int argc, char **argv) {
   } else if (cmd == "compact") {
     st.compact();
   } else if (cmd == "getmonmap") {
+    assert(fd >= 0);
     if (!store_path.size()) {
       std::cerr << "need mon store path" << std::endl;
       std::cerr << desc << std::endl;
@@ -331,13 +340,79 @@ int main(int argc, char **argv) {
       t.compact_prefix(prefix);
       st.apply_transaction(t);
     }
+  } else if (cmd == "store-copy") {
+    if (!store_path.size()) {
+      std::cerr << "need mon store path to copy from" << std::endl;
+      std::cerr << desc << std::endl;
+      goto done;
+    }
+    if (!out_path.size()) {
+      std::cerr << "need mon store path to copy to (--out <mon_data_dir>)"
+                << std::endl;
+      std::cerr << desc << std::endl;
+      goto done;
+    }
+    if (fd > 0) {
+      std::cerr << "supplied out path '" << out_path << "' is not a directory"
+                << std::endl;
+      goto done;
+    }
+
+    MonitorDBStore out_store(out_path);
+    {
+      stringstream ss;
+      int r = out_store.create_and_open(ss);
+      if (r < 0) {
+        std::cerr << ss.str() << std::endl;
+        goto done;
+      }
+    }
+
+
+    KeyValueDB::WholeSpaceIterator it = st.get_iterator();
+    uint64_t total_keys = 0;
+    uint64_t total_size = 0;
+    uint64_t total_tx = 0;
+
+    do {
+      uint64_t num_keys = 0;
+
+      MonitorDBStore::Transaction tx;
+
+      while (it->valid() && num_keys < 128) {
+        pair<string,string> k = it->raw_key();
+        bufferlist v = it->value();
+        tx.put(k.first, k.second, v);
+
+        num_keys ++;
+        total_tx ++;
+        total_size += v.length();
+
+        it->next();
+      }
+
+      total_keys += num_keys;
+
+      if (!tx.empty())
+        out_store.apply_transaction(tx);
+
+      std::cout << "copied " << total_keys << " keys so far ("
+                << stringify(si_t(total_size)) << ")" << std::endl;
+
+    } while (it->valid());
+
+    std::cout << "summary: copied " << total_keys << " keys, using "
+              << total_tx << " transactions, totalling "
+              << stringify(si_t(total_size)) << std::endl;
+    std::cout << "from '" << store_path << "' to '" << out_path << "'"
+              << std::endl;
   } else {
     std::cerr << "Unrecognized command: " << cmd << std::endl;
     goto done;
   }
 
   done:
-  if (vm.count("out")) {
+  if (vm.count("out") && fd > 0) {
     ::close(fd);
   }
   return 0;
diff --git a/src/tools/ceph-osdomap-tool.cc b/src/tools/ceph-osdomap-tool.cc
index aedc4c8..bde4b28 100644
--- a/src/tools/ceph-osdomap-tool.cc
+++ b/src/tools/ceph-osdomap-tool.cc
@@ -115,30 +115,30 @@ int main(int argc, char **argv) {
       i->value().hexdump(std::cout);
     }
   } else if (cmd == "dump-objects") {
-    vector<hobject_t> objects;
+    vector<ghobject_t> objects;
     r = omap.list_objects(&objects);
     if (r < 0) {
       std::cerr << "list_objects got: " << cpp_strerror(r) << std::endl;
       goto done;
     }
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
       std::cout << *i << std::endl;
     }
     r = 0;
   } else if (cmd == "dump-objects-with-keys") {
-    vector<hobject_t> objects;
+    vector<ghobject_t> objects;
     r = omap.list_objects(&objects);
     if (r < 0) {
       std::cerr << "list_objects got: " << cpp_strerror(r) << std::endl;
       goto done;
     }
-    for (vector<hobject_t>::iterator i = objects.begin();
+    for (vector<ghobject_t>::iterator i = objects.begin();
 	 i != objects.end();
 	 ++i) {
       std::cout << "Object: " << *i << std::endl;
-      ObjectMap::ObjectMapIterator j = omap.get_iterator(*i);
+      ObjectMap::ObjectMapIterator j = omap.get_iterator(i->hobj);
       for (j->seek_to_first(); j->valid(); j->next()) {
 	std::cout << j->key() << std::endl;
 	j->value().hexdump(std::cout);
diff --git a/src/ceph_authtool.cc b/src/tools/ceph_authtool.cc
similarity index 100%
rename from src/ceph_authtool.cc
rename to src/tools/ceph_authtool.cc
diff --git a/src/ceph_conf.cc b/src/tools/ceph_conf.cc
similarity index 100%
rename from src/ceph_conf.cc
rename to src/tools/ceph_conf.cc
diff --git a/src/crushtool.cc b/src/tools/crushtool.cc
similarity index 99%
rename from src/crushtool.cc
rename to src/tools/crushtool.cc
index 75c26c0..03c83f2 100644
--- a/src/crushtool.cc
+++ b/src/tools/crushtool.cc
@@ -569,7 +569,11 @@ int main(int argc, const char **argv)
 
 	crush_bucket *b = crush_make_bucket(buckettype, CRUSH_HASH_DEFAULT, type, j, items, weights);
 	assert(b);
-	int id = crush_add_bucket(crush.crush, 0, b);
+	int id;
+	int r = crush_add_bucket(crush.crush, 0, b, &id);
+	if (r < 0) {
+		dout(0) << "Couldn't add root bucket: " << strerror(-r) << dendl;
+	}
 	rootid = id;
 
 	char format[20];
diff --git a/src/dupstore.cc b/src/tools/dupstore.cc
similarity index 95%
rename from src/dupstore.cc
rename to src/tools/dupstore.cc
index e17eb22..c8b8ece 100644
--- a/src/dupstore.cc
+++ b/src/tools/dupstore.cc
@@ -27,7 +27,7 @@ int dupstore(ObjectStore* src, ObjectStore* dst)
   if (dst->mount() < 0) return 1;
 
   // objects
-  hash_map<hobject_t, coll_t> did_object;
+  hash_map<ghobject_t, coll_t> did_object;
 
   // collections
   vector<coll_t> collections;
@@ -54,11 +54,11 @@ int dupstore(ObjectStore* src, ObjectStore* dst)
       dst->apply_transaction(t);
     }
 
-    vector<hobject_t> o;
+    vector<ghobject_t> o;
     src->collection_list(*p, o);
     int numo = o.size();
     int j = 1;
-    for (vector<hobject_t>::iterator q = o.begin(); q != o.end(); ++q) {
+    for (vector<ghobject_t>::iterator q = o.begin(); q != o.end(); ++q) {
       ObjectStore::Transaction t;
       if (did_object.count(*q))
 	t.collection_add(*p, did_object[*q], *q);
diff --git a/src/mon_store_converter.cc b/src/tools/mon_store_converter.cc
similarity index 100%
rename from src/mon_store_converter.cc
rename to src/tools/mon_store_converter.cc
diff --git a/src/monmaptool.cc b/src/tools/monmaptool.cc
similarity index 100%
rename from src/monmaptool.cc
rename to src/tools/monmaptool.cc
diff --git a/src/osdmaptool.cc b/src/tools/osdmaptool.cc
similarity index 99%
rename from src/osdmaptool.cc
rename to src/tools/osdmaptool.cc
index 2e55026..edd3128 100644
--- a/src/osdmaptool.cc
+++ b/src/tools/osdmaptool.cc
@@ -156,7 +156,7 @@ int main(int argc, const char **argv)
   OSDMap osdmap;
   bufferlist bl;
 
-  cout << me << ": osdmap file '" << fn << "'" << std::endl;
+  cerr << me << ": osdmap file '" << fn << "'" << std::endl;
   
   int r = 0;
   struct stat st;
diff --git a/src/psim.cc b/src/tools/psim.cc
similarity index 100%
rename from src/psim.cc
rename to src/tools/psim.cc
diff --git a/src/rados.cc b/src/tools/rados/rados.cc
similarity index 97%
rename from src/rados.cc
rename to src/tools/rados/rados.cc
index dd9b4de..ad8eaa3 100644
--- a/src/rados.cc
+++ b/src/tools/rados/rados.cc
@@ -98,6 +98,7 @@ void usage(ostream& out)
 "   rmomapkey <obj-name> <key>\n"
 "   getomapheader <obj-name>\n"
 "   setomapheader <obj-name> <val>\n"
+"   tmap-to-omap <obj-name>          convert tmap keys/values to omap\n"
 "   listwatchers <obj-name>          list the watchers of this object\n"
 "\n"
 "IMPORT AND EXPORT\n"
@@ -879,7 +880,8 @@ protected:
   }
 
 public:
-  RadosBencher(librados::Rados& _r, librados::IoCtx& _i) : completions(NULL), rados(_r), io_ctx(_i), iterator_valid(false) {}
+  RadosBencher(CephContext *cct_, librados::Rados& _r, librados::IoCtx& _i)
+    : ObjBencher(cct_), completions(NULL), rados(_r), io_ctx(_i), iterator_valid(false) {}
   ~RadosBencher() { }
 };
 
@@ -1812,8 +1814,15 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
       bufferlist::iterator p = outdata.begin();
       bufferlist header;
       map<string, bufferlist> kv;
-      ::decode(header, p);
-      ::decode(kv, p);
+      try {
+	::decode(header, p);
+	::decode(kv, p);
+      }
+      catch (buffer::error& e) {
+	cerr << "error decoding tmap " << pool_name << "/" << oid << std::endl;
+	ret = -EINVAL;
+	goto out;
+      }
       cout << "header (" << header.length() << " bytes):\n";
       header.hexdump(cout);
       cout << "\n";
@@ -1840,6 +1849,50 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
     }
   }
 
+  else if (strcmp(nargs[0], "tmap-to-omap") == 0) {
+    if (!pool_name || nargs.size() < 2)
+      usage_exit();
+    string oid(nargs[1]);
+
+    bufferlist bl;
+    int r = io_ctx.tmap_get(oid, bl);
+    if (r < 0) {
+      ret = r;
+      cerr << "error reading tmap " << pool_name << "/" << oid
+	   << ": " << cpp_strerror(ret) << std::endl;
+      goto out;
+    }
+    bufferlist hdr;
+    map<string, bufferlist> kv;
+    bufferlist::iterator p = bl.begin();
+    try {
+      ::decode(hdr, p);
+      ::decode(kv, p);
+    }
+    catch (buffer::error& e) {
+      cerr << "error decoding tmap " << pool_name << "/" << oid << std::endl;
+      ret = -EINVAL;
+      goto out;
+    }
+    if (!p.end()) {
+      cerr << "error decoding tmap (stray trailing data) in " << pool_name << "/" << oid << std::endl;
+      ret = -EINVAL;
+      goto out;
+    }
+    librados::ObjectWriteOperation wr;
+    wr.omap_set_header(hdr);
+    wr.omap_set(kv);
+    wr.truncate(0);  // delete the old tmap data
+    r = io_ctx.operate(oid, &wr);
+    if (r < 0) {
+      ret = r;
+      cerr << "error writing tmap data as omap on " << pool_name << "/" << oid
+	   << ": " << cpp_strerror(ret) << std::endl;
+      goto out;
+    }
+    ret = 0;
+  }
+
   else if (strcmp(nargs[0], "mkpool") == 0) {
     int auid = 0;
     __u8 crush_rule = 0;
@@ -1987,7 +2040,7 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
       operation = OP_RAND_READ;
     else
       usage_exit();
-    RadosBencher bencher(rados, io_ctx);
+    RadosBencher bencher(g_ceph_context, rados, io_ctx);
     bencher.set_show_time(show_time);
     ret = bencher.aio_bench(operation, seconds, num_objs,
 			    concurrent_ios, op_size, cleanup);
@@ -1998,7 +2051,7 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
     if (!pool_name || nargs.size() < 2)
       usage_exit();
     const char *prefix = nargs[1];
-    RadosBencher bencher(rados, io_ctx);
+    RadosBencher bencher(g_ceph_context, rados, io_ctx);
     ret = bencher.clean_up(prefix, concurrent_ios);
     if (ret != 0)
       cerr << "error during cleanup: " << ret << std::endl;
@@ -2234,8 +2287,9 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
     }
 
   } else {
-    cerr << "unrecognized command " << nargs[0] << std::endl;
-    usage_exit();
+    cerr << "unrecognized command " << nargs[0] << "; -h or --help for usage" << std::endl;
+    ret = -EINVAL;
+    goto out;
   }
 
   if (ret < 0)
diff --git a/src/rados_export.cc b/src/tools/rados/rados_export.cc
similarity index 99%
rename from src/rados_export.cc
rename to src/tools/rados/rados_export.cc
index 5b8a899..bf66541 100644
--- a/src/rados_export.cc
+++ b/src/tools/rados/rados_export.cc
@@ -11,6 +11,7 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include "rados_sync.h"
 #include "common/errno.h"
@@ -20,7 +21,6 @@
 #include <dirent.h>
 #include <errno.h>
 #include <fstream>
-#include <inttypes.h>
 #include <iostream>
 #include <sstream>
 #include <stdlib.h>
diff --git a/src/rados_import.cc b/src/tools/rados/rados_import.cc
similarity index 99%
rename from src/rados_import.cc
rename to src/tools/rados/rados_import.cc
index da968a7..a6a398d 100644
--- a/src/rados_import.cc
+++ b/src/tools/rados/rados_import.cc
@@ -11,11 +11,11 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include <dirent.h>
 #include <errno.h>
 #include <fstream>
-#include <inttypes.h>
 #include <iostream>
 #include <sstream>
 #include <stdlib.h>
diff --git a/src/rados_sync.cc b/src/tools/rados/rados_sync.cc
similarity index 99%
rename from src/rados_sync.cc
rename to src/tools/rados/rados_sync.cc
index c55e5b2..d2d6ab5 100644
--- a/src/rados_sync.cc
+++ b/src/tools/rados/rados_sync.cc
@@ -11,6 +11,7 @@
  * Foundation.  See file COPYING.
  *
  */
+#include "include/int_types.h"
 
 #include "common/ceph_argparse.h"
 #include "common/config.h"
@@ -27,7 +28,6 @@
 #include <dirent.h>
 #include <errno.h>
 #include <fstream>
-#include <inttypes.h>
 #include <iostream>
 #include <memory>
 #include <sstream>
@@ -346,13 +346,13 @@ Xattr::~Xattr() {
   free(data);
 }
 
-bool Xattr::operator==(const struct Xattr &rhs) const {
+bool Xattr::operator==(const class Xattr &rhs) const {
   if (len != rhs.len)
     return false;
   return (memcmp(data, rhs.data, len) == 0);
 }
 
-bool Xattr::operator!=(const struct Xattr &rhs) const {
+bool Xattr::operator!=(const class Xattr &rhs) const {
   return !((*this) == rhs);
 }
 
@@ -579,6 +579,7 @@ int BackedUpObject::download(IoCtx &io_ctx, const char *path)
     if (rlen < 0) {
       cerr << ERR_PREFIX << "download: io_ctx.read(" << rados_name << ") returned "
 	   << rlen << std::endl;
+      fclose(fp);
       return rlen;
     }
     if (rlen < CHUNK_SZ)
diff --git a/src/rados_sync.h b/src/tools/rados/rados_sync.h
similarity index 98%
rename from src/rados_sync.h
rename to src/tools/rados/rados_sync.h
index 83ced52..0f7226e 100644
--- a/src/rados_sync.h
+++ b/src/tools/rados/rados_sync.h
@@ -139,8 +139,8 @@ class Xattr {
 public:
   Xattr(char *data_, ssize_t len_);
   ~Xattr();
-  bool operator==(const struct Xattr &rhs) const;
-  bool operator!=(const struct Xattr &rhs) const;
+  bool operator==(const class Xattr &rhs) const;
+  bool operator!=(const class Xattr &rhs) const;
 
   char *data;
   ssize_t len;
diff --git a/src/radosacl.cc b/src/tools/radosacl.cc
similarity index 100%
rename from src/radosacl.cc
rename to src/tools/radosacl.cc
diff --git a/src/tools/rest_bench.cc b/src/tools/rest_bench.cc
index 99fd16b..feea4de 100644
--- a/src/tools/rest_bench.cc
+++ b/src/tools/rest_bench.cc
@@ -261,10 +261,12 @@ class RESTDispatcher {
   } req_wq;
 
 public:
-  RESTDispatcher(CephContext *cct, int num_threads)
-    : m_tp(cct, "RESTDispatcher::m_tp", num_threads),
-      req_wq(this, g_conf->rgw_op_thread_timeout,
-	     g_conf->rgw_op_thread_suicide_timeout, &m_tp) {
+  CephContext *cct;
+  RESTDispatcher(CephContext *cct_, int num_threads)
+    : m_tp(cct_, "RESTDispatcher::m_tp", num_threads),
+      req_wq(this, cct_->_conf->rgw_op_thread_timeout,
+        cct_->_conf->rgw_op_thread_suicide_timeout, &m_tp),
+      cct(cct_) {
 
 
     response_handler.propertiesCallback = properties_callback;
@@ -588,6 +590,7 @@ protected:
 
 public:
   RESTBencher(RESTDispatcher *_dispatcher) :
+      ObjBencher(_dispatcher->cct),
       dispatcher(_dispatcher),
       completions(NULL),
       list_start(NULL),
diff --git a/src/scratchtool.c b/src/tools/scratchtool.c
similarity index 100%
rename from src/scratchtool.c
rename to src/tools/scratchtool.c
diff --git a/src/scratchtoolpp.cc b/src/tools/scratchtoolpp.cc
similarity index 100%
rename from src/scratchtoolpp.cc
rename to src/tools/scratchtoolpp.cc
diff --git a/src/upstart/ceph-osd.conf b/src/upstart/ceph-osd.conf
index c0bf4d6..ab6af58 100644
--- a/src/upstart/ceph-osd.conf
+++ b/src/upstart/ceph-osd.conf
@@ -32,8 +32,7 @@ pre-start script
 	    "${weight:-${defaultweight:-1}}" \
 	    root=default \
 	    host="$(hostname -s)" \
-	    $location \
-	    || :
+	    $location
     fi
 
     journal="/var/lib/ceph/osd/${cluster:-ceph}-$id/journal"
diff --git a/src/vstart.sh b/src/vstart.sh
index 577ea4c..4839cc1 100755
--- a/src/vstart.sh
+++ b/src/vstart.sh
@@ -17,6 +17,11 @@ set -e
 [ -z "$CEPH_NUM_MDS" ] && CEPH_NUM_MDS=3
 [ -z "$CEPH_NUM_RGW" ] && CEPH_NUM_RGW=1
 
+[ -z "$CEPH_DIR" ] && CEPH_DIR="$PWD/"
+[ -z "$CEPH_DEV_DIR" ] && CEPH_DEV_DIR="$CEPH_DIR/dev"
+[ -z "$CEPH_OUT_DIR" ] && CEPH_OUT_DIR="$CEPH_DIR/out"
+[ -z "$CEPH_RGW_PORT" ] && CEPH_RGW_PORT=8000
+
 extra_conf=""
 new=0
 standby=0
@@ -34,9 +39,9 @@ cephx=1 #turn cephx on by default
 
 MON_ADDR=""
 
-conf="ceph.conf"
+conf="$CEPH_DIR/ceph.conf"
 
-keyring_fn="$PWD/keyring"
+keyring_fn="$CEPH_DIR/keyring"
 osdmap_fn="/tmp/ceph_osdmap.$$"
 monmap_fn="/tmp/ceph_monmap.$$"
 
@@ -194,6 +199,7 @@ else
     COSDDEBUG='
         debug ms = 1
         debug osd = 25
+        debug objecter = 20
         debug monc = 20
         debug journal = 20
         debug filestore = 20
@@ -223,7 +229,7 @@ fi
 
 
 # sudo if btrfs
-test -d dev/osd0/. && test -e dev/sudo && SUDO="sudo"
+test -d $CEPH_DEV_DIR/osd0/. && test -e $CEPH_DEV_DIR/sudo && SUDO="sudo"
 
 if [ "$start_all" -eq 1 ]; then
     $SUDO $CEPH_BIN/init-ceph stop
@@ -231,6 +237,7 @@ fi
 $SUDO rm -f core*
 
 test -d out || mkdir out
+test -d dev || mkdir dev
 $SUDO rm -rf out/*
 test -d gmon && $SUDO rm -rf gmon/*
 
@@ -243,11 +250,11 @@ if [ -n "$ip" ]; then
     IP="$ip"
 else
     echo hostname $HOSTNAME
-    RAW_IP=`hostname --ip-address`
+    RAW_IP=`hostname -I`
     # filter out IPv6 and localhost addresses
     IP="$(echo "$RAW_IP"|tr ' ' '\012'|grep -v :|grep -v '^127\.'|head -n1)"
     # if that left nothing, then try to use the raw thing, it might work
-    if [ -z "IP" ]; then IP="$RAW_IP"; fi
+    if [ -z "$IP" ]; then IP="$RAW_IP"; fi
     echo ip $IP
 fi
 echo "ip $IP"
@@ -275,11 +282,11 @@ do
 done
 
 DAEMONOPTS="
-	log file = out/\$name.log
-        admin socket = out/\$name.asok
+	log file = $CEPH_OUT_DIR/\$name.log
+        admin socket = $CEPH_OUT_DIR/\$name.asok
 	chdir = \"\"
-	pid file = out/\$name.pid
-        heartbeat file = out/\$name.heartbeat
+	pid file = $CEPH_OUT_DIR/\$name.pid
+        heartbeat file = $CEPH_OUT_DIR/\$name.heartbeat
 "
 
 
@@ -294,7 +301,7 @@ if [ "$start_mon" -eq 1 ]; then
         osd pgp bits = 5  ; (invalid, but ceph should cope!)
         osd crush chooseleaf type = 0
         osd pool default min size = 1
-        run dir = out
+        run dir = $CEPH_OUT_DIR
 EOF
 if [ "$cephx" -eq 1 ] ; then
 cat <<EOF >> $conf
@@ -311,7 +318,7 @@ fi
 
 [client]
         keyring = $keyring_fn
-        log file = out/\$name.\$pid.log
+        log file = $CEPH_OUT_DIR/\$name.\$pid.log
 
 [mds]
 $DAEMONOPTS
@@ -319,12 +326,12 @@ $CMDSDEBUG
         mds debug frag = true
         mds debug auth pins = true
         mds debug subtrees = true
-        mds data = dev/mds.\$id
+        mds data = $CEPH_DEV_DIR/mds.\$id
 $extra_conf
 [osd]
 $DAEMONOPTS
-        osd data = dev/osd\$id
-        osd journal = dev/osd\$id.journal
+        osd data = $CEPH_DEV_DIR/osd\$id
+        osd journal = $CEPH_DEV_DIR/osd\$id.journal
         osd journal size = 100
         osd class tmp = out
         osd class dir = .libs
@@ -333,10 +340,11 @@ $DAEMONOPTS
 $COSDDEBUG
 $extra_conf
 [mon]
+        mon pg warn min per osd = 10
 $DAEMONOPTS
 $CMONDEBUG
 $extra_conf
-        mon cluster log file = out/cluster.mon.\$id.log
+        mon cluster log file = $CEPH_OUT_DIR/cluster.mon.\$id.log
 [global]
 $extra_conf
 EOF
@@ -368,7 +376,7 @@ EOF
 				cat <<EOF >> $conf
 [mon.$f]
         host = $HOSTNAME
-        mon data = dev/mon.$f
+        mon data = $CEPH_DEV_DIR/mon.$f
         mon addr = $IP:$(($CEPH_PORT+$count))
 EOF
 			fi
@@ -380,10 +388,10 @@ EOF
 
 		for f in $MONS
 		do
-		    cmd="rm -rf dev/mon.$f"
+		    cmd="rm -rf $CEPH_DEV_DIR/mon.$f"
 		    echo $cmd
 		    $cmd
-                    cmd="mkdir dev/mon.$f"
+                    cmd="mkdir -p $CEPH_DEV_DIR/mon.$f"
                     echo $cmd
                     $cmd
 		    cmd="$CEPH_BIN/ceph-mon --mkfs -c $conf -i $f --monmap=$monmap_fn"
@@ -414,18 +422,18 @@ if [ "$start_osd" -eq 1 ]; then
 [osd.$osd]
         host = $HOSTNAME
 EOF
-		    rm -rf dev/osd$osd || true
-		    for f in dev/osd$osd/* ; do btrfs sub delete $f || true ; done || true
-		    mkdir -p dev/osd$osd
+		    rm -rf $CEPH_DEV_DIR/osd$osd || true
+		    for f in $CEPH_DEV_DIR/osd$osd/* ; do btrfs sub delete $f || true ; done || true
+		    mkdir -p $CEPH_DEV_DIR/osd$osd
 	    fi
 
 	    uuid=`uuidgen`
 	    echo "add osd$osd $uuid"
 	    $SUDO $CEPH_ADM osd create $uuid
-	    $SUDO $CEPH_ADM osd crush set osd.$osd 1.0 host=localhost rack=localrack root=default
+	    $SUDO $CEPH_ADM osd crush add osd.$osd 1.0 host=localhost rack=localrack root=default
 	    $SUDO $CEPH_BIN/ceph-osd -i $osd $ARGS --mkfs --mkkey --osd-uuid $uuid
 
-	    key_fn=dev/osd$osd/keyring
+	    key_fn=$CEPH_DEV_DIR/osd$osd/keyring
 	    echo adding osd$osd key to auth repository
 	    $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd osd "allow *" mon "allow profile osd"
 	fi
@@ -448,15 +456,15 @@ if [ "$start_mds" -eq 1 ]; then
     for name in a b c d e f g h i j k l m n o p
     do
 	if [ "$new" -eq 1 ]; then
-	    mkdir -p dev/mds.$name
-	    key_fn=dev/mds.$name/keyring
+	    mkdir -p $CEPH_DEV_DIR/mds.$name
+	    key_fn=$CEPH_DEV_DIR/mds.$name/keyring
 	    if [ $overwrite_conf -eq 1 ]; then
 	    	cat <<EOF >> $conf
 [mds.$name]
         host = $HOSTNAME
 EOF
 		if [ "$standby" -eq 1 ]; then
-		    mkdir -p dev/mds.${name}s
+		    mkdir -p $CEPH_DEV_DIR/mds.${name}s
 		    cat <<EOF >> $conf
        mds standby for rank = $mds
 [mds.${name}s]
@@ -469,8 +477,8 @@ EOF
 	    $SUDO $CEPH_ADM -i $key_fn auth add mds.$name mon 'allow profile mds' osd 'allow *' mds 'allow'
 	    if [ "$standby" -eq 1 ]; then
 		    $SUDO $CEPH_BIN/ceph-authtool --create-keyring --gen-key --name=mds.${name}s \
-			dev/mds.${name}s/keyring
-                    $SUDO $CEPH_ADM -i dev/mds.${name}s/keyring auth add mds.${name}s \
+			$CEPH_DEV_DIR/mds.${name}s/keyring
+                    $SUDO $CEPH_ADM -i $CEPH_DEV_DIR/mds.${name}s/keyring auth add mds.${name}s \
 			mon 'allow *' osd 'allow *' mds 'allow'
 	    fi
 	fi
@@ -497,7 +505,7 @@ fi
 if [ "$start_rgw" -eq 1 ]; then
     for rgw in `seq 0 $((CEPH_NUM_RGW-1))`
     do
-	rgwport=$(( 8000 + $rgw ))
+	rgwport=$(( $CEPH_RGW_PORT + $rgw ))
 	if [ "$new" -eq 1 ]; then
 	    if [ $overwrite_conf -eq 1 ]; then
 		    dnsname=`hostname -f`
@@ -505,13 +513,13 @@ if [ "$start_rgw" -eq 1 ]; then
 [client.radosgw.rgw$rgw]
         host = $HOSTNAME
 $DAEMONOPTS
-        keyring = out/keyring.client.radosgw.rgw$rgw
-        rgw socket path = out/sock.client.radosgw.rgw$rgw
+        keyring = $CEPH_OUT_DIR/keyring.client.radosgw.rgw$rgw
+        rgw socket path = $CEPH_OUT_DIR/sock.client.radosgw.rgw$rgw
         rgw dns name = $dnsname
 EOF
-		    mkdir -p out/htdocs
-		    mkdir -p out/fastcgi_sock
-		    cat <<EOF > out/apache.conf
+		    mkdir -p $CEPH_OUT_DIR/htdocs
+		    mkdir -p $CEPH_OUT_DIR/fastcgi_sock
+		    cat <<EOF > $CEPH_OUT_DIR/apache.conf
 LoadModule env_module /usr/lib/apache2/modules/mod_env.so
 LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
 LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
@@ -519,14 +527,14 @@ LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
 Listen $rgwport
 ServerName rgwtest.example.com
 
-ServerRoot $PWD/out
-ErrorLog $PWD/out/apache.error.log
+ServerRoot $CEPH_OUT_DIR
+ErrorLog $CEPH_OUT_DIR/apache.error.log
 LogFormat "%h l %u %t \"%r\" %>s %b \"{Referer}i\" \"%{User-agent}i\"" combined
-CustomLog $PWD/out/apache.access.log combined
-PidFile $PWD/out/apache.pid
-DocumentRoot $PWD/out/htdocs
-FastCgiIPCDir $PWD/out/fastcgi_sock
-FastCgiExternalServer $PWD/out/htdocs/rgw.fcgi -socket $PWD/out/sock.client.radosgw.rgw$rgw
+CustomLog $CEPH_OUT_DIR/apache.access.log combined
+PidFile $CEPH_OUT_DIR/apache.pid
+DocumentRoot $CEPH_OUT_DIR/htdocs
+FastCgiIPCDir $CEPH_OUT_DIR/fastcgi_sock
+FastCgiExternalServer $CEPH_OUT_DIR/htdocs/rgw.fcgi -socket $CEPH_OUT_DIR/sock.client.radosgw.rgw$rgw
 RewriteEngine On
 
 RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*) /rgw.fcgi?page=$1&params=$2&%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
@@ -537,7 +545,7 @@ SetEnv RGW_LOG_LEVEL 20
 SetEnv RGW_PRINT_CONTINUE yes
 SetEnv RGW_SHOULD_LOG yes
 
-<Directory $PWD/out/htdocs>
+<Directory $CEPH_OUT_DIR/htdocs>
   Options +ExecCGI
   AllowOverride All
   SetHandler fastcgi-script
@@ -546,7 +554,7 @@ SetEnv RGW_SHOULD_LOG yes
 AllowEncodedSlashes On
 ServerSignature Off
 EOF
-		    $SUDO $CEPH_ADM auth get-or-create client.radosgw.rgw$rgw osd 'allow rwx' mon 'allow r' -o out/keyring.client.radosgw.rgw$rgw
+		    $SUDO $CEPH_ADM auth get-or-create client.radosgw.rgw$rgw osd 'allow rwx' mon 'allow r' -o $CEPH_OUT_DIR/keyring.client.radosgw.rgw$rgw
 
 		    #akey=`echo $$ | md5sum | cut -c 1-20`
 		    #skey=`dd if=/dev/urandom of=/tmp/random.$$ bs=1 count=40 2>/dev/null ; base64 < /tmp/random.$$ ; rm /tmp/random.$$`
@@ -554,12 +562,12 @@ EOF
 		    skey='h7GhxuBLTrlhVUyxSPUKUV8r/2EI4ngqJxD7iBdBYLhwluN30JaT3Q=='
 		    echo access key $akey
 		    echo secret key $skey
-		    $CEPH_BIN/radosgw-admin user create --uid tester --access-key $akey --secret $skey --display-name 'M. Tester' --email tester at ceph.com
+		    $CEPH_BIN/radosgw-admin user create --uid tester --access-key $akey --secret $skey --display-name 'M. Tester' --email tester at ceph.com -c $conf
 	    fi
 	fi
 	echo start rgw$rgw on http://localhost:$rgwport
 	run 'rgw' $SUDO $CEPH_BIN/radosgw -n client.radosgw.rgw$rgw $ARGS
-	run 'apache2' $SUDO apache2 -f $PWD/out/apache.conf
+	run 'apache2' $SUDO apache2 -f $CEPH_OUT_DIR/apache.conf
     done
 fi
 
diff --git a/src/yasm-wrapper b/src/yasm-wrapper
new file mode 100755
index 0000000..57d95de
--- /dev/null
+++ b/src/yasm-wrapper
@@ -0,0 +1,38 @@
+#!/bin/sh -e
+
+# libtool and yasm do not get along.
+# filter out any crap that libtool feeds us that yasm does not understand.
+new=""
+touch=""
+while [ -n "$*" ]; do
+    case "$1" in
+	-f )
+	    shift
+	    new="-f $1"
+	    shift
+	    ;;
+	-g* | -f* | -W* | -MD | -MP | -fPIC | -c | -D* | --param* | -O* | -I* | -m* | -pipe )
+	    shift
+	    ;;
+	-MT )
+	    shift
+	    shift
+	    ;;
+	-MF )
+	    shift
+	    touch="$1"
+	    shift
+	    ;;
+	* )
+	    new="$new $1"
+	    shift
+	    ;;
+    esac
+done
+
+echo $0: yasm $new
+yasm $new
+
+[ -n "$touch" ] && touch $touch
+
+true
\ No newline at end of file

-- 
Alioth's hooks/post-receive on /srv/git.debian.org/git/pkg-ceph/ceph.git



More information about the Pkg-ceph-commits mailing list