datasets: allow max possible memcap while loading

While using the "load" option of datasets, it should be possible to load
any file from the disk, so set the limit to highest possible.
pull/5407/head
Shivani Bhardwaj 5 years ago committed by Victor Julien
parent 2b1bbd08a3
commit b2482d6c60

@ -490,7 +490,7 @@ Dataset *DatasetGet(const char *name, enum DatasetTypes type,
switch (type) { switch (type) {
case DATASET_TYPE_MD5: case DATASET_TYPE_MD5:
set->hash = THashInit(cnf_name, sizeof(Md5Type), Md5StrSet, set->hash = THashInit(cnf_name, sizeof(Md5Type), Md5StrSet,
Md5StrFree, Md5StrHash, Md5StrCompare); Md5StrFree, Md5StrHash, Md5StrCompare, load != NULL ? 1 : 0);
if (set->hash == NULL) if (set->hash == NULL)
goto out_err; goto out_err;
if (DatasetLoadMd5(set) < 0) if (DatasetLoadMd5(set) < 0)
@ -498,7 +498,7 @@ Dataset *DatasetGet(const char *name, enum DatasetTypes type,
break; break;
case DATASET_TYPE_STRING: case DATASET_TYPE_STRING:
set->hash = THashInit(cnf_name, sizeof(StringType), StringSet, set->hash = THashInit(cnf_name, sizeof(StringType), StringSet,
StringFree, StringHash, StringCompare); StringFree, StringHash, StringCompare, load != NULL ? 1 : 0);
if (set->hash == NULL) if (set->hash == NULL)
goto out_err; goto out_err;
if (DatasetLoadString(set) < 0) if (DatasetLoadString(set) < 0)
@ -506,7 +506,7 @@ Dataset *DatasetGet(const char *name, enum DatasetTypes type,
break; break;
case DATASET_TYPE_SHA256: case DATASET_TYPE_SHA256:
set->hash = THashInit(cnf_name, sizeof(Sha256Type), Sha256StrSet, set->hash = THashInit(cnf_name, sizeof(Sha256Type), Sha256StrSet,
Sha256StrFree, Sha256StrHash, Sha256StrCompare); Sha256StrFree, Sha256StrHash, Sha256StrCompare, load != NULL ? 1 : 0);
if (set->hash == NULL) if (set->hash == NULL)
goto out_err; goto out_err;
if (DatasetLoadSha256(set) < 0) if (DatasetLoadSha256(set) < 0)

@ -294,7 +294,8 @@ THashTableContext* THashInit(const char *cnf_prefix, size_t data_size,
int (*DataSet)(void *, void *), int (*DataSet)(void *, void *),
void (*DataFree)(void *), void (*DataFree)(void *),
uint32_t (*DataHash)(void *), uint32_t (*DataHash)(void *),
bool (*DataCompare)(void *, void *)) bool (*DataCompare)(void *, void *),
bool reset_memcap)
{ {
THashTableContext *ctx = SCCalloc(1, sizeof(*ctx)); THashTableContext *ctx = SCCalloc(1, sizeof(*ctx));
BUG_ON(!ctx); BUG_ON(!ctx);
@ -308,7 +309,7 @@ THashTableContext* THashInit(const char *cnf_prefix, size_t data_size,
/* set defaults */ /* set defaults */
ctx->config.hash_rand = (uint32_t)RandomGet(); ctx->config.hash_rand = (uint32_t)RandomGet();
ctx->config.hash_size = THASH_DEFAULT_HASHSIZE; ctx->config.hash_size = THASH_DEFAULT_HASHSIZE;
ctx->config.memcap = THASH_DEFAULT_MEMCAP; ctx->config.memcap = reset_memcap ? UINT64_MAX : THASH_DEFAULT_MEMCAP;
ctx->config.prealloc = THASH_DEFAULT_PREALLOC; ctx->config.prealloc = THASH_DEFAULT_PREALLOC;
SC_ATOMIC_INIT(ctx->counter); SC_ATOMIC_INIT(ctx->counter);

@ -189,7 +189,8 @@ THashTableContext* THashInit(const char *cnf_prefix, size_t data_size,
int (*DataSet)(void *dst, void *src), int (*DataSet)(void *dst, void *src),
void (*DataFree)(void *), void (*DataFree)(void *),
uint32_t (*DataHash)(void *), uint32_t (*DataHash)(void *),
bool (*DataCompare)(void *, void *)); bool (*DataCompare)(void *, void *),
bool reset_memcap);
void THashShutdown(THashTableContext *ctx); void THashShutdown(THashTableContext *ctx);

Loading…
Cancel
Save