Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

include/denc: add {encode,decode}_nohead for denc_traits<basic_string> #14099

Merged
merged 2 commits into from Mar 28, 2017

Conversation

Projects
None yet
3 participants
@tchaikov
Copy link
Contributor

tchaikov commented Mar 23, 2017

otherwise, on arm32, the denc.h version of decode_nohead() is chosen
instead. we should force the compiler to use the one in encoding.h.

Signed-off-by: Kefu Chai kchai@redhat.com

@tchaikov tchaikov force-pushed the tchaikov:wip-denc-arm32 branch from 1acaa4a to c1117fd Mar 23, 2017

include/denc: define value_type to avoid repeating the type
Signed-off-by: Kefu Chai <kchai@redhat.com>

@tchaikov tchaikov force-pushed the tchaikov:wip-denc-arm32 branch from c1117fd to 7ed0e63 Mar 24, 2017

@tchaikov tchaikov changed the title crush: cast strlen to "int" before decode_nohead() include/denc: add {encode,decode}_nohead for denc_traits<basic_string> Mar 24, 2017

@tchaikov tchaikov force-pushed the tchaikov:wip-denc-arm32 branch from 7ed0e63 to 9acdbc5 Mar 24, 2017

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

tchaikov commented Mar 24, 2017

[  4%] FATAL: command execution failed
java.util.concurrent.TimeoutException: Ping started at 1490352443201 hasn't completed by 1490352683204
Caused: Command close created at

https://jenkins.ceph.com/job/ceph-pull-requests/20706/

retest this please (jenkins agent failure)

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

tchaikov commented Mar 24, 2017

retest this please.

include/denc: add missing {encode,decode}_nohead for denc_traits
implement {encode,decode}_nohead() for dec_traits<basic_string> and
bufferlist.

so compiler can find an appropriate version of decode_nohead() when
performing overload resolution. in some architectures, compiler resolves
the __u32 to size_t, which leads to a compilation failure, because the
compiler fails to instantiate the ::decode_nohead() template exposing
traits::decode_nohead().

Fixes: http://tracker.ceph.com/issues/18938
Signed-off-by: Kefu Chai <kchai@redhat.com>

@tchaikov tchaikov force-pushed the tchaikov:wip-denc-arm32 branch from 9acdbc5 to 65fb399 Mar 25, 2017

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

tchaikov commented Mar 27, 2017

the rbd side fix for http://tracker.ceph.com/issues/18938 is posted at #14159

@liewegas liewegas merged commit d999e36 into ceph:master Mar 28, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details

@tchaikov tchaikov deleted the tchaikov:wip-denc-arm32 branch Mar 28, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.