static int si_dropmark(si *i, sr *r) { /* create drop file */ char path[1024]; snprintf(path, sizeof(path), "%s/drop", i->conf->path); srfile drop; sr_fileinit(&drop, r->a); int rc = sr_filenew(&drop, path); if (srunlikely(rc == -1)) { sr_malfunction(r->e, "drop file '%s' create error: %s", path, strerror(errno)); return -1; } sr_fileclose(&drop); return 0; }
sinode *si_nodenew(sr *r) { sinode *n = (sinode*)sr_malloc(r->a, sizeof(sinode)); if (srunlikely(n == NULL)) { sr_malfunction(r->e, "%s", "memory allocation failed"); return NULL; } n->recover = 0; n->backup = 0; n->flags = 0; n->update_time = 0; n->used = 0; si_branchinit(&n->self); n->branch = NULL; n->branch_count = 0; sr_fileinit(&n->file, r->a); sv_indexinit(&n->i0); sv_indexinit(&n->i1); sr_rbinitnode(&n->node); sr_rqinitnode(&n->nodecompact); sr_rqinitnode(&n->nodebranch); sr_listinit(&n->commit); return n; }