summaryrefslogtreecommitdiff
path: root/skip/ceph/35-fix_ErasureCodeShec.patch
diff options
context:
space:
mode:
Diffstat (limited to 'skip/ceph/35-fix_ErasureCodeShec.patch')
-rw-r--r--skip/ceph/35-fix_ErasureCodeShec.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/skip/ceph/35-fix_ErasureCodeShec.patch b/skip/ceph/35-fix_ErasureCodeShec.patch
new file mode 100644
index 0000000..0ab2cc2
--- /dev/null
+++ b/skip/ceph/35-fix_ErasureCodeShec.patch
@@ -0,0 +1,17 @@
+patch by Vladimir Bashkirtsev
+
+diff -uNr ceph-15.2.4/src/erasure-code/shec/ErasureCodeShec.cc ceph-15.2.4-fix_ErasureCodeShec/src/erasure-code/shec/ErasureCodeShec.cc
+--- ceph-15.2.4/src/erasure-code/shec/ErasureCodeShec.cc 2020-07-01 01:10:51.000000000 +0930
++++ ceph-15.2.4-fix_ErasureCodeShec/src/erasure-code/shec/ErasureCodeShec.cc 2020-11-14 00:46:20.029488684 +1030
+@@ -197,7 +197,10 @@
+ }
+ unsigned int k = get_data_chunk_count();
+ unsigned int m = get_chunk_count() - k;
+- unsigned blocksize = (*chunks.begin()).second.length();
++ unsigned blocksize = 0;
++ if (chunks.size() > 0) {
++ blocksize = (*chunks.begin()).second.length();
++ }
+ for (unsigned int i = 0; i < k + m; i++) {
+ if (chunks.find(i) == chunks.end()) {
+ bufferlist tmp;