mirror of
https://github.com/ceph/ceph
synced 2025-01-02 09:02:34 +00:00
include/denc.h: Review fixes
- Added note to release-checklist - Created specialized DENC_START_OSD_REQID - Use CEPH_RELEASE_SQUID (19) value Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
This commit is contained in:
parent
71ca41dbaa
commit
6143b80ef7
@ -98,6 +98,7 @@ Code cleanup
|
||||
`ceph_release_t::*`)
|
||||
- [ ] search code for `require_osd_release`
|
||||
- [ ] search code for `min_mon_release`
|
||||
- [ ] check include/denc.h if DENC_START macro still needs reference to squid
|
||||
|
||||
QA suite
|
||||
--------
|
||||
|
@ -53,6 +53,7 @@
|
||||
#include "common/error_code.h"
|
||||
#include "common/likely.h"
|
||||
#include "ceph_release.h"
|
||||
#include "include/rados.h"
|
||||
|
||||
template<typename T, typename=void>
|
||||
struct denc_traits {
|
||||
@ -1862,17 +1863,28 @@ inline std::enable_if_t<traits::supported && !traits::featured> decode_nohead(
|
||||
__u8 struct_compat = compat; \
|
||||
char *_denc_pchar; \
|
||||
uint32_t _denc_u32; \
|
||||
static_assert(CEPH_RELEASE >= (19/*squid*/ + 2) || compat == 1); \
|
||||
static_assert(CEPH_RELEASE >= (CEPH_RELEASE_SQUID /*19*/ + 2) || compat == 1); \
|
||||
_denc_start(p, &struct_v, &struct_compat, &_denc_pchar, &_denc_u32); \
|
||||
do {
|
||||
|
||||
// For the only type that is with compat 2, osd_reqid_t, and unittest.
|
||||
// For the only type that is with compat 2: unittest.
|
||||
#define DENC_START_COMPAT_2(v, compat, p) \
|
||||
__u8 struct_v = v; \
|
||||
__u8 struct_compat = compat; \
|
||||
char *_denc_pchar; \
|
||||
uint32_t _denc_u32; \
|
||||
static_assert(CEPH_RELEASE >= (19/*squid*/ + 2) || compat == 2); \
|
||||
static_assert(CEPH_RELEASE >= (CEPH_RELEASE_SQUID /*19*/ + 2) || compat == 2); \
|
||||
_denc_start(p, &struct_v, &struct_compat, &_denc_pchar, &_denc_u32); \
|
||||
do {
|
||||
|
||||
// For osd_reqid_t which cannot be upgraded at all.
|
||||
// We used it to communicate with clients and now we cannot safely upgrade.
|
||||
#define DENC_START_OSD_REQID(v, compat, p) \
|
||||
__u8 struct_v = v; \
|
||||
__u8 struct_compat = compat; \
|
||||
char *_denc_pchar; \
|
||||
uint32_t _denc_u32; \
|
||||
static_assert(compat == 2, "osd_reqid_t cannot be upgraded"); \
|
||||
_denc_start(p, &struct_v, &struct_compat, &_denc_pchar, &_denc_u32); \
|
||||
do {
|
||||
|
||||
|
@ -164,7 +164,7 @@ struct osd_reqid_t {
|
||||
{}
|
||||
|
||||
DENC(osd_reqid_t, v, p) {
|
||||
DENC_START_COMPAT_2(2, 2, p);
|
||||
DENC_START_OSD_REQID(2, 2, p);
|
||||
denc(v.name, p);
|
||||
denc(v.tid, p);
|
||||
denc(v.inc, p);
|
||||
|
Loading…
Reference in New Issue
Block a user