Miscellaneous refactoring.

Add some headers for OSX.
This commit is contained in:
Moinak Ghosh 2014-05-24 23:52:30 +05:30
parent a6676698fa
commit 0433452b37
7 changed files with 34 additions and 11 deletions

View file

@ -408,6 +408,7 @@ clean:
distclean: clean
$(RM) Makefile
(cd $(LIBBSCDIR); make clean)
$(RM_RF) buildtmp
install: $(PROG)
@mkdir -p $(DESTDIR)$(PREFIX)/bin

2
main.c
View file

@ -35,7 +35,7 @@
#include <limits.h>
#include <unistd.h>
#include <libgen.h>
#include <pcompress.h>
#include "pcompress.h"
#include <ctype.h>
#include <utils.h>

View file

@ -88,7 +88,7 @@ typedef struct {
struct seg_map_fd *seg_fd_r; // One read-only fd per thread for mapping in portions of the
// segment metadata cache.
int valid;
void *dbdata;
void *db_index;
} archive_config_t;
#pragma pack(1)

View file

@ -31,12 +31,12 @@
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <utils.h>
#include <allocator.h>
#include <pthread.h>
#include <xxhash.h>
#include <sys/mman.h>
#include "utils/utils.h"
#include "allocator.h"
#include "utils/xxhash.h"
#include "index.h"
/*
@ -51,6 +51,7 @@ typedef struct {
uint64_t memlimit;
uint64_t memused;
int hash_entry_size, intervals, hash_slots;
char *index_file;
} index_t;
archive_config_t *
@ -72,6 +73,14 @@ init_global_db(char *configfile)
return (cfg);
}
int
init_on_disk_index(archive_config_t *cfg)
{
if (file_exists()) {
}
}
void
static cleanup_indx(index_t *indx)
{
@ -307,7 +316,7 @@ init_global_db_s(char *path, char *tmppath, uint32_t chunksize, uint64_t user_ch
}
}
cfg->segcache_pos = 0;
cfg->dbdata = indx;
cfg->db_index = indx;
return (cfg);
}
@ -475,7 +484,7 @@ db_lookup_insert_s(archive_config_t *cfg, uchar_t *sim_cksum, int interval,
uint64_t item_offset, uint32_t item_size, int do_insert)
{
uint32_t htab_entry;
index_t *indx = (index_t *)(cfg->dbdata);
index_t *indx = (index_t *)(cfg->db_index);
hash_entry_t **htab, *ent, **pent;
assert((cfg->similarity_cksum_sz & (sizeof (size_t) - 1)) == 0);
@ -549,7 +558,7 @@ void
destroy_global_db_s(archive_config_t *cfg)
{
int i;
index_t *indx = (index_t *)(cfg->dbdata);
index_t *indx = (index_t *)(cfg->db_index);
cleanup_indx(indx);
if (cfg->pct_interval > 0) {

View file

@ -41,6 +41,7 @@ typedef struct _hash_entry {
uchar_t cksum[1];
} hash_entry_t;
archive_config_t *init_global_db(char *configfile);
int setup_db_config_s(archive_config_t *cfg, uint32_t chunksize, uint64_t *user_chunk_sz,
int *pct_interval, const char *algo, cksum_t ck, cksum_t ck_sim,

View file

@ -45,15 +45,15 @@
#include <xxhash.h>
#include <pc_archive.h>
#ifndef __APPLE__
#include <sys/sysinfo.h>
#else
#ifdef __APPLE__
#include <sys/sysctl.h>
#include <mach/mach.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
static mach_timebase_info_data_t sTimebaseInfo;
#else
#include <sys/sysinfo.h>
#endif
#define _IN_UTILS_
@ -637,6 +637,17 @@ is_incompressible(int type)
return (ic);
}
int
file_exists(char *path)
{
FILE *fh = fopen(path, "r");
if (fh != NULL) {
fclose(fh);
return (1);
}
return (0);
}
/************************************************************
* Portability wrappers for synchronization primitives.
***********************************************************/

View file

@ -348,6 +348,7 @@ extern int chk_dir(char *dir);
extern void init_algo_props(algo_props_t *props);
extern void init_pcompress();
extern char *get_temp_dir();
extern int file_exists(char *path);
/* Pointer type for compress and decompress functions. */
typedef int (*compress_func_ptr)(void *src, uint64_t srclen, void *dst,