dst[0] = '\0';
}
-void free_thread_options_to_cpu(struct thread_options *o)
+static void free_thread_options_to_cpu(struct thread_options *o)
{
free(o->description);
free(o->name);
*/
#include <inttypes.h>
+#include "crc32c.h"
+
/*
* This is the CRC-32C table
* Generated with:
//****************************
typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment;
-uint32_t XXH_readLE32_align(const uint32_t* ptr, XXH_endianess endian, XXH_alignment align)
+static uint32_t XXH_readLE32_align(const uint32_t* ptr, XXH_endianess endian, XXH_alignment align)
{
if (align==XXH_unaligned)
return endian==XXH_littleEndian ? A32(ptr) : XXH_swap32(A32(ptr));
return endian==XXH_littleEndian ? *ptr : XXH_swap32(*ptr);
}
-uint32_t XXH_readLE32(const uint32_t* ptr, XXH_endianess endian) { return XXH_readLE32_align(ptr, endian, XXH_unaligned); }
+static uint32_t XXH_readLE32(const uint32_t* ptr, XXH_endianess endian) { return XXH_readLE32_align(ptr, endian, XXH_unaligned); }
//****************************
// Simple Hash Functions
//****************************
-uint32_t XXH32_endian_align(const void* input, int len, uint32_t seed, XXH_endianess endian, XXH_alignment align)
+static uint32_t XXH32_endian_align(const void* input, int len, uint32_t seed, XXH_endianess endian, XXH_alignment align)
{
const uint8_t *p = (const uint8_t *)input;
const uint8_t * const bEnd = p + len;
}
-XXH_errorcode XXH32_update_endian (void* state_in, const void* input, int len, XXH_endianess endian)
+static XXH_errorcode XXH32_update_endian (void* state_in, const void* input, int len, XXH_endianess endian)
{
struct XXH_state32_t * state = (struct XXH_state32_t *) state_in;
const uint8_t *p = (const uint8_t *)input;
-uint32_t XXH32_intermediateDigest_endian (void* state_in, XXH_endianess endian)
+static uint32_t XXH32_intermediateDigest_endian (void* state_in, XXH_endianess endian)
{
struct XXH_state32_t * state = (struct XXH_state32_t *) state_in;
const uint8_t *p = (const uint8_t *)state->memory;
json_object_add_value_float(obj, "aggr_util", agg->max_util.u.f);
}
-void json_object_add_disk_utils(struct json_object *obj,
- struct flist_head *head)
+static void json_object_add_disk_utils(struct json_object *obj,
+ struct flist_head *head)
{
struct json_array *array = json_create_array();
struct flist_head *entry;
* generic_open_file is not appropriate because does not allow to perform
* TRIM in to file
*/
-int open_file(struct thread_data *td, struct fio_file *f)
+static int open_file(struct thread_data *td, struct fio_file *f)
{
int from_hash = 0;
do {
if (is_udp(o)) {
- struct sockaddr *to;
+ const struct sockaddr *to;
socklen_t len;
if (is_ipv6(o)) {
return 0;
}
-struct ioengine_ops ioengine = {
+static struct ioengine_ops ioengine = {
.name = "rbd",
.version = FIO_IOOPS_VERSION,
.setup = fio_rbd_setup,
#include "fio.h"
#include "flist.h"
#include "hash.h"
+#include "filehash.h"
#define HASH_BUCKETS 512
#define HASH_MASK (HASH_BUCKETS - 1)
enum fio_cs fio_clock_source = FIO_PREFERRED_CLOCK_SOURCE;
int fio_clock_source_set = 0;
-enum fio_cs fio_clock_source_inited = CS_INVAL;
+static enum fio_cs fio_clock_source_inited = CS_INVAL;
#ifdef FIO_DEBUG_TIME
return p * 100.0;
}
-void fio_idle_prof_cleanup(void)
+static void fio_idle_prof_cleanup(void)
{
if (ipc.ipts) {
free(ipc.ipts);
#include "lib/getopt.h"
#include "lib/strcasestr.h"
+#include "crc/test.h"
+
const char fio_version_string[] = FIO_VERSION;
#define FIO_RANDSEED (0xb1899bedUL)
static struct thread_data def_thread;
struct thread_data *threads = NULL;
+static char **job_sections;
+static int nr_job_sections;
int exitall_on_terminate = 0;
int output_format = FIO_OUTPUT_NORMAL;
int eta_new_line = 0;
FILE *f_out = NULL;
FILE *f_err = NULL;
-char **job_sections = NULL;
-int nr_job_sections = 0;
char *exec_profile = NULL;
int warnings_fatal = 0;
int terse_version = 3;
}
}
-void free_shm(void)
+static void free_shm(void)
{
if (threads) {
file_hash_exit();
return 0;
}
-void parse_cmd_client(void *client, char *opt)
+static void parse_cmd_client(void *client, char *opt)
{
fio_client_add_cmd_option(client, opt);
}
-extern int fio_crctest(const char *);
-
int parse_cmd_line(int argc, char *argv[], int client_type)
{
struct thread_data *td = NULL;
* Thus, [1] is equivalent to (y * i) % (spin + 1) == 0;
* Also, the cycle's length will be (x * i) + (y * i) / (spin + 1)
*/
-int prepare_spin(struct fio_lfsr *fl, unsigned int spin)
+static int prepare_spin(struct fio_lfsr *fl, unsigned int spin)
{
uint64_t max = (fl->cached_bit << 1) - 1;
uint64_t x, y;
#include <stdio.h>
#include <string.h>
+#include "../fio.h"
+
/*
* Cheesy number->string conversion, complete with carry rounding error.
*/
static unsigned long index_bits_to_maxindex[BITS_PER_LONG];
-void fio_init prio_tree_init(void)
+static void fio_init prio_tree_init(void)
{
unsigned int i;
return len;
}
-int log_local(const char *format, ...)
-{
- char buffer[1024];
- va_list args;
- size_t len;
-
- va_start(args, format);
- len = vsnprintf(buffer, sizeof(buffer), format, args);
- va_end(args);
- len = min(len, sizeof(buffer) - 1);
-
- if (log_syslog)
- syslog(LOG_INFO, "%s", buffer);
- else
- len = fwrite(buffer, len, 1, f_out);
-
- return len;
-}
-
int log_info(const char *format, ...)
{
char buffer[1024];
static unsigned int nthreads = 1;
static char *dir;
-char sz_idx[80], bs_idx[80], loop_idx[80], dir_idx[80], t_idx[80];
+static char sz_idx[80], bs_idx[80], loop_idx[80], dir_idx[80], t_idx[80];
static const char *tb_opts[] = {
"buffered=0", sz_idx, bs_idx, loop_idx, dir_idx, t_idx,
#include "mutex.h"
#include "arch/arch.h"
#include "os/os.h"
+#include "smalloc.h"
#define SMALLOC_REDZONE /* define to detect memory corruption */
#define SMALLOC_POST_RED 0x5aa55aa5U
unsigned int smalloc_pool_size = INITIAL_SIZE;
-const int int_mask = sizeof(int) - 1;
+static const int int_mask = sizeof(int) - 1;
struct pool {
struct fio_mutex *lock; /* protects this pool */
show_lat_m(io_u_lat_m);
}
-void show_thread_status_normal(struct thread_stat *ts, struct group_run_stats *rs)
+static void show_thread_status_normal(struct thread_stat *ts,
+ struct group_run_stats *rs)
{
double usr_cpu, sys_cpu;
unsigned long runtime;
if (output_format == FIO_OUTPUT_TERSE)
show_thread_status_terse(ts, rs);
else if (output_format == FIO_OUTPUT_JSON)
- return(show_thread_status_json(ts, rs));
+ return show_thread_status_json(ts, rs);
else
show_thread_status_normal(ts, rs);
return NULL;