Martin Pitt [Tue, 6 Oct 2009 08:51:09 +0000 (10:51 +0200)]
Bug 24052 – CDROM eject button is locked while CDROM is mounted
Unlike in the hal world, we do not have a daemon polling CD drives for eject
button presses. In order to make hardware tray eject buttons work, unlock the
tray after mounting a CD.
This is pretty much equivalent to yanking out USB sticks, which we already
handle reasonably (detecting disappeared device, force-unmounting).
https://bugs.freedesktop.org/show_bug.cgi?id=24052
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Mon, 5 Oct 2009 18:31:22 +0000 (14:31 -0400)]
Actually inhibit the daemon when Inhibit() is called
Guess this was forgotten with the polkit-1 porting effort.
David Zeuthen [Fri, 18 Sep 2009 22:41:22 +0000 (18:41 -0400)]
Post-release version bump to 008
David Zeuthen [Fri, 18 Sep 2009 22:37:40 +0000 (18:37 -0400)]
Update NEWS for release
David Zeuthen [Fri, 18 Sep 2009 22:14:19 +0000 (18:14 -0400)]
Bug 23926 – Error creating partition
When creating a partition we may already have received the uevent for
the new partition. Check for this before waiting for it.
Evan Dandrea [Fri, 18 Sep 2009 21:46:47 +0000 (17:46 -0400)]
Bug 23541 – PartitionTableCreate method times out
... when 'none' is specified as a parameter.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 18 Sep 2009 20:36:22 +0000 (16:36 -0400)]
Bug 23579 – Must allow DBus Properties interface for g-d-u to work
Matthias Clasen [Fri, 18 Sep 2009 20:32:01 +0000 (16:32 -0400)]
Bug 23761 – Some leaks
g_hash_table_get_values returns a newly-allocated GList. The callers
of devkit_disks_daemon_local_get_all_devices need to free it.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 18 Sep 2009 20:30:03 +0000 (16:30 -0400)]
Bug 23762 – Fix typo
David Zeuthen [Fri, 18 Sep 2009 20:28:11 +0000 (16:28 -0400)]
Bug 23764 – Small leak in update_drive_properties_from_sysfs
David Zeuthen [Fri, 18 Sep 2009 20:26:27 +0000 (16:26 -0400)]
Bug 23823 – NULL dereference
David Zeuthen [Fri, 18 Sep 2009 20:23:42 +0000 (16:23 -0400)]
Bug 23824 – Unused variable
David Zeuthen [Fri, 18 Sep 2009 20:22:12 +0000 (16:22 -0400)]
Bug 23825 – Leak in update_info_mount_state
David Zeuthen [Fri, 18 Sep 2009 20:19:44 +0000 (16:19 -0400)]
Bug 23826 – NULL dereference
David Zeuthen [Fri, 18 Sep 2009 20:15:59 +0000 (16:15 -0400)]
Bug 23827 – Undefined value
David Zeuthen [Fri, 18 Sep 2009 20:13:31 +0000 (16:13 -0400)]
Bug 23828 – Undefined value in umount-devkit.c
David Zeuthen [Fri, 18 Sep 2009 20:11:46 +0000 (16:11 -0400)]
Bug 23829 – Undefined value in partutil.c
David Zeuthen [Fri, 18 Sep 2009 16:23:39 +0000 (12:23 -0400)]
Use WindowsStyleCaps for property names
Technically any UTF-8 string can be used for a property name. However,
some tools are incapable of handling property names with dashes ('-')
in them. So change to using the recommending naming. See
http://lists.freedesktop.org/archives/devkit-devel/2009-September/000430.html
for discussion.
This is based on a patch from Davide Bettio <davide.bettio@kdemail.net>.
David Zeuthen [Tue, 15 Sep 2009 15:27:47 +0000 (11:27 -0400)]
Also be paranoid about the UUID containing '/' characters
This can't really happen (for known filesystems) so this "fix" is
really only for people playing along at home. See
http://bugs.freedesktop.org/show_bug.cgi?id=23235
for more details.
David Zeuthen [Sun, 23 Aug 2009 18:12:49 +0000 (14:12 -0400)]
Rework ATA SMART handling
Basically make everything a lot simpler. Also don't store blobs in a
database. For now at least - we might want to add that feature back at
some point.
David Zeuthen [Mon, 17 Aug 2009 20:48:09 +0000 (16:48 -0400)]
Bug 22914 – Require password to eject a CD or DVD mounted by the same user
Apparently this got messed up in the port to polkit1.
David Zeuthen [Mon, 17 Aug 2009 18:10:02 +0000 (14:10 -0400)]
Post-release version bump to 007
David Zeuthen [Mon, 17 Aug 2009 17:50:56 +0000 (13:50 -0400)]
Update NEWS for release
David Zeuthen [Mon, 17 Aug 2009 17:02:29 +0000 (13:02 -0400)]
Bug 23235 – Cannot mount disc with / (slash) in label
David Zeuthen [Mon, 17 Aug 2009 15:55:01 +0000 (11:55 -0400)]
Make FilesystemMount() accept an 'auth_no_user_interaction' option
This allows automounters to request that no user interaction should ever
take place. See
https://bugs.freedesktop.org/show_bug.cgi?id=22652
for discussion.
David Zeuthen [Mon, 17 Aug 2009 15:02:12 +0000 (11:02 -0400)]
Ignore loop and ram devices for now
David Zeuthen [Mon, 17 Aug 2009 14:50:36 +0000 (10:50 -0400)]
Add a new :device-presentation-nopolicy property
Desktops should read this property and avoid automounting etc. if it
is set to 1.
David Zeuthen [Fri, 14 Aug 2009 15:07:24 +0000 (11:07 -0400)]
Bug 23309 – Udev rules probe floppy drives when they shouldn't
David Zeuthen [Mon, 10 Aug 2009 17:05:06 +0000 (13:05 -0400)]
Fix up object path mapping
In particular this failed with AoE devices which has basenames of the
form "etherd!e0.1". Should work for everything now.
Martin Pitt [Fri, 10 Jul 2009 16:31:07 +0000 (18:31 +0200)]
Hide recovery, boot, and hidden partitions from desktops
Set DKD_PRESENTATION_HIDE for partitions which desktops should hide, such as
EFI, Apple bootstrap, or recovery partitions.
For recovery partitions is a direct port of the earlier hal fdis:
http://cgit.freedesktop.org/hal/tree/fdi/policy/10osvendor/20-storage-methods.fdi#n80
Apple boostrap, EFI, and hidden partitions now don't rely on labels any more,
but directly check partitioning schema (mbr, GUID) and types.
libgdu evaluates this and exports it as device-presentation-hide
property, which gvfs respects.
https://bugs.freedesktop.org/show_bug.cgi?id=22707
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Sun, 9 Aug 2009 22:07:53 +0000 (18:07 -0400)]
Require latest libatasmart
This version of libatasmart has a new ABI/API with new features. We
won't initially take advantage of these new features so just do a
simple port for now.
David Zeuthen [Sun, 9 Aug 2009 18:39:47 +0000 (14:39 -0400)]
Rely on the disk to spin itself down
In other words, instead of playing games with watching
/sys/block/sdX/stat files and sending a STANDBY IMMEDIATE command when
these haven't changed for a while, just use the STANDBY command itself
with the timeout value.
This avoids having to wake up the daemon every five seconds. In
addition, this change ensures that device specific minimums are
respected.
We didn't do this in the original commit because while testing the
feature, some of disks, notably ones from WD, appeared to not respect
the STANDBY command. However, when moved to another enclosure (the
disks was initially in a SATA PM enclosure, it got moved to a SAS
enclosure) things started working again. Also turns out the WD disk in
question has a device specific timeout of 10 minutes.
David Zeuthen [Sat, 8 Aug 2009 18:52:50 +0000 (14:52 -0400)]
Add LinuxMdCreate method
Also fix a bug in PartitionTableCreate so we don't return until the
partition table has actually been created.
David Zeuthen [Wed, 5 Aug 2009 16:00:10 +0000 (12:00 -0400)]
Add Device:drive-is-rotational property
This new property can be used to make a distinction between hard disks
and SSDs, see
http://people.freedesktop.org/~david/palimpsest-new-treeview.png
for an example.
David Zeuthen [Wed, 22 Jul 2009 14:53:54 +0000 (10:53 -0400)]
Fix up ATA SMART detection
Recent udev started using ata_id instead of scsi_id.
Also migrate from SYSFS to ATTR/ATTRS.
David Zeuthen [Wed, 8 Jul 2009 20:14:27 +0000 (16:14 -0400)]
Misc fixes for optical disc detection
David Zeuthen [Tue, 7 Jul 2009 18:34:44 +0000 (14:34 -0400)]
Move data files into a separate directory
David Zeuthen [Tue, 7 Jul 2009 01:24:50 +0000 (21:24 -0400)]
Move implementation of DrivePollMedia into a separate process
Much much better to do this from a helper process since some
devices/drivers may hang the process in state D (uninterruptible IO)
until the device was removed. This was the last place where we opened
the device from the daemon.
David Zeuthen [Tue, 7 Jul 2009 00:57:28 +0000 (20:57 -0400)]
Work around media detection problems
Seems that the kernel won't revalidate media unless O_NONBLOCK is
passed. This contradicts how things are supposed to work (O_NONBLOCK
is a hint to avoid testing things like media state), see
http://bugzilla.kernel.org/show_bug.cgi?id=13029 for more information.
So to be on the safe side, open the device both with and without
O_NONBLOCK.
David Zeuthen [Tue, 7 Jul 2009 00:44:03 +0000 (20:44 -0400)]
Add --poll-for-media option to devkit-disks(1)
David Zeuthen [Sat, 4 Jul 2009 22:31:24 +0000 (18:31 -0400)]
Pass size of buffer to avoid Z_BUF_ERROR when compressing ATA SMART blob
David Zeuthen [Sat, 4 Jul 2009 19:44:26 +0000 (15:44 -0400)]
Fix polling process title and turn off noisy debugging spew
David Zeuthen [Sat, 4 Jul 2009 19:41:47 +0000 (15:41 -0400)]
Fix segfault when starting a Linux MD array
David Zeuthen [Sun, 21 Jun 2009 23:07:20 +0000 (19:07 -0400)]
Add a way to spin down drives
David Zeuthen [Fri, 19 Jun 2009 23:12:59 +0000 (19:12 -0400)]
Post-release version bump to 006
David Zeuthen [Fri, 19 Jun 2009 23:10:15 +0000 (19:10 -0400)]
Update NEWS for release
Also includes news about the 004 release since that slipped in the
previous release...
David Zeuthen [Fri, 19 Jun 2009 22:55:20 +0000 (18:55 -0400)]
Use AM_SILENT_RULES if available
David Zeuthen [Fri, 19 Jun 2009 22:51:26 +0000 (18:51 -0400)]
Clean up build a bit
David Zeuthen [Fri, 19 Jun 2009 22:41:03 +0000 (18:41 -0400)]
Remove unused SMART test files
David Zeuthen [Fri, 19 Jun 2009 22:26:01 +0000 (18:26 -0400)]
Sort out dbus-glib registration mess
We sometimes segfaulted when stopping a RAID device. The problem here
was that we kept the exported D-Bus object around until it was
finalized (by using weak refs). This was problematic because several
change events were treated as add events but the state of the RAID
device was such that we didn't want to add the object anyway. So we
ended up unreffing the object. Which means that the job completion
func accessed a unreferenced object.
The solution here is to remove the object from our hashes as soon as
we want to remove it.
Since we don't have dbus_g_connection_unregister_g_object() just yet
(available in dbus-glib >= 0.81) we just keep the object on the
bus. If we later wants to add a new object but the old object is still
around we use an undocumented hack to unregister the object.
You will also need eggdbus >= 0.5, otherwise introspection won't work.
David Zeuthen [Thu, 18 Jun 2009 20:02:14 +0000 (16:02 -0400)]
Add API to check/repair Linux MD RAID arrays
David Zeuthen [Thu, 18 Jun 2009 17:16:57 +0000 (13:16 -0400)]
Use ID_CDROM_MEDIA to detect optical drives
This is available since udev 142 that we already depend on. This
change makes my USB stick from Sandisk "work" as "expected":
http://people.freedesktop.org/~david/thanks-sandisk.png
David Zeuthen [Thu, 18 Jun 2009 16:59:43 +0000 (12:59 -0400)]
Update udev rules
- depend on udev >= 142 since that will pull in /sbin/blkid
- avoid probing dm or md if it has been done already
- don't create symlinks for dm
David Zeuthen [Wed, 17 Jun 2009 19:32:02 +0000 (15:32 -0400)]
GIO modules, for the polkit action lookup module, need to be prefixed with lib
David Zeuthen [Tue, 16 Jun 2009 23:47:20 +0000 (19:47 -0400)]
Better handling of Floppy and Zip drives
Welcome to the 1980s
David Zeuthen [Tue, 16 Jun 2009 20:41:03 +0000 (16:41 -0400)]
Bug 22149 – Do not poll floppy drives
Avoid polling PC floppy drives since that makes a lot of
noise. DrivePollMedia() still works, e.g.
dbus-send --system --print-reply --dest=org.freedesktop.DeviceKit.Disks \
/org/freedesktop/DeviceKit/Disks/devices/fd0 \
org.freedesktop.DeviceKit.Disks.Device.DrivePollMedia
Note, though, that udev will not run /sbin/blkid on the device. So
desktops wanting to support this needs to ignore the fstype for floppy
drives and just attempt to mount it anyway.
David Zeuthen [Mon, 15 Jun 2009 19:51:54 +0000 (15:51 -0400)]
Fix bug when retrieving historical ATA SMART data
David Zeuthen [Mon, 15 Jun 2009 16:00:39 +0000 (12:00 -0400)]
Use gudev-1.0 instead of devkit-gobject
Can't believe how easy this port was...
David Zeuthen [Mon, 15 Jun 2009 15:30:07 +0000 (11:30 -0400)]
Remove :drive-requires-eject and read udev props for detached/ejectable
David Zeuthen [Sun, 14 Jun 2009 17:12:33 +0000 (13:12 -0400)]
Suspend USB device on DriveDetach() if it only has one interface
This is nice for turning the lights off...
David Zeuthen [Fri, 12 Jun 2009 15:44:43 +0000 (11:44 -0400)]
Don't insert NULL pointers in details
David Zeuthen [Tue, 9 Jun 2009 00:13:01 +0000 (20:13 -0400)]
Add a DriveDetach() method to properly power down USB hard disk enclosures
This work is inspired by this thread
http://thread.gmane.org/gmane.linux.hotplug.devel/14079
that is referencing this blog entry
http://elliotli.blogspot.com/2009/01/safely-remove-usb-hard-drive-in-linux.html
The only difference here is that instead of unbinding the usb driver
from the usb device, we unbind the usb-storage driver from the usb
interface in question. This is to better handle multi-function devices
(e.g. multiple USB interfaces).
Things like GVfs (ie. Nautilus) can use this new method to offer an
"Eject" option for USB enclosures that can invoke DriveDetach() on
this service. (In GVfs, such devices currently have no eject option
since they don't support removable media).
David Zeuthen [Mon, 8 Jun 2009 17:33:17 +0000 (13:33 -0400)]
The PolicyKit extensions dir has moved
David Zeuthen [Tue, 2 Jun 2009 19:55:22 +0000 (15:55 -0400)]
Add a pkg-config file
David Zeuthen [Tue, 26 May 2009 20:33:09 +0000 (16:33 -0400)]
Use PolkitDetails, not GHashTable to pass details to PolicyKit
David Zeuthen [Tue, 19 May 2009 21:43:25 +0000 (17:43 -0400)]
Only check for ATA SMART if the device reports non-removable media
David Zeuthen [Tue, 19 May 2009 16:09:57 +0000 (12:09 -0400)]
Catch up with latest polkit API changes
David Zeuthen [Wed, 13 May 2009 16:21:08 +0000 (12:21 -0400)]
Update to latest polkit API where PolkitAuthorizationResult is an object
David Zeuthen [Wed, 13 May 2009 15:00:53 +0000 (11:00 -0400)]
Update to latest PolicyKit API
David Zeuthen [Mon, 11 May 2009 21:14:37 +0000 (17:14 -0400)]
Remove unneeded code for PolicyKit
David Zeuthen [Mon, 11 May 2009 21:03:02 +0000 (17:03 -0400)]
Post-release version bump
David Zeuthen [Mon, 11 May 2009 20:27:15 +0000 (16:27 -0400)]
Port to polkit-1
David Zeuthen [Mon, 11 May 2009 20:26:35 +0000 (16:26 -0400)]
Move to using a capital letter for commit messages
David Zeuthen [Fri, 1 May 2009 21:54:12 +0000 (17:54 -0400)]
only consider Prefail attibutes when checking for bad attributes
David Zeuthen [Fri, 1 May 2009 20:02:18 +0000 (16:02 -0400)]
add :device-media-detection-time property
This property aids desktop automounters in determining they shouldn't
automount devices that are created as a result of
formatting/partitioning.
David Zeuthen [Wed, 29 Apr 2009 16:48:52 +0000 (12:48 -0400)]
add support for ext2
This is sometimes wanted for filesystems on flash devices.
David Zeuthen [Thu, 16 Apr 2009 17:04:33 +0000 (13:04 -0400)]
properly detect devices with vfat on the whole disk
See https://bugzilla.redhat.com/show_bug.cgi?id=495876
David Zeuthen [Wed, 15 Apr 2009 18:39:18 +0000 (14:39 -0400)]
allow the 'flush' mount option for vfat
David Zeuthen [Wed, 15 Apr 2009 16:56:02 +0000 (12:56 -0400)]
fix up some warnings
David Zeuthen [Wed, 15 Apr 2009 15:16:58 +0000 (11:16 -0400)]
add property device-detection-time
David Zeuthen [Wed, 15 Apr 2009 14:48:00 +0000 (10:48 -0400)]
document influential udev properties in the DeviceKit-disks man page
David Zeuthen [Wed, 15 Apr 2009 14:47:24 +0000 (10:47 -0400)]
add device-presentation-hide property
This is useful for a number of things
- hiding firmware/update partitions (similar to how volume.ignore is used
in HAL to hide e.g. HP_RECOVERY, RECOVERY etc. partitions)
- hiding unwanted things used in things like live cd environments, cf.
https://bugzilla.redhat.com/show_bug.cgi?id=495170
David Zeuthen [Sun, 12 Apr 2009 19:25:41 +0000 (15:25 -0400)]
be more careful when probing for ATA SMART
See https://bugzilla.redhat.com/show_bug.cgi?id=495286 for where we
trash a CD-RW medium when running off a live cd.
David Zeuthen [Sun, 12 Apr 2009 16:14:36 +0000 (12:14 -0400)]
rework how we detect whether a device is busy
Commit
c1447a2e8a0d83347330bbfd2810f98172e8b962 was a bit overeager
insofor that it made it impossible to create/delete/modify partitions
if other partitions on the same device are busy.
David Zeuthen [Sun, 12 Apr 2009 15:39:23 +0000 (11:39 -0400)]
add temporary workaround for btrfs
See
https://bugzilla.redhat.com/show_bug.cgi?id=495152#c31
http://article.gmane.org/gmane.comp.file-systems.btrfs/2851
for details.
David Zeuthen [Sun, 12 Apr 2009 15:38:32 +0000 (11:38 -0400)]
remove debug spew
David Zeuthen [Thu, 9 Apr 2009 17:58:19 +0000 (13:58 -0400)]
also check if partitions on a device is busy
This fixes a bug where it was possible to erase /dev/sdb while
/dev/sdb1 was mounted.
David Zeuthen [Thu, 9 Apr 2009 15:13:41 +0000 (11:13 -0400)]
use correct dmode for iso9660 mounts
Reported by yaneti@declera.com
https://bugzilla.redhat.com/show_bug.cgi?id=495018
David Zeuthen [Wed, 8 Apr 2009 18:35:24 +0000 (14:35 -0400)]
add command line options to devkit-disks for refreshing ATA SMART data
David Zeuthen [Wed, 8 Apr 2009 18:20:57 +0000 (14:20 -0400)]
fix some bugs in the man page
David Zeuthen [Wed, 8 Apr 2009 17:18:19 +0000 (13:18 -0400)]
change default mount options for vfat to utf8=1 and shortname=lower
See https://bugzilla.redhat.com/show_bug.cgi?id=489222 for details.
David Zeuthen [Wed, 8 Apr 2009 16:55:51 +0000 (12:55 -0400)]
fix a race where /etc/fstab mount points where sometimes removed
David Zeuthen [Mon, 6 Apr 2009 23:50:35 +0000 (19:50 -0400)]
bump version
Should have done this right after releasing 003 but meh.
David Zeuthen [Mon, 6 Apr 2009 23:47:22 +0000 (19:47 -0400)]
use /var/run/DeviceKit-disks, not /tmp as a temporary directory
https://bugzilla.redhat.com/show_bug.cgi?id=491744
David Zeuthen [Mon, 6 Apr 2009 23:27:23 +0000 (19:27 -0400)]
remove hack for working around broken USB card reader
This add was added since one of my card readers appear to be broken;
other devices are fine.
On closer investigation this looks like a kernel bug. Filed here for
now
http://bugzilla.kernel.org/show_bug.cgi?id=13029
If needed we can add code to do the equivalent of 'touch /dev/sdXXX'
in the poller on the first ENOMEDIUM for a device being polled. But
let's see what the kernel guys says before resorting to such hacks.
David Zeuthen [Mon, 6 Apr 2009 21:38:57 +0000 (17:38 -0400)]
remove debug spew from mount monitor
David Zeuthen [Mon, 6 Apr 2009 21:08:51 +0000 (17:08 -0400)]
fix grammar/spelling for ATA SMART output in devkit-disks(1)
David Zeuthen [Mon, 6 Apr 2009 19:11:52 +0000 (15:11 -0400)]
install udev rules into /lib/udev/rules.d not /etc/udev/rules.d
David Zeuthen [Mon, 6 Apr 2009 19:08:24 +0000 (15:08 -0400)]
change devkit-disks(1) to use device node paths instead of object paths
David Zeuthen [Mon, 6 Apr 2009 19:06:10 +0000 (15:06 -0400)]
also move umount.devkit over to use the correct object paths