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
David Zeuthen [Mon, 6 Apr 2009 18:36:35 +0000 (14:36 -0400)]
add FindDeviceByMajorMinor() to look up a device by dev_t
David Zeuthen [Mon, 6 Apr 2009 16:59:47 +0000 (12:59 -0400)]
prefix all D-Bus objects paths with /org/freedesktop/DeviceKit/Disks
David Zeuthen [Mon, 6 Apr 2009 15:59:52 +0000 (11:59 -0400)]
fix udev rules to keep udev from complaining
David Zeuthen [Mon, 6 Apr 2009 15:51:15 +0000 (11:51 -0400)]
rework some of the ATA SMART stuff, go back to using sqlite
David Zeuthen [Thu, 2 Apr 2009 21:26:34 +0000 (17:26 -0400)]
remove erase= option and the notion of tasks within jobs
Secure erase is a bit K-rad and we never really implemented anything
but 0 and 1 passes. If we want this feature back (and I think we do;
e.g. it is useful to scrub the disks before selling a computer) we
should add a dedicated SecureErase() method that (optionally) can take
advantage of things like the ATA Secure Erase command-set.
While it is cute that jobs consist of tasks it is not used anymore now
that erase= is gone. So remove it to simplify the code.
David Zeuthen [Thu, 2 Apr 2009 19:37:43 +0000 (15:37 -0400)]
remove a lot of unnecessary errors
For example it doesn't make sense to return this error
org.freedesktop.DeviceKit.Disks.Error.NotPartition
since the client is already able to check in advance if the given
object really is a partition. So trim the error list to only contain
errors that the client can't predict. This leaves us with
DEVKIT_DISKS_ERROR_FAILED,
DEVKIT_DISKS_ERROR_BUSY,
DEVKIT_DISKS_ERROR_CANCELLED,
DEVKIT_DISKS_ERROR_INHIBITED,
DEVKIT_DISKS_ERROR_INVALID_OPTION,
DEVKIT_DISKS_ERROR_NOT_SUPPORTED,
DEVKIT_DISKS_ERROR_ATA_SMART_WOULD_WAKEUP,
David Zeuthen [Thu, 2 Apr 2009 19:14:43 +0000 (15:14 -0400)]
remove device-is-busy property
This should never have been a property since
- we are not really ready to make that kind of guarantee; another
program may have the device open and then we're going to fail
with EBUSY and return a Busy D-Bus error
- it is computed on demand and that makes it difficult to determine
when it changes value and thus trigger a PropertyChanged event
Currently this property is not used by gnome-disk-utility. If it turns
out that we need something like this we can add a Device.IsBusy()
method.
David Zeuthen [Thu, 2 Apr 2009 18:37:57 +0000 (14:37 -0400)]
export device-major and device-minor properties
This makes it easier for clients wanting to fool around with
/proc/self/mountinfo themselves.
David Zeuthen [Thu, 2 Apr 2009 17:54:20 +0000 (13:54 -0400)]
use /proc/self/mountinfo and handle a device being mounted in multiple places
This is an effort to fix
https://bugzilla.redhat.com/show_bug.cgi?id=491924
Basically we have to somehow cope with a device being mounted in
multiple places. So we replace the property
String device-mount-path
with an array of mount paths
String device-mount-paths[]
We also try to make an effort to ensure that the shortest mount point
is shown before others. E.g. if you bind mount / on /foo then
device-mount-paths = ["/", "/foo"]
This means that desktop clients can just take the first mount path.
Also make a note that this is the mount point in the root
namespace. On systems clients running in other namespaces care has to
be taken; in this case the client probably needs to examine
/proc/self/mountinfo on his own to determine if a given block device
is mounted or not.
Also drop support for the 'remount' option; we might add it back later
but since we now support multiple mount points it makes everything a
bit weird.
David Zeuthen [Tue, 31 Mar 2009 20:54:33 +0000 (16:54 -0400)]
print the scheme of the main partition table, never the nested one
To avoid e.g. 'embr' for the scheme for logical partitions.
David Zeuthen [Tue, 31 Mar 2009 19:32:48 +0000 (15:32 -0400)]
rework partition table handling
David Zeuthen [Mon, 30 Mar 2009 22:23:01 +0000 (18:23 -0400)]
ensure a MS-DOS extended partition is busy if logical partitions are busy
David Zeuthen [Mon, 30 Mar 2009 21:15:08 +0000 (17:15 -0400)]
allow job-num-tasks to be 0 (meaning "unknown")
http://bugzilla.gnome.org/show_bug.cgi?id=575854
David Zeuthen [Mon, 30 Mar 2009 19:49:47 +0000 (15:49 -0400)]
if BLKRRPART fails with EBUSY, just try a few more times
See http://bugs.freedesktop.org/show_bug.cgi?id=20813 for details.
Matthias Clasen [Mon, 30 Mar 2009 03:08:24 +0000 (23:08 -0400)]
make umount work on mount points
Make umount-devkit support the traditional umount behaviour of
accepting either a device file or a mount path.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Matthias Clasen [Sat, 28 Mar 2009 17:02:01 +0000 (13:02 -0400)]
fix typo in error name
https://bugs.freedesktop.org/show_bug.cgi?id=20889
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Mon, 23 Mar 2009 23:21:26 +0000 (19:21 -0400)]
forgot to add ATA SMART prober in last commit
David Zeuthen [Mon, 23 Mar 2009 23:14:24 +0000 (19:14 -0400)]
port to libatasmart
David Zeuthen [Tue, 17 Mar 2009 01:06:43 +0000 (21:06 -0400)]
fix up how device-is-system-internal is computed
This should fix
https://bugzilla.redhat.com/show_bug.cgi?id=489397
where we marked device-mapper devices as system internal.
Matthias Clasen [Tue, 17 Mar 2009 00:48:17 +0000 (20:48 -0400)]
fix up inhibit parameter handling
See https://bugzilla.redhat.com/show_bug.cgi?id=488850
David Zeuthen [Tue, 17 Mar 2009 01:17:26 +0000 (21:17 -0400)]
don't poll SATA AN drives
David Zeuthen [Sun, 15 Mar 2009 22:53:02 +0000 (18:53 -0400)]
rework default mount options
David Zeuthen [Sun, 15 Mar 2009 20:24:59 +0000 (16:24 -0400)]
avoid taking action if a component is removed from an array
This should really be done by the kernel. But it currently isn't. It simply
oopses now that user space isn't cleaning up after it....
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Sun, 15 Mar 2009 20:23:38 +0000 (16:23 -0400)]
export all linux-md raid devices (except ones marked as 'clear')
This is to provide UI to remove 'inactive' devices when the kernel
gets the life-cycle management wrong. See upcoming commit in
gnome-disk-utility for handling this.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Sun, 15 Mar 2009 20:22:07 +0000 (16:22 -0400)]
add newline for debug message
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Sun, 15 Mar 2009 17:05:18 +0000 (13:05 -0400)]
only use a single PolicyKit action for Linux MD operations
David Zeuthen [Sun, 15 Mar 2009 17:04:47 +0000 (13:04 -0400)]
only export holders/slaves if the devices are in our db
This fixes a problem where the GVfs gdu volume monitor isn't updated if a LUKS device is unlocked from Palimpsest.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Wed, 4 Mar 2009 19:23:04 +0000 (14:23 -0500)]
add a --dump option to devkit-disks(1)
David Zeuthen [Wed, 4 Mar 2009 15:11:08 +0000 (10:11 -0500)]
allow users with appropriate authorizations to unmount all fstab mounts
David Zeuthen [Tue, 3 Mar 2009 21:20:08 +0000 (16:20 -0500)]
use dev_t to identify mounts, not device files
This should fix all issues with things like device-mapper using
non-canonical device file names (e.g. /dev/mapper/VolGroup00-LogVol00).
Also, this allows us to delete a bunch of special case code that
already tried to deal with this
See https://bugzilla.redhat.com/show_bug.cgi?id=488258 for details.
David Zeuthen [Mon, 2 Mar 2009 21:05:35 +0000 (16:05 -0500)]
update README
David Zeuthen [Mon, 2 Mar 2009 20:09:18 +0000 (15:09 -0500)]
bump version to 003
David Zeuthen [Mon, 2 Mar 2009 19:53:51 +0000 (14:53 -0500)]
update NEWS and TODO
David Zeuthen [Mon, 2 Mar 2009 19:39:30 +0000 (14:39 -0500)]
make it possible to inhibit all operations on the daemon
This is needed for things like OS installers to inhibit automounting
etc.
David Zeuthen [Mon, 2 Mar 2009 18:19:56 +0000 (13:19 -0500)]
make help description for devkit-disks(1) point to the man page
David Zeuthen [Mon, 2 Mar 2009 18:15:22 +0000 (13:15 -0500)]
revise devkit-disks(1) man page and allow spawning programs when inhibiting
David Zeuthen [Mon, 2 Mar 2009 17:26:44 +0000 (12:26 -0500)]
make the degree character work in devkit-disks
David Zeuthen [Mon, 2 Mar 2009 17:20:30 +0000 (12:20 -0500)]
make devkit-disks(1) print SMART attributes
David Zeuthen [Mon, 2 Mar 2009 16:12:53 +0000 (11:12 -0500)]
rip out --create-fs option for now
David Zeuthen [Mon, 2 Mar 2009 14:40:25 +0000 (09:40 -0500)]
when taking ownership of a newly created file system, set the mode to 0700
David Zeuthen [Mon, 2 Mar 2009 14:31:19 +0000 (09:31 -0500)]
use dmask 0077 by default when mounting vfat volumes
This is to make the contents readable only by the user mounting the
file system. This can be overridden by passing the dmask=XYZ option to
FilesystemMount() method.
David Zeuthen [Mon, 2 Mar 2009 14:11:42 +0000 (09:11 -0500)]
use the right polkit action for ejecting drives
David Zeuthen [Mon, 2 Mar 2009 01:28:36 +0000 (20:28 -0500)]
simplify PolicyKit permissions a bit
David Zeuthen [Sun, 1 Mar 2009 23:29:45 +0000 (18:29 -0500)]
set is_system_internal for linux md devices
David Zeuthen [Sun, 1 Mar 2009 19:54:36 +0000 (14:54 -0500)]
fixup error message when adding/removing components
David Zeuthen [Sun, 1 Mar 2009 19:52:49 +0000 (14:52 -0500)]
split MD_NAME into home host and name
David Zeuthen [Sun, 1 Mar 2009 15:47:46 +0000 (10:47 -0500)]
make Device.is_busy() and Davice.partitions_are_busy() methods private
David Zeuthen [Sun, 1 Mar 2009 15:43:45 +0000 (10:43 -0500)]
slightly rework how polling is done
David Zeuthen [Sat, 28 Feb 2009 15:56:03 +0000 (10:56 -0500)]
use G_GNUC_CONST for all _get_type() functions
David Zeuthen [Sat, 28 Feb 2009 15:53:24 +0000 (10:53 -0500)]
fix up _TYPE_ and _IS_ type macros to use DEVKIT_DISKS_ as the prefix
David Zeuthen [Sat, 28 Feb 2009 15:44:43 +0000 (10:44 -0500)]
rework mounts handling
David Zeuthen [Fri, 27 Feb 2009 21:22:23 +0000 (16:22 -0500)]
ensure that properties are updated before FilesystemMount returns
David Zeuthen [Thu, 26 Feb 2009 00:25:22 +0000 (19:25 -0500)]
add new device-presentation-name and -icon-name properties
Also read these from udev properties
DKD_PRESENTATION_NAME
DKD_PRESENTATION_ICON_NAME
and set ICON_NAME for the iPod we have listed there.
David Zeuthen [Wed, 25 Feb 2009 23:49:57 +0000 (18:49 -0500)]
rename part_id to devkit-disks-part-id and namespace udev properties
David Zeuthen [Wed, 25 Feb 2009 23:39:37 +0000 (18:39 -0500)]
fix parallel build
David Zeuthen [Wed, 25 Feb 2009 23:37:23 +0000 (18:37 -0500)]
add a devkit-disks-types.h file
David Zeuthen [Wed, 25 Feb 2009 23:11:31 +0000 (18:11 -0500)]
rework how properties are set and updated
This is major patch reworking property handling. Instead of clearing
properties at every update event we use setters functions
instead. This will allow us, in the future, to generate very precise
PropertiesChanged() signals that can be tracked by client-side
proxies.
Also clean up the update_info() function; it's now split into a number
of much simpler separate update_info_*() functions. Should make things
a lot easier to debug.
Also keep track of holders/slaves and update slaves/holders when added
to a device. This allows us to get ride of the racy
update_info_in_idle() crap that never really worked.
The following properties has been removed
- optical-disc-is-recordable
- optical-disc-is-rewritable
- linux-md-component-update-time
- linux-md-component-events
- linux-md-slaves-state
The following properties has been added
- linux-md-component-holder
- linux-md-component-state
- linux-md-state
David Zeuthen [Mon, 23 Feb 2009 16:45:26 +0000 (11:45 -0500)]
add some fixes/hacks to make things work with md incremental autoassembly
David Zeuthen [Mon, 23 Feb 2009 00:33:57 +0000 (19:33 -0500)]
set the process title in the poller to the devices currently being polled
root 18776 0.0 0.0 37960 760 pts/1 S+ 19:33 0:00 devkit-disks-daemon: polling /dev/sdc /dev/sdb
David Zeuthen [Mon, 23 Feb 2009 00:18:02 +0000 (19:18 -0500)]
make polling process exit when parent dies
David Zeuthen [Mon, 23 Feb 2009 00:00:40 +0000 (19:00 -0500)]
allow changing the label on a mounted device if the filesystem supports it
David Zeuthen [Sun, 22 Feb 2009 22:54:37 +0000 (17:54 -0500)]
detect USB floppy drives
David Zeuthen [Sun, 22 Feb 2009 21:54:51 +0000 (16:54 -0500)]
increase wipe size from 16KB to 128KB to erase btrfs signatures
David Zeuthen [Sun, 22 Feb 2009 21:13:28 +0000 (16:13 -0500)]
add support for ext4
David Zeuthen [Sun, 22 Feb 2009 16:12:34 +0000 (11:12 -0500)]
only report media type if media is actually available
David Zeuthen [Fri, 20 Feb 2009 23:12:39 +0000 (18:12 -0500)]
rework optical disc properties for audio discs
remove
optical-disc-has-audio
and add
optical-disc-num-audio-tracks
since this is in line with the information that /lib/udev/cdrom_id
gives us.
David Zeuthen [Fri, 20 Feb 2009 00:36:47 +0000 (19:36 -0500)]
poll for media, also add methods to inhibit polling and manual polling
For this to work well, the polling that happens in HAL needs to be
disabled. This can be achieved by this fdi file
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="storage.removable" bool="true">
<merge key="storage.media_check_enabled" type="bool">false</merge>
</match>
</device>
</deviceinfo>
There's also a TODO in the code to properly detect SATA AN drives and
avoid polling these.
David Zeuthen [Thu, 19 Feb 2009 17:59:44 +0000 (12:59 -0500)]
use the 'ro' sysfs file to figure out if media is read-only
This way we can avoid opening the device for writes. Because if we do
open the device for writes, we going to cause an endless loop of
'change' events with udev >= 138.
David Zeuthen [Wed, 18 Feb 2009 00:31:44 +0000 (19:31 -0500)]
init the SMART data GValue earlier
David Zeuthen [Wed, 18 Feb 2009 00:28:24 +0000 (19:28 -0500)]
don't crash if properties can't be retrieved
David Zeuthen [Tue, 17 Feb 2009 19:38:55 +0000 (14:38 -0500)]
use ID_VENDOR_ENC and ID_MODEL_ENC if they are available
The availability of these new keys depend on a patch just submitted to
udev.
David Zeuthen [Tue, 17 Feb 2009 18:02:55 +0000 (13:02 -0500)]
prefer ID_FS_LABEL_ENC, if available, to ID_FS_LABEL
David Zeuthen [Tue, 17 Feb 2009 17:23:26 +0000 (12:23 -0500)]
add linux-md-home-host and linux-md-component-home-host properties
David Zeuthen [Tue, 17 Feb 2009 01:51:38 +0000 (20:51 -0500)]
fix up race where components are not updated when a RAID array is stopped
David Zeuthen [Mon, 16 Feb 2009 01:12:50 +0000 (20:12 -0500)]
use -nonet for invoking xsltproc