On Mon, Jun 19, 2017 at 7:46 AM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote: > Op 19-6-2017 om 16:31 schreef Sage Weil: >> >> On Mon, 19 Jun 2017, Willem Jan Withagen wrote: >>> >>> On 19-6-2017 14:56, Jason Dillaman wrote: >>>> >>>> On Sun, Jun 18, 2017 at 1:18 PM, Willem Jan Withagen <wjw@xxxxxxxxxxx> >>>> wrote: >>>>> >>>>> librbd/io/AioCompletion.cc:199:ssize_t >>>>> AioCompletion::get_return_value() { >>>> >>>> >>>> librbd just wraps librados, so I would think all the error codes >>>> should have already been properly translated before it reaches this >>>> level since otherwise any internal librbd error logging will output >>>> the incorrect failure reason. I'd suspect most of the client-side >>>> handling should probably be handled inside osdc/Objecter.h/cc.. >>> >>> Hi Jason, >>> >>> Thanx for the pointer. Changing any of the librbd stuff did indeed not >>> result in a working rados-stripper.sh >>> >>> Objecter.{h,cc} already had the forward error rewrite. I added the >>> reverse in the original patch. But obviously that is not enough (yet) >>> So I'll start digging a bit more in the librados files as you suggested. >> >> I think the place to do this is in MOSDOpReply.. that alone should be >> enough to do the translate as the value passes over the wire. > > > Hi Sage, > > Tehe interesting part of this is that ALL tests but one actually work. So > all tests that start > a cluster thru vstart actually do work. EXCEPT for rados-stiper.sh. > > Now this make me question what is different with the stiper code that causes > an ECANCEL > to not be translated back ot FreeBSD code. I'm not sure exactly how it's arranged, but libradosstriper is layered on top of librados and I don't think anybody's done any of the errno translation work for other platforms that you got pointed at. Depending on how it's done that may mean it's missing big chunks -- for instance, if libradosstriper embeds error codes that aren't touched by librados, it will need to do its own translation. -Greg -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html