ports/144352: UFS disks remount immediately after unmount by nautilus

Kevin Oberman oberman at es.net
Sun Feb 28 05:20:02 UTC 2010


>Number:         144352
>Category:       ports
>Synopsis:       UFS disks remount immediately after unmount by nautilus
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 28 05:20:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Kevin Oberman
>Release:        FreeBSD 8.0-STABLE i386
>Organization:
ESnet--The Energy Sciences Network
>Environment:
System: FreeBSD slan.es.net 8.0-STABLE FreeBSD 8.0-STABLE #0: Tue Feb 16 10:14:56 PST 2010 root at slan.es.net:/usr/obj/usr/src/sys/IBM-T43 i386


	>Description:
When a UFS formatted USB disk has been mounted by nautilus, it is
re-mounted immedately. This makes removal of a USB drive impossible
>Description:
>How-To-Repeat:
Start gnome. Plug in UFS formatted USB disk. from either the command
line or the menu, unmount the drive.

>Fix:
--- /usr/ports/sysutils/hal/files/patch-hald_hf-storage.c.orig	2009-11-28 12:06:02.000000000 -0800
+++ /usr/ports/sysutils/hal/files/patch-hald_hf-storage.c	2010-02-27 21:03:05.000000000 -0800
@@ -1,5 +1,5 @@
---- hald/freebsd/hf-storage.c.orig	2009-05-12 08:24:28.000000000 -0400
-+++ hald/freebsd/hf-storage.c	2009-10-24 02:30:22.000000000 -0400
+--- /usr/ports/sysutils/hal/work/hal-0.5.13/hald/freebsd/hf-storage.c.orig	2009-05-12 05:24:28.000000000 -0700
++++ /usr/ports/sysutils/hal/work/hal-0.5.13/hald/freebsd/hf-storage.c	2010-02-25 11:40:42.000000000 -0800
@@ -79,8 +79,10 @@
 +       * things happen in applications like nautilus.
 +       */
 +      if ((! strcmp(fields[1], "LABEL") ||
-+          ! strcmp(fields[1], "BSD")) &&
-+          ! strncmp(fields[2], "ufsid/", strlen("ufsid/")))
++          ! strcmp(fields[1], "BSD") ||
++	  ! strcmp(fields[1], "PART")) &&
++          (! strncmp(fields[2], "ufsid/", strlen("ufsid/")) ||
++	   ! strncmp(fields[1], "ufs/", strlen("ufs/"))))
 +        {
 +          g_strfreev(fields);
 +	  continue;
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list