diff --git a/0004-src-common-ceph-time.h.patch b/0004-src-common-ceph-time.h.patch new file mode 100644 index 0000000..c8f7661 --- /dev/null +++ b/0004-src-common-ceph-time.h.patch @@ -0,0 +1,10 @@ +--- ceph-15.2.8/src/common/ceph_time.h.orig 2020-12-24 06:23:32.605762289 -0500 ++++ ceph-15.2.8/src/common/ceph_time.h 2020-12-24 13:50:14.304877611 -0500 +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + + #include "include/ceph_assert.h" diff --git a/0005-src-CMakeLists.txt.patch b/0005-src-CMakeLists.txt.patch new file mode 100644 index 0000000..0aecebd --- /dev/null +++ b/0005-src-CMakeLists.txt.patch @@ -0,0 +1,22 @@ +--- ceph-15.2.8/src/CMakeLists.txt.orig 2021-01-25 13:34:31.122206146 -0500 ++++ ceph-15.2.8/src/CMakeLists.txt 2021-01-25 13:37:12.863612216 -0500 +@@ -23,10 +23,16 @@ + set(datadir ${CEPH_INSTALL_DATADIR}) + set(prefix ${CMAKE_INSTALL_PREFIX}) + +-add_definitions("-DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS") +-add_definitions("-D_FILE_OFFSET_BITS=64") ++add_definitions(-DHAVE_CONFIG_H ++ -D__CEPH__ ++ -D_REENTRANT ++ -D_THREAD_SAFE ++ -D__STDC_FORMAT_MACROS ++ -D_FILE_OFFSET_BITS=64 ++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION ++ -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + if(LINUX) +- add_definitions("-D_GNU_SOURCE") ++ add_definitions(-D_GNU_SOURCE) + endif() + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") diff --git a/0006-src-rgw-rgw_asio_frontend.cc.patch b/0006-src-rgw-rgw_asio_frontend.cc.patch new file mode 100644 index 0000000..de47ac6 --- /dev/null +++ b/0006-src-rgw-rgw_asio_frontend.cc.patch @@ -0,0 +1,64 @@ +--- ceph-15.2.8/src/rgw/rgw_asio_frontend.cc.orig 2020-12-16 12:29:50.000000000 -0500 ++++ ceph-15.2.8/src/rgw/rgw_asio_frontend.cc 2021-01-04 18:20:49.156104233 -0500 +@@ -2,6 +2,7 @@ + // vim: ts=8 sw=2 smarttab ft=cpp + + #include ++#include + #include + #include + +@@ -138,6 +139,29 @@ + return out << h.quote << p->value() << h.quote; + } + ++// log fractional seconds in milliseconds ++struct log_ms_remainder { ++ ceph::coarse_real_time t; ++ log_ms_remainder(ceph::coarse_real_time t) : t(t) {} ++}; ++std::ostream& operator<<(std::ostream& out, const log_ms_remainder& m) { ++ using namespace std::chrono; ++ return out << std::setfill('0') << std::setw(3) ++ << duration_cast(m.t.time_since_epoch()).count() % 1000; ++} ++ ++// log time in apache format: day/month/year:hour:minute:second zone ++struct log_apache_time { ++ ceph::coarse_real_time t; ++ log_apache_time(ceph::coarse_real_time t) : t(t) {} ++}; ++std::ostream& operator<<(std::ostream& out, const log_apache_time& a) { ++ const auto t = ceph::coarse_real_clock::to_time_t(a.t); ++ const auto local = std::localtime(&t); ++ return out << std::put_time(local, "%d/%b/%Y:%T.") << log_ms_remainder{a.t} ++ << std::put_time(local, " %z"); ++}; ++ + using SharedMutex = ceph::async::SharedMutex; + + template +@@ -228,16 +252,20 @@ + RGWRestfulIO client(cct, &real_client_io); + auto y = optional_yield{context, yield}; + int http_ret = 0; ++ string user = "-"; ++ const auto started = ceph::coarse_real_clock::now(); ++ + process_request(env.store, env.rest, &req, env.uri_prefix, + *env.auth_registry, &client, env.olog, y, + scheduler, &http_ret); + + if (cct->_conf->subsys.should_gather(dout_subsys, 1)) { + // access log line elements begin per Apache Combined Log Format with additions following +- const auto now = ceph::coarse_real_clock::now(); +- using ceph::operator<<; // for coarse_real_time ++ // const auto now = ceph::coarse_real_clock::now(); ++ // using ceph::operator<<; // for coarse_real_time + ldout(cct, 1) << "beast: " << hex << &req << dec << ": " +- << remote_endpoint.address() << " - - [" << now << "] \"" ++ // << remote_endpoint.address() << " - - [" << now << "] \"" ++ << remote_endpoint.address() << " - " << user << " [" << log_apache_time{started} << "] \"" + << message.method_string() << ' ' << message.target() << ' ' + << http_version{message.version()} << "\" " << http_ret << ' ' + << client.get_bytes_sent() + client.get_bytes_received() << ' ' diff --git a/0007-src-tools-rbd-action-Bench.cc.patch b/0007-src-tools-rbd-action-Bench.cc.patch new file mode 100644 index 0000000..d0ced55 --- /dev/null +++ b/0007-src-tools-rbd-action-Bench.cc.patch @@ -0,0 +1,10 @@ +--- ceph-15.2.8/src/tools/rbd/action/Bench.cc.orig 2021-01-25 17:08:06.189223814 -0500 ++++ ceph-15.2.8/src/tools/rbd/action/Bench.cc 2021-01-25 17:08:27.297805754 -0500 +@@ -10,6 +10,7 @@ + #include "include/types.h" + #include "global/signal_handler.h" + #include ++#include + #include + #include + #include