Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
HAMANO Tsukasa
OpenLDAP
Commits
21621cc7
Commit
21621cc7
authored
Jan 05, 2014
by
Hallvard Furuseth
Browse files
Invalidate the txn on corruption/internal errors
parent
c48cdd7a
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/mdb.c
View file @
21621cc7
...
...
@@ -4621,6 +4621,7 @@ mdb_cursor_push(MDB_cursor *mc, MDB_page *mp)
DDBI
(
mc
),
(
void
*
)
mc
));
if
(
mc
->
mc_snum
>=
CURSOR_STACK
)
{
mc
->
mc_txn
->
mt_flags
|=
MDB_TXN_ERROR
;
return
MDB_CURSOR_FULL
;
}
...
...
@@ -4680,6 +4681,7 @@ mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl)
p
=
(
MDB_page
*
)(
env
->
me_map
+
env
->
me_psize
*
pgno
);
}
else
{
DPRINTF
((
"page %"
Z
"u not found"
,
pgno
));
txn
->
mt_flags
|=
MDB_TXN_ERROR
;
return
MDB_PAGE_NOTFOUND
;
}
...
...
@@ -4747,6 +4749,7 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags)
if
(
!
IS_LEAF
(
mp
))
{
DPRINTF
((
"internal error, index points to a %02X page!?"
,
mp
->
mp_flags
));
mc
->
mc_txn
->
mt_flags
|=
MDB_TXN_ERROR
;
return
MDB_CORRUPTED
;
}
...
...
@@ -6454,6 +6457,7 @@ full:
mdb_dbg_pgno
(
mp
),
NUMKEYS
(
mp
)));
DPRINTF
((
"upper-lower = %u - %u = %"
Z
"d"
,
mp
->
mp_upper
,
mp
->
mp_lower
,
room
));
DPRINTF
((
"node size = %"
Z
"u"
,
node_size
));
mc
->
mc_txn
->
mt_flags
|=
MDB_TXN_ERROR
;
return
MDB_PAGE_FULL
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment