Re: [RFC PATCH 0/2] ceph: safely use 'copy-from' Op on Octopus OSDs

From: Luis Henriques
Date: Tue Nov 12 2019 - 05:42:20 EST


On Mon, Nov 11, 2019 at 09:51:47PM +0100, Ilya Dryomov wrote:
> On Mon, Nov 11, 2019 at 5:30 PM Luis Henriques <lhenriques@xxxxxxxx> wrote:
> >
> > On Fri, Nov 08, 2019 at 05:31:01PM +0000, Luis Henriques wrote:
> > <snip>
> > > > - You'll need to add it for both OSDMap::Incremental and OSDMap
> > > > - You'll need to make the encoding condition by updating the block like
> > > > the one below from OSDMap::encode()
> > > >
> > > > uint8_t v = 9;
> > > > if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
> > > > v = 3;
> > > > } else if (!HAVE_FEATURE(features, SERVER_MIMIC)) {
> > > > v = 6;
> > > > } else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
> > > > v = 7;
> > > > }
> > > >
> > > > to include a SERVER_OCTOPUS case too. Same goes for Incremental::encode()
> > >
> > > Awesome, thanks! I'll give it a try, and test it with the appropriate
> > > kernel client side changes to use this.
> >
> > Ok, I've got the patch bellow for the OSD code, which IIRC should do
> > exactly what we want: duplicate the require_osd_release in the client
> > side.
> >
> > Now, in order to quickly test this I've started adding flags to the
> > CEPH_FEATURES_SUPPORTED_DEFAULT definition. SERVER_MIMIC *seemed* to be
> > Ok, but once I've added SERVER_NAUTILUS I've realized that we'll need to
> > handle TYPE_MSGR2 address. Which is a _big_ thing. Is anyone already
> > looking into adding support for msgr v2 to the kernel client?
>
> It should be easy enough to hack around it for testing purposes.
>
> I made some initial steps and hope to be able to dedicate the 5.6 cycle
> to it.

Yeah, I'll give that a try; adding support for that new address type
shouldn't be a big deal. I was just wondering if that wasn't already
being handling by any new msgrv2 code under development. Thanks, Ilya.

Cheers,
--
Luís