platform/upstream/udisks2.git
13 years agoProperly sort according to CTDS
David Zeuthen [Mon, 1 Nov 2010 17:28:12 +0000 (13:28 -0400)]
Properly sort according to CTDS

So it looks like e.g. this

$ udisks status
CTDS          MODEL                     REVISION  SERIAL               BLOCK
--------------------------------------------------------------------------------
0:0:0:0       SEAGATE ST3300657SS       0006      3SJ1S7K600009051M0CE -
0:0:1:0       SEAGATE ST3300657SS       0006      3SJ1S4MH00009052RG6Z -
0:0:2:0       SEAGATE ST3300657SS       0006      3SJ1RFP900009051HZ5S -
0:0:3:0       SEAGATE ST3300657SS       0006      3SJ1S66L00009052QGZA -
0:0:4:0       SEAGATE ST3300657SS       0006      3SJ1RPFJ00009052BZ10 -
0:0:5:0       SEAGATE ST3300657SS       0006      3SJ1RWZ100009101T12H -
0:0:6:0       SEAGATE ST3300657SS       0006      3SJ1S7C500009052RKPP -
0:0:7:0       SEAGATE ST3300657SS       0006      3SJ1S40K00009101T1XU -
0:0:8:0       SEAGATE ST3300657SS       0006      3SJ1RJS700009050VYEA -
0:0:9:0       SEAGATE ST3300657SS       0006      3SJ1RSJC00009052MWTB -
0:0:10:0      SEAGATE ST3300657SS       0006      3SJ1QNMQ00009052NECM -
0:0:11:0      SEAGATE ST3300657SS       0006      3SJ1S3NE00009101TB5Y -
0:0:13:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30012560      -
0:0:14:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30064749      -
0:0:15:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30039741      -
0:0:16:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30064055      -
0:0:17:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30030732      -
0:0:18:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30010853      -
0:0:19:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30024753      -
0:0:20:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30065104      -
0:0:21:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30031826      -
0:0:22:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30025874      -
0:0:23:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30063724      -
0:0:24:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30064486      -
0:0:25:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30032003      -
0:0:26:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30021345      -
0:0:27:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30067287      -
0:0:28:0      WDC WD1002FAEX-00Y9A0     01.01V10  WD-WCAW30014347      -
0:0:30:0      SEAGATE ST3300657SS       0006      3SJ1S7K600009051M0CE -
0:0:31:0      SEAGATE ST3300657SS       0006      3SJ1S4MH00009052RG6Z -
0:0:32:0      SEAGATE ST3300657SS       0006      3SJ1RFP900009051HZ5S -
0:0:33:0      SEAGATE ST3300657SS       0006      3SJ1S66L00009052QGZA -
0:0:34:0      SEAGATE ST3300657SS       0006      3SJ1RPFJ00009052BZ10 -
0:0:35:0      SEAGATE ST3300657SS       0006      3SJ1RWZ100009101T12H -
0:0:36:0      SEAGATE ST3300657SS       0006      3SJ1S7C500009052RKPP -
0:0:37:0      SEAGATE ST3300657SS       0006      3SJ1S40K00009101T1XU -
0:0:38:0      SEAGATE ST3300657SS       0006      3SJ1RJS700009050VYEA -
0:0:39:0      SEAGATE ST3300657SS       0006      3SJ1RSJC00009052MWTB -
0:0:40:0      SEAGATE ST3300657SS       0006      3SJ1QNMQ00009052NECM -
0:0:41:0      SEAGATE ST3300657SS       0006      3SJ1S3NE00009101TB5Y -
1:0:0:0       HP LOGICAL VOLUME         3.00      5001438008F61790     -

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoAdd a 'status' verb to udisks(1)
David Zeuthen [Mon, 1 Nov 2010 17:15:08 +0000 (13:15 -0400)]
Add a 'status' verb to udisks(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoImprove drive object paths slightly
David Zeuthen [Mon, 1 Nov 2010 15:21:20 +0000 (11:21 -0400)]
Improve drive object paths slightly

Example:

 $ udisks info --object-path drives/
 drives/HP_LOGICAL_VOLUME_5001438008F61790
 drives/SEAGATE_ST3300657SS_3SJ1QNMQ00009052NECM
 drives/SEAGATE_ST3300657SS_3SJ1QNMQ00009052NECM_1
 drives/SEAGATE_ST3300657SS_3SJ1RFP900009051HZ5S
 drives/SEAGATE_ST3300657SS_3SJ1RFP900009051HZ5S_1
 drives/SEAGATE_ST3300657SS_3SJ1RJS700009050VYEA
 drives/SEAGATE_ST3300657SS_3SJ1RJS700009050VYEA_1
 drives/SEAGATE_ST3300657SS_3SJ1RPFJ00009052BZ10
 drives/SEAGATE_ST3300657SS_3SJ1RPFJ00009052BZ10_1
 drives/SEAGATE_ST3300657SS_3SJ1RSJC00009052MWTB
 drives/SEAGATE_ST3300657SS_3SJ1RSJC00009052MWTB_1
 drives/SEAGATE_ST3300657SS_3SJ1RWZ100009101T12H
 drives/SEAGATE_ST3300657SS_3SJ1RWZ100009101T12H_1
 drives/SEAGATE_ST3300657SS_3SJ1S3NE00009101TB5Y
 drives/SEAGATE_ST3300657SS_3SJ1S3NE00009101TB5Y_1
 drives/SEAGATE_ST3300657SS_3SJ1S40K00009101T1XU
 drives/SEAGATE_ST3300657SS_3SJ1S40K00009101T1XU_1
 drives/SEAGATE_ST3300657SS_3SJ1S4MH00009052RG6Z
 drives/SEAGATE_ST3300657SS_3SJ1S4MH00009052RG6Z_1
 drives/SEAGATE_ST3300657SS_3SJ1S66L00009052QGZA
 drives/SEAGATE_ST3300657SS_3SJ1S66L00009052QGZA_1
 drives/SEAGATE_ST3300657SS_3SJ1S7C500009052RKPP
 drives/SEAGATE_ST3300657SS_3SJ1S7C500009052RKPP_1
 drives/SEAGATE_ST3300657SS_3SJ1S7K600009051M0CE
 drives/SEAGATE_ST3300657SS_3SJ1S7K600009051M0CE_1
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30010853
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30012560
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30014347
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30021345
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30024753
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30025874
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30030732
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30031826
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30032003
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30039741
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30063724
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30064055
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30064486
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30064749
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30065104
 drives/WDC_WD1002FAEX_00Y9A0_WD_WCAW30067287

Note that the SEAGATE drives appear twice because of multiple paths to
each drive (each SAS drive has two ports).

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoCatch up with latest gdbus-codegen and use this to make better drive paths
David Zeuthen [Mon, 1 Nov 2010 14:59:25 +0000 (10:59 -0400)]
Catch up with latest gdbus-codegen and use this to make better drive paths

E.g.

 $ udisks info --object-path drives/ <TAB>
 drives/INTEL_20SSDSA2MH080G1GCCVEM842101HD080DGN
 drives/MATSHITADVD_2fCDRW_20UJDA775

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoOnly consider SCSI devices with type 0x00 and 0x05 as drives
David Zeuthen [Sun, 31 Oct 2010 16:16:58 +0000 (12:16 -0400)]
Only consider SCSI devices with type 0x00 and 0x05 as drives

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoMake udisks_decode_udev_string() accept NULL strings
David Zeuthen [Sun, 31 Oct 2010 16:06:06 +0000 (12:06 -0400)]
Make udisks_decode_udev_string() accept NULL strings

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoAdd org.freedesktop.UDisks.Drive interfaces
David Zeuthen [Sun, 31 Oct 2010 15:54:16 +0000 (11:54 -0400)]
Add org.freedesktop.UDisks.Drive interfaces

This relies on a set of udev patches that sets ID_* on scsi_device
sysfs devices instead of just the block devices.

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoAdd a couple of more errors
David Zeuthen [Mon, 25 Oct 2010 20:02:34 +0000 (16:02 -0400)]
Add a couple of more errors

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoMake udisks(8) spawn a textual authentication agent if one is needed
David Zeuthen [Mon, 25 Oct 2010 19:19:02 +0000 (15:19 -0400)]
Make udisks(8) spawn a textual authentication agent if one is needed

See http://hal.freedesktop.org/docs/polkit/PolkitAgentTextListener.html

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoUpdate udisks(1) man page
David Zeuthen [Mon, 25 Oct 2010 18:47:59 +0000 (14:47 -0400)]
Update udisks(1) man page

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoUse gchar, not char
David Zeuthen [Mon, 25 Oct 2010 17:39:30 +0000 (13:39 -0400)]
Use gchar, not char

This makes it easier to figure out when to use g_free() vs. free().

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoAlso use --object-path/-p for udisks info
David Zeuthen [Mon, 25 Oct 2010 17:35:17 +0000 (13:35 -0400)]
Also use --object-path/-p for udisks info

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoCheck with polkit whether the user is authorized to mount the device
David Zeuthen [Mon, 25 Oct 2010 17:32:28 +0000 (13:32 -0400)]
Check with polkit whether the user is authorized to mount the device

Also make the udisks program accept mount/unmount options and the
desired file system type.

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoStart implementing Mount() and Unmount() on the Filesystem interface
David Zeuthen [Thu, 21 Oct 2010 21:11:29 +0000 (17:11 -0400)]
Start implementing Mount() and Unmount() on the Filesystem interface

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoRename library to libudisks-2.0.so and provide a pkg-config(1) file
David Zeuthen [Tue, 12 Oct 2010 18:00:33 +0000 (14:00 -0400)]
Rename library to libudisks-2.0.so and provide a pkg-config(1) file

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDon't create two GUdevClient objects - share a single one instead
David Zeuthen [Mon, 27 Sep 2010 19:13:12 +0000 (15:13 -0400)]
Don't create two GUdevClient objects - share a single one instead

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd new abstract ConfigurationItem interface and a /etc/fstab implementation
David Zeuthen [Mon, 27 Sep 2010 17:49:08 +0000 (13:49 -0400)]
Add new abstract ConfigurationItem interface and a /etc/fstab implementation

The idea is that we will use this for all sorts of configuration for
devices that need assembly (e.g. MD, LVM), unlocking (LUKS) and other
things.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse generated GDBusProxyManager subclass from latest gdbus-codegen(1)
David Zeuthen [Fri, 24 Sep 2010 16:29:12 +0000 (12:29 -0400)]
Use generated GDBusProxyManager subclass from latest gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoudisks(1): implement mount and unmount verbs
David Zeuthen [Wed, 22 Sep 2010 22:07:38 +0000 (18:07 -0400)]
udisks(1): implement mount and unmount verbs

Still not very useful

 - The daemon isn't doing anything useful yet

 - We probably want to take options that can be passed to the Mount()
   and Unmount() methods

but it's a good start.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoudisks: Use --block-device in 'info' verb instead of just --device
David Zeuthen [Thu, 16 Sep 2010 17:48:44 +0000 (13:48 -0400)]
udisks: Use --block-device in 'info' verb instead of just --device

Later on we probably want other kinds of references such as

 udisks info --block-device /dev/sda
 udisks info --job 042_format_dev_sdb1
 udisks info --enclosure Promise_VTrak_J630SS

so we shouldn't claim the word "device" for block devices files.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoRun 'udisks dump' in the pager if stdin/stdout are TTYs
David Zeuthen [Thu, 16 Sep 2010 17:43:55 +0000 (13:43 -0400)]
Run 'udisks dump' in the pager if stdin/stdout are TTYs

This is like e.g. git-diff(1).

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoIf both stdin/stdout are TTYs, provide colorful output
David Zeuthen [Thu, 16 Sep 2010 16:25:07 +0000 (12:25 -0400)]
If both stdin/stdout are TTYs, provide colorful output

See http://people.freedesktop.org/~david/udisks-command-in-living-color.png

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAlso show interfaces+properties when an object is added
David Zeuthen [Wed, 15 Sep 2010 22:04:41 +0000 (18:04 -0400)]
Also show interfaces+properties when an object is added

 $ udisks monitor
 Monitoring the udisks daemon. Press Ctrl+C to exit.
 18:04:29.489: The udisks-daemon is running (name-owner :1.267).
 18:04:30.845: Added /org/freedesktop/UDisks/devices/mmcblk0
   org.freedesktop.UDisks.BlockDevice:
     Device:             /dev/mmcblk0
     Major:              179
     Minor:              0
     Size:               1015808000
     Symlinks:           /dev/block/179:0
                         /dev/disk/by-id/mmc-SD01G_0x50882907
                         /dev/disk/by-path/pci-0000:05:00.2
   org.freedesktop.UDisks.LinuxSysfsDevice:
     Subsystem:          block
     SysfsPath:          /sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.2/mmc_host/mmc0/mmc0:9ffc/block/mmcblk0
 18:04:30.912: Added /org/freedesktop/UDisks/devices/mmcblk0p1
   org.freedesktop.UDisks.BlockDevice:
     Device:             /dev/mmcblk0p1
     Major:              179
     Minor:              1
     Size:               499998720
     Symlinks:           /dev/block/179:1
                         /dev/disk/by-id/mmc-SD01G_0x50882907-part1
                         /dev/disk/by-path/pci-0000:05:00.2-part1
   org.freedesktop.UDisks.LinuxSysfsDevice:
     Subsystem:          block
     SysfsPath:          /sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.2/mmc_host/mmc0/mmc0:9ffc/block/mmcblk0/mmcblk0p1

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoShow interface properties when adding an interface
David Zeuthen [Wed, 15 Sep 2010 21:58:58 +0000 (17:58 -0400)]
Show interface properties when adding an interface

Again, when doing mkfs then wiping a block device, this is the output
we get:

 $ udisks monitor
 Monitoring the udisks daemon. Press Ctrl+C to exit.
 17:56:39.132: The udisks-daemon is running (name-owner :1.267).
 17:56:43.189: /org/freedesktop/UDisks/devices/mmcblk0p1: Received signal org.freedesktop.UDisks.LinuxSysfsDevice::UEvent (b'change',)
 17:56:43.192: /org/freedesktop/UDisks/devices/mmcblk0p1: Added interface org.freedesktop.UDisks.BlockDevice.Probed
   Label:                foo
   Type:                 vfat
   UUID:                 11AC-D2FD
   Usage:                filesystem
   Version:              FAT16
 17:56:43.194: /org/freedesktop/UDisks/devices/mmcblk0p1: Added interface org.freedesktop.UDisks.Filesystem
   MountPoint:
 17:56:43.197: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.BlockDevice: Properties Changed
   Symlinks:             /dev/block/179:1
                         /dev/disk/by-id/mmc-SD01G_0x50882907-part1
                         /dev/disk/by-path/pci-0000:05:00.2-part1
                         /dev/disk/by-uuid/11AC-D2FD
                         /dev/disk/by-label/foo

 17:56:50.956: /org/freedesktop/UDisks/devices/mmcblk0p1: Received signal org.freedesktop.UDisks.LinuxSysfsDevice::UEvent (b'change',)
 17:56:50.957: /org/freedesktop/UDisks/devices/mmcblk0p1: Removed interface org.freedesktop.UDisks.BlockDevice.Probed
 17:56:50.958: /org/freedesktop/UDisks/devices/mmcblk0p1: Removed interface org.freedesktop.UDisks.Filesystem
 17:56:50.958: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.BlockDevice: Properties Changed
   Symlinks:             /dev/block/179:1
                         /dev/disk/by-id/mmc-SD01G_0x50882907-part1
                         /dev/disk/by-path/pci-0000:05:00.2-part1
 ^C

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd a 'monitor' verb to the udisks command
David Zeuthen [Wed, 15 Sep 2010 21:48:16 +0000 (17:48 -0400)]
Add a 'monitor' verb to the udisks command

If we run these commands

 # mkfs.vfat -n "foo" /dev/mmcblk0p1
 mkfs.vfat 3.0.9 (31 Jan 2010)
 # mount /dev/mmcblk0p1 /media/Foo5/
 # umount /media/Foo5
 # dd if=/dev/zero of=/dev/mmcblk0p1 bs=512 count=100
 100+0 records in
 100+0 records out
 51200 bytes (51 kB) copied, 0.0327893 s, 1.6 MB/s

then we get this output

 $ udisks monitor
 Monitoring the udisks daemon. Press Ctrl+C to exit.
 17:44:08.566: The udisks-daemon is running (name-owner :1.267).
 17:44:15.418: /org/freedesktop/UDisks/devices/mmcblk0p1: Received signal org.freedesktop.UDisks.LinuxSysfsDevice::UEvent (b'change',)
 17:44:15.419: /org/freedesktop/UDisks/devices/mmcblk0p1: Added interface org.freedesktop.UDisks.BlockDevice.Probed
 17:44:15.420: /org/freedesktop/UDisks/devices/mmcblk0p1: Added interface org.freedesktop.UDisks.Filesystem
 17:44:15.421: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.BlockDevice: Properties Changed
   Symlinks:             /dev/block/179:1
                         /dev/disk/by-id/mmc-SD01G_0x50882907-part1
                         /dev/disk/by-path/pci-0000:05:00.2-part1
                         /dev/disk/by-uuid/E2F3-2C42
                         /dev/disk/by-label/foo
 17:44:24.466: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.Filesystem: Properties Changed
   MountPoint:           /media/Foo5
 17:44:29.582: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.Filesystem: Properties Changed
   MountPoint:
 17:44:34.586: /org/freedesktop/UDisks/devices/mmcblk0p1: Received signal org.freedesktop.UDisks.LinuxSysfsDevice::UEvent (b'change',)
 17:44:34.589: /org/freedesktop/UDisks/devices/mmcblk0p1: Removed interface org.freedesktop.UDisks.BlockDevice.Probed
 17:44:34.589: /org/freedesktop/UDisks/devices/mmcblk0p1: Removed interface org.freedesktop.UDisks.Filesystem
 17:44:34.589: /org/freedesktop/UDisks/devices/mmcblk0p1: org.freedesktop.UDisks.BlockDevice: Properties Changed
   Symlinks:             /dev/block/179:1
                         /dev/disk/by-id/mmc-SD01G_0x50882907-part1
                         /dev/disk/by-path/pci-0000:05:00.2-part1

which is actually very nice.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoActually remove the object on "remove" event
David Zeuthen [Wed, 15 Sep 2010 21:31:05 +0000 (17:31 -0400)]
Actually remove the object on "remove" event

Duh!

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFixup finalization order to avoid warnings when disconnecting signals
David Zeuthen [Wed, 15 Sep 2010 21:25:15 +0000 (17:25 -0400)]
Fixup finalization order to avoid warnings when disconnecting signals

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMake udisks(1) actually show some information
David Zeuthen [Wed, 15 Sep 2010 19:46:58 +0000 (15:46 -0400)]
Make udisks(1) actually show some information

Looks like this

  $ udisks info --device /dev/sda1
  /org/freedesktop/UDisks/devices/sda1:
    org.freedesktop.UDisks.BlockDevice:
      Device:             /dev/sda1
      Major:              8
      Minor:              1
      Size:               80025223168
      Symlinks:           /dev/block/8:1
                          /dev/disk/by-id/ata-INTEL_SSDSA2MH080G1GC_CVEM842101HD080DGN-part1
                          /dev/disk/by-id/scsi-SATA_INTEL_SSDSA2MH0CVEM842101HD080DGN-part1
                          /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part1
                          /dev/disk/by-uuid/4e057fd9-bae5-4a12-83b5-2f654d42edb1
                          /dev/disk/by-label/Fedora-13-x86_64
                          /dev/disk/by-id/wwn-0x5001517387d61905-part1
    org.freedesktop.UDisks.BlockDevice.Probed:
      Label:              Fedora-13-x86_64
      Type:               ext4
      UUID:               4e057fd9-bae5-4a12-83b5-2f654d42edb1
      Usage:              filesystem
      Version:            1.0
    org.freedesktop.UDisks.Filesystem:
      MountPoint:         /
    org.freedesktop.UDisks.LinuxSysfsDevice:
      Subsystem:          block
      SysfsPath:          /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1

Also add a dump verb to dump everything.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse bytestring for strings that are not guaranteed to be UTF-8
David Zeuthen [Wed, 15 Sep 2010 16:27:45 +0000 (12:27 -0400)]
Use bytestring for strings that are not guaranteed to be UTF-8

This requires gdbus-codegen(1) master.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDynamically update the UDisksFilesystem:MountPoint property
David Zeuthen [Mon, 13 Sep 2010 17:39:16 +0000 (13:39 -0400)]
Dynamically update the UDisksFilesystem:MountPoint property

In other words.. use the UDisksMountMonitor machinery added in the
previous commits.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoRemove debug spew
David Zeuthen [Mon, 13 Sep 2010 17:38:35 +0000 (13:38 -0400)]
Remove debug spew

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd UDisksMountMonitor and UDisksMount
David Zeuthen [Mon, 13 Sep 2010 17:19:36 +0000 (13:19 -0400)]
Add UDisksMountMonitor and UDisksMount

This is basically a port from the old sources. Now to use it.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFixup doc indenting
David Zeuthen [Fri, 10 Sep 2010 20:44:23 +0000 (16:44 -0400)]
Fixup doc indenting

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoHandle the org.fd.UDisks.Job.Cancel() method in the base job class
David Zeuthen [Fri, 10 Sep 2010 16:19:05 +0000 (12:19 -0400)]
Handle the org.fd.UDisks.Job.Cancel() method in the base job class

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFactor common job features into a base class
David Zeuthen [Thu, 9 Sep 2010 21:16:07 +0000 (17:16 -0400)]
Factor common job features into a base class

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd UDisksThreadedJob class
David Zeuthen [Thu, 9 Sep 2010 20:38:54 +0000 (16:38 -0400)]
Add UDisksThreadedJob class

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd UDisksError to the docs
David Zeuthen [Wed, 8 Sep 2010 21:58:06 +0000 (17:58 -0400)]
Add UDisksError to the docs

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoBuild fixes / cleanups
David Zeuthen [Wed, 8 Sep 2010 21:51:07 +0000 (17:51 -0400)]
Build fixes / cleanups

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFix build
David Zeuthen [Wed, 8 Sep 2010 21:39:22 +0000 (17:39 -0400)]
Fix build

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd UDisksError error domain and use it
David Zeuthen [Wed, 8 Sep 2010 21:25:28 +0000 (17:25 -0400)]
Add UDisksError error domain and use it

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFix reference count SNAFU
David Zeuthen [Wed, 8 Sep 2010 20:09:39 +0000 (16:09 -0400)]
Fix reference count SNAFU

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMake it possible to pass a string to the helper via stdin
David Zeuthen [Wed, 8 Sep 2010 19:26:22 +0000 (15:26 -0400)]
Make it possible to pass a string to the helper via stdin

This is needed for e.g. passing a pass-phrase to cryptsetup(8).

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDon't mix up stdout and stderr
David Zeuthen [Wed, 8 Sep 2010 18:51:27 +0000 (14:51 -0400)]
Don't mix up stdout and stderr

Repeated runs of the test suite, like this

 $ while `/bin/true` ; do ./udisks-test || break ; done

actually triggered this error.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUDisksSpawnedJob: Add test case for binary output
David Zeuthen [Wed, 8 Sep 2010 18:36:53 +0000 (14:36 -0400)]
UDisksSpawnedJob: Add test case for binary output

Also try to use this facility from UDisksFilesystemImpl:

 $ gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/mmcblk1p1 --method org.freedesktop.UDisks.Filesystem.Mount "" "[]"
 ('/foobar',)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd some more spawn tests
David Zeuthen [Wed, 8 Sep 2010 15:17:07 +0000 (11:17 -0400)]
Add some more spawn tests

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoBreak test suite into separate cases
David Zeuthen [Wed, 8 Sep 2010 14:15:46 +0000 (10:15 -0400)]
Break test suite into separate cases

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd a test suite
David Zeuthen [Wed, 8 Sep 2010 14:03:54 +0000 (10:03 -0400)]
Add a test suite

These are unit-tests that check each class/type - it is not the same
as Martin Pitt's test suite which is more like integration testing
that pokes the daemon's D-Bus interface. We need both.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoWork on UDisksSpawnedJob implementation of UDisksJob
David Zeuthen [Tue, 7 Sep 2010 21:47:51 +0000 (17:47 -0400)]
Work on UDisksSpawnedJob implementation of UDisksJob

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd docs for UDisksJobImpl
David Zeuthen [Tue, 7 Sep 2010 17:18:58 +0000 (13:18 -0400)]
Add docs for UDisksJobImpl

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoRearrange docs
David Zeuthen [Mon, 6 Sep 2010 18:55:55 +0000 (14:55 -0400)]
Rearrange docs

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse new gtk-doc features available in latest gdbus-codegen(1)
David Zeuthen [Mon, 6 Sep 2010 18:35:08 +0000 (14:35 -0400)]
Use new gtk-doc features available in latest gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse new _GET_ and _PEEK_ macros in latest gdbus-codegen(1)
David Zeuthen [Sat, 4 Sep 2010 07:59:31 +0000 (03:59 -0400)]
Use new _GET_ and _PEEK_ macros in latest gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoStart rewriting udisks(1)
David Zeuthen [Sat, 4 Sep 2010 02:51:30 +0000 (22:51 -0400)]
Start rewriting udisks(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoRework some of the code
David Zeuthen [Fri, 3 Sep 2010 20:23:57 +0000 (16:23 -0400)]
Rework some of the code

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoIntroduce the UDisksDaemon class
David Zeuthen [Fri, 3 Sep 2010 17:30:15 +0000 (13:30 -0400)]
Introduce the UDisksDaemon class

This will be used for bookkeeping, job management and so on.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoNuke random device being created in main.c
David Zeuthen [Fri, 3 Sep 2010 16:46:43 +0000 (12:46 -0400)]
Nuke random device being created in main.c

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse D-Bus property name Type instead of Kind
David Zeuthen [Fri, 3 Sep 2010 16:20:54 +0000 (12:20 -0400)]
Use D-Bus property name Type instead of Kind

We used the name :Kind only because of a gdbus-codegen(1) bug that I
just fixed. See

http://cgit.freedesktop.org/~david/gdbus-binding-tool/commit/?id=840c466a45ae310990c040eb5e6f5b1336c0297f

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd a UDisksJob interface and implementation
David Zeuthen [Fri, 3 Sep 2010 16:19:35 +0000 (12:19 -0400)]
Add a UDisksJob interface and implementation

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd skeleton for UDisksFilesystem implementation and use it
David Zeuthen [Fri, 3 Sep 2010 15:27:52 +0000 (11:27 -0400)]
Add skeleton for UDisksFilesystem implementation and use it

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoEmit UEvent signal on the LinuxSysfsDevice interface
David Zeuthen [Fri, 3 Sep 2010 00:39:19 +0000 (20:39 -0400)]
Emit UEvent signal on the LinuxSysfsDevice interface

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoSplit out check/update interface functions
David Zeuthen [Fri, 3 Sep 2010 00:12:18 +0000 (20:12 -0400)]
Split out check/update interface functions

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd org.freedesktop.UDisks.Filesystem interface
David Zeuthen [Thu, 2 Sep 2010 22:26:42 +0000 (18:26 -0400)]
Add org.freedesktop.UDisks.Filesystem interface

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoRename ProbedBlockDevice to BlockDevice.Probed
David Zeuthen [Thu, 2 Sep 2010 21:54:47 +0000 (17:54 -0400)]
Rename ProbedBlockDevice to BlockDevice.Probed

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd the org.freedesktop.UDisks.ProbedBlockDevice interface
David Zeuthen [Thu, 2 Sep 2010 21:51:47 +0000 (17:51 -0400)]
Add the org.freedesktop.UDisks.ProbedBlockDevice interface

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoExport a couple of more BlockDevice properties
David Zeuthen [Thu, 2 Sep 2010 21:08:19 +0000 (17:08 -0400)]
Export a couple of more BlockDevice properties

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDon't leak the GDBusInterface objects
David Zeuthen [Thu, 2 Sep 2010 20:51:42 +0000 (16:51 -0400)]
Don't leak the GDBusInterface objects

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdates
David Zeuthen [Thu, 2 Sep 2010 20:44:52 +0000 (16:44 -0400)]
Updates

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd support for Linux Block devices
David Zeuthen [Thu, 2 Sep 2010 19:55:31 +0000 (15:55 -0400)]
Add support for Linux Block devices

Well, it's more like the skeleton.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMore cleanups
David Zeuthen [Thu, 2 Sep 2010 19:28:43 +0000 (15:28 -0400)]
More cleanups

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoCleanup
David Zeuthen [Thu, 2 Sep 2010 19:01:16 +0000 (15:01 -0400)]
Cleanup

Lots of this will be added back shortly...

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoCatch up with latest gdbus-codegen(1)
David Zeuthen [Fri, 27 Aug 2010 22:50:12 +0000 (18:50 -0400)]
Catch up with latest gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUse new ::g-properties-changed-emitted signal in gdbus-codegen(1)
David Zeuthen [Thu, 26 Aug 2010 19:09:11 +0000 (15:09 -0400)]
Use new ::g-properties-changed-emitted signal in gdbus-codegen(1)

This allows us to also emit changes on the manager object.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFree the GUdevDevice before the GUdevClient objects
David Zeuthen [Thu, 26 Aug 2010 19:08:04 +0000 (15:08 -0400)]
Free the GUdevDevice before the GUdevClient objects

Otherwise valgrind complains.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdate gitignore
David Zeuthen [Thu, 26 Aug 2010 19:05:26 +0000 (15:05 -0400)]
Update gitignore

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdate to latest gdbus-codegen(1)
David Zeuthen [Wed, 25 Aug 2010 20:08:12 +0000 (16:08 -0400)]
Update to latest gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoCatch up with latest gdbus and gdbus-codegen(1)
David Zeuthen [Wed, 30 Jun 2010 20:39:55 +0000 (16:39 -0400)]
Catch up with latest gdbus and gdbus-codegen(1)

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDo proper shutdown upon receiving SIGINT
David Zeuthen [Tue, 8 Jun 2010 22:21:36 +0000 (18:21 -0400)]
Do proper shutdown upon receiving SIGINT

This helps with finding/detecting memory leaks.

14 years agoDon't leak the object path
David Zeuthen [Tue, 8 Jun 2010 20:08:48 +0000 (16:08 -0400)]
Don't leak the object path

14 years agoUpdate for latest gdbus-binding-tool
David Zeuthen [Tue, 8 Jun 2010 19:59:06 +0000 (15:59 -0400)]
Update for latest gdbus-binding-tool

This bug was fixed

 http://cgit.freedesktop.org/~david/gdbus-binding-tool/commit/?id=a78aca02de934cbec27bae2ef04127745a7fbc55

14 years agoUpdates
David Zeuthen [Tue, 8 Jun 2010 19:46:33 +0000 (15:46 -0400)]
Updates

14 years agoUpdates
David Zeuthen [Mon, 7 Jun 2010 20:57:25 +0000 (16:57 -0400)]
Updates

14 years agoRequire GIO 2.25.7 or later
David Zeuthen [Mon, 7 Jun 2010 15:57:29 +0000 (11:57 -0400)]
Require GIO 2.25.7 or later

We need this for the gdbus bits.

14 years agoBug 28075 — Do not have files executable on NTFS
Martin Pitt [Thu, 3 Jun 2010 10:09:29 +0000 (12:09 +0200)]
Bug 28075 — Do not have files executable on NTFS

Set fmask on NTFS devices to avoid having files being executable. This provides
a better default for almost all NTFS use cases under Linux, and avoids
confusing "show or execute?" questions in nautilus.

This is similar to what commit 7e7ec1 did for vfat, except that NTFS does not
have this handy "showexec" option.

14 years agoFix long hangs on probing nonexistant floppy drives
Martin Pitt [Wed, 2 Jun 2010 13:56:07 +0000 (15:56 +0200)]
Fix long hangs on probing nonexistant floppy drives

A lot of modern machines do not have a floppy drive any more, but still have a
floppy controller somewhere (or at least the BIOS pretends to). Trying to
open(/dev/fd0) on these machines causes long hangs, which lead to long desktop
startup times.

To fix this, avoid probing floppies for media in update_info().

https://launchpad.net/bugs/539515

14 years agoAvoid using entities in introspection XML
David Zeuthen [Tue, 1 Jun 2010 21:22:38 +0000 (17:22 -0400)]
Avoid using entities in introspection XML

Unfortunately GMarkup doesn't understand entities so
gdbus-binding-tool will not work with these XML files without this
patch.

14 years agoDon't probe non-data discs for partition tables
David Zeuthen [Tue, 25 May 2010 14:59:01 +0000 (10:59 -0400)]
Don't probe non-data discs for partition tables

Suggested by Kay Sievers. This is related to
https://bugzilla.kernel.org/show_bug.cgi?id=15757

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agotestsuite: mkfs() code cleanup
Martin Pitt [Thu, 20 May 2010 20:12:44 +0000 (22:12 +0200)]
testsuite: mkfs() code cleanup

Replace the long if ladder for mkfs special cases with option dictionaries.
This makes it easier to extend in the future and the code easier to read.

14 years agoBug 28075 — Do not have all files executable on vfat
Martin Pitt [Wed, 12 May 2010 12:00:18 +0000 (14:00 +0200)]
Bug 28075 — Do not have all files executable on vfat

Enable the "showexec" vfat mount option, to avoid data files being executable
(which causes confusing question dialogs in nautilus which only have one
sensible answer).

See http://www.kernel.org/doc/Documentation/filesystems/vfat.txt (search for
"showexec") for the details of this option.

14 years agoUpdate to latest LVM2 API
David Zeuthen [Wed, 19 May 2010 17:01:31 +0000 (13:01 -0400)]
Update to latest LVM2 API

See

 http://lists.freedesktop.org/archives/devkit-devel/2010-April/000783.html

14 years agotestsuite: Check file permissions
Martin Pitt [Wed, 12 May 2010 11:00:16 +0000 (13:00 +0200)]
testsuite: Check file permissions

Add a check to the filesystem test cases for sane permissions of data files and
executables. In particular, this ensures that the executable bit is set where
it makes sense (directories and programs), but not on mere data files.

We currently ignore known-broken file systems like vfat and ntfs.

This is the groundwork to fix this behaviour at least on vfat. Its current
behaviour is quite unnerving, since trying to open a file on them in e. g.
GNOME will always ask for "do you want to open or run this file".

14 years agoPost-release version bump to 1.0.2
David Zeuthen [Fri, 9 Apr 2010 15:56:27 +0000 (11:56 -0400)]
Post-release version bump to 1.0.2

14 years agoUpdate NEWS for release
David Zeuthen [Fri, 9 Apr 2010 15:45:44 +0000 (11:45 -0400)]
Update NEWS for release

14 years agoadd information about CVE-2010-1149 to NEWS
Martin Pitt [Fri, 9 Apr 2010 11:19:44 +0000 (13:19 +0200)]
add information about CVE-2010-1149 to NEWS

14 years agoHide Sony E-Book launcher partition
Martin Pitt [Wed, 7 Apr 2010 07:50:19 +0000 (09:50 +0200)]
Hide Sony E-Book launcher partition

It only contains Windows software and is read-only, and thus useless.

https://launchpad.net/bugs/546924

14 years agojob-drive-benchmark.c: Fix data types in error messages
Martin Pitt [Wed, 7 Apr 2010 07:27:18 +0000 (09:27 +0200)]
job-drive-benchmark.c: Fix data types in error messages

We previously used wrongly sized data types in the error messages, which causes
crashes on platforms where they do not coincidentally match in size.

https://launchpad.net/bugs/527202

14 years agopart-id: Fix DM partition table detection
Martin Pitt [Wed, 7 Apr 2010 06:56:05 +0000 (08:56 +0200)]
part-id: Fix DM partition table detection

If DM_NAME does not end in 'pN' (i. e. is not a partition), do not treat it as
malformed, but just go ahead probing it. This fixes partition table detection
for kpartx'ed DM devices.

Re-enable the test case which originally uncovered this bug.

14 years agotestsuite: Check presence and properties of loop devices
Martin Pitt [Wed, 7 Apr 2010 06:36:42 +0000 (08:36 +0200)]
testsuite: Check presence and properties of loop devices

14 years agoBug 27494 — publicly exports dm key information
Martin Pitt [Wed, 7 Apr 2010 06:12:42 +0000 (08:12 +0200)]
Bug 27494 — publicly exports dm key information

Change udisks-dm-export to only export UDISKS_DM_TARGETS_PARAMS for "linear"
types. It is the only one we care about for now and know how to interpret.
"crypto" types have information about the encryption key in the target
parameters, which we must not leak.

Also add appropriate comments to the two places which currently evaluate
UDISKS_DM_TARGETS_PARAMS.

14 years agotestsuite: Test detection of kpartx LVM partitions
Martin Pitt [Tue, 6 Apr 2010 21:01:38 +0000 (23:01 +0200)]
testsuite: Test detection of kpartx LVM partitions

Add a new LVM test case where we create two partitions of the LV and check
their udisks properties.

This is primarily meant to test the rather involved logic of udisks-part-id to
determine which device that partition is a slave of (it involves parsing
UDISKS_DM_TARGETS_PARAMS and various DM_* properties).

This also apparently uncovered a bug: the partition table does not have correct
properties in udisks. Comment out the two checks for now, to be investigated
later.

14 years agotestsuite: Check that our udev probers do not leak key information
Martin Pitt [Tue, 6 Apr 2010 18:34:36 +0000 (20:34 +0200)]
testsuite: Check that our udev probers do not leak key information

This reproduces https://bugs.freedesktop.org/show_bug.cgi?id=27494