Accepting request 1117492 from home:tsaupe:branches:Base:System:udisks2-boo1216055
fix mount failure on ntfs formatted usb disks (bsc#1216055) OBS-URL: https://build.opensuse.org/request/show/1117492 OBS-URL: https://build.opensuse.org/package/show/Base:System/udisks2?expand=0&rev=103
This commit is contained in:
parent
e01612e541
commit
288938bc91
35
0001-doc-Clarify-the-Filesystem.Size-property-presence.patch
Normal file
35
0001-doc-Clarify-the-Filesystem.Size-property-presence.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From fee9a3a50c3d4f687ed0c310096b1cd0e21f8923 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Tue, 22 Aug 2023 14:33:07 +0200
|
||||||
|
Subject: [PATCH] doc: Clarify the Filesystem.Size property presence
|
||||||
|
|
||||||
|
We've done many tweaks and introduced limits to some
|
||||||
|
filesystem types, let's document that.
|
||||||
|
---
|
||||||
|
data/org.freedesktop.UDisks2.xml | 9 +++++----
|
||||||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/data/org.freedesktop.UDisks2.xml b/data/org.freedesktop.UDisks2.xml
|
||||||
|
index bfa6e660..53194c70 100644
|
||||||
|
--- a/data/org.freedesktop.UDisks2.xml
|
||||||
|
+++ b/data/org.freedesktop.UDisks2.xml
|
||||||
|
@@ -2715,11 +2715,12 @@
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<!-- Size: The size of the filesystem. This is the amount of
|
||||||
|
- bytes used on the block device. If this is smaller than
|
||||||
|
- org.freedesktop.Udisks2.Block.Size, then the filesystem can
|
||||||
|
- be made larger with Resize.
|
||||||
|
+ bytes used on the block device representing an outer filesystem
|
||||||
|
+ boundary. If this is smaller than org.freedesktop.Udisks2.Block.Size,
|
||||||
|
+ then the filesystem can be made larger with Resize.
|
||||||
|
|
||||||
|
- If the size is unknown, the property is zero.
|
||||||
|
+ If the size is unknown, the property is zero. Currently limited
|
||||||
|
+ to xfs and ext filesystems only.
|
||||||
|
|
||||||
|
Please note that reading value of this property typically causes
|
||||||
|
some I/O to read the filesystem superblock. Unlike the rest
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
111
0001-tests-Add-offline-and-online-filesystem-grow-tests.patch
Normal file
111
0001-tests-Add-offline-and-online-filesystem-grow-tests.patch
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
From c73288f465107567d91be2658a68c61e5f3f5a16 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Tue, 22 Aug 2023 14:19:05 +0200
|
||||||
|
Subject: [PATCH] tests: Add offline and online filesystem grow tests
|
||||||
|
|
||||||
|
---
|
||||||
|
src/tests/dbus-tests/test_80_filesystem.py | 81 +++++++++++++++++++++-
|
||||||
|
1 file changed, 80 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/tests/dbus-tests/test_80_filesystem.py b/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
index 59946720..87d63922 100644
|
||||||
|
--- a/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
+++ b/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
@@ -314,7 +314,7 @@ class UdisksFSTestCase(udiskstestcase.UdisksTestCase):
|
||||||
|
rpr, _ = manager.CanRepair(self._fs_signature)
|
||||||
|
except:
|
||||||
|
rpr = chk = rep = False
|
||||||
|
- if not (rpr and chk and rep) or mode & (1 << 1) == 0:
|
||||||
|
+ if not (rpr and chk and rep) or mode & BlockDev.FSResizeFlags.OFFLINE_SHRINK == 0:
|
||||||
|
self.skipTest('Cannot check, offline-shrink and repair %s filesystem' % self._fs_signature)
|
||||||
|
|
||||||
|
disk = self.get_object('/block_devices/' + os.path.basename(self.vdevs[0]))
|
||||||
|
@@ -344,6 +344,85 @@ class UdisksFSTestCase(udiskstestcase.UdisksTestCase):
|
||||||
|
self.assertTrue(block_fs.Check(self.no_options, dbus_interface=self.iface_prefix + '.Filesystem'))
|
||||||
|
self.get_property(block_fs, '.Filesystem', 'Size').assertAlmostEqual(size // 2, delta=1024**2)
|
||||||
|
|
||||||
|
+ def _test_grow(self, online):
|
||||||
|
+ TMP_SIZE_1 = 500 * 1024**2
|
||||||
|
+ TMP_SIZE_2 = 2 * TMP_SIZE_1
|
||||||
|
+
|
||||||
|
+ self._check_can_create()
|
||||||
|
+
|
||||||
|
+ if not self._can_mount:
|
||||||
|
+ self.skipTest('Cannot mount %s filesystem' % self._fs_signature)
|
||||||
|
+
|
||||||
|
+ if not self._can_query_size:
|
||||||
|
+ self.skipTest('Cannot determine size of %s filesystem' % self._fs_signature)
|
||||||
|
+
|
||||||
|
+ manager = self.get_interface(self.get_object('/Manager'), '.Manager')
|
||||||
|
+ try:
|
||||||
|
+ res, mode, _ = manager.CanResize(self._fs_signature)
|
||||||
|
+ except:
|
||||||
|
+ res = False
|
||||||
|
+ mode = 0
|
||||||
|
+ if not res:
|
||||||
|
+ self.skipTest('Cannot resize %s filesystem' % self._fs_signature)
|
||||||
|
+ if online and mode & BlockDev.FSResizeFlags.ONLINE_GROW == 0:
|
||||||
|
+ self.skipTest('Cannot online-grow %s filesystem' % self._fs_signature)
|
||||||
|
+ if not online and mode & BlockDev.FSResizeFlags.OFFLINE_GROW == 0:
|
||||||
|
+ self.skipTest('Cannot offline-grow %s filesystem' % self._fs_signature)
|
||||||
|
+
|
||||||
|
+ with tempfile.NamedTemporaryFile(prefix="udisks_test", delete=True, mode='w+b') as temp:
|
||||||
|
+ temp.truncate(TMP_SIZE_1)
|
||||||
|
+ loop_dev_obj_path = manager.LoopSetup(temp.fileno(), self.no_options)
|
||||||
|
+ loop_dev_obj = self.get_object(loop_dev_obj_path)
|
||||||
|
+ _, loop_dev = loop_dev_obj_path.rsplit("/", 1)
|
||||||
|
+ self.addCleanup(self.run_command, 'losetup --detach /dev/%s' % loop_dev)
|
||||||
|
+
|
||||||
|
+ # check the initial size
|
||||||
|
+ bsize = self.get_property(loop_dev_obj, '.Block', 'Size')
|
||||||
|
+ bsize.assertEqual(TMP_SIZE_1)
|
||||||
|
+
|
||||||
|
+ # create filesystem
|
||||||
|
+ loop_dev_obj.Format(self._fs_signature, self.no_options, dbus_interface=self.iface_prefix + '.Block')
|
||||||
|
+ fssize = self.get_property(loop_dev_obj, '.Filesystem', 'Size')
|
||||||
|
+ fssize.assertAlmostEqual(TMP_SIZE_1, delta=1024**2)
|
||||||
|
+
|
||||||
|
+ # not mounted
|
||||||
|
+ mounts = self.get_property(loop_dev_obj, '.Filesystem', 'MountPoints')
|
||||||
|
+ mounts.assertLen(0)
|
||||||
|
+
|
||||||
|
+ # mount it
|
||||||
|
+ if online:
|
||||||
|
+ d = dbus.Dictionary(signature='sv')
|
||||||
|
+ if self._fs_name:
|
||||||
|
+ d['fstype'] = self._fs_name
|
||||||
|
+ mnt_path = loop_dev_obj.Mount(d, dbus_interface=self.iface_prefix + '.Filesystem')
|
||||||
|
+ self.addCleanup(self.try_unmount, mnt_path)
|
||||||
|
+ self.addCleanup(self.try_unmount, '/dev/%s' % loop_dev)
|
||||||
|
+
|
||||||
|
+ # resize the loop device
|
||||||
|
+ temp.truncate(TMP_SIZE_2)
|
||||||
|
+ self.run_command('losetup -c /dev/%s' % loop_dev)
|
||||||
|
+ time.sleep(2)
|
||||||
|
+ bsize = self.get_property(loop_dev_obj, '.Block', 'Size')
|
||||||
|
+ bsize.assertEqual(TMP_SIZE_2)
|
||||||
|
+ fssize = self.get_property(loop_dev_obj, '.Filesystem', 'Size')
|
||||||
|
+ fssize.assertAlmostEqual(TMP_SIZE_1, delta=1024**2)
|
||||||
|
+
|
||||||
|
+ # perform the grow
|
||||||
|
+ loop_dev_obj.Resize(dbus.UInt64(TMP_SIZE_2), self.no_options, dbus_interface=self.iface_prefix + '.Filesystem')
|
||||||
|
+ fssize = self.get_property(loop_dev_obj, '.Filesystem', 'Size')
|
||||||
|
+ fssize.assertAlmostEqual(TMP_SIZE_2, delta=1024**2)
|
||||||
|
+
|
||||||
|
+ # unmount
|
||||||
|
+ if online:
|
||||||
|
+ loop_dev_obj.Unmount(self.no_options, dbus_interface=self.iface_prefix + '.Filesystem')
|
||||||
|
+ self.assertFalse(os.path.ismount(mnt_path))
|
||||||
|
+
|
||||||
|
+ def test_online_grow(self):
|
||||||
|
+ self._test_grow(True)
|
||||||
|
+
|
||||||
|
+ def test_offline_grow(self):
|
||||||
|
+ self._test_grow(True)
|
||||||
|
+
|
||||||
|
def test_size(self):
|
||||||
|
self._check_can_create()
|
||||||
|
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
38
0001-tests-Mark-UDF-fstab-filesystem-tests-as-unstable.patch
Normal file
38
0001-tests-Mark-UDF-fstab-filesystem-tests-as-unstable.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From bb45fda15f2a5c2063d76db4d2a6dcafaffa9ad1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Tue, 22 Aug 2023 14:31:50 +0200
|
||||||
|
Subject: [PATCH] tests: Mark UDF fstab filesystem tests as unstable
|
||||||
|
|
||||||
|
Protective part table involved, duplicate identifiers leading
|
||||||
|
to random match each time. Until we have a proper fix, just
|
||||||
|
mark them as unstable.
|
||||||
|
---
|
||||||
|
src/tests/dbus-tests/test_80_filesystem.py | 12 ++++++++++++
|
||||||
|
1 file changed, 12 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/tests/dbus-tests/test_80_filesystem.py b/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
index 87d63922..18c8011d 100644
|
||||||
|
--- a/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
+++ b/src/tests/dbus-tests/test_80_filesystem.py
|
||||||
|
@@ -1758,6 +1758,18 @@ class UDFTestCase(UdisksFSTestCase):
|
||||||
|
def _gen_uuid(self):
|
||||||
|
return str.format("%016x" % random.randint(0, 0xffffffffffffffff))
|
||||||
|
|
||||||
|
+ @udiskstestcase.tag_test(udiskstestcase.TestTags.UNSTABLE)
|
||||||
|
+ def test_mount_fstab_complex_label(self):
|
||||||
|
+ super(UDFTestCase, self).test_mount_fstab_complex_label()
|
||||||
|
+
|
||||||
|
+ @udiskstestcase.tag_test(udiskstestcase.TestTags.UNSTABLE)
|
||||||
|
+ def test_mount_fstab_complex_label2(self):
|
||||||
|
+ super(UDFTestCase, self).test_mount_fstab_complex_label2()
|
||||||
|
+
|
||||||
|
+ @udiskstestcase.tag_test(udiskstestcase.TestTags.UNSTABLE)
|
||||||
|
+ def test_mount_fstab_complex_label_bad(self):
|
||||||
|
+ super(UDFTestCase, self).test_mount_fstab_complex_label_bad()
|
||||||
|
+
|
||||||
|
|
||||||
|
class FailsystemTestCase(UdisksFSTestCase):
|
||||||
|
# test that not supported operations fail 'nicely'
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
@ -0,0 +1,65 @@
|
|||||||
|
From bb54e1898e6c3569ca8d32dc1c9ca5e39e86875a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Fri, 4 Aug 2023 17:53:18 +0200
|
||||||
|
Subject: [PATCH] udiskslinuxfilesystem: Force native tools for mounted XFS fs
|
||||||
|
size retrieval
|
||||||
|
|
||||||
|
Just another quirk discovered by Cockpit tests. Looks like
|
||||||
|
the superblock gets written on-disk at some later point while
|
||||||
|
the mounted filesystem structures keep the new geometry in-memory.
|
||||||
|
This is an obvious limitation of blkid that only reads data
|
||||||
|
from the block device.
|
||||||
|
---
|
||||||
|
src/udiskslinuxfilesystem.c | 22 +++++++++++++++-------
|
||||||
|
1 file changed, 15 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/udiskslinuxfilesystem.c b/src/udiskslinuxfilesystem.c
|
||||||
|
index 9bfda895..9f4880ad 100644
|
||||||
|
--- a/src/udiskslinuxfilesystem.c
|
||||||
|
+++ b/src/udiskslinuxfilesystem.c
|
||||||
|
@@ -352,6 +352,7 @@ udisks_linux_filesystem_update (UDisksLinuxFilesystem *filesystem,
|
||||||
|
GPtrArray *p;
|
||||||
|
GList *mounts;
|
||||||
|
GList *l;
|
||||||
|
+ gboolean mounted;
|
||||||
|
|
||||||
|
mount_monitor = udisks_daemon_get_mount_monitor (udisks_linux_block_object_get_daemon (object));
|
||||||
|
device = udisks_linux_block_object_get_device (object);
|
||||||
|
@@ -370,6 +371,7 @@ udisks_linux_filesystem_update (UDisksLinuxFilesystem *filesystem,
|
||||||
|
g_ptr_array_add (p, NULL);
|
||||||
|
udisks_filesystem_set_mount_points (UDISKS_FILESYSTEM (filesystem),
|
||||||
|
(const gchar *const *) p->pdata);
|
||||||
|
+ mounted = p->len > 0;
|
||||||
|
g_ptr_array_free (p, TRUE);
|
||||||
|
g_list_free_full (mounts, g_object_unref);
|
||||||
|
|
||||||
|
@@ -389,13 +391,19 @@ udisks_linux_filesystem_update (UDisksLinuxFilesystem *filesystem,
|
||||||
|
|
||||||
|
g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (filesystem));
|
||||||
|
|
||||||
|
- /* The ID_FS_SIZE property only contains data part of the total filesystem
|
||||||
|
- * size while 'ID_FS_LASTBLOCK * ID_FS_BLOCKSIZE' typically marks the size
|
||||||
|
- * boundary of the filesystem. This is the approach of libblockdev fs size
|
||||||
|
- * reporting.
|
||||||
|
- */
|
||||||
|
- filesystem->cached_fs_size = g_udev_device_get_property_as_uint64 (device->udev_device, "ID_FS_LASTBLOCK") *
|
||||||
|
- g_udev_device_get_property_as_uint64 (device->udev_device, "ID_FS_BLOCKSIZE");
|
||||||
|
+ if (mounted && g_strcmp0 (filesystem->cached_fs_type, "xfs") == 0)
|
||||||
|
+ /* Force native filesystem tools for mounted XFS as superblock might
|
||||||
|
+ * not have been written right after the grow.
|
||||||
|
+ */
|
||||||
|
+ filesystem->cached_fs_size = 0;
|
||||||
|
+ else
|
||||||
|
+ /* The ID_FS_SIZE property only contains data part of the total filesystem
|
||||||
|
+ * size and comes with no guarantees while 'ID_FS_LASTBLOCK * ID_FS_BLOCKSIZE'
|
||||||
|
+ * typically marks the boundary of the filesystem.
|
||||||
|
+ */
|
||||||
|
+ filesystem->cached_fs_size = g_udev_device_get_property_as_uint64 (device->udev_device, "ID_FS_LASTBLOCK") *
|
||||||
|
+ g_udev_device_get_property_as_uint64 (device->udev_device, "ID_FS_BLOCKSIZE");
|
||||||
|
+
|
||||||
|
/* The Size property is hacked to be retrieved on-demand, only need to
|
||||||
|
* notify subscribers that it has changed.
|
||||||
|
*/
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
154
0001-udiskslinuxfilesystem-Refactor-internal-whitelists.patch
Normal file
154
0001-udiskslinuxfilesystem-Refactor-internal-whitelists.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
From 4a06a6ee126751af3a7ab9fc33721a904adb6850 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Fri, 4 Aug 2023 17:48:41 +0200
|
||||||
|
Subject: [PATCH] udiskslinuxfilesystem: Refactor internal whitelists
|
||||||
|
|
||||||
|
(cherry picked from commit eb7e79e0b7e5f284809965b21c96b6451662c544)
|
||||||
|
---
|
||||||
|
src/udiskslinuxfilesystem.c | 100 +++++++++++++++++++++---------------
|
||||||
|
1 file changed, 58 insertions(+), 42 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/udiskslinuxfilesystem.c b/src/udiskslinuxfilesystem.c
|
||||||
|
index f2e5eb60..9bfda895 100644
|
||||||
|
--- a/src/udiskslinuxfilesystem.c
|
||||||
|
+++ b/src/udiskslinuxfilesystem.c
|
||||||
|
@@ -109,6 +109,45 @@ G_DEFINE_TYPE_WITH_CODE (UDisksLinuxFilesystem, udisks_linux_filesystem, UDISKS_
|
||||||
|
#define MOUNT_BASE_PERSISTENT FALSE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* required for kernel module autoloading */
|
||||||
|
+static const gchar *well_known_filesystems[] =
|
||||||
|
+{
|
||||||
|
+ "bcache",
|
||||||
|
+ "bcachefs",
|
||||||
|
+ "btrfs",
|
||||||
|
+ "erofs",
|
||||||
|
+ "exfat",
|
||||||
|
+ "ext2",
|
||||||
|
+ "ext3",
|
||||||
|
+ "ext4",
|
||||||
|
+ "f2fs",
|
||||||
|
+ "hfs",
|
||||||
|
+ "hfsplus",
|
||||||
|
+ "iso9660",
|
||||||
|
+ "jfs",
|
||||||
|
+ "msdos",
|
||||||
|
+ "nilfs",
|
||||||
|
+ "nilfs2",
|
||||||
|
+ "ntfs",
|
||||||
|
+ "ntfs3",
|
||||||
|
+ "udf",
|
||||||
|
+ "reiserfs",
|
||||||
|
+ "reiser4",
|
||||||
|
+ "reiser5",
|
||||||
|
+ "umsdos",
|
||||||
|
+ "vfat",
|
||||||
|
+ "xfs",
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* filesystems known to report their outer boundaries */
|
||||||
|
+static const gchar *fs_lastblock_list[] =
|
||||||
|
+{
|
||||||
|
+ "ext2",
|
||||||
|
+ "ext3",
|
||||||
|
+ "ext4",
|
||||||
|
+ "xfs",
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -199,6 +238,17 @@ udisks_linux_filesystem_new (void)
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
+static gboolean
|
||||||
|
+in_fs_lastblock_list (const gchar *fstype)
|
||||||
|
+{
|
||||||
|
+ guint n;
|
||||||
|
+
|
||||||
|
+ for (n = 0; n < G_N_ELEMENTS (fs_lastblock_list); n++)
|
||||||
|
+ if (g_strcmp0 (fs_lastblock_list[n], fstype) == 0)
|
||||||
|
+ return TRUE;
|
||||||
|
+ return FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* WARNING: called with GDBusObjectManager lock held, avoid any object lookup */
|
||||||
|
static guint64
|
||||||
|
get_filesystem_size (UDisksLinuxFilesystem *filesystem)
|
||||||
|
@@ -211,6 +261,10 @@ get_filesystem_size (UDisksLinuxFilesystem *filesystem)
|
||||||
|
if (!filesystem->cached_device_file || !filesystem->cached_fs_type)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
+ /* manually getting size is supported only for Ext and XFS */
|
||||||
|
+ if (!in_fs_lastblock_list (filesystem->cached_fs_type))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
/* if the drive is ATA and is sleeping, skip filesystem size check to prevent
|
||||||
|
* drive waking up - nothing has changed anyway since it's been sleeping...
|
||||||
|
*/
|
||||||
|
@@ -352,37 +406,6 @@ udisks_linux_filesystem_update (UDisksLinuxFilesystem *filesystem,
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
-/* required for kernel module autoloading */
|
||||||
|
-static const gchar *well_known_filesystems[] =
|
||||||
|
-{
|
||||||
|
- "bcache",
|
||||||
|
- "bcachefs",
|
||||||
|
- "btrfs",
|
||||||
|
- "erofs",
|
||||||
|
- "exfat",
|
||||||
|
- "ext2",
|
||||||
|
- "ext3",
|
||||||
|
- "ext4",
|
||||||
|
- "f2fs",
|
||||||
|
- "hfs",
|
||||||
|
- "hfsplus",
|
||||||
|
- "iso9660",
|
||||||
|
- "jfs",
|
||||||
|
- "msdos",
|
||||||
|
- "nilfs",
|
||||||
|
- "nilfs2",
|
||||||
|
- "ntfs",
|
||||||
|
- "ntfs3",
|
||||||
|
- "udf",
|
||||||
|
- "reiserfs",
|
||||||
|
- "reiser4",
|
||||||
|
- "reiser5",
|
||||||
|
- "umsdos",
|
||||||
|
- "vfat",
|
||||||
|
- "xfs",
|
||||||
|
- NULL,
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
static gboolean
|
||||||
|
is_in_filesystem_file (const gchar *filesystems_file,
|
||||||
|
const gchar *fstype)
|
||||||
|
@@ -432,19 +455,12 @@ is_in_filesystem_file (const gchar *filesystems_file,
|
||||||
|
static gboolean
|
||||||
|
is_well_known_filesystem (const gchar *fstype)
|
||||||
|
{
|
||||||
|
- gboolean ret = FALSE;
|
||||||
|
guint n;
|
||||||
|
|
||||||
|
- for (n = 0; well_known_filesystems[n] != NULL; n++)
|
||||||
|
- {
|
||||||
|
- if (g_strcmp0 (well_known_filesystems[n], fstype) == 0)
|
||||||
|
- {
|
||||||
|
- ret = TRUE;
|
||||||
|
- goto out;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- out:
|
||||||
|
- return ret;
|
||||||
|
+ for (n = 0; n < G_N_ELEMENTS (well_known_filesystems); n++)
|
||||||
|
+ if (g_strcmp0 (well_known_filesystems[n], fstype) == 0)
|
||||||
|
+ return TRUE;
|
||||||
|
+ return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* this is not a very efficient implementation but it's very rarely
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 11 15:37:37 UTC 2023 - Thomas Blume <thomas.blume@suse.com>
|
||||||
|
|
||||||
|
- fix mount failure on ntfs formatted usb disks (bsc#1216055)
|
||||||
|
* add:
|
||||||
|
0001-doc-Clarify-the-Filesystem.Size-property-presence.patch
|
||||||
|
0001-tests-Mark-UDF-fstab-filesystem-tests-as-unstable.patch
|
||||||
|
0001-udiskslinuxfilesystem-Refactor-internal-whitelists.patch
|
||||||
|
0001-tests-Add-offline-and-online-filesystem-grow-tests.patch
|
||||||
|
0001-udiskslinuxfilesystem-Force-native-tools-for-mounted.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 29 20:28:56 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
|
Tue Aug 29 20:28:56 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
|
||||||
|
|
||||||
|
@ -34,6 +34,11 @@ Source0: %{url}/releases/download/udisks-%{version}/udisks-%{version}.tar
|
|||||||
# an exception will be silently removed with the next version update.
|
# an exception will be silently removed with the next version update.
|
||||||
|
|
||||||
Patch0: harden_udisks2.service.patch
|
Patch0: harden_udisks2.service.patch
|
||||||
|
Patch1: 0001-doc-Clarify-the-Filesystem.Size-property-presence.patch
|
||||||
|
Patch2: 0001-tests-Mark-UDF-fstab-filesystem-tests-as-unstable.patch
|
||||||
|
Patch3: 0001-udiskslinuxfilesystem-Refactor-internal-whitelists.patch
|
||||||
|
Patch4: 0001-tests-Add-offline-and-online-filesystem-grow-tests.patch
|
||||||
|
Patch5: 0001-udiskslinuxfilesystem-Force-native-tools-for-mounted.patch
|
||||||
|
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
|
Loading…
Reference in New Issue
Block a user