summaryrefslogtreecommitdiffstats
path: root/src/erasure-code
diff options
context:
space:
mode:
authorLoic Dachary <ldachary@redhat.com>2015-09-21 15:36:54 +0200
committerLoic Dachary <ldachary@redhat.com>2015-09-22 16:33:50 +0200
commit426435899cb9ea8c5e32ac87c737ba31e43c547e (patch)
tree2cd53649dfab92daf81eb021a328fc3e4d7ecd7d /src/erasure-code
parentMerge pull request #5750 from wonzhq/rbd-write-full (diff)
downloadceph-426435899cb9ea8c5e32ac87c737ba31e43c547e.tar.xz
ceph-426435899cb9ea8c5e32ac87c737ba31e43c547e.zip
erasure-code: workaround i386 optimization bug with SHEC
http://tracker.ceph.com/issues/12936 Fixes: #12936 Signed-off-by: Loic Dachary <ldachary@redhat.com>
Diffstat (limited to 'src/erasure-code')
-rw-r--r--src/erasure-code/shec/ErasureCodeShec.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/erasure-code/shec/ErasureCodeShec.h b/src/erasure-code/shec/ErasureCodeShec.h
index bf07b804193..9eeb3d42e54 100644
--- a/src/erasure-code/shec/ErasureCodeShec.h
+++ b/src/erasure-code/shec/ErasureCodeShec.h
@@ -124,7 +124,12 @@ public:
private:
virtual int parse(const ErasureCodeProfile &profile) = 0;
- virtual double shec_calc_recovery_efficiency1(int k, int m1, int m2, int c1, int c2);
+ virtual double shec_calc_recovery_efficiency1(int k, int m1, int m2, int c1, int c2)
+ // http://tracker.ceph.com/issues/12936 shec fails i386 make check
+#if defined(__i386__) && defined(__GNUC__)
+ __attribute__((optimize(0)))
+#endif
+ ;
virtual int shec_make_decoding_matrix(bool prepare,
int *want, int *avails,
int *decoding_matrix,