Yeah, that's exactly because of this document I am kinda
wondering. This document is latest dev and thus one may expect
that 32 bits builds are still a thing. But after I have went
through considerable effort building it on 32 bit ARM I am sure
that current Ceph release is not buildable out of the box. Say in
options.h Options::size_t (notion of SIZE option) uses std::size_t
(largest counter available - 32 bits on 32 bit arches) as store of
value. It automatically implies that smoke.sh test which tries to
create 100G OSD fails as 100G value just does not fit into 32 bits
and trimmed to become just 0 (zero). And the same story with other
SIZE options which may exceed 2^32. So clearly Ceph in its current
form cannot pass testing on 32 bit systems making me think that 32
bit target was silently dropped at some point.
I don't know if it is built and tested regularly on 32bit arch, but according to this:32bit arch is a valid target for ceph.
On Sun, Nov 22, 2020 at 10:30 AM Vladimir Bashkirtsev <vladimir@xxxxxxxxxxxxxxx> wrote:
Hi Yuval,
Thank you for pointing me into right direction. I am planning to provide PRs as I already have relevant patches.
BTW: am I right in my thinking that Ceph no longer does building and testing on 32 bit architectures?
Regards,
Vladimir
On 22/11/20 7:18 pm, Yuval Lifshitz wrote:
Hi Vladimir,We use PRs to github for code contributions to Ceph. For more details see here: [1].If you find issues that need fixing, but you don't plan on fixing right away you can open tracker issues here [2].
Yuval
On Sun, Nov 22, 2020 at 5:45 AM Vladimir Bashkirtsev <vladimir@xxxxxxxxxxxxxxx> wrote:
Hi all,
Over last few weeks I was working on making Ceph 15.2.4 to build and run
on ARM 32 bit system. It appears that Ceph no longer supports 32 bit
systems. But I wanted to run it on Odroid HC-2 which makes a very good
cheap OSD basically turning SATA disk into ethernet enabled disk. So I
stuck my teeth into getting current Ceph up and running on 32 bit
architecture. While doing so I have encountered number of bugs in Ceph
codebase which I now want to put back for everyone to use.
For example I found a bug in EC code which attempts to malloc around 4GB
- this bug is not noticeable on 64 bit systems as malloc happily
allocates 4GB but it of course failed on 32 bit system and digging into
the issue shown that this malloc was just a bug - it should not be
happening at all in the first place.
Or wrong include (.cc instead of .h) which caused compilation hard
error. Or python threading timeout was specified as int while it should
be a float and basically timeout was not happening. And so on. Small
inaccuracies peppered around code base. It is certainly should not be
done as one huge patch and I am happy to put these patches one by one.
But which way it should be done? As number of PR requests on github? Or
patch files emailed to someone?
May someone from the list enlighten me on acceptable procedure I need to
follow?
Regards,
Vladimir
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx
_______________________________________________ Dev mailing list -- dev@xxxxxxx To unsubscribe send an email to dev-leave@xxxxxxx