// vim: ts=8 sw=2 smarttab
#include "common.h"
+#include "common/Clock.h" // for ceph_clock_now()
#include "log/Log.h"
#include <shared_mutex> // for std::shared_lock
*/
#include "common.h"
+#include "common/Clock.h" // for ceph_clock_now()
#include "log/Log.h"
#include <boost/optional.hpp>
#include "common/debug.h"
#include "common/errno.h"
#include "common/WorkQueue.h"
+#include "include/rados.h" // for EBLOCKLISTED
#include "include/stringify.h"
#include "aio_utils.h"
#include "watcher/RewatchRequest.h"
#include "common/debug.h"
#include "common/errno.h"
#include "include/Context.h"
+#include "include/rados.h" // for EBLOCKLISTED
#include "tools/cephfs_mirror/aio_utils.h"
#include "RewatchRequest.h"
using namespace libradosstriper;
#endif
+#include "common/Clock.h" // for ceph_clock_now()
#include "common/config.h"
#include "common/ceph_argparse.h"
#include "global/global_init.h"
#include <iostream> // for std::cerr
+#include "include/encoding.h"
+#include "include/int_types.h" // for __u32
#include "include/types.h"
#include "include/rados/librados.hpp"
#include "tools/rbd/ArgumentTypes.h"
#include "tools/rbd/Shell.h"
#include "tools/rbd/Utils.h"
+#include "common/ceph_time.h" // for coarse_mono_time()
#include "common/errno.h"
#include "common/strtol.h"
#include "common/ceph_mutex.h"
#include "tools/rbd/Utils.h"
#include "include/types.h"
#include "common/errno.h"
+#include "include/rados.h" // for CEPH_NOSNAP
#include <iostream>
#include <boost/program_options.hpp>
#include "tools/rbd/ArgumentTypes.h"
#include "tools/rbd/Shell.h"
#include "tools/rbd/Utils.h"
+#include "include/rados.h" // for CEPH_NOSNAP
#include "include/types.h"
#include "include/stringify.h"
#include "common/errno.h"
#include "tools/rbd/ArgumentTypes.h"
#include "tools/rbd/Shell.h"
#include "tools/rbd/Utils.h"
-#include "include/types.h"
+#include "include/rbd_types.h" // for RBD_GROUP_INVALID_POOL
#include "include/stringify.h"
+#include "include/types.h" // for byte_u_t
#include "common/errno.h"
#include "common/Formatter.h"
#include <iostream>
#include "common/ceph_json.h"
#include "common/errno.h"
#include "common/safe_io.h"
+#include "include/rbd_types.h" // for RBD_DIRECTORY
#include "include/stringify.h"
#include <fstream>
#include <sstream>
#include "tools/rbd/ArgumentTypes.h"
#include "tools/rbd/Shell.h"
#include "tools/rbd/Utils.h"
-#include "include/types.h"
+#include "include/rados.h" // for CEPH_NOSNAP
#include "include/stringify.h"
+#include "include/types.h" // for byte_u_t
#include "common/errno.h"
#include "common/Formatter.h"
#include "common/TextTable.h"
#include "tools/rbd/Utils.h"
#include "include/rbd_types.h"
#include "include/stringify.h"
+#include "include/types.h" // for byte_u_t
#include "librbd/cache/Types.h"
#include <iostream>
#include <boost/program_options.hpp>
#include "common/admin_socket.h"
#include "common/debug.h"
#include "common/errno.h"
+#include "include/intarith.h" // for p2roundup()
#include "journal/Types.h"
#include "librbd/ImageCtx.h"
#include "perfglue/heap_profiler.h"
#include "common/Formatter.h"
#include "common/debug.h"
#include "common/errno.h"
+#include "include/types.h" // for operator<<(std::pair)
#include "librbd/Utils.h"
#define dout_context g_ceph_context
#include "tools/rbd_mirror/image_deleter/TrashMoveRequest.h"
#include "include/rbd_types.h"
#include "cls/rbd/cls_rbd_client.h"
+#include "common/Clock.h" // for ceph_clock_now()
#include "common/debug.h"
#include "common/errno.h"
#include "common/WorkQueue.h"
// vim: ts=8 sw=2 smarttab
#include "Replayer.h"
+#include "common/Clock.h" // for ceph_clock_now()
#include "common/debug.h"
#include "common/errno.h"
#include "common/perf_counters.h"
*
*/
-#include "include/types.h"
+#include "include/rados.h" // for CEPH_OSD_CMPXATTR_OP_EQ
#include "include/rados/librados.hpp"
using namespace librados;