RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 17-Oct-2009 07:46:42 Branch: HEAD Handle: 2009101705464200 Modified files: rpm/rpmdb logio_rec.c Log: - dbi: ignore ENOENT retrns from Unlink(2). - dbi: use writeFile not creat(2). Summary: Revision Changes Path 1.7 +6 -3 rpm/rpmdb/logio_rec.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmdb/logio_rec.c ============================================================================ $ cvs diff -u -r1.6 -r1.7 logio_rec.c --- rpm/rpmdb/logio_rec.c 12 Oct 2009 23:05:39 -0000 1.6 +++ rpm/rpmdb/logio_rec.c 17 Oct 2009 05:46:42 -0000 1.7 @@ -14,6 +14,8 @@ #include "debug.h" +#undef DEBUG_RECOVER + static int writeFile(const char * fn, mode_t mode, const DBT * content, const DBT * digest, uint32_t dalgo) { @@ -76,14 +78,15 @@ case DB_TXN_ABORT: case DB_TXN_BACKWARD_ROLL: ret = Unlink(argp->path.data); - if (ret != 0) + if (ret != 0 && errno != ENOENT) dbenv->err(dbenv, ret, "Creat: DB_TXN_BACKWARD_ROLL"); else ret = 0; break; case DB_TXN_APPLY: case DB_TXN_FORWARD_ROLL: - ret = creat(argp->path.data, argp->mode); + ret = writeFile(argp->path.data, argp->mode, &argp->content, + &argp->digest, argp->dalgo); if (ret != 0) dbenv->err(dbenv, ret, "Creat: DB_TXN_FORWARD_ROLL"); else @@ -143,7 +146,7 @@ case DB_TXN_APPLY: case DB_TXN_FORWARD_ROLL: ret = Unlink(argp->path.data); - if (ret != 0) + if (ret != 0 && errno != ENOENT) dbenv->err(dbenv, ret, "Unlink: DB_TXN_FORWARD_ROLL"); else ret = 0; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
