mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
tdb: don't truncate tdb on recovery
The current recovery code truncates the tdb file on recovery. This is fine if recovery is only done on first open, but is a really bad idea as we move to allowing recovery on "live" databases. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
9f295eecff
commit
8c3fda4318
@ -1180,16 +1180,6 @@ int tdb_transaction_recover(struct tdb_context *tdb)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* reduce the file size to the old size */
|
||||
tdb_munmap(tdb);
|
||||
if (ftruncate(tdb->fd, recovery_eof) != 0) {
|
||||
TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_recover: failed to reduce to recovery size\n"));
|
||||
tdb->ecode = TDB_ERR_IO;
|
||||
return -1;
|
||||
}
|
||||
tdb->map_size = recovery_eof;
|
||||
tdb_mmap(tdb);
|
||||
|
||||
if (transaction_sync(tdb, 0, recovery_eof) == -1) {
|
||||
TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_recover: failed to sync2 recovery\n"));
|
||||
tdb->ecode = TDB_ERR_IO;
|
||||
|
Loading…
x
Reference in New Issue
Block a user