platform/upstream/udisks2.git
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

14 years agoFix exit code of umount.udisks
Martin Pitt [Fri, 19 Mar 2010 09:09:59 +0000 (10:09 +0100)]
Fix exit code of umount.udisks

Exit with return code 0 if the unmount succeeded.

https://launchpad.net/bugs/541740

14 years agoAllow other rules to set a more specific presentation icon
Martin Pitt [Thu, 18 Mar 2010 13:42:24 +0000 (14:42 +0100)]
Allow other rules to set a more specific presentation icon

If previous rules already set UDISKS_PRESENTATION_ICON_NAME (like in a future
media-player-info, to attach more specific icons to particular devices), do not
overwrite it with our generic icons; just set them if we do not have an icon at
all yet.

Also put the icon rules into their own visual section now, they were previously
in the middle of the "card reader type" rules.

14 years agoSet multimedia-player-ipod icon for iPod media players
Martin Pitt [Wed, 17 Mar 2010 14:46:03 +0000 (15:46 +0100)]
Set multimedia-player-ipod icon for iPod media players

Part of https://launchpad.net/bugs/540235

14 years agoUpdate NEWS for release
David Zeuthen [Mon, 15 Mar 2010 23:42:29 +0000 (19:42 -0400)]
Update NEWS for release

Ooops, should have done this before 1.0.0 - this will have to do.

14 years agoPost-release version bump to 1.0.1
David Zeuthen [Mon, 15 Mar 2010 23:38:42 +0000 (19:38 -0400)]
Post-release version bump to 1.0.1

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoAdd TODO item about UTF-8 and D-Bus properties
David Zeuthen [Mon, 15 Mar 2010 22:37:21 +0000 (18:37 -0400)]
Add TODO item about UTF-8 and D-Bus properties

14 years agoGuarantee that DeviceFilePresentation always contain something meaningful
David Zeuthen [Mon, 15 Mar 2010 22:31:58 +0000 (18:31 -0400)]
Guarantee that DeviceFilePresentation always contain something meaningful

This makes life easier for UI tools - they can always just display
:DeviceFilePresentation instead of having to check whether it's blank
and if so use :DeviceFile.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMake it possible to disable LVM2 and dm-multipath support
David Zeuthen [Mon, 15 Mar 2010 22:22:48 +0000 (18:22 -0400)]
Make it possible to disable LVM2 and dm-multipath support

Evidently, the device-mapper and LVM2 side of this needs some more
work so certain enterprise distros may want to disable this for now.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdate TODO
David Zeuthen [Mon, 15 Mar 2010 19:38:53 +0000 (15:38 -0400)]
Update TODO

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoFix partition table probing during coldplug
David Zeuthen [Mon, 15 Mar 2010 18:04:59 +0000 (14:04 -0400)]
Fix partition table probing during coldplug

Commit 8aa58f68ae3b53f6ba6d8c51b4f66bc8135b4123 introduced a subtle
assumption that the device file given on the command line for
udisks-part-id is the same as what udev_device_get_devnode() returns
for the udev_device object. This is actually not true when handling an
event as the node passed is a temporary one.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoudisks-part-id: Simplify code
Martin Pitt [Mon, 15 Mar 2010 07:41:32 +0000 (08:41 +0100)]
udisks-part-id: Simplify code

In 8aa58f we changed part-id to keep one singe udev_device around. Simplify
get_part_table_device_file() to not get the syspath from our device, just to
get a new udev device from that syspath again (which is exactly the same as the
device that we already have).

This also fixes a double udev_device_unref(), although this seems to have been
harmless.

14 years agoBug 27072 — does not force-unmount for drives in fstab
Martin Pitt [Sun, 14 Mar 2010 19:58:28 +0000 (20:58 +0100)]
Bug 27072 — does not force-unmount for drives in fstab

force_removal() previously only checked for entries in our own mtab.
This caused forced unmounts for drives in /etc/fstab not to work.

Now check for drives in /etc/fstab as well.

14 years agoTODO update for property update race conditions
Martin Pitt [Fri, 12 Mar 2010 19:07:24 +0000 (20:07 +0100)]
TODO update for property update race conditions

14 years agotestsuite: Add option to disable workarounds for race conditions
Martin Pitt [Fri, 12 Mar 2010 18:56:34 +0000 (19:56 +0100)]
testsuite: Add option to disable workarounds for race conditions

