diff --git a/src/stasis/io/debug.c b/src/stasis/io/debug.c index 92856d6..5511b50 100644 --- a/src/stasis/io/debug.c +++ b/src/stasis/io/debug.c @@ -154,7 +154,8 @@ struct stasis_handle_t debug_func = { /*.async_force =*/ NULL, /*.force_range =*/ debug_force_range, /*.fallocate =*/ NULL, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; diff --git a/src/stasis/io/file.c b/src/stasis/io/file.c index 3688ce0..127654e 100644 --- a/src/stasis/io/file.c +++ b/src/stasis/io/file.c @@ -480,7 +480,8 @@ struct stasis_handle_t file_func = { /*.async_force =*/ file_async_force, /*.force_range =*/ file_force_range, /*.fallocate =*/ file_fallocate, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; stasis_handle_t * stasis_handle(open_file)(const char * filename, int flags, int mode) { diff --git a/src/stasis/io/memory.c b/src/stasis/io/memory.c index 0101581..c98b89c 100644 --- a/src/stasis/io/memory.c +++ b/src/stasis/io/memory.c @@ -181,7 +181,8 @@ struct stasis_handle_t mem_func = { /*.async_force =*/ mem_force, /*.force_range =*/ mem_force_range, /*.fallocate =*/ NULL, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; stasis_handle_t * stasis_handle(open_memory)(void) { diff --git a/src/stasis/io/non_blocking.c b/src/stasis/io/non_blocking.c index 8e53977..716df48 100644 --- a/src/stasis/io/non_blocking.c +++ b/src/stasis/io/non_blocking.c @@ -600,7 +600,8 @@ struct stasis_handle_t nbw_func = { /*.async_force =*/ NULL, /*.force_range =*/ nbw_force_range, /*.fallocate =*/ NULL, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; /** diff --git a/src/stasis/io/pfile.c b/src/stasis/io/pfile.c index 877a23d..f3d2b9f 100644 --- a/src/stasis/io/pfile.c +++ b/src/stasis/io/pfile.c @@ -412,7 +412,8 @@ static struct stasis_handle_t pfile_func = { /*.async_force =*/ pfile_async_force, /*.force_range =*/ pfile_force_range, /*.fallocate =*/ pfile_fallocate, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; stasis_handle_t *stasis_handle(open_pfile)(const char *filename, diff --git a/src/stasis/io/raid0.c b/src/stasis/io/raid0.c index b9e51b7..1fcb74e 100644 --- a/src/stasis/io/raid0.c +++ b/src/stasis/io/raid0.c @@ -187,7 +187,8 @@ struct stasis_handle_t raid0_func = { /*.async_force =*/ raid0_async_force, /*.force_range =*/ raid0_force_range, /*.fallocate =*/ raid0_fallocate, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; stasis_handle_t * stasis_handle_open_raid0(int handle_count, stasis_handle_t** h, uint32_t stripe_size) { diff --git a/src/stasis/io/raid1.c b/src/stasis/io/raid1.c index e8aba90..4bab4ed 100644 --- a/src/stasis/io/raid1.c +++ b/src/stasis/io/raid1.c @@ -145,7 +145,8 @@ struct stasis_handle_t raid1_func = { /*.async_force =*/ raid1_async_force, /*.force_range =*/ raid1_force_range, /*.fallocate =*/ raid1_fallocate, - /*.error =*/ 0 + /*.error =*/ 0, + /*.impl =*/ 0 }; stasis_handle_t * stasis_handle_open_raid1(stasis_handle_t* a, stasis_handle_t* b) { diff --git a/src/stasis/logger/filePool.c b/src/stasis/logger/filePool.c index 605fc16..927b7bb 100644 --- a/src/stasis/logger/filePool.c +++ b/src/stasis/logger/filePool.c @@ -751,6 +751,8 @@ stasis_log_t* stasis_log_file_pool_open(const char* dirname, int filemode, int f stasis_log_file_pool_truncation_point, stasis_log_file_pool_close, 0,//stasis_log_file_pool_is_durable, + 0,//group force + 0 //impl }; memcpy(ret, &proto, sizeof(proto)); ret->impl = fp; diff --git a/src/stasis/logger/inMemoryLog.c b/src/stasis/logger/inMemoryLog.c index 8482be4..2faacd3 100644 --- a/src/stasis/logger/inMemoryLog.c +++ b/src/stasis/logger/inMemoryLog.c @@ -219,7 +219,9 @@ stasis_log_t* stasis_log_impl_in_memory_open(void) { stasis_log_impl_in_memory_truncate, stasis_log_impl_in_memory_truncation_point, stasis_log_impl_in_memory_close, - stasis_log_impl_in_memory_is_durable + stasis_log_impl_in_memory_is_durable, + 0,// group_force + 0 // void* impl }; stasis_log_t* log = stasis_alloc(stasis_log_t); memcpy(log,&proto, sizeof(proto)); diff --git a/src/stasis/logger/logger2.c b/src/stasis/logger/logger2.c index 6d8d63c..2400e0d 100644 --- a/src/stasis/logger/logger2.c +++ b/src/stasis/logger/logger2.c @@ -99,7 +99,11 @@ static lsn_t stasis_log_write_prepare(stasis_log_t* log, stasis_transaction_tabl LogEntry * stasis_log_write_update(stasis_log_t* log, stasis_transaction_table_entry_t * l, pageid_t page, Page * p, unsigned int op, const byte * arg, size_t arg_size) { - stasis_transaction_table_entry_t dummy = { -1, -1, INVALID_LSN, INVALID_LSN, {0,0,0}, -1 }; + stasis_transaction_table_entry_t dummy = { -1, -1, INVALID_LSN, INVALID_LSN, {0,0,0}, -1 +#ifndef HAVE_GCC_ATOMICS + , PTHREAD_MUTEX_INITIALIZER +#endif + }; if(l == 0) { l = &dummy; } LogEntry * e = allocUpdateLogEntry(log, l->prevLSN, l->xid, op, diff --git a/src/stasis/logger/safeWrites.c b/src/stasis/logger/safeWrites.c index e51326f..0c93c7b 100644 --- a/src/stasis/logger/safeWrites.c +++ b/src/stasis/logger/safeWrites.c @@ -838,6 +838,8 @@ stasis_log_t* stasis_log_safe_writes_open(const char * filename, firstLogEntry_LogWriter,// truncation_point close_LogWriter, // deinit isDurable_LogWriter, // is_durable + 0,// group force + 0 // impl }; stasis_log_safe_writes_state * sw = stasis_alloc(stasis_log_safe_writes_state); diff --git a/stasis/experimental/compression/staticMulticolumn.h b/stasis/experimental/compression/staticMulticolumn.h index c81866a..f151225 100644 --- a/stasis/experimental/compression/staticMulticolumn.h +++ b/stasis/experimental/compression/staticMulticolumn.h @@ -639,25 +639,29 @@ class StaticMulticolumn { */ static const page_impl static_multicolumn_impl = { -1, + 0, // has header 0, // multicolumnRead, - 0, // multicolumnWrite, + 0, // multicolumnWrite, 0, // multicolumnReadDone, - 0, // multicolumnWriteDone, + 0, // multicolumnWriteDone, 0, // multicolumnGetType, 0, // multicolumnSetType, 0, // multicolumnGetLength, 0, // multicolumnFirst, 0, // multicolumnNext, + 0, // multicolumnLast, 0, // multicolumnIsBlockSupported, 0, // multicolumnBlockFirst, 0, // multicolumnBlockNext, 0, // multicolumnBlockDone, 0, // multicolumnFreespace, - 0, // multicolumnCompact, - 0, // multicolumnPreRalloc, - 0, // multicolumnPostRalloc, - 0, // multicolumnFree, - 0, // dereference_identity, + 0, // multicolumnCompact, + 0, // multicolumnCompactSlotIDs, + 0, // multicolumnPreRalloc, + 0, // multicolumnPostRalloc, + 0, // multicolumnSplice, + 0, // multicolumnFree, + 0, // dereference_identity, 0, // multicolumnLoaded, 0, // multicolumnFlushed 0, // multicolumnCleanup