diff options
author | Don Anderson <dda@ddanderson.com> | 2012-03-15 15:43:42 -0400 |
---|---|---|
committer | Don Anderson <dda@ddanderson.com> | 2012-03-15 15:43:42 -0400 |
commit | c874b987c0799c480605a3414efcd8077605b910 (patch) | |
tree | f6b32825e95f59adecccc41879af9c1da28e0897 | |
parent | ebbe2d57e9aa0d9528cda748d449df22ad2359f0 (diff) | |
parent | 2f8c41342b1e8d93927145edfba3ac2bd00d5d64 (diff) | |
download | mongo-c874b987c0799c480605a3414efcd8077605b910.tar.gz |
Merge branch 'master' of https://github.com/wiredtiger/wiredtiger
-rw-r--r-- | dist/filelist | 3 | ||||
-rw-r--r-- | dist/s_funcs | 2 | ||||
-rw-r--r-- | dist/s_string.ok | 2 | ||||
-rw-r--r-- | dist/serial.py | 2 | ||||
-rw-r--r-- | docs/src/install.dox | 1 | ||||
-rw-r--r-- | src/btree/bt_evict.c | 8 | ||||
-rw-r--r-- | src/btree/bt_page.c | 2 | ||||
-rw-r--r-- | src/include/extern.h | 13 | ||||
-rw-r--r-- | src/include/serial_funcs.i | 10 | ||||
-rw-r--r-- | src/os_posix/os_time.c | 24 | ||||
-rw-r--r-- | src/session/session_root.c (renamed from src/btree/bt_root.c) | 0 |
11 files changed, 48 insertions, 19 deletions
diff --git a/dist/filelist b/dist/filelist index 590e5858136..802d7a03723 100644 --- a/dist/filelist +++ b/dist/filelist @@ -29,7 +29,6 @@ src/btree/bt_ovfl.c src/btree/bt_page.c src/btree/bt_read.c src/btree/bt_ret.c -src/btree/bt_root.c src/btree/bt_slvg.c src/btree/bt_stat.c src/btree/bt_sync.c @@ -82,6 +81,7 @@ src/os_posix/os_rename.c src/os_posix/os_rw.c src/os_posix/os_sleep.c src/os_posix/os_thread.c +src/os_posix/os_time.c src/os_posix/os_yield.c src/packing/packing.c src/packing/packing_api.c @@ -99,6 +99,7 @@ src/schema/schema_util.c src/schema/schema_worker.c src/session/session_api.c src/session/session_btree.c +src/session/session_root.c src/support/err.c src/support/filename.c src/support/global.c diff --git a/dist/s_funcs b/dist/s_funcs index e2619c407de..bcbcd10498b 100644 --- a/dist/s_funcs +++ b/dist/s_funcs @@ -6,7 +6,7 @@ trap 'rm -f $t; exit 0' 0 1 2 3 13 15 # List of files to search. l=`sed -e 's,#.*,,' -e '/^$/d' -e 's,^,../,' filelist` -l="$l `echo ../src/*/*.i`" +l="$l `echo ../src/*/*.i ../src/utilities/*.c`" ( # Copy out the functions we don't use, but it's OK. diff --git a/dist/s_string.ok b/dist/s_string.ok index b05f049d0e8..088f4bc6382 100644 --- a/dist/s_string.ok +++ b/dist/s_string.ok @@ -140,6 +140,7 @@ WiredTiger WiredTiger's Wuninitialized XP +__wt_epoch abcdef addfrag addl @@ -276,6 +277,7 @@ getoneraw getones getonesn getraw +gettime getv gobare goesc diff --git a/dist/serial.py b/dist/serial.py index 3da4c1fce28..b5262d73fd7 100644 --- a/dist/serial.py +++ b/dist/serial.py @@ -27,7 +27,7 @@ Serial('col_append', 'WT_SERIAL_FUNC', [ ]), Serial('evict_file', 'WT_SERIAL_EVICT', [ - SerialArg('int', 'close_method'), + SerialArg('int', 'discard'), ]), Serial('insert', 'WT_SERIAL_FUNC', [ diff --git a/docs/src/install.dox b/docs/src/install.dox index c48c0c8f1b8..c6be21060e7 100644 --- a/docs/src/install.dox +++ b/docs/src/install.dox @@ -8,6 +8,7 @@ Skip this step if you are building from a WiredTiger release package, and proceed with @ref building. To build from the WiredTiger GitHub repository requires +<a href="http://git-scm.com/">git</a>, <a href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</a>, <a href="http://www.gnu.org/software/autoconf/automake.html">automake</a>, <a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a> and diff --git a/src/btree/bt_evict.c b/src/btree/bt_evict.c index fe2bd27da2f..36aea04e9aa 100644 --- a/src/btree/bt_evict.c +++ b/src/btree/bt_evict.c @@ -121,17 +121,17 @@ __wt_evict_file_serial_func(WT_SESSION_IMPL *session) { WT_CACHE *cache; WT_EVICT_REQ *er, *er_end; - int close_method; + int discard; - __wt_evict_file_unpack(session, &close_method); + __wt_evict_file_unpack(session, &discard); cache = S2C(session)->cache; /* Find an empty slot and enter the eviction request. */ WT_EVICT_REQ_FOREACH(er, er_end, cache) if (er->session == NULL) { - __evict_req_set(session, er, NULL, close_method ? - WT_EVICT_REQ_CLOSE : 0); + __evict_req_set(session, + er, NULL, discard ? WT_EVICT_REQ_CLOSE : 0); return; } diff --git a/src/btree/bt_page.c b/src/btree/bt_page.c index 21cdddaa635..e60735e8b48 100644 --- a/src/btree/bt_page.c +++ b/src/btree/bt_page.c @@ -342,7 +342,7 @@ __inmem_row_int(WT_SESSION_IMPL *session, WT_PAGE *page, size_t *inmem_sizep) /* * Internal row-store page entries map one-to-two to the number of * physical entries on the page (each in-memory entry is a key item - * and location coookie). + * and location cookie). */ nindx = dsk->u.entries / 2; WT_RET((__wt_calloc_def(session, (size_t)nindx, &page->u.intl.t))); diff --git a/src/include/extern.h b/src/include/extern.h index 3ed526cb11c..e51b2ce829e 100644 --- a/src/include/extern.h +++ b/src/include/extern.h @@ -232,12 +232,6 @@ extern int __wt_cache_read(WT_SESSION_IMPL *session, extern int __wt_kv_return(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, int key_ret); -extern int __wt_btree_get_root(WT_SESSION_IMPL *session, WT_ITEM *addr); -extern int __wt_btree_free_root(WT_SESSION_IMPL *session); -extern int __wt_btree_set_root(WT_SESSION_IMPL *session, - const char *filename, - uint8_t *addr, - uint32_t size); extern int __wt_salvage(WT_SESSION_IMPL *session, const char *cfg[]); extern int __wt_btree_stat_init(WT_SESSION_IMPL *session); extern int __wt_btree_sync(WT_SESSION_IMPL *session, const char *cfg[]); @@ -581,6 +575,7 @@ extern int __wt_thread_create(pthread_t *tidret, void *(*func)(void *), void *arg); extern int __wt_thread_join(pthread_t tid); +extern int __wt_epoch(WT_SESSION_IMPL *session, struct timespec *tp); extern void __wt_yield(void); extern int __wt_struct_check(WT_SESSION_IMPL *session, const char *fmt, @@ -762,6 +757,12 @@ extern int __wt_session_remove_btree( WT_SESSION_IMPL *session, int locked); extern int __wt_session_close_any_open_btree(WT_SESSION_IMPL *session, const char *name); +extern int __wt_btree_get_root(WT_SESSION_IMPL *session, WT_ITEM *addr); +extern int __wt_btree_free_root(WT_SESSION_IMPL *session); +extern int __wt_btree_set_root(WT_SESSION_IMPL *session, + const char *filename, + uint8_t *addr, + uint32_t size); extern void __wt_eventv(WT_SESSION_IMPL *session, int msg_event, int error, diff --git a/src/include/serial_funcs.i b/src/include/serial_funcs.i index b9a0a15e569..be4a6c66231 100644 --- a/src/include/serial_funcs.i +++ b/src/include/serial_funcs.i @@ -130,17 +130,17 @@ __wt_col_append_new_ins_taken(WT_SESSION_IMPL *session, WT_PAGE *page) } typedef struct { - int close_method; + int discard; } __wt_evict_file_args; static inline int __wt_evict_file_serial( - WT_SESSION_IMPL *session, int close_method) + WT_SESSION_IMPL *session, int discard) { __wt_evict_file_args _args, *args = &_args; int ret; - args->close_method = close_method; + args->discard = discard; ret = __wt_session_serialize_func(session, WT_SERIAL_EVICT, __wt_evict_file_serial_func, args); @@ -150,12 +150,12 @@ __wt_evict_file_serial( static inline void __wt_evict_file_unpack( - WT_SESSION_IMPL *session, int *close_methodp) + WT_SESSION_IMPL *session, int *discardp) { __wt_evict_file_args *args = (__wt_evict_file_args *)session->wq_args; - *close_methodp = args->close_method; + *discardp = args->discard; } typedef struct { diff --git a/src/os_posix/os_time.c b/src/os_posix/os_time.c new file mode 100644 index 00000000000..b74f39bde9c --- /dev/null +++ b/src/os_posix/os_time.c @@ -0,0 +1,24 @@ +/*- + * Copyright (c) 2008-2012 WiredTiger, Inc. + * All rights reserved. + * + * See the file LICENSE for redistribution information. + */ + +#include "wt_internal.h" + +/* + * __wt_epoch -- + * Return the seconds and nanoseconds since the Epoch. + */ +int +__wt_epoch(WT_SESSION_IMPL *session, struct timespec *tp) +{ + int ret; + + WT_SYSCALL_RETRY(clock_gettime(CLOCK_REALTIME, tp), ret); + if (ret == 0) + return (0); + + WT_RET_MSG(session, ret, "clock_gettime error"); +} diff --git a/src/btree/bt_root.c b/src/session/session_root.c index 4a8ec127ddf..4a8ec127ddf 100644 --- a/src/btree/bt_root.c +++ b/src/session/session_root.c |