Storage management
udisks provides an interface to enumerate storage devices and perform operations on them. Any application can access the org.freedesktop.UDisks service on the system message bus. Some operations (such as formatting disks etc.) is restricted using polkit.
On Linux, udisks relies on recent versions of udev(7) and the kernel. Influential device properties in the udev database include:
UDISKS_PRESENTATION_HIDE
If set to 1 this is a hint to presentation level software that the device should not be shown to the user.
UDISKS_PRESENTATION_NOPOLICY
If set to 1 this is a hint to presentation level software that the device should not be automounted or autoassembled (for e.g. components of a multi-disk device).
UDISKS_DISABLE_POLLING
If set to 1 this will disable the polling of drives for media changes, for devices which do not send out media notifications by themselves (this mostly affects CD drives). Some CD drives cause bad effects such as very high CPU usage when being polled.
UDISKS_PRESENTATION_NAME
The name to user for the device when presenting it to the user.
UDISKS_PRESENTATION_ICON_NAME
The icon to use when presenting the device to the user. If set, the name must follow the freedesktop.org icon theme specification.
UDISKS_AUTOMOUNT_HINT
A variable to influence whether a device should be automounted. Possible values include "always" (to hint that a device should always be automounted) and "never" (to hint that a device should never be automounted). Note that this is only a hint - the auto-mounter might not honor it.
UDISKS_SYSTEM_INTERNAL
If set, this will override the usual bus type based detection of whether a device is considered "system internal". "0" means "removable" (i. e. eligible for automounting, and normal users can mount), any other value means "system internal" (i. e. no automounting, and only administrators can mount).
The ID_DRIVE_* properties are used to describe what kind of physical media can be used in a device. These are typically set on the main block device (e.g. /dev/sdb) and more than one these properties can be set if the device supports multiple kinds of media.
ID_DRIVE_EJECTABLE
Whether the media in the drive is physically ejectable. Only set this to 1 (or 0) if the drive truly uses (or doesn't) ejectable media. In particular, it is not necessary to set this for e.g. iPod or Kindle devices where it is necessary to send a command via eject(1) since the desktop user session will offer this option for removable devices regardless of whether they are ejectable. If this property is not set, a heuristic will be used to determine if the media is ejectable (drives using optical, Zip or Jaz media are considered ejectable).
ID_DRIVE_DETACHABLE
Whether the device is detachable. It is only meaningful to set this to 0 (to avoid marking a device as detachable) since the code for detaching the device is part of udisks itself. If this property is not set, a heuristic will be used to determine if the drive is detachable (currently only devices connected through USB are detachable).
ID_DRIVE_CAN_SPINDOWN
Whether the device can spin down. It is only meaningful to set this to 0 (to avoid marking a device as being capable of spinning down) since the code for spinning down the device is part of udisks itself. If this property is not set, a heuristic will be used to determine if the drive can spin down (currently only ATA devices, including those USB devices with a SAT layer) can be spun down).
ID_DRIVE_FLASH
The device is compatible with flash.
ID_DRIVE_FLASH_CF
The device is compatible with Compact Flash.
ID_DRIVE_FLASH_MS
The device is compatible with Memory Stick.
ID_DRIVE_FLASH_SM
The device is compatible with SmartMedia.
ID_DRIVE_FLASH_SD
The device is compatible with SecureDigital.
ID_DRIVE_FLASH_SDHC
The device is compatible with High-Capacity SecureDigital.
ID_DRIVE_FLASH_MMC
The device is compatible with MultiMediaCard.
ID_DRIVE_FLOPPY
The device is compatible with floppy disk.
ID_DRIVE_FLOPPY_ZIP
The device is compatible with Zip.
ID_DRIVE_FLOPPY_JAZ
The device is compatible with Jaz.
The ID_DRIVE_MEDIA_* properties describe the current media in a device. As with the ID_DRIVE_* properties, these properties are typically set on the main block device (e.g. /dev/sdb). Typically only one of these properties are set.
ID_DRIVE_MEDIA_FLASH
The physical media currently inserted into the device is flash.
ID_DRIVE_MEDIA_FLASH_CF
The physical media currently inserted into the device is Compact Flash.
ID_DRIVE_MEDIA_FLASH_MS
The physical media currently inserted into the device is Memory Stick.
ID_DRIVE_MEDIA_FLASH_SM
The physical media currently inserted into the device is SmartMedia.
ID_DRIVE_MEDIA_FLASH_SD
The physical media currently inserted into the device is SecureDigital.
ID_DRIVE_MEDIA_FLASH_SDHC
The physical media currently inserted into the device is High-Capacity SecureDigital.
ID_DRIVE_MEDIA_FLASH_MMC
The physical media currently inserted into the device is MultiMediaCard.
ID_DRIVE_MEDIA_FLOPPY
The physical media currently inserted into the device is floppy disk.
ID_DRIVE_MEDIA_FLOPPY_ZIP
The physical media currently inserted into the device is Zip.
ID_DRIVE_MEDIA_FLOPPY_JAZ
The physical media currently inserted into the device is Jaz.
TODO: write me.
Written by David Zeuthen <[email protected]> with a lot of help from many others.
Please send bug reports to either the distribution bug tracker or the upstream bug tracker at \m[blue]http://bugs.freedesktop.org/enter_bug.cgi?product=udisks\m[].