Some D-BUS API methods cause properties to not be up to date yet when a method
call finishes, thus we do an udevadm settle as a workaround in the test suite.
Those bugs should eventually get fixed properly, but it's unnerving to have the
tests fail on them when you are working on something else.

Split the udevadm settles into the existing .sync() for legitimate syncs, and a
new sync_workaround() for race condition workarounds.

Add --no-workarounds CLI option to disable those workaround syncs, so that
these race conditions can be detected and fixed.

14 years agotestsuite: Use loop devices instead of ram disks
Martin Pitt [Fri, 12 Mar 2010 18:14:24 +0000 (19:14 +0100)]
testsuite: Use loop devices instead of ram disks

On many platforms, the default size of RAM disks is too small for some file
systems or LVM devices. Rewrite using temporary loop devices.

14 years agoudisks-part-id: Check ID_FS_TYPE from environment first
Martin Pitt [Fri, 12 Mar 2010 17:30:23 +0000 (18:30 +0100)]
udisks-part-id: Check ID_FS_TYPE from environment first

We need to do that for the initial udev run where blkid and udisks-part-id are
called in the same round; the database is not updated at that time yet.

14 years agoBug 26996 — wrongly detects partition on unpartitioned VFAT device
Martin Pitt [Fri, 12 Mar 2010 16:42:25 +0000 (17:42 +0100)]
Bug 26996 — wrongly detects partition on unpartitioned VFAT device

A standard VFAT header matches the signature of an MBR, so we detected VFAT
file systems on raw unpartitioned devices as both VFAT and MBR partition table.
This confuses gnome-disk-utility/gvfs, and causes them to be ignored in GNOME.

The standard approach in the kernel/blkid is to only detect an MBR if it does
not have a valid VFAT signature. Since blkid already does that for us, do not
output PARTITION_TABLE properties in udisks-part-id if we already know that we
have a valid ID_FS_TYPE.

14 years agoudisks-part-id: Shuffle code to keep udev_device in main()
Martin Pitt [Fri, 12 Mar 2010 16:27:03 +0000 (17:27 +0100)]
udisks-part-id: Shuffle code to keep udev_device in main()

