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.
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
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.
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>
David Zeuthen [Mon, 15 Mar 2010 22:37:21 +0000 (18:37 -0400)]
Add TODO item about UTF-8 and D-Bus properties
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>
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>
David Zeuthen [Mon, 15 Mar 2010 19:38:53 +0000 (15:38 -0400)]
Update TODO
Signed-off-by: David Zeuthen <davidz@redhat.com>
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>
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.
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.
Martin Pitt [Fri, 12 Mar 2010 19:07:24 +0000 (20:07 +0100)]
TODO update for property update 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.
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.
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.
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.
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)
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.
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>
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>
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.
Martin Pitt [Fri, 12 Mar 2010 12:06:51 +0000 (13:06 +0100)]
testsuite: Add TODO item to test new support for loop 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.
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.
David Zeuthen [Thu, 11 Mar 2010 15:55:05 +0000 (10:55 -0500)]
Update TODO
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.
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.
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>
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>
Michael Biebl [Tue, 9 Mar 2010 12:55:54 +0000 (13:55 +0100)]
Respect DM_UDEV_DISABLE_DISK_RULES_FLAG from current LVM
Michael Biebl [Fri, 5 Mar 2010 07:23:30 +0000 (08:23 +0100)]
Include udisks-tcp-bridge.xml in dist tarball
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Michael Biebl [Fri, 5 Mar 2010 07:19:54 +0000 (08:19 +0100)]
Include profile.h in dist tarball
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Martin Pitt [Wed, 3 Mar 2010 21:48:50 +0000 (22:48 +0100)]
Update .gitignore files
Martin Pitt [Wed, 3 Mar 2010 21:23:47 +0000 (22:23 +0100)]
fix compiler warnings
Fix a couple of unchecked function call results, and a strict pointer aliasing
violation, which resulted in compiler warnings.
Martin Pitt [Wed, 3 Mar 2010 21:06:09 +0000 (22:06 +0100)]
in maintainer mode, build with -Werror
With --enable-maintainer-mode, or with --enable-strict, build with -Werror.
David Zeuthen [Wed, 3 Mar 2010 21:12:47 +0000 (16:12 -0500)]
Initialize variable before use
Martin Pitt [Wed, 3 Mar 2010 20:20:00 +0000 (21:20 +0100)]
Bug 26725 — add profiling
Add a PROFILE() macro (src/profile.h) which, when building with
--enable-profiling, adds fake access() calls as trace points for startup speed
profiling.
http://people.gnome.org/~federico/news-2006-03.html#login-time-2 describes how
to use strace and turn its output into a nice graph:
# strace -tttfo /tmp/trace src/udisks-daemon
[...]
$ plot-timeline.py -o /tmp/trace.png /tmp/trace
Instrument the most important/complex methods in daemon.c and device.c, and
main().
Daniele Napolitano [Tue, 2 Mar 2010 07:18:47 +0000 (08:18 +0100)]
Bug 26822 — Fix benchmarking for large files
Use lseek64() instead of lseek() in job-drive-benchmark.c (as in the rest of
the code), to also work with large devices.
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Martin Pitt [Mon, 1 Mar 2010 12:36:49 +0000 (13:36 +0100)]
fix media detection of CD-ROMs
Use ID_CDROM_MEDIA property for media detection in update_info(), not
ID_CDROM_MEDIA_STATE. The latter is not set by udev's cdrom_id for pure CD-ROM
media (since it's sometimes wrong), and we are already using ID_CDROM_MEDIA in
our udev rules, so let's be consistent here.
This was exposed by commit c8d02e0, which previously shadowed this bug.
David Zeuthen [Sat, 27 Feb 2010 16:59:56 +0000 (11:59 -0500)]
Include stdout in mkfs error output
This is to help expose this bug
mke2fs insists on user interaction even if stdin is not a tty and -F is passed
https://bugzilla.redhat.com/show_bug.cgi?id=569021
David Zeuthen [Thu, 25 Feb 2010 22:19:51 +0000 (17:19 -0500)]
Bug 24424 - Move UDISKS_MEDIA_AVAILABLE out of the part table prober
This change (magically) makes floppy disks work in GNOME. Woot.
David Zeuthen [Thu, 25 Feb 2010 17:28:40 +0000 (12:28 -0500)]
We're using the UDISKS_ prefix, not DKD_
Also pointed out in
http://bugs.freedesktop.org/show_bug.cgi?id=26720
David Zeuthen [Wed, 24 Feb 2010 16:36:21 +0000 (11:36 -0500)]
Add a --disable-remote-access option
Certain Enterprise Linux vendors might not want to support the udisks
1.0.x ABI for seven years.
David Zeuthen [Tue, 23 Feb 2010 21:48:33 +0000 (16:48 -0500)]
Update detach helper for current sysfs interface
Writing 'suspend' to power/level doesn't seem to work these days
(worked in F12 but broken in F13). Also use the new remove/ sysfs
attribute.
David Zeuthen [Tue, 23 Feb 2010 20:56:12 +0000 (15:56 -0500)]
Improve debug output and support for the detach helper
This allows easily invoking the tool from a shell, like this
$ sudo /usr/libexec/udisks-helper-drive-detach /dev/sdb
Detaching device: /dev/sdb
SYNCHRONIZE CACHE: FAILED: No such file or directory
(Continuing despite SYNCHRONIZE CACHE failure.)
STOP UNIT: OK
Unbind USB interface driver: OK
Suspend USB Device: OK
$ echo $?
0
David Zeuthen [Tue, 23 Feb 2010 17:31:07 +0000 (12:31 -0500)]
Use DM_NAME instead of DM_UUID when determining partition number
Gah, looks like DM_UUID is not always set for partitions on multipath
devices. Let's hope it's the case for DM_NAME.
Martin Pitt [Wed, 17 Feb 2010 11:29:37 +0000 (12:29 +0100)]
testsuite: Fix LVM tests
Turns out that current LVM versions/rules do create by-id symlinks for RAID
mirror images, on purpose. So do not fail on them, just check that they do not
have a real IdUsage/IdUuid.
David Zeuthen [Tue, 16 Feb 2010 19:24:27 +0000 (14:24 -0500)]
Update for new liblvm2app library
Several things changed in liblvm2app
- sizes are now reported in bytes instead of sectors
- a couple of new functions were added
You will need lvm2 version 2.02.61 or later (on Fedora Rawhide, this
is available as lvm2-2.02.61-1.fc13.x86_64). Unfortunately the liblvm2
pc version number is stuck at 2.1 so we can't require this version in
configure.in. I've asked the LVM team to fix that.
David Zeuthen [Mon, 15 Feb 2010 23:28:42 +0000 (18:28 -0500)]
Add doc/udisks-overrides.txt so 'make dist' works
Hmm, need to investigate later why this is needed.
David Zeuthen [Mon, 15 Feb 2010 22:51:15 +0000 (17:51 -0500)]
Fix compiler warning
David Zeuthen [Mon, 15 Feb 2010 20:15:42 +0000 (15:15 -0500)]
Export alignment offset for a partition
David Zeuthen [Mon, 15 Feb 2010 19:53:54 +0000 (14:53 -0500)]
Rework partition table probing
In particular, always respect UDISKS_PARTITION_* and
UDISKS_PARTITION_TABLE_* udev properties.
Also, temporarily, use g_getenv() to retrieve properties in
udisks-part-id. It seems like libudev doesn't return properties
correctly in some cases involving dm-multipath. Will need to
investigate.
Martin Pitt [Mon, 15 Feb 2010 16:02:30 +0000 (17:02 +0100)]
Add support for "disable polling" udev property
Do not poll a device which has UDISKS_DISABLE_POLLING set. Some known-broken
CD-ROM drives cause a lot of CPU activity when being polled, so allow admins to
suppress polling with a local udev rule like
SUBSYSTEM=="block", ENV{ID_VENDOR}=="Optiarc*", ENV{ID_MODEL}=="*AD-7640S*", \
ENV{UDISKS_DISABLE_POLLING}="1"
https://bugs.freedesktop.org/show_bug.cgi?id=26508
Michael Biebl [Fri, 12 Feb 2010 11:12:27 +0000 (12:12 +0100)]
Make sure udisks-helper-mdadm-expand is included in the dist tarball
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Martin Pitt [Thu, 11 Feb 2010 10:23:12 +0000 (11:23 +0100)]
testsuite: check --localstatedir configuration
If the local build tree is not built with a sensible --localstatedir, i. e.
${localstatedir}/{run,lib}/udisks/ does not exist, the test suite is doomed to
fail and requires lots of manual cleanup.
Detect this situation and fail early with a sensible error message. This will
also cause the test suite to not really run on a mere "distcheck" without
configure arguments.
Martin Pitt [Wed, 10 Feb 2010 20:57:32 +0000 (21:57 +0100)]
Robustify evaluation of DM_SUSPEND
If a DM device does not have DM_SUSPEND at all, do not consider it suspended.
Martin Pitt [Fri, 4 Dec 2009 14:56:47 +0000 (15:56 +0100)]
Bug 24446 — automake integration of test suite
This ensures that the test script is shipped with the distribution tarball, and
the tests are run during "make check" through sudo.
Martin Pitt [Wed, 10 Feb 2010 18:56:40 +0000 (19:56 +0100)]
Bug 24446 — Add a test suite
Add a test suite which checks operations on a fake device (currently a RAID-0
md built from a RAM disk). This is useful for regression and system/distro
integration testing, since it will only succeed if working versions of
cryptsetup, udev rules, etc. are installed.
Current coverage:
- tests local build tree or system binaries, depending from where it is run
- udisks --show-info
- create/relabel/mount/unmount/fsck/open files/take ownership for supported
file systems (ext[234], minix, xfs, ntfs, vfat, swap), with both command line
tools (and udisks detection) as well as udisks D-Bus interface
- LUKS create/teardown/mount/unmount/change password
- Partition create/flags/modify/delete for MBR and GPT (APM tests are present,
but disabled)
- SMART status/real HD/simulate
- LVM single LV/single LV with RAID-1
- Manager functionality: Enumerate*, FindDeviceBy*, Inhibition
Martin Pitt [Wed, 10 Feb 2010 18:39:44 +0000 (19:39 +0100)]
Bug 24446 — Add --helper-dir option
Add daemon option --helper-dir to specify helper directory. This is useful for
running the daemon from the local build tree for testing (--helper-dir
src/helpers).
Remove explicit PACKAGE_LIBEXEC_DIR from job invocations, since job_new()
already searches $PATH and the daemon sets $PATH to a known-good value. So
--helper-dir only prepends the custom directory to $PATH.
Martin Pitt [Wed, 10 Feb 2010 18:21:05 +0000 (19:21 +0100)]
Support building without lvm2app
David Zeuthen [Fri, 5 Feb 2010 21:56:11 +0000 (16:56 -0500)]
Add LinuxMdExpand method and rename LinuxMdAddComponent to LinuxMdAddSpare
David Zeuthen [Thu, 4 Feb 2010 19:18:47 +0000 (14:18 -0500)]
When creating a LV, ensure that it is part of PV metadata until returning
This is important in gnome-disk-utility where we only displays LVs
that are part of PV metadata.
David Zeuthen [Thu, 4 Feb 2010 19:15:53 +0000 (14:15 -0500)]
Make sure all devices are returned, even when handling change events
We actually remove the device from map_native_path_to_device during a
change event. This means that the device being handled in e.g. update_info()
isn't part of what daemon_local_get_all_devices() returns.
David Zeuthen [Tue, 26 Jan 2010 22:50:43 +0000 (17:50 -0500)]
Export multipath parameters as a textual string
The string itself is defined here
http://christophe.varoqui.free.fr/refbook.html
We could play games like decoding the string daemon side and export a
complicated object model but it's much easier to pint that to the
client.
David Zeuthen [Tue, 26 Jan 2010 19:22:34 +0000 (14:22 -0500)]
Copy identifying data from multipath components onto the multipath device
David Zeuthen [Tue, 26 Jan 2010 19:06:29 +0000 (14:06 -0500)]
Don't copy data from each path into the virtual multipath device
We punt this responsibility to the client.
David Zeuthen [Tue, 26 Jan 2010 18:11:14 +0000 (13:11 -0500)]
Require both SERIAL and WWN to be non-empty when matching up similar drives
The previous behavior was to require either-or. Unfortunately this
easily matched N-in-one card readers which wasn't optimal.
David Zeuthen [Tue, 26 Jan 2010 17:55:18 +0000 (12:55 -0500)]
Add udev rules for detecting some common USB card readers
Should probably port everything from
/usr/share/hal/fdi/information/10freedesktop/10-usb-card-readers.fdi
some day.
David Zeuthen [Tue, 26 Jan 2010 13:54:36 +0000 (08:54 -0500)]
Tighten up checks for detecting kpartx partitions for dm-multipath
We inadvertenly tagged any linear mapping - ensure the source that we
map for is really a dm-multipath device.
David Zeuthen [Tue, 26 Jan 2010 13:47:50 +0000 (08:47 -0500)]
Make sure to fsync(2) the main block device when scrubbing signatures
David Zeuthen [Fri, 22 Jan 2010 22:50:32 +0000 (17:50 -0500)]
Add a DriveSimilarDevices property
This property can help clients figure out if multipath isn't set up.
David Zeuthen [Fri, 22 Jan 2010 18:29:09 +0000 (13:29 -0500)]
First cut at device-mapper multipath support
Linus Torvalds [Tue, 19 Jan 2010 19:41:45 +0000 (11:41 -0800)]
Speed up DeviceKit device probing on really slow devices
My wife has a embroidery machine that acts as a USB memory stick when
plugged into a computer through its USB port. It has a truly stunning read
speed of 15kB/s (yes, really), and it turns out that both udev and
DeviceKit react very badly to devices that are slow, because they read too
much data off it.
udev - through blkid - ended up reading closer to two hundred kB off the
device in order to check all possible filesystems. DeviceKit is much
better, and only does a single 512-byte read to figure out the DOS
partitioning sceme.
However, unluckily, both udev and DeviceKit end up triggering read-ahead
on the device. The kernel decides that if you start reading from the
beginning (and the partition info is at the start), you're likely going to
continue reading. Which is a reasonable assumption in general, but isn't
true for odd things like "read just the partition table".
So even though DeviceKit only does a 512-byte read, read-ahead will turn
it into a 16kB device access, and you get timing behavior like this:
time /lib/udev/devkit-disks-part-id /dev/sdc
real 0m1.043s
user 0m0.004s
sys 0m0.008s
which basically delays figuring out what to do with the newly plugged in
hardware by a second (blkid took 13+ seconds for both the full device and
the partition it contained, so DeviceKit is positively wonderful in
comparison ;).
Making part-id just ask for no read-ahead (by saying that the access
patterns are random) ends up helping performance noticeably. Recompiling
part-id with this patch results in:
time ./src/probers/udisks-part-id /dev/sdc
real 0m0.276s
user 0m0.005s
sys 0m0.007s
because the kernel will now only read 4kB off the disk (4kB is the caching
granularity, so you'll never see an actual 512-byte read without doing
special odd things).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Tue, 19 Jan 2010 18:35:57 +0000 (13:35 -0500)]
Use the PV UUID in LinuxLvm2VGRemovePV() to identify the PV
... instead of the object path. This is to make it possible (albeit
not yet supported in vgreduce(8)) to remove a non-existant PV - say,
the disk with the PV was destroyed.
David Zeuthen [Wed, 13 Jan 2010 22:48:17 +0000 (17:48 -0500)]
Add methods for adding/removing PVs to a VG
David Zeuthen [Wed, 13 Jan 2010 20:46:27 +0000 (15:46 -0500)]
Minor update to LVM2 PV export routines
David Zeuthen [Tue, 12 Jan 2010 21:03:13 +0000 (16:03 -0500)]
Add a method to create LVM2 Logical Volumes
David Zeuthen [Tue, 12 Jan 2010 15:13:52 +0000 (10:13 -0500)]
Add method to remove/delete a LVM LV
David Zeuthen [Tue, 12 Jan 2010 12:43:36 +0000 (07:43 -0500)]
Add methods for setting LVM2 VG and LV names
David Zeuthen [Tue, 12 Jan 2010 10:56:33 +0000 (05:56 -0500)]
Get the LVM LV UUIDs from sysfs to avoid using liblvm2 in the dm prober
David Zeuthen [Tue, 12 Jan 2010 10:55:29 +0000 (05:55 -0500)]
Fix typo in udev rule for udisks-lvm-pv-export
This typo made the export program run for each and every block device
- only run it for LVM2 PVs.
David Zeuthen [Mon, 11 Jan 2010 22:57:35 +0000 (17:57 -0500)]
First cut at LVM2 support
David Zeuthen [Thu, 10 Dec 2009 22:07:07 +0000 (17:07 -0500)]
Use SUBSYSTEMS whenever using ATTRS
This speeds up udev rules processing considerably.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 10 Dec 2009 14:25:00 +0000 (09:25 -0500)]
Add media type udev rule for SD card reader in MacbookPro5,4
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Tue, 8 Dec 2009 16:56:08 +0000 (11:56 -0500)]
Update NEWS
We're not doing a release just yet (more ABI changes are planned - and
we need to do them before committing to ABI stability for the 1.0.x
series to avoid opening 1.1.x too early) but it might be nice to
incrementally add items to this file as we are reworking the ABI and
API.
David Zeuthen [Mon, 7 Dec 2009 18:50:41 +0000 (13:50 -0500)]
Add a man page for udisks-tcp-bridge(1)
It's nice for sysadmins to have this when they see processes like this
running.
David Zeuthen [Mon, 7 Dec 2009 18:49:54 +0000 (13:49 -0500)]
Install udisks-tcp-bridge in /usr/bin
This way it will be in $PATH and clients such as gnome-disk-utility
won't have to hardcode /usr/lib/udisks/udisks-tcp-bridge.
David Zeuthen [Sun, 6 Dec 2009 20:14:52 +0000 (15:14 -0500)]
Make Avahi announce a service of type _udisks-ssh._tcp for us
David Zeuthen [Sat, 5 Dec 2009 20:11:16 +0000 (15:11 -0500)]
Take a secret from the client via stdin and use this to authorize ourselves
David Zeuthen [Sat, 5 Dec 2009 19:03:39 +0000 (14:03 -0500)]
Install udisks-tcp-bridge in $prefix/lib/udisks
It's important that vendors install this in the same location -
clients will need this location for ssh connections.
David Zeuthen [Sat, 5 Dec 2009 18:56:38 +0000 (13:56 -0500)]
Make udisks-tcp-bridge connect to a DBusServer, not be a DBusServer
David Zeuthen [Fri, 4 Dec 2009 21:03:56 +0000 (16:03 -0500)]
Export connector type on Port objects
Also add a quirk for my CardBus based eSATA controller.
David Zeuthen [Fri, 4 Dec 2009 21:03:27 +0000 (16:03 -0500)]
Fix up SATA/PATA detection slightly
Michael Biebl [Fri, 6 Nov 2009 01:23:20 +0000 (02:23 +0100)]
Bug 24606 — Add support for ReiserFS
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 4 Dec 2009 12:18:35 +0000 (07:18 -0500)]
Avoid multiple inconsistent checks for adapter fabric type
Instead, just make port.c rely on the fabric type detected in
adapter.c. This fixes a bug on VirtualBox when the SATA adapter only
has one port.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 4 Dec 2009 12:09:43 +0000 (07:09 -0500)]
Remove debugging spew
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 4 Dec 2009 12:07:08 +0000 (07:07 -0500)]
Handle ATA controllers with only one port
This happens on e.g. VirtualBox SATA controllers - just check the
driver name before anything else.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Martin Pitt [Mon, 9 Nov 2009 14:00:50 +0000 (15:00 +0100)]
Bug 24999 — Hide Compaq recovery partition type 0x12
http://www.win.tue.nl/~aeb/partitions/partition_types-1.html lists MBR type
0x12 as "configuration/rescue", used by Compaq, IBM, Intel, and NCR.
https://bugs.launchpad.net/bugs/451304
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 3 Dec 2009 00:07:09 +0000 (19:07 -0500)]
Add experimental bridging program for providing D-Bus access over TCP/IP
The idea is that this
# ./udisks-tcp-bridge -p 1000
will listen on port 1000 of all network interfaces. Another host can
then access the udisks daemon via D-Bus' TCP/IP transport. See
gnome-disk-utility master for a an experimental --address option that
uses this.
Since Palimpsest use D-Bus 100% to obtain information and export
operations, everything just works. See
http://people.freedesktop.org/~david/gdu-palimpsest-remote-connection.png
for an example.
This feature needs a lot of thought and some work - for example,
authentication and encryption is needed. And we need to figure out how
this should work with polkit as well - the only reason it works now is
that the bridging process runs as uid 0. And then there's firewalls to
consider and pierce through. All this is not insurmountable, it's just
work.
For now udisks-tcp-bridge is not installed via 'make install' - it is
considered an experimental feature for now - and will probably remain
so for some time.
Martin Pitt [Wed, 28 Oct 2009 10:57:46 +0000 (11:57 +0100)]
Bug 24772 — Allow simulated SMART data on non-SMART devices
DriveAtaSmartRefreshData(): Defer the "device supports SMART" test until after
evaluating the "simulate" option, and set DriveAtaSmartIsAvailable property
when simulate is given. With this, SMART data blobs can be used with non-SMART
or virtual devices, too.
Signed-off-by: David Zeuthen <davidz@redhat.com>