#define CEPH_COMMON_EVENT_SOCKET_H
#include "include/event_type.h"
+#include <unistd.h>
class EventSocket {
int socket;
#include "librbd/AioImageRequest.h"
#include "librbd/AioCompletion.h"
#include "librbd/AioObjectRequest.h"
-#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
-#include "librbd/ImageState.h"
-#include "librbd/ImageWatcher.h"
#include "librbd/internal.h"
#include "librbd/Journal.h"
#include "librbd/journal/Types.h"
class AioObjectRequest;
class ImageCtx;
+class AioCompletion;
template <typename ImageCtxT = ImageCtx>
class AioImageRequest {
#include "include/Context.h"
#include "include/atomic.h"
-#include "common/Cond.h"
#include "common/RWLock.h"
#include "common/WorkQueue.h"
#include <list>
#include "common/Mutex.h"
#include "common/RWLock.h"
#include "common/WorkQueue.h"
+#include "include/Context.h"
#include "librbd/AioObjectRequest.h"
#include "librbd/AioCompletion.h"
#include "librbd/CopyupRequest.h"
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
-#include "librbd/ImageWatcher.h"
-#include "librbd/internal.h"
#include "librbd/ObjectMap.h"
#include "librbd/Utils.h"
#include "common/snap_types.h"
#include "include/buffer.h"
-#include "include/Context.h"
#include "include/rados/librados.hpp"
-#include "include/rbd/librbd.hpp"
#include "librbd/ObjectMap.h"
+class Context;
+
namespace librbd {
struct AioCompletion;
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
#include "librbd/AsyncObjectThrottle.h"
-#include "include/rbd/librbd.hpp"
#include "common/RWLock.h"
#include "common/WorkQueue.h"
#include "librbd/AsyncRequest.h"
#include "librbd/ImageCtx.h"
-#include "librbd/internal.h"
#include "librbd/Utils.h"
namespace librbd
#include "include/int_types.h"
#include "include/Context.h"
-#include "common/RWLock.h"
#include <boost/function.hpp>
-#include "include/assert.h"
namespace librbd
{
// vim: ts=8 sw=2 smarttab
#include "librbd/AsyncRequest.h"
#include "librbd/ImageCtx.h"
-#include "librbd/internal.h"
#include "librbd/Utils.h"
#include "common/WorkQueue.h"
-#include <boost/bind.hpp>
namespace librbd
{
#ifndef CEPH_LIBRBD_ASYNC_REQUEST_H
#define CEPH_LIBRBD_ASYNC_REQUEST_H
-#include "include/int_types.h"
#include "include/Context.h"
#include "include/rados/librados.hpp"
#include "include/xlist.h"
#include "librbd/CopyupRequest.h"
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
-#include "librbd/ImageWatcher.h"
-#include "librbd/internal.h"
#include "librbd/ObjectMap.h"
#include "librbd/Utils.h"
#include "librbd/AsyncOperation.h"
#include "include/int_types.h"
-
-#include "common/Mutex.h"
#include "include/buffer.h"
-#include "include/rados/librados.hpp"
namespace librbd {
#include "librbd/DiffIterate.h"
#include "librbd/ImageCtx.h"
-#include "librbd/internal.h"
#include "librbd/ObjectMap.h"
#include "librbd/Utils.h"
#include "include/rados/librados.hpp"
#include "include/interval_set.h"
#include "common/errno.h"
-#include "common/Mutex.h"
#include "common/Throttle.h"
#include "librados/snap_set_diff.h"
#include <boost/tuple/tuple.hpp>
#include "include/Context.h"
#include "include/rados/librados.hpp"
#include "common/Mutex.h"
-#include "common/RWLock.h"
#include <list>
#include <string>
#include <utility>
#include "librbd/Operations.h"
#include "librbd/operation/ResizeRequest.h"
#include "librbd/Utils.h"
+#include "librbd/LibrbdWriteback.h"
#include "osdc/Striper.h"
#include <boost/bind.hpp>
#include <list>
#include <map>
-#include <set>
#include <string>
#include <vector>
-#include <boost/optional.hpp>
-#include "common/Cond.h"
#include "common/event_socket.h"
#include "common/Mutex.h"
#include "common/Readahead.h"
#include "common/RWLock.h"
#include "common/snap_types.h"
-#include "include/atomic.h"
+
#include "include/buffer_fwd.h"
#include "include/rbd/librbd.hpp"
#include "include/rbd_types.h"
#include "cls/rbd/cls_rbd_client.h"
#include "librbd/AsyncRequest.h"
-#include "librbd/LibrbdWriteback.h"
#include "librbd/SnapInfo.h"
#include "librbd/parent_types.h"
class LibrbdAdminSocketHook;
class ObjectMap;
template <typename> class Operations;
+ class LibrbdWriteback;
namespace exclusive_lock { struct Policy; }
namespace journal { struct Policy; }
#include "librbd/ImageCtx.h"
#include "librbd/ImageState.h"
#include "librbd/internal.h"
-#include "librbd/ObjectMap.h"
#include "librbd/Operations.h"
#include "librbd/TaskFinisher.h"
#include "librbd/Utils.h"
#include "librbd/image_watcher/Notifier.h"
#include "librbd/image_watcher/NotifyLockOwner.h"
#include "include/encoding.h"
-#include "include/stringify.h"
#include "common/errno.h"
#include "common/WorkQueue.h"
-#include <sstream>
#include <boost/bind.hpp>
-#include <boost/function.hpp>
-#include <boost/scope_exit.hpp>
#define dout_subsys ceph_subsys_rbd
#undef dout_prefix
#include "common/Mutex.h"
#include "common/RWLock.h"
#include "include/Context.h"
-#include "include/rados/librados.hpp"
#include "include/rbd/librbd.hpp"
#include "librbd/image_watcher/Notifier.h"
#include "librbd/WatchNotifyTypes.h"
#include <set>
#include <string>
#include <utility>
-#include <vector>
-#include <boost/function.hpp>
-#include "include/assert.h"
+#include <boost/variant.hpp>
class entity_name_t;
#include "common/errno.h"
#include "common/Timer.h"
#include "common/WorkQueue.h"
+#include "include/rados/librados.hpp"
+
#include <boost/scope_exit.hpp>
#define dout_subsys ceph_subsys_rbd
#include "include/atomic.h"
#include "include/Context.h"
#include "include/interval_set.h"
-#include "include/rados/librados.hpp"
#include "common/Mutex.h"
#include "journal/Future.h"
#include "journal/JournalMetadataListener.h"
#include "librbd/journal/Types.h"
#include "librbd/journal/TypeTraits.h"
#include <algorithm>
-#include <iosfwd>
#include <list>
#include <string>
#include <unordered_map>
-class Context;
class ContextWQ;
class SafeTimer;
namespace journal {
class Journaler;
}
+namespace librados {
+ class IoCtx;
+}
namespace librbd {
#include <queue>
-#include "include/Context.h"
-#include "include/types.h"
-#include "include/rados/librados.hpp"
+#include "common/snap_types.h"
#include "osd/osd_types.h"
#include "osdc/WritebackHandler.h"
class Mutex;
+class Context;
namespace librbd {
#include "librbd/MirroringWatcher.h"
#include "include/rbd_types.h"
+#include "include/rados/librados.hpp"
#include "common/errno.h"
#define dout_subsys ceph_subsys_rbd
#define CEPH_LIBRBD_MIRRORING_WATCHER_H
#include "include/int_types.h"
-#include "include/rados/librados.hpp"
#include "cls/rbd/cls_rbd_types.h"
#include "librbd/ImageCtx.h"
#include "librbd/ObjectWatcher.h"
#include "librbd/mirroring_watcher/Types.h"
+namespace librados {
+ class IoCtx;
+}
+
namespace librbd {
template <typename ImageCtxT = librbd::ImageCtx>
#include "librbd/ObjectMap.h"
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
-#include "librbd/ImageWatcher.h"
-#include "librbd/internal.h"
-#include "librbd/object_map/InvalidateRequest.h"
#include "librbd/object_map/RefreshRequest.h"
#include "librbd/object_map/ResizeRequest.h"
#include "librbd/object_map/SnapshotCreateRequest.h"
#include "common/dout.h"
#include "common/errno.h"
#include "common/WorkQueue.h"
+
+#include "include/rados/librados.hpp"
+
#include "cls/lock/cls_lock_client.h"
#include "cls/rbd/cls_rbd_types.h"
#include "include/stringify.h"
#include "include/int_types.h"
#include "include/fs_types.h"
-#include "include/rados/librados.hpp"
#include "include/rbd/object_map_types.h"
#include "common/bit_vector.hpp"
#include <boost/optional.hpp>
class Context;
class RWLock;
+namespace librados {
+ class IoCtx;
+}
namespace librbd {
#include "common/dout.h"
#include "common/errno.h"
#include "common/WorkQueue.h"
+
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
#include "librbd/ImageState.h"
#include "include/int_types.h"
-#include "include/rados/librados.hpp"
-
-#include "cls/rbd/cls_rbd_client.h"
#include "librbd/parent_types.h"
namespace librbd {
#ifndef LIBRBD_TASK_FINISHER_H
#define LIBRBD_TASK_FINISHER_H
-#include "include/int_types.h"
#include "include/Context.h"
#include "common/Finisher.h"
#include "common/Mutex.h"
#include <utility>
class CephContext;
-class Context;
namespace librbd {
#include "include/Context.h"
#include <type_traits>
-class Context;
-
namespace librbd {
class ImageCtx;
#include "common/ceph_context.h"
#include "common/dout.h"
#include "common/errno.h"
-#include "common/ContextCompletion.h"
#include "common/Throttle.h"
-#include "common/WorkQueue.h"
#include "common/event_socket.h"
#include "cls/lock/cls_lock_client.h"
#include "include/stringify.h"
#include "librbd/AioImageRequest.h"
#include "librbd/AioImageRequestWQ.h"
#include "librbd/AioObjectRequest.h"
-#include "librbd/CopyupRequest.h"
#include "librbd/DiffIterate.h"
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
#include "librbd/ImageState.h"
-#include "librbd/ImageWatcher.h"
#include "librbd/internal.h"
#include "librbd/Journal.h"
#include "librbd/journal/Types.h"
#include "journal/Journaler.h"
-#include <boost/bind.hpp>
#include <boost/scope_exit.hpp>
#include <boost/variant.hpp>
#include "include/assert.h"
#include <errno.h>
-#include "common/Cond.h"
#include "common/dout.h"
#include "common/errno.h"
-#include "common/snap_types.h"
-#include "common/perf_counters.h"
#include "common/TracepointProvider.h"
#include "include/Context.h"
-#include "osdc/ObjectCacher.h"
#include "librbd/AioCompletion.h"
#include "librbd/AioImageRequestWQ.h"