[PATCH 4/4] dpkg: Use fdatasync instead of fsync
It is not important to get metadata such as modification time of files
right immediately during an upgrade; that can wait for a later sync().
The result is a small but appreciable performance improvement (~1% when
testing on a laptop hard disk on ext4).
Suggested-by: Ted Ts'o <email@example.com>
Signed-off-by: Jonathan Nieder <firstname.lastname@example.org>
That's the end of the series.
I don't like the feeling of voodoo in patches 2 and 3. Is there a
simple way to observe their effect? If so, is there a way to achieve
that that is easier to explain?
src/archives.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/archives.c b/src/archives.c
index ed00ce7..7b5b475 100644
@@ -932,7 +932,7 @@ tar_deferred_extract(struct fileinlist *files, struct pkginfo *pkg)
fd = open(fnamenewvb.buf, O_WRONLY);
if (fd < 0)
ohshite(_("unable to open '%.255s'"), fnamenewvb.buf);
- if (fsync(fd))
+ if (fdatasync(fd))
ohshite(_("unable to sync file '%.255s'"), fnamenewvb.buf);
ohshite(_("error closing/writing `%.255s'"), fnamenewvb.buf);