- 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 Summary: Backends for the gio framework in GLib
Name: gvfs Name: gvfs
Version: 1.2.1 Version: 1.2.1
Release: 1%{?dist} Release: 2%{?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,9 @@ Patch3: gvfs-1.1.7-gdu-monitor-empty-drives.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=573826 # http://bugzilla.gnome.org/show_bug.cgi?id=573826
Patch4: gvfs-1.1.7-gdu-computer-expose-devices.patch 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 %description
The gvfs package provides backend implementations for the gio The gvfs package provides backend implementations for the gio
framework in GLib. It includes ftp, sftp, cifs. 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 %patch2 -p0 -b .gdu
%patch3 -p1 -b .gdu-volumes-typo %patch3 -p1 -b .gdu-volumes-typo
%patch4 -p1 -b .computer-gdu %patch4 -p1 -b .computer-gdu
%patch5 -p1 -b .metal
%build %build
@ -267,6 +271,9 @@ update-desktop-database &> /dev/null ||:
%changelog %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 * Thu Apr 2 2009 Matthias Clasen <mclasen@redhat.com> - 1.2.1-1
- Update to 1.2.1 - Update to 1.2.1