import librepo-1.14.0-2.el8

This commit is contained in:
CentOS Sources 2021-07-01 04:12:01 +00:00 committed by Andrew Lukoshko
parent 454314766e
commit 7719549f92
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,44 @@
From 33be80700bc594f34818ce697493c17e70430390 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Mon, 17 May 2021 08:50:25 +0200
Subject: [PATCH] Recover from fsync fail on read-only filesystem
(RhBug:1956361)
When `fsync` fails due to the file not supporting synchronization just log
the problem instead of failing the whole dnf run. This happens for
example with filesystems mounted read-only in which case there is no
point to `fsync` anyway.
Currently we also ignore return values from `FSETXATTR` which also fails
on read-only filesystem (so no checksum cache is set). This is fine however
since the checksum is recomputed when needed, dnf is just a bit slower.
https://bugzilla.redhat.com/show_bug.cgi?id=1956361
---
librepo/checksum.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/librepo/checksum.c b/librepo/checksum.c
index db37040..6bba53c 100644
--- a/librepo/checksum.c
+++ b/librepo/checksum.c
@@ -266,9 +266,13 @@ lr_checksum_fd_compare(LrChecksumType type,
*matches = (strcmp(expected, checksum)) ? FALSE : TRUE;
if (fsync(fd) != 0) {
- g_set_error(err, LR_CHECKSUM_ERROR, LRE_FILE,
- "fsync failed: %s", strerror(errno));
- return FALSE;
+ if (errno == EROFS || errno == EINVAL) {
+ g_debug("fsync failed: %s", strerror(errno));
+ } else {
+ g_set_error(err, LR_CHECKSUM_ERROR, LRE_FILE,
+ "fsync failed: %s", strerror(errno));
+ return FALSE;
+ }
}
if (caching && *matches && timestamp != -1) {
--
2.31.1

View File

@ -12,13 +12,15 @@
Name: librepo
Version: 1.14.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Repodata downloading library
License: LGPLv2+
URL: https://github.com/rpm-software-management/librepo
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-Recover-from-fsync-fail-on-read-only-filesystem-RhBu.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: check-devel
@ -97,6 +99,9 @@ Python 3 bindings for the librepo library.
%{python3_sitearch}/%{name}/
%changelog
* Fri Jun 25 2021 Marek Blaha <mblaha@redhat.com> - 1.14.0-2
- Recover from fsync fail on read-only filesystem (RhBug:1956361)
* Fri Apr 30 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 1.14.0-1
- Update to 1.14.0
- Fix the key string parsing in url_substitution