Compare commits
No commits in common. "c8" and "c8s" have entirely different histories.
|
@ -1,65 +0,0 @@
|
||||||
From f93bd46c36c8e42f17f0f61b79c55a3794906395 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ondrej Holy <oholy@redhat.com>
|
|
||||||
Date: Fri, 6 Mar 2020 10:08:09 +0100
|
|
||||||
Subject: [PATCH] trash: Add support for x-gvfs-notrash option to ignore mounts
|
|
||||||
|
|
||||||
Add support for x-gvfs-notrash mount option, which allows to ignore
|
|
||||||
trash folder on certain mounts. This might be especially useful e.g.
|
|
||||||
to prevent wakeups of autofs mounts...
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1096200
|
|
||||||
---
|
|
||||||
daemon/trashlib/trashwatcher.c | 30 +++++++++++++++++++++++++++++-
|
|
||||||
1 file changed, 29 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/daemon/trashlib/trashwatcher.c b/daemon/trashlib/trashwatcher.c
|
|
||||||
index 6b455235..01c440a1 100644
|
|
||||||
--- a/daemon/trashlib/trashwatcher.c
|
|
||||||
+++ b/daemon/trashlib/trashwatcher.c
|
|
||||||
@@ -211,6 +211,34 @@ trash_mount_remove (TrashMount **mount_ptr)
|
|
||||||
g_slice_free (TrashMount, mount);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static gboolean
|
|
||||||
+ignore_trash_mount (GUnixMountEntry *mount)
|
|
||||||
+{
|
|
||||||
+ GUnixMountPoint *mount_point = NULL;
|
|
||||||
+ const gchar *mount_options;
|
|
||||||
+ gboolean retval = TRUE;
|
|
||||||
+
|
|
||||||
+ if (g_unix_mount_is_system_internal (mount))
|
|
||||||
+ return TRUE;
|
|
||||||
+
|
|
||||||
+ mount_options = g_unix_mount_get_options (mount);
|
|
||||||
+ if (mount_options == NULL)
|
|
||||||
+ {
|
|
||||||
+ mount_point = g_unix_mount_point_at (g_unix_mount_get_mount_path (mount),
|
|
||||||
+ NULL);
|
|
||||||
+ if (mount_point != NULL)
|
|
||||||
+ mount_options = g_unix_mount_point_get_options (mount_point);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (mount_options == NULL ||
|
|
||||||
+ strstr (mount_options, "x-gvfs-notrash") == NULL)
|
|
||||||
+ retval = FALSE;
|
|
||||||
+
|
|
||||||
+ g_clear_pointer (&mount_point, g_unix_mount_point_free);
|
|
||||||
+
|
|
||||||
+ return retval;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
trash_watcher_remount (TrashWatcher *watcher)
|
|
||||||
{
|
|
||||||
@@ -229,7 +257,7 @@ trash_watcher_remount (TrashWatcher *watcher)
|
|
||||||
{
|
|
||||||
int result;
|
|
||||||
|
|
||||||
- if (new && g_unix_mount_is_system_internal (new->data))
|
|
||||||
+ if (new && ignore_trash_mount (new->data))
|
|
||||||
{
|
|
||||||
g_unix_mount_free (new->data);
|
|
||||||
new = new->next;
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
From 41862c0179f834d8bc3bd84ce78ee495050f2676 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rong wang <wangrong@uniontech.com>
|
|
||||||
Date: Thu, 23 Mar 2023 10:26:24 +0800
|
|
||||||
Subject: [PATCH] trash: Sync trash dir items when files change
|
|
||||||
|
|
||||||
In the case of an application monitoring the trash can, delete a file
|
|
||||||
on the mounted device to the trash can, and then unmount the device.
|
|
||||||
At this time, if you check the status of the trash can, you will find
|
|
||||||
that the number of files queried is inconsistent with the number of
|
|
||||||
files obtained through the enumeration job. This is because the number
|
|
||||||
of files queried includes some files that do not exist when the device
|
|
||||||
is unmounted. The solution is to synchronize the status of the trash
|
|
||||||
can in time to ensure that the trash can does not record files that do
|
|
||||||
not exist.
|
|
||||||
---
|
|
||||||
daemon/trashlib/trashdir.c | 21 +++++++++++++++++++--
|
|
||||||
1 file changed, 19 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/daemon/trashlib/trashdir.c b/daemon/trashlib/trashdir.c
|
|
||||||
index c470d3bd..0d7d2b1b 100644
|
|
||||||
--- a/daemon/trashlib/trashdir.c
|
|
||||||
+++ b/daemon/trashlib/trashdir.c
|
|
||||||
@@ -163,10 +163,27 @@ trash_dir_changed (GFileMonitor *monitor,
|
|
||||||
TrashDir *dir = user_data;
|
|
||||||
|
|
||||||
if (event_type == G_FILE_MONITOR_EVENT_CREATED)
|
|
||||||
- trash_root_add_item (dir->root, file, dir->topdir, dir->is_homedir);
|
|
||||||
+ {
|
|
||||||
+ dir->items = g_slist_insert_sorted (dir->items,
|
|
||||||
+ g_object_ref (file),
|
|
||||||
+ (GCompareFunc) compare_basename);
|
|
||||||
+ trash_root_add_item (dir->root, file, dir->topdir, dir->is_homedir);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
|
|
||||||
- trash_root_remove_item (dir->root, file, dir->is_homedir);
|
|
||||||
+ {
|
|
||||||
+ GSList *node;
|
|
||||||
+
|
|
||||||
+ node = g_slist_find_custom (dir->items,
|
|
||||||
+ file,
|
|
||||||
+ (GCompareFunc) compare_basename);
|
|
||||||
+ if (node)
|
|
||||||
+ {
|
|
||||||
+ g_object_unref (node->data);
|
|
||||||
+ dir->items = g_slist_delete_link (dir->items, node);
|
|
||||||
+ }
|
|
||||||
+ trash_root_remove_item (dir->root, file, dir->is_homedir);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
else if (event_type == G_FILE_MONITOR_EVENT_PRE_UNMOUNT ||
|
|
||||||
event_type == G_FILE_MONITOR_EVENT_UNMOUNTED ||
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
%global avahi_version 0.6
|
%global avahi_version 0.6
|
||||||
%global fuse_version 2.8.0
|
%global fuse_version 2.8.0
|
||||||
%global gettext_version 0.19.4
|
%global gettext_version 0.19.4
|
||||||
%global glib2_version 2.56.4-162
|
%global glib2_version 2.51.0
|
||||||
%global goa_version 3.17.1
|
%global goa_version 3.17.1
|
||||||
%global gsettings_desktop_schemas_version 3.28.1-2
|
%global gsettings_desktop_schemas_version 3.28.1-2
|
||||||
%global gudev_version 147
|
%global gudev_version 147
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
Name: gvfs
|
Name: gvfs
|
||||||
Version: 1.36.2
|
Version: 1.36.2
|
||||||
Release: 16%{?dist}
|
Release: 14%{?dist}
|
||||||
Summary: Backends for the gio framework in GLib
|
Summary: Backends for the gio framework in GLib
|
||||||
|
|
||||||
License: GPLv3 and LGPLv2+ and BSD and MPLv2.0
|
License: GPLv3 and LGPLv2+ and BSD and MPLv2.0
|
||||||
|
@ -76,10 +76,6 @@ Patch14: smb-Use-O_RDWR-to-fix-fstat-when-writing.patch
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2083481
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2083481
|
||||||
Patch15: google-performance-fixes.patch
|
Patch15: google-performance-fixes.patch
|
||||||
|
|
||||||
# https://issues.redhat.com/browse/RHEL-2824
|
|
||||||
Patch16: trash-Add-support-for-x-gvfs-notrash-option-to-ignor.patch
|
|
||||||
Patch17: trash-Sync-trash-dir-items-when-files-change.patch
|
|
||||||
|
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
||||||
BuildRequires: pkgconfig(dbus-glib-1)
|
BuildRequires: pkgconfig(dbus-glib-1)
|
||||||
|
@ -470,12 +466,6 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||||
%{_datadir}/installed-tests
|
%{_datadir}/installed-tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Dec 06 2023 Ondrej Holy <oholy@redhat.com> - 1.36.2-16
|
|
||||||
- Sync trash dir items when files change (RHEL-2824)
|
|
||||||
|
|
||||||
* Mon Oct 09 2023 Ondrej Holy <oholy@redhat.com> - 1.36.2-15
|
|
||||||
- Add support for x-gvfs-notrash mount option (RHEL-2824)
|
|
||||||
|
|
||||||
* Thu Jun 16 2022 Ondrej Holy <oholy@redhat.com> - 1.36.2-14
|
* Thu Jun 16 2022 Ondrej Holy <oholy@redhat.com> - 1.36.2-14
|
||||||
- Backport performance fixes for Google backend (#2083481)
|
- Backport performance fixes for Google backend (#2083481)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue