- Avoid automounting device-mapper devices and similar (#494144)

This commit is contained in:
David Zeuthen 2009-04-09 18:36:06 +00:00
parent 772d23c320
commit 339758d122
2 changed files with 67 additions and 1 deletions

View File

@ -0,0 +1,59 @@
--- gvfs-1.2.1/monitor/gdu/ggduvolume.c.orig 2009-04-09 14:13:39.000000000 -0400
+++ gvfs-1.2.1/monitor/gdu/ggduvolume.c 2009-04-09 14:28:51.000000000 -0400
@@ -293,6 +293,56 @@ update_volume (GGduVolume *volume)
volume->should_automount = FALSE;
}
+ /* Avoid automounting volumes from
+ *
+ * 1. drives on a 'virtual' or unset bus
+ * 2. volumes without a drive
+ *
+ * This is to avoid interference with things like Fedora's
+ * livecd-tools that use device-mapper to set up images. See
+ * https://bugzilla.redhat.com/show_bug.cgi?id=494144 for more
+ * background.
+ *
+ * In the future we might want to relax 1. so automounting
+ * things like Linux MD and LVM2 devices work.
+ */
+ if (volume->drive != NULL)
+ {
+ GduPresentable *drive_presentable;
+ drive_presentable = g_gdu_drive_get_presentable (volume->drive);
+ if (drive_presentable != NULL)
+ {
+ GduDevice *drive_device;
+ drive_device = gdu_presentable_get_device (drive_presentable);
+ if (drive_device != NULL)
+ {
+ const gchar *bus;
+ bus = gdu_device_drive_get_connection_interface (drive_device);
+ if (bus == NULL || strlen (bus) == 0 || g_strcmp0 (bus, "virtual") == 0)
+ {
+ volume->should_automount = FALSE;
+ }
+ g_object_unref (drive_device);
+ }
+ else
+ {
+ volume->should_automount = FALSE;
+ }
+ }
+ else
+ {
+ volume->should_automount = FALSE;
+ }
+ }
+ else
+ {
+ volume->should_automount = FALSE;
+ }
+
+ g_debug ("should_automount = %d for %s",
+ volume->should_automount,
+ device != NULL ? gdu_device_get_device_file (device) : "(none)");
+
g_free (activation_uri);
}

View File

@ -1,7 +1,7 @@
Summary: Backends for the gio framework in GLib
Name: gvfs
Version: 1.2.1
Release: 1%{?dist}
Release: 2%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
@ -40,6 +40,9 @@ Patch3: gvfs-1.1.7-gdu-monitor-empty-drives.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=573826
Patch4: gvfs-1.1.7-gdu-computer-expose-devices.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=494144
Patch5: gvfs-1.2.1-only-mount-the-metal.patch
%description
The gvfs package provides backend implementations for the gio
framework in GLib. It includes ftp, sftp, cifs.
@ -124,6 +127,7 @@ media players (Media Transfer Protocol) to applications using gvfs.
%patch2 -p0 -b .gdu
%patch3 -p1 -b .gdu-volumes-typo
%patch4 -p1 -b .computer-gdu
%patch5 -p1 -b .metal
%build
@ -267,6 +271,9 @@ update-desktop-database &> /dev/null ||:
%changelog
* Thu Apr 9 2009 David Zeuthen <davidz@redhat.com> - 1.2.1-2
- Avoid automounting device-mapper devices and similar (#494144)
* Thu Apr 2 2009 Matthias Clasen <mclasen@redhat.com> - 1.2.1-1
- Update to 1.2.1