summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSusan LoVerso <sue@wiredtiger.com>2015-05-19 14:16:44 -0400
committerMichael Cahill <michael.cahill@mongodb.com>2015-05-25 16:44:44 +1000
commit05a7babce5eb0f3a42adf11afc36e3b388a24d98 (patch)
tree541e33a6e9cfc1411fe03192afced5fac2e1b88b
parent3cf5e4c185f4fe141c506a3a45401daf48018499 (diff)
downloadmongo-05a7babce5eb0f3a42adf11afc36e3b388a24d98.tar.gz
Handle ENOENT from log_scan in callers. WT-1936
(cherry picked from commit 1bbe59ae3e244188cbf5a9cf5198ecb0ac2303c0)
-rw-r--r--src/log/log.c2
-rw-r--r--src/txn/txn_recover.c17
2 files changed, 12 insertions, 7 deletions
diff --git a/src/log/log.c b/src/log/log.c
index 8c13b177abf..2c36abd8eab 100644
--- a/src/log/log.c
+++ b/src/log/log.c
@@ -1531,8 +1531,6 @@ err: WT_STAT_FAST_CONN_INCR(session, log_scans);
*/
if (LF_ISSET(WT_LOGSCAN_ONE) && eol && ret == 0)
ret = WT_NOTFOUND;
- if (ret == ENOENT)
- ret = 0;
WT_TRET(__wt_close(session, &log_fh));
return (ret);
}
diff --git a/src/txn/txn_recover.c b/src/txn/txn_recover.c
index f6cd384417f..8c25c1685cf 100644
--- a/src/txn/txn_recover.c
+++ b/src/txn/txn_recover.c
@@ -463,8 +463,11 @@ __wt_txn_recover(WT_SESSION_IMPL *session)
* there.
*/
r.ckpt_lsn = metafile->ckpt_lsn;
- WT_ERR(__wt_log_scan(session,
- &metafile->ckpt_lsn, 0, __txn_log_recover, &r));
+ ret = __wt_log_scan(session,
+ &metafile->ckpt_lsn, 0, __txn_log_recover, &r);
+ if (ret == ENOENT)
+ ret = 0;
+ WT_ERR(ret);
}
}
@@ -502,9 +505,13 @@ __wt_txn_recover(WT_SESSION_IMPL *session)
WT_ERR(__wt_log_scan(session, NULL,
WT_LOGSCAN_FIRST | WT_LOGSCAN_RECOVER,
__txn_log_recover, &r));
- else
- WT_ERR(__wt_log_scan(session, &r.ckpt_lsn,
- WT_LOGSCAN_RECOVER, __txn_log_recover, &r));
+ else {
+ ret = __wt_log_scan(session, &r.ckpt_lsn,
+ WT_LOGSCAN_RECOVER, __txn_log_recover, &r);
+ if (ret == ENOENT)
+ ret = 0;
+ WT_ERR(ret);
+ }
conn->next_file_id = r.max_fileid;