[pacman-dev] delay writes a fsync
Pierre Schmitz
pierre at archlinux.de
Thu Mar 12 13:55:55 EDT 2009
Am Donnerstag, 12. März 2009 17:00:46 schrieb Xavier:
> On Thu, Mar 12, 2009 at 4:06 PM, Dan McGee <dpmcgee at gmail.com> wrote:
> > Adding an fsync() in the write_db_entry() call would probably make sense.
> >
> > However, note the funny part here- if we sync our DB entries, and then
> > your machine gets powered off, you might end up with a DB that got
> > committed but files in the package never actually got written to disk.
>
> Do we know that for sure? It depends on how libarchive is written, right?
This is interesting. I think we just need to make sure that the meta data are
written and the pacman.log. So, if something fails during a transaction the
user could reinstall the packages manually.
OT: I have read that Sun uses ZFS snapshots to implement transcation in their
package manager. Doing this on FS level seems to be the only sane way imho.
Its hard to revert the changes of an install script from pacman's point of
view.
--
Pierre Schmitz
Clemens-August-Straße 76
53115 Bonn
Telefon 0228 9716608
Mobil 0160 95269831
Jabber pierre at jabber.archlinux.de
WWW http://www.archlinux.de
More information about the pacman-dev
mailing list