summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--include/erasurecode/erasurecode_stdinc.h3
-rw-r--r--src/backends/phazrio/libphazr.c2
-rw-r--r--src/erasurecode.c8
-rw-r--r--src/erasurecode_helpers.c4
5 files changed, 8 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 69df9a3..16d4dc4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -88,7 +88,7 @@ dnl Check for C library headers
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h \
malloc.h memory.h string.h strings.h inttypes.h \
- stdint.h ctype.h math.h iconv.h signal.h dlfcn.h \
+ stdint.h ctype.h iconv.h signal.h dlfcn.h \
pthread.h unistd.h limits.h errno.h syslog.h)
AC_CHECK_FUNCS(malloc calloc realloc free openlog)
diff --git a/include/erasurecode/erasurecode_stdinc.h b/include/erasurecode/erasurecode_stdinc.h
index 903b33e..aaa9e2b 100644
--- a/include/erasurecode/erasurecode_stdinc.h
+++ b/include/erasurecode/erasurecode_stdinc.h
@@ -100,9 +100,6 @@
#ifdef HAVE_ERRNO_H
# include <errno.h>
#endif
-#ifdef HAVE_MATH_H
-# include <math.h>
-#endif
#if defined(__GNUC__) && __GNUC__ >= 4
# define DECLSPEC __attribute__ ((visibility("default")))
diff --git a/src/backends/phazrio/libphazr.c b/src/backends/phazrio/libphazr.c
index 74ad8ad..41ed74e 100644
--- a/src/backends/phazrio/libphazr.c
+++ b/src/backends/phazrio/libphazr.c
@@ -88,7 +88,7 @@ struct libphazr_descriptor {
static int get_padded_blocksize(int w, int hd, int blocksize)
{
int word_size = w / 8;
- return (int) ceill((double) blocksize / (word_size - hd)) * word_size;
+ return ((blocksize + ((word_size - hd) - 1)) / (word_size - hd)) * word_size;
}
static int pio_matrix_encode(void *desc, char **data, char **parity, int blocksize)
diff --git a/src/erasurecode.c b/src/erasurecode.c
index fb6d5de..d4a06c2 100644
--- a/src/erasurecode.c
+++ b/src/erasurecode.c
@@ -1194,8 +1194,8 @@ int liberasurecode_verify_stripe_metadata(int desc,
/**
* This computes the aligned size of a buffer passed into
* the encode function. The encode function must pad fragments
- * to be algined with the word size (w) and the last fragment also
- * needs to be aligned. This computes the sum of the algined fragment
+ * to be aligned with the word size (w) and the last fragment also
+ * needs to be aligned. This computes the sum of the aligned fragment
* sizes for a given buffer to encode.
*/
int liberasurecode_get_aligned_data_size(int desc, uint64_t data_len)
@@ -1218,8 +1218,8 @@ int liberasurecode_get_aligned_data_size(int desc, uint64_t data_len)
alignment_multiple = k * word_size;
- ret = (int) ceill( (double)
- data_len / alignment_multiple) * alignment_multiple;
+ ret = ((data_len + alignment_multiple - 1) / alignment_multiple)
+ * alignment_multiple;
out:
return ret;
diff --git a/src/erasurecode_helpers.c b/src/erasurecode_helpers.c
index 40db93c..fd14298 100644
--- a/src/erasurecode_helpers.c
+++ b/src/erasurecode_helpers.c
@@ -199,8 +199,8 @@ int get_aligned_data_size(ec_backend_t instance, int data_len)
alignment_multiple = k * word_size;
}
- aligned_size = (int)
- ceill((double) data_len / alignment_multiple) * alignment_multiple;
+ aligned_size = ((data_len + alignment_multiple - 1) / alignment_multiple)
+ * alignment_multiple;
return aligned_size;
}