This package browser is in early development. Mind the rough edges.

libeatmydata 131

Transparently ignore calls to synchronize data safely to disk

Libeatmydata transparently disables most ways a program might force data to be written to the file system, such as fsync() or open(O_SYNC).

Such synchronisation calls provide important data integrity guarantees but are expensive to perform and can significantly slow down software that (over)uses them.

This price is worth paying if you care about the files being modified---which is typically the case---or when manipulating important components of your system. Please, do not use something called ``eat my data'' in such cases!

However, it does not make sense to accept this performance hit if the data is unimportant and you can afford to lose all of it in the event of a crash, for example when running a software test suite. Adding libeatmydata.so to the LD_PRELOAD environment of such tasks will override all C library data synchronisation functions with custom no-op ones that do nothing and immediately return success.

A simple eatmydata script is included that does this for you.

Installation

Install libeatmydata 131 as follows:

guix install libeatmydata@131

Or install the latest version:

guix install libeatmydata

You can also install packages in augmented, pure or containerized environments for development or simply to try them out without polluting your user profile. See the guix shell documentation for more information.