tdb2: don't return -1 (ie. TDB_ERR_CORRUPT) on transaction write fail.
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 13 Sep 2011 22:43:27 +0000 (08:13 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 13 Sep 2011 22:43:27 +0000 (08:13 +0930)
A left-over -1 return; should be returning ecode (probably TDB_ERR_IO).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from CCAN commit 077bdae6877d26749987b26a1b5b28cdba5ebbdd)

lib/tdb2/transaction.c

index eab00e0937778b51ce79d7b48de26daf94c93c78..10f4862c6e431d21b33636b6755e06a4d6c9c2ce 100644 (file)
@@ -203,7 +203,7 @@ static enum TDB_ERROR transaction_write(struct tdb_context *tdb, tdb_off_t off,
                tdb_len_t len2 = PAGESIZE - (off % PAGESIZE);
                ecode = transaction_write(tdb, off, buf, len2);
                if (ecode != TDB_SUCCESS) {
-                       return -1;
+                       return ecode;
                }
                len -= len2;
                off += len2;