- Don't leak mount job operation (#552842)
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856) - ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
This commit is contained in:
parent
829801e676
commit
e9af85216f
34
gvfs-1.5.1-dont-leak-mountoperation.patch
Normal file
34
gvfs-1.5.1-dont-leak-mountoperation.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 438628c6794fc8f9203fbd99b534371a1aa6d11a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <jwrdegoede@fedoraproject.org>
|
||||||
|
Date: Tue, 12 Jan 2010 12:36:11 +0000
|
||||||
|
Subject: Don't leak mount job operation
|
||||||
|
|
||||||
|
gvfs <= 1.5.1 does not properly call the finalize function of backends,
|
||||||
|
due to a missing unref call. This causes the cleanup functions of the
|
||||||
|
libraries underlying the backends to not get called.
|
||||||
|
|
||||||
|
In case of the gphoto2 backend, this causes the kernel driver for dual
|
||||||
|
mode webcams (which have a kernel space webcam driver and a userspace
|
||||||
|
stillcam driver), to not get re-attached to the device when then the gvfs
|
||||||
|
mount gets unmounted.
|
||||||
|
|
||||||
|
This patch fixes this by adding a g_object_unref (job) to
|
||||||
|
g_vfs_daemon_initiate_mount, which is needed as g_vfs_daemon_queue_job
|
||||||
|
takes a reference itself.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=606194
|
||||||
|
---
|
||||||
|
diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c
|
||||||
|
index 15fffc7..909e1d7 100644
|
||||||
|
--- a/daemon/gvfsdaemon.c
|
||||||
|
+++ b/daemon/gvfsdaemon.c
|
||||||
|
@@ -1081,6 +1081,7 @@ g_vfs_daemon_initiate_mount (GVfsDaemon *daemon,
|
||||||
|
|
||||||
|
job = g_vfs_job_mount_new (mount_spec, mount_source, is_automount, request, backend);
|
||||||
|
g_vfs_daemon_queue_job (daemon, job);
|
||||||
|
+ g_object_unref (job);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
cgit v0.8.3.1
|
33
gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
Normal file
33
gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Not all gphoto drivers implement get storage info (drivers for proprietary
|
||||||
|
protocols often don't). This patch fixes the gphoto2volumemonitor to still
|
||||||
|
recognize cams which gphoto driver does not implement get storage info.
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
diff -up gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c
|
||||||
|
--- gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ 2009-11-18 13:14:51.000000000 +0100
|
||||||
|
+++ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c 2010-01-06 11:46:16.000000000 +0100
|
||||||
|
@@ -605,7 +605,7 @@ get_stores_for_camera (int bus_num, int
|
||||||
|
GPContext *context;
|
||||||
|
GPPortInfo info;
|
||||||
|
GPPortInfoList *il;
|
||||||
|
- int num_storage_info, n;
|
||||||
|
+ int num_storage_info, n, rc;
|
||||||
|
Camera *camera;
|
||||||
|
char *port;
|
||||||
|
guint i;
|
||||||
|
@@ -637,8 +637,14 @@ get_stores_for_camera (int bus_num, int
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
/* Get information about the storage heads */
|
||||||
|
- if (gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context) != 0)
|
||||||
|
+ rc = gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context);
|
||||||
|
+ if (rc != 0) {
|
||||||
|
+ /* Not all gphoto drivers implement get storage info (drivers for proprietary
|
||||||
|
+ protocols often don't) */
|
||||||
|
+ if (rc == GP_ERROR_NOT_SUPPORTED)
|
||||||
|
+ l = g_list_prepend (l, g_strdup ("/"));
|
||||||
|
goto out;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Append the data to the list */
|
||||||
|
for (i = 0; i < num_storage_info; i++)
|
47
gvfs-1.5.1-obexftp-dbus-private-connection.patch
Normal file
47
gvfs-1.5.1-obexftp-dbus-private-connection.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 56c3b9cf90bfd53a699b5951677fee9f83b26c2f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Thu, 07 Jan 2010 18:08:00 +0000
|
||||||
|
Subject: [obexftp] Use a private D-Bus connection for obex-data-server
|
||||||
|
|
||||||
|
So as to avoid gvfs and our backend fighting over the session
|
||||||
|
bus connection, and causing crashers.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=570366
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=539347
|
||||||
|
---
|
||||||
|
diff --git a/daemon/gvfsbackendobexftp.c b/daemon/gvfsbackendobexftp.c
|
||||||
|
index eb1b43b..8dc8bdf 100644
|
||||||
|
--- a/daemon/gvfsbackendobexftp.c
|
||||||
|
+++ b/daemon/gvfsbackendobexftp.c
|
||||||
|
@@ -502,9 +502,28 @@ g_vfs_backend_obexftp_finalize (GObject *object)
|
||||||
|
static void
|
||||||
|
g_vfs_backend_obexftp_init (GVfsBackendObexftp *backend)
|
||||||
|
{
|
||||||
|
+ DBusConnection *conn;
|
||||||
|
+ DBusGConnection *connection;
|
||||||
|
+ DBusError error;
|
||||||
|
GError *err = NULL;
|
||||||
|
|
||||||
|
- backend->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &err);
|
||||||
|
+ /* Otherwise dbus-glib doesn't setup it value types */
|
||||||
|
+ connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
|
||||||
|
+
|
||||||
|
+ if (connection != NULL)
|
||||||
|
+ dbus_g_connection_unref (connection);
|
||||||
|
+
|
||||||
|
+ /* Connect to the session bus via a private connection */
|
||||||
|
+ dbus_error_init (&error);
|
||||||
|
+ conn = dbus_bus_get_private (DBUS_BUS_SESSION, &error);
|
||||||
|
+ if (conn == NULL) {
|
||||||
|
+ g_printerr ("Connecting to session bus failed: %s\n", err->message);
|
||||||
|
+ dbus_error_free (&error);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ dbus_connection_setup_with_g_main (conn, NULL);
|
||||||
|
+
|
||||||
|
+ backend->connection = dbus_connection_get_g_connection (conn);
|
||||||
|
if (backend->connection == NULL) {
|
||||||
|
g_printerr ("Connecting to session bus failed: %s\n", err->message);
|
||||||
|
g_error_free (err);
|
||||||
|
--
|
||||||
|
cgit v0.8.3.1
|
17
gvfs.spec
17
gvfs.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: Backends for the gio framework in GLib
|
Summary: Backends for the gio framework in GLib
|
||||||
Name: gvfs
|
Name: gvfs
|
||||||
Version: 1.5.1
|
Version: 1.5.1
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
@ -40,6 +40,13 @@ Patch4: gvfs-1.4.3-smb-queryfs-old-samba.patch
|
|||||||
Patch5: gvfs-1.5.2-metadata-gssize.patch
|
Patch5: gvfs-1.5.2-metadata-gssize.patch
|
||||||
Patch6: gvfs-1.5.2-metadata-mtime.patch
|
Patch6: gvfs-1.5.2-metadata-mtime.patch
|
||||||
Patch7: gvfs-1.5.2-fuse-timestamps.patch
|
Patch7: gvfs-1.5.2-fuse-timestamps.patch
|
||||||
|
Patch14: gvfs-1.5.1-dont-leak-mountoperation.patch
|
||||||
|
# Recognize gphoto2 cameras which don't implement get storageinfo
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=552856
|
||||||
|
Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
|
||||||
|
# from upstream
|
||||||
|
Patch16: gvfs-1.5.1-obexftp-dbus-private-connection.patch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Obsoletes: gnome-mount <= 0.8
|
Obsoletes: gnome-mount <= 0.8
|
||||||
@ -142,6 +149,9 @@ and iPod Touches to applications using gvfs.
|
|||||||
%patch5 -p1 -b .metadata-gssize
|
%patch5 -p1 -b .metadata-gssize
|
||||||
%patch6 -p1 -b .metadata-mtime
|
%patch6 -p1 -b .metadata-mtime
|
||||||
%patch7 -p1 -b .fuse-timestamps
|
%patch7 -p1 -b .fuse-timestamps
|
||||||
|
%patch14 -p1 -b .moutop-leak
|
||||||
|
%patch15 -p1 -b .gphoto2-storageinfo
|
||||||
|
%patch16 -p1 -b .obexftp-dbus
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -307,6 +317,11 @@ killall -USR1 gvfsd >&/dev/null || :
|
|||||||
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 12 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.5.1-4
|
||||||
|
- Don't leak mount job operation (#552842)
|
||||||
|
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856)
|
||||||
|
- ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
|
||||||
|
|
||||||
* Tue Dec 15 2009 Tomas Bzatek <tbzatek@redhat.com> - 1.5.1-3
|
* Tue Dec 15 2009 Tomas Bzatek <tbzatek@redhat.com> - 1.5.1-3
|
||||||
- Rebuilt against new libiphone
|
- Rebuilt against new libiphone
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user