Subject: bug#77680: closed (Re: [bug#77680] [PATCH v2 0/4] Avoid 'fdatasync' calls for cache files)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 14 Apr 2025 21:09:02 +0000

Your bug report

#77680: [PATCH 0/4] Avoid 'fdatasync' calls for cache files

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
77680: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77680
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#77680] [PATCH v2 0/4] Avoid 'fdatasync' calls for cache files
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Tobias Geerinckx-Rice <[email-masked]>, Christopher Baines <[email-masked]>, Josselin Poiret <[email-masked]>, Simon Tournier <[email-masked]>, Mathieu Othacehe <[email-masked]>
Date: Mon, 14 Apr 2025 23:08:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Changes since v1:
>
>   • Patch #3 only tolerates empty narinfo files instead of
>     doing (false-if-exception (read p)), as suggested by Chris.
>
> Ludo'.
>
> Ludovic Courtès (4):
>   cache: Remove unused import.
>   utils: Add #:sync? parameter to ‘with-atomic-file-output’.
>   substitutes: Ignore corrupt cached narinfos.
>   guix: Avoid ‘fdatasync’ call for caches and regular files.

Pushed as dfac0a5a9526805334bd7f72926b77b5d46f59db, following our
discussion on #guix today.

Subject: [PATCH 0/4] Avoid 'fdatasync' calls for cache files
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Wed, 9 Apr 2025 16:21:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

As Chris found out, calling ‘fdatasync’ for each and every narinfo
cache file created by ‘guix substitute’ (and likewise for other caches)
is too expensive and pointless.  This patch series fixes that.

Thoughts?

Ludo’.

Ludovic Courtès (4):
  cache: Remove unused import.
  utils: Add #:sync? parameter to ‘with-atomic-file-output’.
  substitutes: Ignore corrupt cached narinfos.
  guix: Avoid ‘fdatasync’ call for caches and regular files.

 guix/cache.scm            |  1 -
 guix/git-authenticate.scm |  5 +++--
 guix/http-client.scm      |  5 +++--
 guix/scripts/discover.scm |  3 ++-
 guix/scripts/style.scm    |  5 +++--
 guix/substitutes.scm      |  8 +++++---
 guix/utils.scm            | 14 ++++++++++----
 7 files changed, 26 insertions(+), 15 deletions(-)

base-commit: c88f98bb3ca2616baea6b1e452cc900cc9c87503
-- 
2.49.0