mirror of
https://github.com/samba-team/samba.git
synced 2025-08-30 17:49:30 +03:00
s3:gencache: fix logic in stabilization when deleting a record from stable cache
Set state->written = true in the delete case if and only if the record has really been deleted. This does currently not seem to lead to an unneeded write to the DB, since failure to delete the record will cause the traverse and hence the transaction to cancel. But I think this is clearer. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Christof Schmitt <cs@samba.org>
This commit is contained in:
committed by
Volker Lendecke
parent
42b2e5ca8c
commit
202ee81e86
@ -718,10 +718,10 @@ static int stabilize_fn(struct tdb_context *tdb, TDB_DATA key, TDB_DATA val,
|
||||
}
|
||||
if ((timeout < time(NULL)) || (val.dsize == 0)) {
|
||||
res = tdb_delete(cache, key);
|
||||
if ((res != 0) && (tdb_error(cache) == TDB_ERR_NOEXIST)) {
|
||||
res = 0;
|
||||
} else {
|
||||
if (res == 0) {
|
||||
state->written = true;
|
||||
} else if (tdb_error(cache) == TDB_ERR_NOEXIST) {
|
||||
res = 0;
|
||||
}
|
||||
} else {
|
||||
res = tdb_store(cache, key, val, 0);
|
||||
|
Reference in New Issue
Block a user