mirror of https://github.com/trapexit/mergerfs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
651 B
60 lines
651 B
#include "node.h"
|
|
|
|
#include "lfmp.h"
|
|
|
|
static lfmp_t g_NODE_FMP;
|
|
|
|
static
|
|
__attribute__((constructor))
|
|
void
|
|
node_constructor()
|
|
{
|
|
lfmp_init(&g_NODE_FMP,sizeof(node_t),256);
|
|
}
|
|
|
|
static
|
|
__attribute__((destructor))
|
|
void
|
|
node_destructor()
|
|
{
|
|
lfmp_destroy(&g_NODE_FMP);
|
|
}
|
|
|
|
node_t *
|
|
node_alloc()
|
|
{
|
|
return lfmp_calloc(&g_NODE_FMP);
|
|
}
|
|
|
|
void
|
|
node_free(node_t *node_)
|
|
{
|
|
lfmp_free(&g_NODE_FMP,node_);
|
|
}
|
|
|
|
int
|
|
node_gc1()
|
|
{
|
|
return lfmp_gc(&g_NODE_FMP);
|
|
}
|
|
|
|
void
|
|
node_gc()
|
|
{
|
|
int rv;
|
|
int fails;
|
|
|
|
fails = 0;
|
|
do
|
|
{
|
|
rv = node_gc1();
|
|
if(rv == 0)
|
|
fails++;
|
|
} while(rv || (fails < 3));
|
|
}
|
|
|
|
lfmp_t*
|
|
node_lfmp()
|
|
{
|
|
return &g_NODE_FMP;
|
|
}
|