Reorder the code to get and keep an udev_device struct in main() and pass it
down to get_part_table_device_file(), instead of temporarily creating them in
that function and get_syspath(). This avoids duplicate lookups and also
allows us to do further queries on the udev_device later on (which we need to
fix bz#26996)

14 years agotestsuite: Check partitions with filesystems
Martin Pitt [Fri, 12 Mar 2010 15:15:52 +0000 (16:15 +0100)]
testsuite: Check partitions with filesystems

So far we only checked handling of partitions without file systems, which did
not detect the regression from commit cfc6698. Now test both combinations.

Note that we have to jump through some hoops here, since
Partition{Create,Modify} internally writes the new partition type/flags/etc,
and thus does not care about a broken part-id. Thus we trigger a change event
on block devices to actually check what the udev probers do.

14 years agoBug 25424 — Update to stable API of udev/gudev/dbus
Michael Biebl [Tue, 17 Nov 2009 03:18:14 +0000 (21:18 -0600)]
Bug 25424 — Update to stable API of udev/gudev/dbus

Remove G_UDEV_API_IS_SUBJECT_TO_CHANGE and
LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE.
Bump the build dependency on libudev to >= 143 and gudev-1.0 to >= 147
when those APIs were declared stable.
We also depend on dbus >= 1.0, so remove DBUS_API_SUBJECT_TO_CHANGE as
well.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoBug 25012 ­Add "usefree" to vfat available options
tuxce [Fri, 12 Mar 2010 12:12:41 +0000 (13:12 +0100)]
Bug 25012 ­Add "usefree" to vfat available options

When mounting a vfat volume, system scan the entire partition to know free
space available, using "usefree" option avoid this scan and use the free
clusters info on file system.

Modern kernels should not really need this any more, even on a 500 GB vfat
external disk it only takes two or three seconds to probe the file system.

However, this regressed in the kernel already twice in the past, so merely
allowing the mount option (without making it the default) provides a workaround
for such cases.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
14 years agotestsuite: Get along with running gvfs/nautilus
Martin Pitt [Fri, 12 Mar 2010 12:10:06 +0000 (13:10 +0100)]
testsuite: Get along with running gvfs/nautilus

Send a SIGSTOP to all gvfs-gdu-volume-monitor processes while the test suite is
running, to avoid nautilus windows popping up by the dozens, and causing "busy"
failures.

14 years agotestsuite: Add TODO item to test new support for loop devices
Martin Pitt [Fri, 12 Mar 2010 12:06:51 +0000 (13:06 +0100)]
testsuite: Add TODO item to test new support for loop devices

14 years agoHandle loopback devices
David Zeuthen [Thu, 11 Mar 2010 21:38:32 +0000 (16:38 -0500)]
Handle loopback devices

 http://people.freedesktop.org/~david/udisks-loop-devices.png

it even works with kpartx partitions

 http://people.freedesktop.org/~david/palimpsest-loop-kpartx-partition.png

In order for this to work well, you will this patch

 http://people.freedesktop.org/~david/0001-Generate-change-uevent-for-loop-device.patch

which is also needed in order to make the /dev/disk hierarchy work
well. In lieu of this patch, you can generate the 'change' uevent
yourself. I've submitted this patch upstream through Kay Sievers.

14 years agoRevert "Bug 26996 — wrongly detects partition on unpartitioned VFAT device"
David Zeuthen [Thu, 11 Mar 2010 19:21:02 +0000 (14:21 -0500)]
Revert "Bug 26996 — wrongly detects partition on unpartitioned VFAT device"

This commit actually broke partition table parsing for the partitions
itself, e.g. this output

UDISKS_PARTITION=1
UDISKS_PARTITION_SCHEME=mbr
UDISKS_PARTITION_NUMBER=1
UDISKS_PARTITION_TYPE=0x83
UDISKS_PARTITION_SIZE=51202335744
UDISKS_PARTITION_LABEL=
UDISKS_PARTITION_UUID=
UDISKS_PARTITION_FLAGS=boot
UDISKS_PARTITION_SLAVE=/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
UDISKS_PARTITION_OFFSET=32256
UDISKS_PARTITION_ALIGNMENT_OFFSET=0

if the partition in question had a recognizable filesystem.

This reverts commit cfc669846a53815517d32d0b7b96cbc4935cea7a.

14 years agoUpdate TODO
David Zeuthen [Thu, 11 Mar 2010 15:55:05 +0000 (10:55 -0500)]
Update TODO

14 years agoBug 26996 — wrongly detects partition on unpartitioned VFAT device
Martin Pitt [Thu, 11 Mar 2010 06:58:34 +0000 (07:58 +0100)]
Bug 26996 — wrongly detects partition on unpartitioned VFAT device

A standard VFAT header matches the signature of an MBR, so we detected
VFAT file systems on raw unpartitioned devices as both VFAT and MBR partition
table. This confuses gnome-disk-utility/gvfs, and causes them to be ignored in
GNOME.

The standard approach in the kernel/blkid is to only detect an MBR if it does
not have a valid VFAT signature. Since blkid already does that for us, just
skip the udisks-part-id invocation completely if we already know that we have a
valid ID_FS_TYPE.

14 years agotestsuite: Ensure that volumes on raw partitions don't have a partition table
Martin Pitt [Wed, 10 Mar 2010 16:45:38 +0000 (17:45 +0100)]
testsuite: Ensure that volumes on raw partitions don't have a partition table

This reproduces bz#26996.

14 years agoDrop obsolete rule for suspended LVM devices
Michael Biebl [Tue, 9 Mar 2010 13:12:20 +0000 (14:12 +0100)]
Drop obsolete rule for suspended LVM devices

udisks-dm-export does not set UDISKS_DM_{STATE,NAME} any more, and recent LVM
versions check and flag private devices themselves, so just drop our own rules
for that.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
14 years agoDrop obsolete rules for private LVM devices
Michael Biebl [Tue, 9 Mar 2010 12:59:40 +0000 (13:59 +0100)]
Drop obsolete rules for private LVM devices

udisks-dm-export does not set UDISKS_DM_{UUID,NAME} any more, and recent LVM
versions check and flag private devices themselves, so just drop our own rules
for that.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
14 years agoRespect DM_UDEV_DISABLE_DISK_RULES_FLAG from current LVM
Michael Biebl [Tue, 9 Mar 2010 12:55:54 +0000 (13:55 +0100)]
Respect DM_UDEV_DISABLE_DISK_RULES_FLAG from current LVM