Hi Loic
Commenting out the sanity check did the trick. The code is working as I'd expected.
Thanks
On Fri, Apr 28, 2017 at 1:48 AM, Loic Dachary <loic@xxxxxxxxxxx> wrote:
On 04/27/2017 11:43 PM, Oleg Kolosov wrote:
> Hi Loic,
> Of course.
> I'm implementing a version of Pyramid Code. In Pyramid you remove one of the global parities of Reed-Solomon and add one local parity for each local group. In my version, I'd like to add local parity to the global parity (meaning that for the case the global parity = 1, it would be replicated). This way in case of a failure in the global parity, you can reconstruct it using the replicated node instead of reconstructing it will all K nodes.
>
> This is my profile:
> ceph osd erasure-code-profile set myprofile \
> plugin=lrc \
> mapping=DD_DD___ \
> layers='[
> [ "DD_DD_c_", "" ],
> [ "DDc_____", "" ],
> [ "___DDc__", "" ],
> [ "______Dc", "" ],
> ]' \
> ruleset-steps='[
> [ "chooseleaf", "osd", 8 ],
> ]'
You could test and see if commenting out the sanity check at
https://github.com/ceph/ceph/blob/master/src/erasure-code/ jerasure/ErasureCodeJerasure. cc#L89
does the trick. I don't remember enough about this border case to be sure it won't work. You can also give it a try with
https://github.com/ceph/ceph/blob/master/src/test/erasure- code/ceph_erasure_code_ benchmark.cc
Cheers
> Regards,
> Oleg
>
> On Fri, Apr 28, 2017 at 12:33 AM, Loic Dachary <loic@xxxxxxxxxxx <mailto:loic@xxxxxxxxxxx>> wrote:
>
> Hi Oleg,
>
> On 04/27/2017 11:23 PM, Oleg Kolosov wrote:
> > Hi,
> > I'm working on various implementation of LRC codes for study purposes. The layers implementation in the LRC module is very convenient for this, but I've came upon a problem in one of the cases.
> > I'm interested in having k=1, m=1 in one of the layers. However this gives out an error:
> > Error EINVAL: k=1 must be >= 2
> >
> > I should point out that my erasure code has additional layers which are fine, only this one has k=1, m=1.
> >
> > What was the reason for this issue?
> > Can replication be implemented in one of LRC's layers?
>
> Could you provide the code for me to reproduce this problem ? Or a description of the layers ? I implemented this restriction because it made the code simpler. And also because I could not think of a valid use case.
>
> Cheers
>
> --
> Loïc Dachary, Artisan Logiciel Libre
>
>
--
Loïc Dachary, Artisan Logiciel Libre
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com