Commit 69373adc authored by Zardosht Kasheff's avatar Zardosht Kasheff Committed by Yoni Fogel

[t:4875], clean up toku_create_new_brtheader

git-svn-id: file:///svn/toku/tokudb@43427 c7de825b-a66e-492c-adef-691d508d4ae1
parent 0781c381
...@@ -431,7 +431,7 @@ struct brt { ...@@ -431,7 +431,7 @@ struct brt {
BOOL did_set_flags; BOOL did_set_flags;
brt_compare_func compare_fun; brt_compare_func compare_fun;
brt_update_func update_fun; brt_update_func update_fun;
on_redirect_callback redirect_callback;; on_redirect_callback redirect_callback;
void* redirect_callback_extra; void* redirect_callback_extra;
struct toku_list live_brt_link; struct toku_list live_brt_link;
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "includes.h" #include "includes.h"
#include <brt-cachetable-wrappers.h> #include <brt-cachetable-wrappers.h>
void void
toku_brt_header_suppress_rollbacks(struct brt_header *h, TOKUTXN txn) { toku_brt_header_suppress_rollbacks(struct brt_header *h, TOKUTXN txn) {
TXNID txnid = toku_txn_get_txnid(txn); TXNID txnid = toku_txn_get_txnid(txn);
...@@ -37,16 +36,6 @@ brtheader_destroy(struct brt_header *h) { ...@@ -37,16 +36,6 @@ brtheader_destroy(struct brt_header *h) {
} }
} }
static int
brtheader_alloc(struct brt_header **hh) {
int r = 0;
if ((CALLOC(*hh))==0) {
assert(errno==ENOMEM);
r = ENOMEM;
}
return r;
}
// Make a copy of the header for the purpose of a checkpoint // Make a copy of the header for the purpose of a checkpoint
static void static void
brtheader_copy_for_checkpoint(struct brt_header *h, LSN checkpoint_lsn) { brtheader_copy_for_checkpoint(struct brt_header *h, LSN checkpoint_lsn) {
...@@ -66,8 +55,7 @@ brtheader_copy_for_checkpoint(struct brt_header *h, LSN checkpoint_lsn) { ...@@ -66,8 +55,7 @@ brtheader_copy_for_checkpoint(struct brt_header *h, LSN checkpoint_lsn) {
} }
static void static void
brtheader_free(struct brt_header *h) brtheader_free(struct brt_header *h) {
{
brtheader_destroy(h); brtheader_destroy(h);
toku_free(h); toku_free(h);
} }
...@@ -354,8 +342,8 @@ brt_init_header_partial (BRT t, CACHEFILE cf, TOKUTXN txn) { ...@@ -354,8 +342,8 @@ brt_init_header_partial (BRT t, CACHEFILE cf, TOKUTXN txn) {
t->h->flags = t->flags; t->h->flags = t->flags;
if (t->h->cf!=NULL) assert(t->h->cf == cf); if (t->h->cf!=NULL) assert(t->h->cf == cf);
t->h->cf = cf; t->h->cf = cf;
t->h->nodesize=t->nodesize; t->h->nodesize = t->nodesize;
t->h->basementnodesize=t->basementnodesize; t->h->basementnodesize = t->basementnodesize;
t->h->root_xid_that_created = txn ? txn->ancestor_txnid64 : TXNID_NONE; t->h->root_xid_that_created = txn ? txn->ancestor_txnid64 : TXNID_NONE;
t->h->compare_fun = t->compare_fun; t->h->compare_fun = t->compare_fun;
t->h->update_fun = t->update_fun; t->h->update_fun = t->update_fun;
...@@ -412,12 +400,13 @@ brt_init_header (BRT t, CACHEFILE cf, TOKUTXN txn) { ...@@ -412,12 +400,13 @@ brt_init_header (BRT t, CACHEFILE cf, TOKUTXN txn) {
int int
toku_create_new_brtheader(BRT t, CACHEFILE cf, TOKUTXN txn) { toku_create_new_brtheader(BRT t, CACHEFILE cf, TOKUTXN txn) {
int r; int r;
r = brtheader_alloc(&t->h); assert (!t->h);
if (r != 0) { t->h = toku_xmalloc(sizeof(struct brt_header));
if (0) { died2: toku_free(t->h); } if (!t->h) {
t->h=0; assert(errno==ENOMEM);
return r; r = ENOMEM;
goto exit;
} }
t->h->layout_version = BRT_LAYOUT_VERSION; t->h->layout_version = BRT_LAYOUT_VERSION;
...@@ -436,7 +425,19 @@ toku_create_new_brtheader(BRT t, CACHEFILE cf, TOKUTXN txn) { ...@@ -436,7 +425,19 @@ toku_create_new_brtheader(BRT t, CACHEFILE cf, TOKUTXN txn) {
memset(&t->h->cmp_descriptor, 0, sizeof(t->h->cmp_descriptor)); memset(&t->h->cmp_descriptor, 0, sizeof(t->h->cmp_descriptor));
r = brt_init_header(t, cf, txn); r = brt_init_header(t, cf, txn);
if (r != 0) goto died2; if (r != 0) {
goto exit;
}
r = 0;
exit:
if (r != 0) {
if (t->h) {
toku_free(t->h);
t->h = NULL;
}
return r;
}
return r; return r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment