Compare commits

..

2 commits

Author SHA1 Message Date
Tomas Bzatek
d2361d2b6b * Fri Aug 29 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.2-1
- Version 2.10.2
2025-08-29 14:59:36 +02:00
Tomas Bzatek
4cbf9dc0b3 * Thu Jun 19 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.1-7
- Harden temporary private mounts (#2373301)
2025-06-19 16:04:17 +02:00
4 changed files with 68 additions and 49 deletions

6
.gitignore vendored
View file

@ -19,8 +19,4 @@
/udisks-2.9.4.tar.bz2
/udisks-2.10.0.tar.bz2
/udisks-2.10.1.tar.bz2
/udisks-2.10.90.tar.bz2
/udisks-2.10.91.tar.bz2
/udisks-2.11.0.tar.bz2
/udisks-2.11.1.tar.bz2
/udisks-2.11.2.tar.bz2
/udisks-2.10.2.tar.bz2

View file

@ -1 +1 @@
SHA512 (udisks-2.11.2.tar.bz2) = 3996ac935cb330eb7f286f25a716da52ca374b14cc7b4f2e60a7e4b0b0745559607fa8c6d1e96e777b44eb8e07eb16e1ad6bc00b3051adea14e865df3efa2662
SHA512 (udisks-2.10.2.tar.bz2) = 8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8

View file

@ -0,0 +1,55 @@
From eb1d4a2bcbb8744074d17553bd0d55ffbd76bdeb Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 14 Nov 2023 13:16:39 +0000
Subject: [PATCH] udiskslinuxblockobject: Try issuing BLKRRPART ioctl harder
For some reason even after acquiring a voluntary BSD lock on
the device the BLKRRPART ioctl still fails with EBUSY. Wait
a couple of msec and everything is fine.
So try harder, several attempts, if busy. There might be number
of things going on in the system and it's out of our control
even when holding a lock.
---
src/udiskslinuxblockobject.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/udiskslinuxblockobject.c b/src/udiskslinuxblockobject.c
index d5da4bc4d9..33604df841 100644
--- a/src/udiskslinuxblockobject.c
+++ b/src/udiskslinuxblockobject.c
@@ -1098,23 +1098,31 @@ udisks_linux_block_object_reread_partition_table (UDisksLinuxBlockObject *objec
}
else
{
- gint num_tries = 0;
+ gint num_tries;
/* acquire an exclusive BSD lock to prevent udev probes.
* See also https://systemd.io/BLOCK_DEVICE_LOCKING
*/
+ num_tries = 10;
while (flock (fd, LOCK_EX | LOCK_NB) != 0)
{
g_usleep (100 * 1000); /* microseconds */
- if (num_tries++ > 5)
+ if (num_tries-- < 0)
break;
}
- if (ioctl (fd, BLKRRPART) != 0)
+ num_tries = 5;
+ while (ioctl (fd, BLKRRPART) != 0)
{
+ if (errno == EBUSY && num_tries-- >= 0)
+ {
+ g_usleep (200 * 1000); /* microseconds */
+ continue;
+ }
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno),
"Error re-reading partition table (BLKRRPART ioctl) on %s: %m", device_file);
ret = FALSE;
+ break;
}
close (fd);
}

View file

