X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftdb1_transaction.c;h=411caef360d4ff5e1353b60263e7252d87d9ef1f;hb=1086d8cef04f90f6ba74a35fdc9a44fe615518a8;hp=6e39de33f4c95269d818b0d8150f68b2735b6c2b;hpb=27647f94668040d91de377849dce87dabd72be69;p=ccan diff --git a/ccan/tdb2/tdb1_transaction.c b/ccan/tdb2/tdb1_transaction.c index 6e39de33..411caef3 100644 --- a/ccan/tdb2/tdb1_transaction.c +++ b/ccan/tdb2/tdb1_transaction.c @@ -1174,7 +1174,8 @@ int tdb1_transaction_commit(struct tdb_context *tdb) _tdb1_transaction_cancel(tdb); if (need_repack) { - return tdb_repack(tdb); + if (tdb_repack(tdb) != 0) + return -1; } return 0; @@ -1317,7 +1318,7 @@ tdb_bool_err tdb1_needs_recovery(struct tdb_context *tdb) /* find the recovery area */ if (tdb1_ofs_read(tdb, TDB1_RECOVERY_HEAD, &recovery_head) == -1) { - return tdb->last_error; + return TDB_ERR_TO_OFF(tdb->last_error); } if (recovery_head == 0) { @@ -1328,7 +1329,7 @@ tdb_bool_err tdb1_needs_recovery(struct tdb_context *tdb) /* read the recovery record */ if (tdb->tdb1.io->tdb1_read(tdb, recovery_head, &rec, sizeof(rec), TDB1_DOCONV()) == -1) { - return tdb->last_error; + return TDB_ERR_TO_OFF(tdb->last_error); } return (rec.magic == TDB1_RECOVERY_MAGIC);