summaryrefslogtreecommitdiff
path: root/repo/ceph
diff options
context:
space:
mode:
Diffstat (limited to 'repo/ceph')
-rw-r--r--repo/ceph/10-musl-fixes.patch15
-rw-r--r--repo/ceph/11-dump_time_header_impl.patch34
-rw-r--r--repo/ceph/11-parse_rfc1123_alt.patch53
-rw-r--r--repo/ceph/11-s3_expiration_header.patch30
-rw-r--r--repo/ceph/12-package.json-resolutions.patch31
-rw-r--r--repo/ceph/20-pci.patch63
-rw-r--r--repo/ceph/30-32bit_fix.patch.noauto110
-rw-r--r--repo/ceph/30-cypress.patch.noauto14
-rw-r--r--repo/ceph/30-ubuntu-32bit-fixes.patch.noauto137
-rw-r--r--repo/ceph/31-32bit_fix_tests.patch.noauto66
-rw-r--r--repo/ceph/32-PurgeQueue.cc-cast.patch85
-rw-r--r--repo/ceph/32-upstream32bit.patch92
-rw-r--r--repo/ceph/32-upstream32bitcleanup.patch143
-rw-r--r--repo/ceph/35-fix_ErasureCodeShec.patch17
-rw-r--r--repo/ceph/37-fix_tests.patch86
-rw-r--r--repo/ceph/42-no-virtualenvs.patch71
-rw-r--r--repo/ceph/43-LogClock.h.patch18
-rw-r--r--repo/ceph/44-aarch64-erasure.patch129
-rw-r--r--repo/ceph/44-cmake-buildtype.patch38
-rw-r--r--repo/ceph/44-missing-include.patch16
-rw-r--r--repo/ceph/44-staticcast.patch13
-rw-r--r--repo/ceph/ceph-user.pre-install5
-rw-r--r--repo/ceph/ceph.confd17
-rw-r--r--repo/ceph/ceph.initd118
-rw-r--r--repo/ceph/ceph.xibuild120
25 files changed, 0 insertions, 1521 deletions
diff --git a/repo/ceph/10-musl-fixes.patch b/repo/ceph/10-musl-fixes.patch
deleted file mode 100644
index 1b7c907..0000000
--- a/repo/ceph/10-musl-fixes.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-fix for musl
-
-diff -Nurp a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc
---- a/src/tools/rbd_nbd/rbd-nbd.cc 2020-11-21 08:06:35.834423310 +0000
-+++ b/src/tools/rbd_nbd/rbd-nbd.cc 2020-11-21 08:21:12.067978842 +0000
-@@ -576,7 +576,8 @@ private:
- for (unsigned i = 0; i < cmdline.size(); i++) {
- char *arg = &cmdline[i];
- if (i == 0) {
-- if (strcmp(basename(arg) , "rbd-nbd") != 0) {
-+ const char *fname = strrchr(arg, '/');
-+ if (strcmp(fname ? fname+1 : arg, "rbd-nbd") != 0) {
- return -EINVAL;
- }
- } else {
diff --git a/repo/ceph/11-dump_time_header_impl.patch b/repo/ceph/11-dump_time_header_impl.patch
deleted file mode 100644
index d19e7ed..0000000
--- a/repo/ceph/11-dump_time_header_impl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Patch by Robin Mueller
-
-The strftime method of the libmusl writes 'UTC' instead of 'GMT' when
-the character Z is used in the format pattern, and it looks like the
-S3 clients don't like 'UTC' in the date strings.
-
-This patch replaces 'UTC' with 'GMT' at the relevant location.
-
---- a/src/rgw/rgw_rest.cc 2021-07-08 16:03:56.000000000 +0200
-+++ b/src/rgw/rgw_rest.cc 2021-08-19 09:48:30.339492024 +0200
-@@ -436,8 +436,21 @@
- return 0;
- }
-
-- return strftime(timestr, sizeof(timestr),
-- "%a, %d %b %Y %H:%M:%S %Z", tmp);
-+ size_t len = strftime(timestr, sizeof(timestr),
-+ "%a, %d %b %Y %H:%M:%S %Z", tmp);
-+
-+ int position = 0;
-+ while (timestr[position] != 'U' && len - position > 3)
-+ position++;
-+
-+ if (len - position == 3) {
-+ char substr[4];
-+ memcpy(substr, &timestr[position], 4);
-+
-+ if (strcmp(substr, "UTC") == 0)
-+ memcpy(&timestr[position], "GMT", 3);
-+ }
-+ return len;
- }
-
- void dump_time_header(struct req_state *s, const char *name, real_time t)
diff --git a/repo/ceph/11-parse_rfc1123_alt.patch b/repo/ceph/11-parse_rfc1123_alt.patch
deleted file mode 100644
index 5b54c4e..0000000
--- a/repo/ceph/11-parse_rfc1123_alt.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Patch by Robin Mueller
-
-libmusl doesn't support the z character in the format pattern for strptime this
-is a special functionality of glibc.
-
-patch is slightly adapted version of glibc code:
-https://elixir.bootlin.com/glibc/latest/source/time/strptime_l.c#L776
-
---- a/src/rgw/rgw_common.cc 2021-07-08 16:03:56.000000000 +0200
-+++ b/src/rgw/rgw_common.cc 2021-08-18 13:08:22.938903459 +0200
-@@ -531,7 +531,41 @@
- {
- // FIPS zeroization audit 20191115: this memset is not security related.
- memset(t, 0, sizeof(*t));
-- return check_str_end(strptime(s, "%a, %d %b %Y %H:%M:%S %z", t));
-+ s = strptime(s, "%a, %d %b %Y %H:%M:%S", t);
-+ if (s) {
-+ s++;
-+ int val;
-+ val = 0;
-+ while (isspace(*s))
-+ ++s;
-+ if (*s == 'Z') {
-+ ++s;
-+ t->tm_gmtoff = 0;
-+ } else {
-+ if (*s != '+' && *s != '-')
-+ return 0;
-+ bool neg = *s++ == '-';
-+ int n = 0;
-+ while (n < 4 && *s >= '0' && *s <= '9') {
-+ val = val * 10 + *s++ - '0';
-+ ++n;
-+ if (*s == ':' && n == 2 && isdigit (*(s + 1)))
-+ ++s;
-+ }
-+ if (n == 2)
-+ val *= 100;
-+ else if (n != 4)
-+ /* Only two or four digits recognized. */
-+ return 0;
-+ else if (val % 100 >= 60)
-+ /* Minutes valid range is 0 through 59. */
-+ return 0;
-+ t->tm_gmtoff = (val / 100) * 3600 + (val % 100) * 60;
-+ if (neg)
-+ t->tm_gmtoff = -t->tm_gmtoff;
-+ }
-+ }
-+ return check_str_end(s);
- }
-
- bool parse_rfc2616(const char *s, struct tm *t)
diff --git a/repo/ceph/11-s3_expiration_header.patch b/repo/ceph/11-s3_expiration_header.patch
deleted file mode 100644
index ac12a83..0000000
--- a/repo/ceph/11-s3_expiration_header.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch by Robin Mueller
-
-Fix musl date handling
-
---- a/src/rgw/rgw_lc.cc 2021-09-16 16:27:19.000000000 +0200
-+++ b/src/rgw/rgw_lc.cc 2021-10-01 09:17:06.996639952 +0200
-@@ -2238,8 +2238,21 @@
- // Fri, 23 Dec 2012 00:00:00 GMT
- char exp_buf[100];
- time_t exp = ceph::real_clock::to_time_t(*expiration_date);
-- if (std::strftime(exp_buf, sizeof(exp_buf),
-- "%a, %d %b %Y %T %Z", std::gmtime(&exp))) {
-+ std::size_t len = std::strftime(exp_buf, sizeof(exp_buf), "%a, %d %b %Y %T %Z", std::gmtime(&exp));
-+
-+ if (len) {
-+ int position = 0;
-+ while (exp_buf[position] != 'U' && len - position > 3)
-+ position++;
-+
-+ if (len - position == 3) {
-+ char substr[4];
-+ memcpy(substr, &exp_buf[position], 4);
-+
-+ if (strcmp(substr, "UTC") == 0)
-+ memcpy(&exp_buf[position], "GMT", 3);
-+ }
-+
- hdr = fmt::format("expiry-date=\"{0}\", rule-id=\"{1}\"", exp_buf,
- *rule_id);
- } else {
diff --git a/repo/ceph/12-package.json-resolutions.patch b/repo/ceph/12-package.json-resolutions.patch
deleted file mode 100644
index ddc4ea2..0000000
--- a/repo/ceph/12-package.json-resolutions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -76,7 +76,7 @@
-
- add_npm_command(
- OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules"
-- COMMAND CYPRESS_CACHE_FOLDER=${CMAKE_SOURCE_DIR}/build/src/pybind/mgr/dashboard/cypress NG_CLI_ANALYTICS=false npm ci ${mgr-dashboard-userconfig}
-+ COMMAND CYPRESS_CACHE_FOLDER=${CMAKE_SOURCE_DIR}/build/src/pybind/mgr/dashboard/cypress NG_CLI_ANALYTICS=false yarn install --network-timeout 600000 --frozen-lockfile ${mgr-dashboard-userconfig}
- DEPENDS frontend/package.json
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
- COMMENT "dashboard frontend dependencies are being installed"
-@@ -119,7 +119,7 @@
-
- add_npm_command(
- OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/dist"
-- COMMAND DASHBOARD_FRONTEND_LANGS="${DASHBOARD_FRONTEND_LANGS}" npm run build:localize -- ${npm_args}
-+ COMMAND DASHBOARD_FRONTEND_LANGS="${DASHBOARD_FRONTEND_LANGS}" yarn run build:localize ${npm_args}
- DEPENDS ${frontend_src} frontend/node_modules
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
- COMMENT "dashboard frontend is being created"
---- a/src/pybind/mgr/dashboard/frontend/package.json
-+++ b/src/pybind/mgr/dashboard/frontend/package.json
-@@ -142,8 +142,5 @@
- "ts-node": "9.0.0",
- "tslint": "6.1.3",
- "typescript": "4.1.6"
-- },
-- "resolutions": {
-- "fsevents": "2.1.3"
- }
- }
diff --git a/repo/ceph/20-pci.patch b/repo/ceph/20-pci.patch
deleted file mode 100644
index c16e276..0000000
--- a/repo/ceph/20-pci.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Musl patch for pci
-
-diff -Nurp a/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c b/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c
---- a/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c 2020-11-21 13:07:44.255206657 +0000
-+++ b/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c 2020-11-21 13:04:06.488285583 +0000
-@@ -14,6 +14,32 @@
-
- #if defined(RTE_ARCH_X86)
- #include <sys/io.h>
-+#if defined(__GLIBC__)
-+#define pci_uio_outl_p outl_p
-+#define pci_uio_outw_p outw_p
-+#define pci_uio_outb_p outb_p
-+#else
-+static inline void
-+pci_uio_outl_p(unsigned int value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+
-+static inline void
-+pci_uio_outw_p(unsigned short int value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+
-+static inline void
-+pci_uio_outb_p(unsigned char value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+#endif
- #endif
-
- #include <rte_string_fns.h>
-@@ -528,21 +554,21 @@ pci_uio_ioport_write(struct rte_pci_iopo
- if (len >= 4) {
- size = 4;
- #if defined(RTE_ARCH_X86)
-- outl_p(*(const uint32_t *)s, reg);
-+ pci_uio_outl_p(*(const uint32_t *)s, reg);
- #else
- *(volatile uint32_t *)reg = *(const uint32_t *)s;
- #endif
- } else if (len >= 2) {
- size = 2;
- #if defined(RTE_ARCH_X86)
-- outw_p(*(const uint16_t *)s, reg);
-+ pci_uio_outw_p(*(const uint16_t *)s, reg);
- #else
- *(volatile uint16_t *)reg = *(const uint16_t *)s;
- #endif
- } else {
- size = 1;
- #if defined(RTE_ARCH_X86)
-- outb_p(*s, reg);
-+ pci_uio_outb_p(*s, reg);
- #else
- *(volatile uint8_t *)reg = *s;
- #endif
diff --git a/repo/ceph/30-32bit_fix.patch.noauto b/repo/ceph/30-32bit_fix.patch.noauto
deleted file mode 100644
index aba21d6..0000000
--- a/repo/ceph/30-32bit_fix.patch.noauto
+++ /dev/null
@@ -1,110 +0,0 @@
-32bit specific patches
-
-diff -uNr ceph-15.2.4/src/client/Client.cc ceph-15.2.4-arm32_fix/src/client/Client.cc
---- ceph-15.2.4/src/client/Client.cc 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-arm32_fix/src/client/Client.cc 2020-11-21 22:11:16.061796876 +1030
-@@ -10948,7 +10948,7 @@
- ldout(cct, 20) << __func__ << " " << in << " " << in->ino << " -> " << in->ll_ref << dendl;
- }
-
--int Client::_ll_put(Inode *in, uint64_t num)
-+int Client::_ll_put(Inode *in, size_t num)
- {
- in->ll_put(num);
- ldout(cct, 20) << __func__ << " " << in << " " << in->ino << " " << num << " -> " << in->ll_ref << dendl;
-@@ -10989,7 +10989,7 @@
- }
- }
-
--bool Client::_ll_forget(Inode *in, uint64_t count)
-+bool Client::_ll_forget(Inode *in, size_t count)
- {
- inodeno_t ino = in->ino;
-
-@@ -11018,7 +11018,7 @@
- return last;
- }
-
--bool Client::ll_forget(Inode *in, uint64_t count)
-+bool Client::ll_forget(Inode *in, size_t count)
- {
- std::lock_guard lock(client_lock);
- return _ll_forget(in, count);
-diff -uNr ceph-15.2.4/src/mds/PurgeQueue.h ceph-15.2.4-arm32_fix/src/mds/PurgeQueue.h
---- ceph-15.2.4/src/mds/PurgeQueue.h 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-arm32_fix/src/mds/PurgeQueue.h 2020-11-21 22:11:16.065796889 +1030
-@@ -219,6 +219,6 @@
- size_t purge_item_journal_size;
-
- uint64_t ops_high_water = 0;
-- uint64_t files_high_water = 0;
-+ size_t files_high_water = 0;
- };
- #endif
-diff -uNr ceph-15.2.4/src/test/common/test_json_formattable.cc ceph-15.2.4-arm32_fix/src/test/common/test_json_formattable.cc
---- ceph-15.2.4/src/test/common/test_json_formattable.cc 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-arm32_fix/src/test/common/test_json_formattable.cc 2020-11-21 22:11:16.065796889 +1030
-@@ -371,7 +371,7 @@
-
- struct2() {
- void *p = (void *)this;
-- long i = (long)p;
-+ unsigned long i = (unsigned long)p;
- v.resize((i >> 16) % 16 + 1);
- }
-
-diff -uNr ceph-15.2.4/src/test/libcephfs/ceph_pthread_self.h ceph-15.2.4-arm32_fix/src/test/libcephfs/ceph_pthread_self.h
---- ceph-15.2.4/src/test/libcephfs/ceph_pthread_self.h 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-arm32_fix/src/test/libcephfs/ceph_pthread_self.h 2020-11-21 22:11:16.066796893 +1030
-@@ -25,7 +25,7 @@
- static_assert(std::is_convertible_v<decltype(me), uint64_t> ||
- std::is_pointer_v<decltype(me)>,
- "we need to use pthread_self() for the owner parameter");
-- return reinterpret_cast<uint64_t>(me);
-+ return reinterpret_cast<uint64_t>((uint64_t) me);
- }
-
- #endif
-diff -uNr ceph-15.2.4/src/test/rbd_mirror/image_deleter/test_mock_TrashWatcher.cc ceph-15.2.4-arm32_fix/src/test/rbd_mirror/image_deleter/test_mock_TrashWatcher.cc
---- ceph-15.2.4/src/test/rbd_mirror/image_deleter/test_mock_TrashWatcher.cc 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-arm32_fix/src/test/rbd_mirror/image_deleter/test_mock_TrashWatcher.cc 2020-11-21 22:11:16.066796893 +1030
-@@ -162,7 +162,7 @@
- int r) {
- bufferlist bl;
- encode(last_image_id, bl);
-- encode(static_cast<size_t>(1024), bl);
-+ encode(static_cast<uint64_t>(1024), bl);
-
- bufferlist out_bl;
- encode(images, out_bl);
-diff -Nurp a/src/client/Client.h b/src/client/Client.h
---- a/src/client/Client.h
-+++ b/src/client/Client.h
-@@ -525,7 +525,7 @@
- int ll_lookupx(Inode *parent, const char *name, Inode **out,
- struct ceph_statx *stx, unsigned want, unsigned flags,
- const UserPerm& perms);
-- bool ll_forget(Inode *in, uint64_t count);
-+ bool ll_forget(Inode *in, size_t count);
- bool ll_put(Inode *in);
- int ll_get_snap_ref(snapid_t snap);
-
-@@ -1241,7 +1241,7 @@
- void _fragmap_remove_stopped_mds(Inode *in, mds_rank_t mds);
-
- void _ll_get(Inode *in);
-- int _ll_put(Inode *in, uint64_t num);
-+ int _ll_put(Inode *in, size_t num);
- void _ll_drop_pins();
-
- Fh *_create_fh(Inode *in, int flags, int cmode, const UserPerm& perms);
-@@ -1405,7 +1405,7 @@
- int _lookup_parent(Inode *in, const UserPerm& perms, Inode **parent=NULL);
- int _lookup_name(Inode *in, Inode *parent, const UserPerm& perms);
- int _lookup_vino(vinodeno_t ino, const UserPerm& perms, Inode **inode=NULL);
-- bool _ll_forget(Inode *in, uint64_t count);
-+ bool _ll_forget(Inode *in, size_t count);
-
- void collect_and_send_metrics();
- void collect_and_send_global_metrics();
-
diff --git a/repo/ceph/30-cypress.patch.noauto b/repo/ceph/30-cypress.patch.noauto
deleted file mode 100644
index fecf055..0000000
--- a/repo/ceph/30-cypress.patch.noauto
+++ /dev/null
@@ -1,14 +0,0 @@
-remove cypress as not availiable on 32bit platforms
-
-diff -Nurp a/src/pybind/mgr/dashboard/frontend/package.json b/src/pybind/mgr/dashboard/frontend/package.json
---- a/src/pybind/mgr/dashboard/frontend/package.json 2021-04-03 08:58:07.611941559 +0100
-+++ b/src/pybind/mgr/dashboard/frontend/package.json 2021-04-03 08:59:13.903122038 +0100
-@@ -119,8 +119,6 @@
- "@types/node": "12.12.62",
- "@types/simplebar": "5.1.1",
- "codelyzer": "6.0.1",
-- "cypress": "5.3.0",
-- "cypress-multi-reporters": "1.4.0",
- "html-linter": "1.1.1",
- "htmllint-cli": "0.0.7",
- "identity-obj-proxy": "3.0.0",
diff --git a/repo/ceph/30-ubuntu-32bit-fixes.patch.noauto b/repo/ceph/30-ubuntu-32bit-fixes.patch.noauto
deleted file mode 100644
index 9b9318d..0000000
--- a/repo/ceph/30-ubuntu-32bit-fixes.patch.noauto
+++ /dev/null
@@ -1,137 +0,0 @@
-Description: Misc fixes for 32 bit architecture builds.
-Author: James Page <james.page@ubuntu.com>
-Forwarded: no
-
---- a/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc
-+++ b/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc
-@@ -235,7 +235,8 @@ bool Replayer<I>::get_replay_status(std:
-
- json_spirit::mObject root_obj;
- root_obj["replay_state"] = replay_state;
-- root_obj["remote_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
-+ root_obj["remote_snapshot_timestamp"] = static_cast<uint64_t>(
-+ remote_snap_info->timestamp.sec());
-
- auto matching_remote_snap_id = util::compute_remote_snap_id(
- m_state_builder->local_image_ctx->image_lock,
-@@ -249,8 +250,8 @@ bool Replayer<I>::get_replay_status(std:
- // use the timestamp from the matching remote image since
- // the local snapshot would just be the time the snapshot was
- // synced and not the consistency point in time.
-- root_obj["local_snapshot_timestamp"] =
-- matching_remote_snap_it->second.timestamp.sec();
-+ root_obj["local_snapshot_timestamp"] = static_cast<uint64_t>(
-+ matching_remote_snap_it->second.timestamp.sec());
- }
-
- matching_remote_snap_it = m_state_builder->remote_image_ctx->snap_info.find(
-@@ -258,7 +259,8 @@ bool Replayer<I>::get_replay_status(std:
- if (m_remote_snap_id_end != CEPH_NOSNAP &&
- matching_remote_snap_it !=
- m_state_builder->remote_image_ctx->snap_info.end()) {
-- root_obj["syncing_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
-+ root_obj["syncing_snapshot_timestamp"] = static_cast<uint64_t>(
-+ remote_snap_info->timestamp.sec());
- root_obj["syncing_percent"] = static_cast<uint64_t>(
- 100 * m_local_mirror_snap_ns.last_copied_object_number /
- static_cast<float>(std::max<uint64_t>(1U, m_local_object_count)));
---- a/src/s3select/include/s3select_functions.h
-+++ b/src/s3select/include/s3select_functions.h
-@@ -585,7 +585,7 @@ struct _fn_diff_timestamp : public base_
- {
- boost::gregorian::date_period dp =
- boost::gregorian::date_period( val_dt1.timestamp()->date(), val_dt2.timestamp()->date());
-- result->set_value( dp.length().days() );
-+ result->set_value( (int64_t)dp.length().days() );
- }
- else if (strcmp(val_date_part.str(), "hours") == 0)
- {
---- a/src/os/bluestore/BlueFS.cc
-+++ b/src/os/bluestore/BlueFS.cc
-@@ -3744,11 +3744,11 @@ int BlueFS::do_replay_recovery_read(File
-
- size_t BlueFS::probe_alloc_avail(int dev, uint64_t alloc_size)
- {
-- size_t total = 0;
-- auto iterated_allocation = [&](size_t off, size_t len) {
-+ uint64_t total = 0;
-+ auto iterated_allocation = [&](uint64_t off, uint64_t len) {
- //only count in size that is alloc_size aligned
-- size_t dist_to_alignment;
-- size_t offset_in_block = off & (alloc_size - 1);
-+ uint64_t dist_to_alignment;
-+ uint64_t offset_in_block = off & (alloc_size - 1);
- if (offset_in_block == 0)
- dist_to_alignment = 0;
- else
---- a/src/tools/neorados.cc
-+++ b/src/tools/neorados.cc
-@@ -146,7 +146,7 @@ void create(R::RADOS& r, const std::vect
- obj, pname));
- }
-
--inline constexpr std::size_t io_size = 4 << 20;
-+inline constexpr std::uint64_t io_size = 4 << 20;
-
- void write(R::RADOS& r, const std::vector<std::string>& p, s::yield_context y)
- {
-@@ -156,7 +156,7 @@ void write(R::RADOS& r, const std::vecto
-
- bs::error_code ec;
- std::unique_ptr<char[]> buf = std::make_unique<char[]>(io_size);
-- std::size_t off = 0;
-+ std::uint64_t off = 0;
- boost::io::ios_exception_saver ies(std::cin);
-
- std::cin.exceptions(std::istream::badbit);
-@@ -203,7 +203,7 @@ void read(R::RADOS& r, const std::vector
- obj, pname));
- }
-
-- std::size_t off = 0;
-+ std::uint64_t off = 0;
- ceph::buffer::list bl;
- while (auto toread = std::max(len - off, io_size)) {
- R::ReadOp op;
---- a/src/tools/cephfs_mirror/FSMirror.cc
-+++ b/src/tools/cephfs_mirror/FSMirror.cc
-@@ -334,7 +334,7 @@ void FSMirror::handle_acquire_directory(
- std::scoped_lock locker(m_lock);
- m_directories.emplace(dir_path);
- m_service_daemon->add_or_update_fs_attribute(m_filesystem.fscid, SERVICE_DAEMON_DIR_COUNT_KEY,
-- m_directories.size());
-+ static_cast<uint64_t>(m_directories.size()));
-
- for (auto &[peer, peer_replayer] : m_peer_replayers) {
- dout(10) << ": peer=" << peer << dendl;
-@@ -352,7 +352,7 @@ void FSMirror::handle_release_directory(
- if (it != m_directories.end()) {
- m_directories.erase(it);
- m_service_daemon->add_or_update_fs_attribute(m_filesystem.fscid, SERVICE_DAEMON_DIR_COUNT_KEY,
-- m_directories.size());
-+ static_cast<uint64_t>(m_directories.size()));
- for (auto &[peer, peer_replayer] : m_peer_replayers) {
- dout(10) << ": peer=" << peer << dendl;
- peer_replayer->remove_directory(dir_path);
---- a/src/librbd/object_map/DiffRequest.cc
-+++ b/src/librbd/object_map/DiffRequest.cc
-@@ -175,7 +175,7 @@ void DiffRequest<I>::handle_load_object_
- m_object_map.resize(num_objs);
- }
-
-- size_t prev_object_diff_state_size = m_object_diff_state->size();
-+ uint64_t prev_object_diff_state_size = m_object_diff_state->size();
- if (prev_object_diff_state_size < num_objs) {
- // the diff state should be the largest of all snapshots in the set
- m_object_diff_state->resize(num_objs);
---- a/src/SimpleRADOSStriper.cc
-+++ b/src/SimpleRADOSStriper.cc
-@@ -140,7 +140,7 @@ int SimpleRADOSStriper::remove()
- return 0;
- }
-
--int SimpleRADOSStriper::truncate(uint64_t size)
-+int SimpleRADOSStriper::truncate(size_t size)
- {
- d(5) << size << dendl;
-
diff --git a/repo/ceph/31-32bit_fix_tests.patch.noauto b/repo/ceph/31-32bit_fix_tests.patch.noauto
deleted file mode 100644
index 939c550..0000000
--- a/repo/ceph/31-32bit_fix_tests.patch.noauto
+++ /dev/null
@@ -1,66 +0,0 @@
---- a/src/test/objectstore/test_bdev.cc
-+++ b/src/test/objectstore/test_bdev.cc
-@@ -54,8 +54,8 @@
- BlockDevice::create(g_ceph_context, bdev.path, NULL, NULL,
- [](void* handle, void* aio) {}, NULL));
- bufferlist bl;
-- // writing a bit less than 4GB
-- for (auto i = 0; i < 4000; i++) {
-+ // writing a bit less than 1GB
-+ for (auto i = 0; i < 1000; i++) {
- string s(1048576, 'a' + (i % 28));
- bl.append(s);
- }
---- a/src/test/objectstore/test_bluefs.cc
-+++ b/src/test/objectstore/test_bluefs.cc
-@@ -237,7 +237,7 @@
- }
-
- TEST(BlueFS, very_large_write) {
-- // we'll write a ~5G file, so allocate more than that for the whole fs
-+ // we'll write a ~1G file, so allocate more than that for the whole fs
- uint64_t size = 1048576 * 1024 * 6ull;
- TempBdev bdev{size};
- BlueFS fs(g_ceph_context);
-@@ -260,12 +260,12 @@
- BlueFS::FileWriter *h;
- ASSERT_EQ(0, fs.mkdir("dir"));
- ASSERT_EQ(0, fs.open_for_write("dir", "bigfile", &h, false));
-- for (unsigned i = 0; i < 3*1024*1048576ull / sizeof(buf); ++i) {
-+ for (unsigned i = 0; i < 1*1024*1048576ull / sizeof(buf); ++i) {
- h->append(buf, sizeof(buf));
- total_written += sizeof(buf);
- }
- fs.fsync(h);
-- for (unsigned i = 0; i < 2*1024*1048576ull / sizeof(buf); ++i) {
-+ for (unsigned i = 0; i < 1*1024*1048576ull / sizeof(buf); ++i) {
- h->append(buf, sizeof(buf));
- total_written += sizeof(buf);
- }
-@@ -278,7 +278,7 @@
- bufferlist bl;
- BlueFS::FileReaderBuffer readbuf(10485760);
- ASSERT_EQ(h->file->fnode.size, total_written);
-- for (unsigned i = 0; i < 3*1024*1048576ull / sizeof(buf); ++i) {
-+ for (unsigned i = 0; i < 1*1024*1048576ull / sizeof(buf); ++i) {
- bl.clear();
- fs.read(h, &readbuf, i * sizeof(buf), sizeof(buf), &bl, NULL);
- int r = memcmp(buf, bl.c_str(), sizeof(buf));
-@@ -288,7 +288,7 @@
- }
- ASSERT_EQ(0, r);
- }
-- for (unsigned i = 0; i < 2*1024*1048576ull / sizeof(buf); ++i) {
-+ for (unsigned i = 0; i < 1*1024*1048576ull / sizeof(buf); ++i) {
- bl.clear();
- fs.read(h, &readbuf, i * sizeof(buf), sizeof(buf), &bl, NULL);
- int r = memcmp(buf, bl.c_str(), sizeof(buf));
-@@ -313,7 +313,7 @@
- }
-
- TEST(BlueFS, very_large_write2) {
-- // we'll write a ~5G file, so allocate more than that for the whole fs
-+ // we'll write a ~1G file, so allocate more than that for the whole fs
- uint64_t size_full = 1048576 * 1024 * 6ull;
- uint64_t size = 1048576 * 1024 * 5ull;
- TempBdev bdev{ size_full };
diff --git a/repo/ceph/32-PurgeQueue.cc-cast.patch b/repo/ceph/32-PurgeQueue.cc-cast.patch
deleted file mode 100644
index 19a0719..0000000
--- a/repo/ceph/32-PurgeQueue.cc-cast.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Submitted as: https://github.com/ceph/ceph/pull/41235
-
-commit 953e7dc0f911f84a4bb377aee45b22e2ffad6867
-Author: Duncan Bellamy <dunk@denkimushi.com>
-Date: Sat May 8 11:52:35 2021 +0100
-
- mds: PurgeQueue.cc add static cast for 32bit compilation
-
- files_high_water is defined as uint64_t but when compiling on 32bit these max functions
- fail as they are both not considered uint64_t by gcc 10 even though they are
-
- files_high_water = std::max(files_high_water,
- static_cast<uint64_t>(in_flight.size()));
-
- Fixes: https://tracker.ceph.com/issues/50707
-
- Signed-off-by: Duncan Bellamy <dunk@denkimushi.com>
-
-diff --git a/src/mds/PurgeQueue.cc b/src/mds/PurgeQueue.cc
-index 977be2c118..3104a3ccc4 100644
---- a/src/mds/PurgeQueue.cc
-+++ b/src/mds/PurgeQueue.cc
-@@ -7,9 +7,9 @@
- *
- * 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
-+ * License version 2.1, as published by the Free Software
- * Foundation. See file COPYING.
-- *
-+ *
- */
-
- #include "common/debug.h"
-@@ -594,8 +594,8 @@ void PurgeQueue::_execute_item(
-
- in_flight[expire_to] = item;
- logger->set(l_pq_executing, in_flight.size());
-- files_high_water = std::max(files_high_water,
-- static_cast<uint64_t>(in_flight.size()));
-+ files_high_water = std::max<uint64_t>(files_high_water,
-+ in_flight.size());
- logger->set(l_pq_executing_high_water, files_high_water);
- auto ops = _calculate_ops(item);
- ops_in_flight += ops;
-@@ -662,8 +662,8 @@ void PurgeQueue::_execute_item(
- logger->set(l_pq_executing_ops_high_water, ops_high_water);
- in_flight.erase(expire_to);
- logger->set(l_pq_executing, in_flight.size());
-- files_high_water = std::max(files_high_water,
-- static_cast<uint64_t>(in_flight.size()));
-+ files_high_water = std::max<uint64_t>(files_high_water,
-+ in_flight.size());
- logger->set(l_pq_executing_high_water, files_high_water);
- return;
- }
-@@ -716,19 +716,19 @@ void PurgeQueue::_execute_item_complete(
-
- in_flight.erase(iter);
- logger->set(l_pq_executing, in_flight.size());
-- files_high_water = std::max(files_high_water,
-- static_cast<uint64_t>(in_flight.size()));
-+ files_high_water = std::max<uint64_t>(files_high_water,
-+ in_flight.size());
- logger->set(l_pq_executing_high_water, files_high_water);
- dout(10) << "in_flight.size() now " << in_flight.size() << dendl;
-
-- uint64_t write_pos = journaler.get_write_pos();
-- uint64_t read_pos = journaler.get_read_pos();
-- uint64_t expire_pos = journaler.get_expire_pos();
-- uint64_t item_num = (write_pos - (in_flight.size() ? expire_pos : read_pos))
-+ uint64_t write_pos = journaler.get_write_pos();
-+ uint64_t read_pos = journaler.get_read_pos();
-+ uint64_t expire_pos = journaler.get_expire_pos();
-+ uint64_t item_num = (write_pos - (in_flight.size() ? expire_pos : read_pos))
- / purge_item_journal_size;
-- dout(10) << "left purge items in journal: " << item_num
-- << " (purge_item_journal_size/write_pos/read_pos/expire_pos) now at "
-- << "(" << purge_item_journal_size << "/" << write_pos << "/" << read_pos
-+ dout(10) << "left purge items in journal: " << item_num
-+ << " (purge_item_journal_size/write_pos/read_pos/expire_pos) now at "
-+ << "(" << purge_item_journal_size << "/" << write_pos << "/" << read_pos
- << "/" << expire_pos << ")" << dendl;
-
- logger->set(l_pq_item_in_journal, item_num);
diff --git a/repo/ceph/32-upstream32bit.patch b/repo/ceph/32-upstream32bit.patch
deleted file mode 100644
index 917cd03..0000000
--- a/repo/ceph/32-upstream32bit.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-commit 72a5993da70955182a73755ddba35005a6d9fc11
-Author: Kefu Chai <kchai@redhat.com>
-Date: Tue Apr 27 18:24:24 2021 +0800
-
- cls/rbd, librbd: use uint64_t for sparse_size
-
- the size of `size_t` is varies from architecture to architecture. the
- C++ standard only requires it to be able to represent the maximum possible
- size of object of any type. on 32-bit architectures, it's very likely a
- 32-bit unsigned integer. to ensure the interoperability between the
- 64-bit systems and 32-bit systems, we should use a type with explicitly
- defined size.
-
- also, we don't define the dencoder for size_t. so on systems where
- size_t is not backed by uint32_t or uint64_t, the tree does not compile.
-
- in this change, use uint64_t for sparse_size. and leave
- `C_SparsifyObject::m_sparse_size` intact. as the latter should be able
- to be promoted to uint64_t when necessary.
-
- this change is backward compatible on 64-bit systems.
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/cls/rbd/cls_rbd.cc b/src/cls/rbd/cls_rbd.cc
-index 33910b7df5..e3e05d85ed 100644
---- a/src/cls/rbd/cls_rbd.cc
-+++ b/src/cls/rbd/cls_rbd.cc
-@@ -7996,7 +7996,7 @@ int namespace_list(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
- */
- int sparsify(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
- {
-- size_t sparse_size;
-+ uint64_t sparse_size;
- bool remove_empty;
- try {
- auto iter = in->cbegin();
-diff --git a/src/cls/rbd/cls_rbd_client.cc b/src/cls/rbd/cls_rbd_client.cc
-index cefa1fed79..fee3ac8923 100644
---- a/src/cls/rbd/cls_rbd_client.cc
-+++ b/src/cls/rbd/cls_rbd_client.cc
-@@ -2974,7 +2974,7 @@ int namespace_list(librados::IoCtx *ioctx,
- return namespace_list_finish(&iter, entries);
- }
-
--void sparsify(librados::ObjectWriteOperation *op, size_t sparse_size,
-+void sparsify(librados::ObjectWriteOperation *op, uint64_t sparse_size,
- bool remove_empty)
- {
- bufferlist bl;
-@@ -2983,7 +2983,7 @@ void sparsify(librados::ObjectWriteOperation *op, size_t sparse_size,
- op->exec("rbd", "sparsify", bl);
- }
-
--int sparsify(librados::IoCtx *ioctx, const std::string &oid, size_t sparse_size,
-+int sparsify(librados::IoCtx *ioctx, const std::string &oid, uint64_t sparse_size,
- bool remove_empty)
- {
- librados::ObjectWriteOperation op;
-diff --git a/src/cls/rbd/cls_rbd_client.h b/src/cls/rbd/cls_rbd_client.h
-index 12b34c4832..ef2b05fd84 100644
---- a/src/cls/rbd/cls_rbd_client.h
-+++ b/src/cls/rbd/cls_rbd_client.h
-@@ -652,9 +652,9 @@ int sparse_copyup(librados::IoCtx *ioctx, const std::string &oid,
- const std::map<uint64_t, uint64_t> &extent_map,
- ceph::buffer::list data);
-
--void sparsify(librados::ObjectWriteOperation *op, size_t sparse_size,
-+void sparsify(librados::ObjectWriteOperation *op, uint64_t sparse_size,
- bool remove_empty);
--int sparsify(librados::IoCtx *ioctx, const std::string &oid, size_t sparse_size,
-+int sparsify(librados::IoCtx *ioctx, const std::string &oid, uint64_t sparse_size,
- bool remove_empty);
-
- } // namespace cls_client
-diff --git a/src/librbd/WatchNotifyTypes.h b/src/librbd/WatchNotifyTypes.h
-index ca0b40f28f..4fad31ffac 100644
---- a/src/librbd/WatchNotifyTypes.h
-+++ b/src/librbd/WatchNotifyTypes.h
-@@ -410,10 +410,10 @@ struct MigratePayload : public AsyncRequestPayloadBase {
- };
-
- struct SparsifyPayload : public AsyncRequestPayloadBase {
-- size_t sparse_size = 0;
-+ uint64_t sparse_size = 0;
-
- SparsifyPayload() {}
-- SparsifyPayload(const AsyncRequestId &id, size_t sparse_size)
-+ SparsifyPayload(const AsyncRequestId &id, uint64_t sparse_size)
- : AsyncRequestPayloadBase(id), sparse_size(sparse_size) {
- }
-
diff --git a/repo/ceph/32-upstream32bitcleanup.patch b/repo/ceph/32-upstream32bitcleanup.patch
deleted file mode 100644
index 1fe036e..0000000
--- a/repo/ceph/32-upstream32bitcleanup.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-submitted as https://github.com/ceph/ceph/pull/41239
-
-commit 558adef26a2149b0dd644a2c9a7e2db8d370b556
-Author: Kefu Chai <kchai@redhat.com>
-Date: Sat May 8 21:02:54 2021 +0800
-
- librbd/deep_copy: cast uint64_t to size_t for constructing SparseBufferlistExtent
-
- SparseBufferlistExtent's ctor accepts size_t, so, on a 32-bit platform,
- the parameter would be narrowed before passing to the ctor, and GCC
- complains at seeing this:
-
- /builds/a16bitsysop/aports/community/ceph/src/ceph-16.2.3/src/librbd/deep_copy/ObjectCopyRequest.cc:789:60: warning: narrowing conversion of 'object_extent.striper::LightweightObjectExtent::length'
- from 'uint64_t' {aka 'long long unsigned int'} to 'size_t' {aka 'unsigned int'} [-Wnarrowing]
- 789 | {io::SPARSE_EXTENT_STATE_ZEROED, object_extent.length});
- | ~~~~~~~~~~~~~~^~~~~~
-
- this change make this cast explicit and silences the warning.
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/librbd/deep_copy/ObjectCopyRequest.cc b/src/librbd/deep_copy/ObjectCopyRequest.cc
-index e86ed5ea1c..efc6749536 100644
---- a/src/librbd/deep_copy/ObjectCopyRequest.cc
-+++ b/src/librbd/deep_copy/ObjectCopyRequest.cc
-@@ -614,7 +614,8 @@ void ObjectCopyRequest<I>::merge_write_ops() {
-
- m_snapshot_sparse_bufferlist[src_snap_seq].insert(
- object_extent.offset, object_extent.length,
-- {io::SPARSE_EXTENT_STATE_DATA, object_extent.length,\
-+ {io::SPARSE_EXTENT_STATE_DATA,
-+ static_cast<size_t>(object_extent.length),
- std::move(sub_bl)});
-
- buffer_offset += object_extent.length;
-diff --git a/src/librbd/io/CopyupRequest.cc b/src/librbd/io/CopyupRequest.cc
-index d70851409f..a3af713151 100644
---- a/src/librbd/io/CopyupRequest.cc
-+++ b/src/librbd/io/CopyupRequest.cc
-@@ -711,7 +711,9 @@ int CopyupRequest<I>::prepare_copyup_data() {
-
- sparse_bufferlist.insert(
- object_offset, object_length,
-- {SPARSE_EXTENT_STATE_DATA, object_length, std::move(sub_bl)});
-+ {SPARSE_EXTENT_STATE_DATA,
-+ static_cast<size_t>(object_length),
-+ std::move(sub_bl)});
- }
- } else {
- // copyup that will concurrently written to the HEAD revision with the
-commit 130fdf7bcfd2b4c5a5b34809952b69b70e9c11a4
-Author: Kefu Chai <kchai@redhat.com>
-Date: Sat May 8 20:59:07 2021 +0800
-
- mgr/PyModule: use Py_ssize_t for the PyList index
-
- also silences the warnings like:
-
- mgr/PyModule.cc:574:30: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'Py_ssize_t' {aka 'int'} [-Wsign-compare]
- 574 | for (unsigned i = 0; i < PyList_Size(p); ++i) {
- | ~~^~~~~~~~~~~~~~~~
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/mgr/PyModule.cc b/src/mgr/PyModule.cc
-index 28c76fe7ed..ff1ff85e7e 100644
---- a/src/mgr/PyModule.cc
-+++ b/src/mgr/PyModule.cc
-@@ -562,7 +562,7 @@ int PyModule::load_options()
- }
- p = PyDict_GetItemString(pOption, "enum_allowed");
- if (p && PyObject_TypeCheck(p, &PyList_Type)) {
-- for (unsigned i = 0; i < PyList_Size(p); ++i) {
-+ for (Py_ssize_t i = 0; i < PyList_Size(p); ++i) {
- auto q = PyList_GetItem(p, i);
- if (q) {
- auto r = PyObject_Str(q);
-@@ -573,7 +573,7 @@ int PyModule::load_options()
- }
- p = PyDict_GetItemString(pOption, "see_also");
- if (p && PyObject_TypeCheck(p, &PyList_Type)) {
-- for (unsigned i = 0; i < PyList_Size(p); ++i) {
-+ for (Py_ssize_t i = 0; i < PyList_Size(p); ++i) {
- auto q = PyList_GetItem(p, i);
- if (q && PyObject_TypeCheck(q, &PyUnicode_Type)) {
- option.see_also.insert(PyUnicode_AsUTF8(q));
-@@ -582,7 +582,7 @@ int PyModule::load_options()
- }
- p = PyDict_GetItemString(pOption, "tags");
- if (p && PyObject_TypeCheck(p, &PyList_Type)) {
-- for (unsigned i = 0; i < PyList_Size(p); ++i) {
-+ for (Py_ssize_t i = 0; i < PyList_Size(p); ++i) {
- auto q = PyList_GetItem(p, i);
- if (q && PyObject_TypeCheck(q, &PyUnicode_Type)) {
- option.tags.insert(PyUnicode_AsUTF8(q));
-commit 3bf4b32c9bd15652b24bc4b8c8ea07fb6bb04357
-Author: Kefu Chai <kchai@redhat.com>
-Date: Sat May 8 20:51:19 2021 +0800
-
- os/bluestore: print size_t using %xz
-
- we cannot assume that size_t is an alias of "long"
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/os/bluestore/Allocator.cc b/src/os/bluestore/Allocator.cc
-index 75f3172ca5..3428545414 100644
---- a/src/os/bluestore/Allocator.cc
-+++ b/src/os/bluestore/Allocator.cc
-@@ -81,8 +81,8 @@ public:
- f->open_object_section("free");
- char off_hex[30];
- char len_hex[30];
-- snprintf(off_hex, sizeof(off_hex) - 1, "0x%lx", off);
-- snprintf(len_hex, sizeof(len_hex) - 1, "0x%lx", len);
-+ snprintf(off_hex, sizeof(off_hex) - 1, "0x%zx", off);
-+ snprintf(len_hex, sizeof(len_hex) - 1, "0x%zx", len);
- f->dump_string("offset", off_hex);
- f->dump_string("length", len_hex);
- f->close_section();
-commit 3af466ee84209896f8671046c837350e736f15de
-Author: Kefu Chai <kchai@redhat.com>
-Date: Sat May 8 20:50:08 2021 +0800
-
- client: print int64_t using PRId64
-
- we cannot assume that int64_t is an alias of "long"
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/client/Client.cc b/src/client/Client.cc
-index acdd8f0934..7352824f6c 100644
---- a/src/client/Client.cc
-+++ b/src/client/Client.cc
-@@ -12772,7 +12772,7 @@ size_t Client::_vxattrcb_cluster_fsid(Inode *in, char *val, size_t size)
- size_t Client::_vxattrcb_client_id(Inode *in, char *val, size_t size)
- {
- auto name = messenger->get_myname();
-- return snprintf(val, size, "%s%ld", name.type_str(), name.num());
-+ return snprintf(val, size, "%s%" PRId64, name.type_str(), name.num());
- }
-
- #define CEPH_XATTR_NAME(_type, _name) "ceph." #_type "." #_name
diff --git a/repo/ceph/35-fix_ErasureCodeShec.patch b/repo/ceph/35-fix_ErasureCodeShec.patch
deleted file mode 100644
index 0ab2cc2..0000000
--- a/repo/ceph/35-fix_ErasureCodeShec.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-patch by Vladimir Bashkirtsev
-
-diff -uNr ceph-15.2.4/src/erasure-code/shec/ErasureCodeShec.cc ceph-15.2.4-fix_ErasureCodeShec/src/erasure-code/shec/ErasureCodeShec.cc
---- ceph-15.2.4/src/erasure-code/shec/ErasureCodeShec.cc 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_ErasureCodeShec/src/erasure-code/shec/ErasureCodeShec.cc 2020-11-14 00:46:20.029488684 +1030
-@@ -197,7 +197,10 @@
- }
- unsigned int k = get_data_chunk_count();
- unsigned int m = get_chunk_count() - k;
-- unsigned blocksize = (*chunks.begin()).second.length();
-+ unsigned blocksize = 0;
-+ if (chunks.size() > 0) {
-+ blocksize = (*chunks.begin()).second.length();
-+ }
- for (unsigned int i = 0; i < k + m; i++) {
- if (chunks.find(i) == chunks.end()) {
- bufferlist tmp;
diff --git a/repo/ceph/37-fix_tests.patch b/repo/ceph/37-fix_tests.patch
deleted file mode 100644
index 169f6ef..0000000
--- a/repo/ceph/37-fix_tests.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-patch by Vladimir Bashkirtsev
-increase timeouts for armv7 ci
-
-diff -uNr ceph-15.2.4/src/test/CMakeLists.txt ceph-15.2.4-fix_tests/src/test/CMakeLists.txt
---- ceph-15.2.4/src/test/CMakeLists.txt 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/CMakeLists.txt 2020-11-08 17:37:15.788767448 +1030
-@@ -528,11 +528,17 @@
- # Run rbd-unit-tests separate so they an run in parallel
- # For values see: src/include/rbd/features.h
- add_ceph_test(run-rbd-unit-tests-N.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh N)
-+ set_tests_properties(run-rbd-unit-tests-N.sh PROPERTIES TIMEOUT 7200)
- add_ceph_test(run-rbd-unit-tests-0.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 0)
-+ set_tests_properties(run-rbd-unit-tests-0.sh PROPERTIES TIMEOUT 7200)
- add_ceph_test(run-rbd-unit-tests-1.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 1)
-+ set_tests_properties(run-rbd-unit-tests-1.sh PROPERTIES TIMEOUT 7200)
- add_ceph_test(run-rbd-unit-tests-61.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 61)
-+ set_tests_properties(run-rbd-unit-tests-61.sh PROPERTIES TIMEOUT 7200)
- add_ceph_test(run-rbd-unit-tests-109.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 109)
-+ set_tests_properties(run-rbd-unit-tests-109.sh PROPERTIES TIMEOUT 7200)
- add_ceph_test(run-rbd-unit-tests-127.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 127)
-+ set_tests_properties(run-rbd-unit-tests-127.sh PROPERTIES TIMEOUT 7200)
- if(FREEBSD)
- add_ceph_test(rbd-ggate.sh ${CMAKE_CURRENT_SOURCE_DIR}/rbd-ggate.sh)
- endif(FREEBSD)
-@@ -546,6 +552,7 @@
- #add_ceph_test(test_pidfile.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pidfile.sh)
-
- add_ceph_test(smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/smoke.sh)
-+set_tests_properties(smoke.sh PROPERTIES TIMEOUT 14400)
-
- set_property(
- TEST ${tox_tests}
-diff -uNr ceph-15.2.4/src/test/encoding/CMakeLists.txt ceph-15.2.4-fix_tests/src/test/encoding/CMakeLists.txt
---- ceph-15.2.4/src/test/encoding/CMakeLists.txt 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/encoding/CMakeLists.txt 2020-11-08 17:37:15.789767451 +1030
-@@ -1,3 +1,5 @@
- # scripts
- add_ceph_test(check-generated.sh ${CMAKE_CURRENT_SOURCE_DIR}/check-generated.sh)
-+set_tests_properties(check-generated.sh PROPERTIES TIMEOUT 18000)
- add_ceph_test(readable.sh ${CMAKE_CURRENT_SOURCE_DIR}/readable.sh)
-+set_tests_properties(readable.sh PROPERTIES TIMEOUT 18000)
-diff -uNr ceph-15.2.4/src/test/mgr/CMakeLists.txt ceph-15.2.4-fix_tests/src/test/mgr/CMakeLists.txt
---- ceph-15.2.4/src/test/mgr/CMakeLists.txt 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/mgr/CMakeLists.txt 2020-11-08 17:37:15.790767454 +1030
-@@ -9,6 +9,7 @@
- if(WITH_MGR_DASHBOARD_FRONTEND)
- if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
- add_ceph_test(mgr-dashboard-frontend-unittests ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/run-frontend-unittests.sh)
-+ set_tests_properties(mgr-dashboard-frontend-unittests PROPERTIES TIMEOUT 72000)
- endif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
-
- add_ceph_test(mgr-dashboard-smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/mgr-dashboard-smoke.sh)
-diff -uNr ceph-15.2.4/src/test/objectstore/CMakeLists.txt ceph-15.2.4-fix_tests/src/test/objectstore/CMakeLists.txt
---- ceph-15.2.4/src/test/objectstore/CMakeLists.txt 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/objectstore/CMakeLists.txt 2020-11-08 17:37:15.791767457 +1030
-@@ -131,6 +131,7 @@
- test_bluefs.cc
- )
- add_ceph_unittest(unittest_bluefs)
-+ set_tests_properties(unittest_bluefs PROPERTIES TIMEOUT 7200)
- target_link_libraries(unittest_bluefs os global)
-
- # unittest_bluestore_types
-diff -uNr ceph-15.2.4/src/test/osd/CMakeLists.txt ceph-15.2.4-fix_tests/src/test/osd/CMakeLists.txt
---- ceph-15.2.4/src/test/osd/CMakeLists.txt 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/osd/CMakeLists.txt 2020-11-08 17:41:54.515606236 +1030
-@@ -35,6 +35,7 @@
-
- # scripts
- add_ceph_test(safe-to-destroy.sh ${CMAKE_CURRENT_SOURCE_DIR}/safe-to-destroy.sh)
-+set_tests_properties(safe-to-destroy.sh PROPERTIES TIMEOUT 7200)
-
- # unittest_osdmap
- add_executable(unittest_osdmap
-diff -uNr ceph-15.2.4/src/test/osd/TestOSDScrub.cc ceph-15.2.4-fix_tests/src/test/osd/TestOSDScrub.cc
---- ceph-15.2.4/src/test/osd/TestOSDScrub.cc 2020-07-01 01:10:51.000000000 +0930
-+++ ceph-15.2.4-fix_tests/src/test/osd/TestOSDScrub.cc 2020-11-08 17:37:15.793767463 +1030
-@@ -70,7 +70,7 @@
- g_ceph_context->_conf.set_val("osd_scrub_begin_hour", "0");
- g_ceph_context->_conf.set_val("osd_scrub_end_hour", "24");
- g_ceph_context->_conf.apply_changes(nullptr);
-- tm tm;
-+ tm tm = {0};
- tm.tm_isdst = -1;
- strptime("2015-01-16 12:05:13", "%Y-%m-%d %H:%M:%S", &tm);
- utime_t now = utime_t(mktime(&tm), 0);
diff --git a/repo/ceph/42-no-virtualenvs.patch b/repo/ceph/42-no-virtualenvs.patch
deleted file mode 100644
index 541b338..0000000
--- a/repo/ceph/42-no-virtualenvs.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-based on gentoo patch
-use system node instead of nodeenv installing one as only availiable for x86 with musl
-
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -68,14 +68,6 @@
- endif()
- string(REPLACE ";" "," tox_envs "${tox_envs}")
- find_package(Python3 QUIET REQUIRED)
-- add_custom_command(
-- OUTPUT ${venv_path}/bin/activate
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
-- WORKING_DIRECTORY ${tox_path}
-- COMMENT "preparing venv for ${name}")
-- add_custom_target(${name}-venv
-- DEPENDS ${venv_path}/bin/activate)
-- add_dependencies(tests ${name}-venv)
- add_test(
- NAME ${test_name}
- COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@
- add_subdirectory(plugin/zfs)
- endif()
-
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
-- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
-
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -51,11 +48,8 @@
- set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
- endif()
- add_custom_command(
-- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
-- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
-+ OUTPUT "/usr/bin/npm"
-+ COMMAND /usr/bin/nodeenv -p --node=system
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
diff --git a/repo/ceph/43-LogClock.h.patch b/repo/ceph/43-LogClock.h.patch
deleted file mode 100644
index 8cd02e5..0000000
--- a/repo/ceph/43-LogClock.h.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-reported as issue
-https://tracker.ceph.com/issues/50133
-
-needed for 32bit platforms
-
---- aa/src/log/LogClock.h
-+++ bb/src/log/LogClock.h
-@@ -12,10 +12,6 @@
- #include "include/ceph_assert.h"
- #include "common/ceph_time.h"
-
--#ifndef suseconds_t
--typedef long suseconds_t;
--#endif
--
- namespace ceph {
- namespace logging {
- namespace _logclock {
diff --git a/repo/ceph/44-aarch64-erasure.patch b/repo/ceph/44-aarch64-erasure.patch
deleted file mode 100644
index 421decc..0000000
--- a/repo/ceph/44-aarch64-erasure.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-merged as:
-https://github.com/ceph/isa-l/commit/bee5180a1517f8b5e70b02fcd66790c623536c5d
-
---- a/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S
-@@ -360,7 +360,8 @@
- sub x_dest1, x_dest1, x_tmp
- sub x_dest2, x_dest2, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -394,7 +395,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
---- a/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S
-@@ -332,7 +332,8 @@
- sub x_dest2, x_dest2, x_tmp
- sub x_dest3, x_dest3, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -374,7 +375,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
---- a/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S
-@@ -397,7 +397,8 @@
- sub x_dest3, x_dest3, x_tmp
- sub x_dest4, x_dest4, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -448,7 +449,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
---- a/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S
-@@ -463,7 +463,8 @@
- sub x_dest4, x_dest4, x_tmp
- sub x_dest5, x_dest5, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -527,7 +528,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
---- a/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S
-@@ -526,7 +526,8 @@
- sub x_dest5, x_dest5, x_tmp
- sub x_dest6, x_dest6, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -602,7 +603,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
---- a/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S
-+++ b/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S
-@@ -281,7 +281,8 @@
- mov x_src, x_src_end
- sub x_dest1, x_dest1, x_tmp
-
-- ldr x_const, =const_tbl
-+ adrp x_const, const_tbl
-+ add x_const, x_const, :lo12:const_tbl
- sub x_const, x_const, x_tmp
- ldr q_tmp, [x_const, #16]
-
-@@ -307,7 +308,7 @@
- mov w_ret, #1
- ret
-
--.section .data
-+.section .rodata
- .balign 8
- const_tbl:
- .dword 0x0000000000000000, 0x0000000000000000
diff --git a/repo/ceph/44-cmake-buildtype.patch b/repo/ceph/44-cmake-buildtype.patch
deleted file mode 100644
index 7112ce1..0000000
--- a/repo/ceph/44-cmake-buildtype.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-updated: https://github.com/ceph/ceph/commit/6e4481316884f08daad624c1d997378daedf410e
-
-commit a7e3ece459111d157a20d05de3a92cf4dab6bde6
-Author: Kefu Chai <kchai@redhat.com>
-Date: Thu Jul 1 15:24:50 2021 +0800
-
- cmake: set CMAKE_BUILD_TYPE only if .git exists
-
- distros intend to fine tune the CFLAGS and CXXFLAGS by themselves, see
-
- - https://git.alpinelinux.org/abuild/tree/abuild.conf
- - https://wiki.archlinux.org/title/CMake_package_guidelines#CMake_undesired_behaviors
- - https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/lib/Debian/Debhelper/Buildsystem/cmake.pm#L16
-
- so instead of setting a CMAKE_BUILD_TYPE when building from a
- dist tarball, let's just leave it empty.
-
- Signed-off-by: Kefu Chai <kchai@redhat.com>
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 760a2ceb0c..6f35e87f90 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -156,12 +156,8 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
- endif()
- endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
-
--if(NOT CMAKE_BUILD_TYPE)
-- if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
-- set(default_build_type "Debug")
-- else()
-- set(default_build_type "RelWithDebInfo")
-- endif()
-+if(NOT DEFINED CMAKE_BUILD_TYPE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
-+ set(default_build_type "Debug")
- set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
- STRING "Default BUILD_TYPE is Debug, other options are: RelWithDebInfo, Release, and MinSizeRel." FORCE)
- endif()
diff --git a/repo/ceph/44-missing-include.patch b/repo/ceph/44-missing-include.patch
deleted file mode 100644
index f944255..0000000
--- a/repo/ceph/44-missing-include.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-submitted as:
-https://github.com/ceph/ceph/pull/41470
-
-diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h
-index 257daa9c1..90e64f98a 100644
---- a/src/rgw/rgw_string.h
-+++ b/src/rgw/rgw_string.h
-@@ -8,6 +8,8 @@
- #include <stdlib.h>
- #include <limits.h>
- #include <string_view>
-+#include <string>
-+#include <stdexcept>
-
- #include <boost/container/small_vector.hpp>
-
diff --git a/repo/ceph/44-staticcast.patch b/repo/ceph/44-staticcast.patch
deleted file mode 100644
index ebe8bbf..0000000
--- a/repo/ceph/44-staticcast.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-submitted as https://github.com/ceph/ceph/pull/40582
-
---- a/src/common/buffer.cc
-+++ b/src/common/buffer.cc
-@@ -2268,7 +2268,7 @@
-
- void ceph::buffer::list::page_aligned_appender::_refill(size_t len) {
- const size_t alloc = \
-- std::max((size_t)min_alloc, (len + CEPH_PAGE_SIZE - 1) & CEPH_PAGE_MASK);
-+ std::max(static_cast<size_t>(min_alloc), static_cast<size_t>((len + CEPH_PAGE_SIZE - 1) & CEPH_PAGE_MASK));
- auto new_back = \
- ptr_node::create(buffer::create_page_aligned(alloc));
- new_back->set_length(0); // unused, so far.
diff --git a/repo/ceph/ceph-user.pre-install b/repo/ceph/ceph-user.pre-install
deleted file mode 100644
index bae4f09..0000000
--- a/repo/ceph/ceph-user.pre-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-addgroup ceph -g 167 -S 2>/dev/null
-adduser ceph -u 167 -S -G ceph -s /sbin/nologin -h /var/lib/ceph -g "Ceph Daemons" 2> /dev/null
-exit 0
diff --git a/repo/ceph/ceph.confd b/repo/ceph/ceph.confd
deleted file mode 100644
index 32737b1..0000000
--- a/repo/ceph/ceph.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Original source: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-cluster/ceph/files/ceph.confd-r5
-
-# Example
-
-# default ceph conf file
-#ceph_conf="/etc/ceph/ceph.conf"
-
-# Set RADOSGW_WANT_NAME_PARAM=y in order to make the init script add
-# a --name=client.${RC_SVCNAME} parameter to command_args for radosgw.*
-# service instances. This will make the service use a key by the name
-# of client.${RC_SVCNAME} instead of the default client.admin key.
-# A setting like this in the ceph config file can be used to customize
-# the rgw_data and keyring paths used by radosgw instances:
-# [client]
-# rgw_data = /var/lib/ceph/radosgw/$cluster-$id
-# keyring = /var/lib/ceph/radosgw/$cluster-$id/keyring
-RADOSGW_WANT_NAME_PARAM=n
diff --git a/repo/ceph/ceph.initd b/repo/ceph/ceph.initd
deleted file mode 100644
index c522efa..0000000
--- a/repo/ceph/ceph.initd
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/sbin/openrc-run
-
-# Original source: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-cluster/ceph/files/ceph.initd-r12
-
-# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
-_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
-if [ -r "${_CONFD_FILE}" ]; then
- . "${_CONFD_FILE}" || exit 1
-fi
-
-: "${ceph_conf:=/etc/ceph/ceph.conf}"
-daemon_type="${RC_SVCNAME#ceph-}"
-daemon_type="${daemon_type%%.*}"
-daemon_id="${RC_SVCNAME#ceph-*.}"
-daemon_id="${daemon_id:-0}"
-: "${rundir:=/run/ceph}"
-: "${user:=ceph}"
-: "${group:=ceph}"
-: "${rc_ulimit:=-n 1048576 -u 1048576}"
-
-pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
-daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
-
-command="/usr/bin/${RC_SVCNAME%%.*}"
-command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
-extra_commands="${extra_commands} reload"
-command_args_foreground="--foreground"
-
-retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
-start_stop_daemon_args="--user ${user} --group ${group}"
-supervise_daemon_args="--user ${user} --group ${group}"
-
-: "${supervisor:=supervise-daemon}"
-: "${stdout:=/var/log/ceph/ceph}"
-: "${stderr:=/var/log/ceph/ceph}"
-: "${respawn_delay:=10}"
-: "${respawn_max:=5}"
-: "${respawn_period:=1800}"
-
-: "${osd_respawn_delay:=15}"
-: "{osd_respawn_max:=10}"
-
-: "{radosgw_respawn_max:=5}"
-: "${radosgw_respawn_period:=30}"
-
-depend() {
- use dns logger
- after net ntpd ntp-client chronyd
- before netmount
-}
-
-is_type_valid() {
- case ${daemon_type} in
- mon|mds|osd|mgr|radosgw) return 0;;
- *) return 1;;
- esac
-}
-
-start_pre() {
- local log_dir
- export CEPH_CONF="${ceph_conf}"
-
- checkpath -d -q -o "${user}:${group}" "${rundir}"
-
- if ! is_type_valid ;then
- eerror "Please give valid Ceph Server Type: mds, mon, osd"
- return 1
-
- elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
- eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
- return 1
- fi
-
- if [ -n "${bluestore_osd_fsid}" ]; then
- einfo "Mounting Bluestore"
- ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
- fi
-
- if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
- command_args="${command_args} --name client.${daemon_id}"
- fi
-
- local arg_name arg_val repl_arg_name
- for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
- eval arg_val="\${${daemon_type}_${arg_name}}"
-
- if [ -z "${arg_val}" ]; then
- eval arg_val="\${${arg_name}}"
- else
- eval "${arg_name}=\"${arg_val}\""
- fi
-
- if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
- local log_file log_postfix
- log_postfix=".${daemon_id}-${arg_name}.log"
- log_file="${arg_val}"
-
- if [ "${log_file}" != /dev/null ]; then
- log_file="${log_file}${log_postfix}"
-
- log_dir="$(dirname "${log_file}")"
- checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
- fi
-
- repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
- supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
- fi
- done
-}
-
-reload() {
- ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
- start-stop-daemon --signal 1 "${start_stop_daemon_args}"
- eend ${?}
-}
-
-# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
-
diff --git a/repo/ceph/ceph.xibuild b/repo/ceph/ceph.xibuild
deleted file mode 100644
index 65d71fa..0000000
--- a/repo/ceph/ceph.xibuild
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/bin/sh
-
-NAME="ceph"
-DESC="Ceph is a distributed object store and file system"
-
-MAKEDEPS="acl argp-standalone bc boost btrfs-progs bzip2 cmake cryptsetup cunit curl cython diffutils doxygen eudev expat fcgi flex fmt fuse fuse git graphviz grep gperf jq keyutils leveldb libaio libcap-ng libedit librdkafka libnl libtirpc libtool libxml2 linux-headers lua lvm2 lz4 nodejs nss oath-toolkit libldap openssl procps-ng python python-prettytable python-sphinx rabbitmq-c readline ninja snappy sqlite3 userspace-rcu xfsprogs xmlstarlet yarn yasm cryptsetup e2fsprogs parted util-linux xfsprogs fuse snappy lz4 lvm2 xmlstarlet python-coverage python-flake8 python-nodeenv python-nose python-pytest python-tox "
-
-PKG_VER=16.2.9
-SOURCE="https://download.ceph.com/tarballs/ceph_$PKG_VER.orig.tar.gz"
-
-ADDITIONAL="
-10-musl-fixes.patch
-11-dump_time_header_impl.patch
-11-parse_rfc1123_alt.patch
-11-s3_expiration_header.patch
-12-package.json-resolutions.patch
-20-pci.patch
-32-PurgeQueue.cc-cast.patch
-32-upstream32bit.patch
-32-upstream32bitcleanup.patch
-35-fix_ErasureCodeShec.patch
-37-fix_tests.patch
-42-no-virtualenvs.patch
-43-LogClock.h.patch
-44-aarch64-erasure.patch
-44-cmake-buildtype.patch
-44-missing-include.patch
-44-staticcast.patch
-ceph.confd
-ceph.initd
-"
-
-_py3_sitelib() {
- python -c "import site; print(site.getsitepackages()[0])"
-}
-
-prepare() {
- apply_patches
-
- # delete bundled boost as >300mb and using system boost
- rm -rf src/boost
-}
-
-build() {
- export CEPH_BUILD_VIRTUALENV="$BUILD_ROOT"
-
- # builders keep failing when -jN == nproc
- export MAKEFLAGS="$MAKEFLAGS -j$((JOBS<12 ? JOBS : 12))"
-
- # use alternate registry as original can timeout for arm32bit
- export NPM_REGISTRY=https://registry.npmjs.org
-
- cmake -B build -G Ninja \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DLUA_LIBRARIES=/usr/lib/liblua.so \
- -DALLOCATOR=libc \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
- -DCMAKE_INSTALL_SYSCONFDIR=/etc \
- -DWITH_REENTRANT_STRSIGNAL=ON \
- -DWITH_THREAD_SAFE_RES_QUERY=ON \
- -DWITH_MANPAGE=ON \
- -DWITH_SYSTEM_BOOST=ON \
- -DWITH_SYSTEM_NPM=ON \
- -DWITH_LTTNG=OFF \
- -DWITH_RDMA=OFF \
- -DWITH_SYSTEMD=OFF \
- -DWITH_SPDK=OFF \
- -DWITH_BABELTRACE=OFF \
- -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
- -DWITH_TESTS=OFF
- mkdir -p build/src/pybind/mgr/dashboard/cypress
- cmake --build build
-
-}
-
-package() {
- # free up some space before install
- rm -rf build/src/pybind/mgr/dashboard/cypress
- rm -rf src/pybind/mgr/dashboard/frontend/node_modules
-
- DESTDIR="$PKG_DEST" cmake --install build
- # yarn creates an empty usr/local/bin
- rm -rf "${pkgdir:?}"/usr/local
-
- # fix /usr permission
- chmod 755 "$PKG_DEST/usr"
-
- # remove dashboard angular app source
- rm -rf "$PKG_DEST"/usr/share/ceph/mgr/dashboard/frontend/src
-
- # remove the upstream init file and put in openrc ones
- rm -f "$PKG_DEST"/etc/init.d/ceph
- install -D -m 755 "$BUILD_ROOT"/"ceph".initd "$PKG_DEST"/etc/init.d/ceph
- install -D -m 644 "$BUILD_ROOT"/"ceph".confd "$PKG_DEST"/etc/conf.d/ceph
-
- # move mount.* binaries to /sbin
- mkdir -p "$PKG_DEST"/sbin
- mv "$PKG_DEST"/usr/sbin/mount.* "$PKG_DEST"/sbin
-
- install -m 644 -D src/etc-rbdmap "$PKG_DEST"/etc/ceph/rbdmap
- install -m 644 -D src/logrotate.conf "$PKG_DEST"/etc/logrotate.d/ceph
- install -m 644 -D etc/sysctl/90-ceph-osd.conf "$PKG_DEST"/etc/sysctl.d/90-ceph-osd.conf
-
- # udev rules
- install -m 644 -D udev/50-rbd.rules "$PKG_DEST"/etc/udev/rules.d/50-rbd.rules
- # sudoers.d
- install -m 600 -D sudoers.d/ceph-smartctl "$PKG_DEST"/etc/sudoers.d/ceph-smartctl
-
- # delete systemd related stuff
- rm "$PKG_DEST"/usr/sbin/ceph-volume-systemd
-
- # move docs to docs
- mkdir -p "$PKG_DEST"/usr/share/doc/ceph/dashboard
- mv "$PKG_DEST"/usr/share/ceph/mgr/dashboard/*.rst "$PKG_DEST"/usr/share/doc/ceph/dashboard/
- mv "$PKG_DEST"/usr/share/ceph/mgr/cephadm/HACKING.rst "$PKG_DEST"/usr/share/doc/ceph/cephadm-HACKING.rst
-}
-
-# TODO split this into other packages