Re: Caught the first erroneous translated errorcode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux