Re: Standalone libcrush: call for participation

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

 



Hi Ilya,

On 01/23/2017 07:43 PM, Ilya Dryomov wrote:
> On Mon, Jan 23, 2017 at 6:00 PM, Loic Dachary <loic@xxxxxxxxxxx> wrote:
>> Hi Adam,
>>
>> On 01/23/2017 05:29 PM, Adam C. Emerson wrote:
>>> On 21/01/2017, Loic Dachary wrote:
>>> [snip]
>>>> The beginning of the next ceph release cycle seems like a good time
>>>> to initiate that effort. If someone is willing to help with the
>>>> bootstrap, now is a good time. The library will be hosted under the
>>>> libcrush.org domain name. But that's about the only thing that
>>>> happened so far :-)
>>>
>>> Would the Ceph git repository continue to have its own version of
>>> CRUSH included, or would we pull in libcrush as a submodule?
>>
>> If all goes well and libcrush becomes actively and reliably maintained outside of the Ceph tree, it could either be a submodule or even a packaged dependency. Before that happens things can stay the way they are. I volunteer to manually monitor and cherry-pick whatever changes in the Ceph tree onto the standalone repository ( http://libcrush.org/main/libcrush/ ) so that it does not drift away.
>>
>>> Also, does this affect the relationship between userspace CRUSH and
>>> Linux kernel CRUSH?
>>
>> I don't know :-) Unless I'm mistaken the code in the linux kernel is an unmodified copy of the code from src/crush/*.[ch].
> 
> Correct.  libcrush won't impact the kernel in any way, as long as the
> C core <-> C++ wrappers boundary stays intact, which it should ;)

Yeah :-) Just rephrasing so I'm sure I understand you correctly: the important thing is that the C API stays as it is (functions & structs & constants) and that the semantic of each function is backward compatible. As long as it holds true, the kernel integration is going to be ok.

> Some documentation will probably need to be added to cover things like
> basic kernel compatibility (no floating point, stubs for asserts, etc)
> and coding style for the C bits.  

Ack.

> The core algorithm is far from where
> libcrush initial activities would be centered though, I imagine.

Indeed, more documentation & packaging right now.

>> I however have no clue how it is tested to work as it should in both contexts. Other than running integration tests with teuthology.
>>
>> How do you suggest we go about it ?
> 
> I don't think we need anything special here.

When something changes in the .[ch] files, how do you ensure it's not breaking something ?

Cheers

-- 
Loïc Dachary, Artisan Logiciel Libre
--
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