@ -2,9 +2,10 @@
%global gobject_introspection_version 1.30.0
%global polkit_version 0.102
%global systemd_version 208
%global libatasmart_version 0.17
%global dbus_version 1.4.0
%global with_gtk_doc 1
%global libblockdev_version 3.4
%global libblockdev_version 3.0
%define with_btrfs 1
%ifnarch %{ix86}
@ -24,16 +25,19 @@
Name: udisks2
Summary: Disk Manager
Version: 2.11.2
Version: 2.10.2
Release: 1%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/storaged-project/udisks
Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2
Patch0: udisks-2.11.0-BLKRRPART_harder.patch
BuildRequires: make
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version}
BuildRequires: libgudev1-devel >= %{systemd_version}
BuildRequires: libatasmart-devel >= %{libatasmart_version}
BuildRequires: polkit-devel >= %{polkit_version}
BuildRequires: systemd >= %{systemd_version}
BuildRequires: systemd-devel >= %{systemd_version}
@ -51,7 +55,6 @@ BuildRequires: libblockdev-mdraid-devel >= %{libblockdev_version}
BuildRequires: libblockdev-fs-devel >= %{libblockdev_version}
BuildRequires: libblockdev-crypto-devel >= %{libblockdev_version}
BuildRequires: libblockdev-nvme-devel >= %{libblockdev_version}
BuildRequires: libblockdev-smart-devel >= %{libblockdev_version}
BuildRequires: libmount-devel
BuildRequires: libuuid-devel
@ -63,7 +66,6 @@ Requires: libblockdev-mdraid >= %{libblockdev_version}
Requires: libblockdev-fs >= %{libblockdev_version}
Requires: libblockdev-crypto >= %{libblockdev_version}
Requires: libblockdev-nvme >= %{libblockdev_version}
Requires: libblockdev-smart >= %{libblockdev_version}
Requires: lib%{name}%{?_isa} = %{version}-%{release}
@ -71,6 +73,8 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
Requires: dbus >= %{dbus_version}
# Needed to pull in the udev daemon
Requires: udev >= %{systemd_version}
# We need at least this version for bugfixes/features etc.
Requires: libatasmart >= %{libatasmart_version}
# For mount, umount, mkswap
Requires: util-linux
# For mkfs.ext3, mkfs.ext3, e2label
@ -105,10 +109,6 @@ Recommends: ntfs-3g
Recommends: btrfs-progs
%endif
# For /proc/self/mountinfo, only available in 2.6.26 or higher
Conflicts: kernel < 2.6.26
Provides: storaged = %{version}-%{release}
Obsoletes: storaged < %{version}-%{release}
@ -197,7 +197,6 @@ rm -f src/tests/dbus-tests/config_h.py
rm -f src/udisks-daemon-resources.{c,h}
# default to ntfs-3g (#2182206)
sed -i data/builtin_mount_options.conf -e 's/ntfs_drivers=ntfs3,ntfs/ntfs_drivers=ntfs,ntfs3/'
sed -i data/builtin_mount_options.conf -e 's/exfat_defaults=uid=\$UID,gid=\$GID,iocharset=utf8,errors=remount-ro/exfat_defaults=uid=\$UID,gid=\$GID,iocharset=utf8,errors=remount-ro,sys_tz/'
%build
# autoreconf -ivf
@ -208,7 +207,6 @@ sed -i data/builtin_mount_options.conf -e 's/exfat_defaults=uid=\$UID,gid=\$GID,
%else
--disable-gtk-doc \
%endif
--enable-smart \
%if 0%{?with_btrfs}
--enable-btrfs \
%endif
@ -341,42 +339,12 @@ fi
%endif
%changelog
* Thu Aug 06 2026 Tomas Bzatek <tbzatek@redhat.com> - 2.11.2-1
- Version 2.11.2
* Fri Aug 29 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.2-1
- Version 2.10.2
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Wed Apr 01 2026 Tomas Bzatek <tbzatek@redhat.com> - 2.11.1-2
- Use 'sys_tz' exfat mount option by default (#2403452)
* Wed Feb 25 2026 Tomas Bzatek <tbzatek@redhat.com> - 2.11.1-1
- Version 2.11.1 (#2442584,#2442588)
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Dec 17 2025 Tom Callaway <spot@fedoraproject.org> - 2.11.0-2
- rebuild for new libconfig
* Thu Nov 06 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.11.0-1
- Version 2.11.0
* Fri Aug 29 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.91-1
- Version 2.10.91
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.90-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jun 19 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.90-3
* Thu Jun 19 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.10.1-7
- Harden temporary private mounts (#2373301)
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.90-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Oct 02 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.10.90-1
- Version 2.10.90
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild