This interface provides information about a block device on a UNIX-like system. In addition to just providing information, methods can be invoked to perform operations on the block device. Objects implementing this interface have object paths prefixed with /devices/ followed by a sanitized representation of the base name of their native path. As the D-Bus specification greatly limits what characters can be used in object paths, this doesn't necessarily map one to one with the native basename; for example the native path /sys/devices/virtual/block/dm-0 will be represented as /devices/dm_0. Most methods on this interface take an array of strings for options that can affect what the method does. Some of these options are literal strings (such as noatime) while some are encoded in the form of a key/value pair (such as label=). A general note about properties: the set of values returned can be expected to grow in the future as both hardware and operating system capabilities evolve. Care has been taken to namespace values so applications can properly fall back (see e.g. DriveMediaCompatibility) and export both general and specific properties (such as IdUsage vs. IdType). In general an empty string in a property means not set. Since the empty string is not a valid object path we use the "/" to mean "not set" for object paths. Cancels a job in progress. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.cancel-job-others To cancel a job initiated by another user if the caller lacks the appropriate PolicyKit authorization if the operation failed The scheme of the partition table to create. No options are currently supported. Creates a new partition table. The following partition table schemes are supported: none To zero out existing partition tables signatures. mbr Use the Master Boot Record partitioning scheme. gpt Use the GUID Partition Table scheme. apm Use the Apple Partition Map partitioning scheme. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device or a partition on it are busy if the operation failed if the job was cancelled No options are currently supported. Deletes a partition, removing it from the enclosing partition table. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled Where on the device to create the partition. Size of the partitition to create. The type of the partition to create. Valid types depends on the partitioning scheme used: mbr For the Master Boot Record partitioning scheme, the given type must be a string representation of an integer (both decimal and hexadecimal encodings are accepted) between 0 and 255 both inclusive. gpt Any valid GUID string. apm Any valid type for Apple Partition Map for example Apple_Unix_SVR2. The label to use for the partition. Leave blank if the partition table scheme is mbr. Flags to use for the partition. Valid flags depends on the partitioning scheme used: mbr Only the flag boot is valid. gpt Only the flag required is valid. apm The flags allocated, in_use, boot, allow_read, allow_write, boot_code_is_pic are valid. Currently unused. The file system to create in new partition. Leave blank to skip creating a file system. See the FilesystemCreate() method for details. Options to use for file system creation. See the FilesystemCreate() method for details. The object path of the newly added partition. Create a new partition and, optionally, create a file system on it. The partition won't necessarily be created at the exact location requested due to disk geometry constraints. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled The type of the partition to create. See the type parameter of the PartitionCreate() method for details on valid types. The label to use for the partition. See the label parameter of the PartitionCreate() method for details on valid labels. Flags to use for the partition. See the flags parameter of the PartitionCreate() method for details on valid flags Modifies meta data for a partition, such as type, label and flags. TODO: Consider allowing changing offset and size. Or maybe that should be a separate method. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the enclosing partition table device is busy if the operation failed if the job was cancelled The type of file system to create. Pass empty to not create a file system and just clear the areas of the device known to host file system signatures. Use @TODO@ to get a list of file systems that can be created. To set the label on the file system use the label=NAME option. Labels may not be supported for all file systems and the allowed length of a label may vary (see @TODO@). To create the file system on an LUKS encrypted block device, pass the luks_encrypt= option with the value set to the passphrase to use. For file systems with the concept of owners (e.g. ext3), the options take_ownership_uid= and take_ownership_gid= are supported and can be used to set the initial owner of the created file system. Create a file system on a device. If the luks_encrypt= option is passed then an LUKS encrypted block device will be created, then unlocked and the file system will be created on the corresponding cleartext device. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled if mkfs for this type is not available New label for file system. Changes the file system label. See the options parameter of FilesystemCreate() method for details of what valid labels are valid. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy and changing the label requires an unmounted file system if the operation failed if the job was cancelled if the label changing tool for this file system type is not available File system type to use. Mount Options. Valid mount options include mount options accepted by the native mount program. The option auth_no_user_interaction can be used to avoid user interaction (e.g. authentication dialogs) when checking whether the caller is authorized. Where the device was mounted. Mount the device. If the device is referenced in the system-wide /etc/fstab file, the given parameters are all ignored and the device will be attempted to be mounted as the calling user. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.filesystem-mount If the operation is on a non-system-internal device org.freedesktop.udisks.filesystem-mount-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled if an invalid or malformed mount option was given if the kernel driver for this file system type is not available Unmount options. Valid options currently include only 'force'. Unmount the device. If the device is referenced in the system-wide /etc/fstab file (both at mount time and when this method is invoked), the device will be attempted to be unmounted as the calling user. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.filesystem-unmount-others To unmount a device mounted by another user if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled if an invalid or malformed unmount option was given Currently unused. Returns TRUE if the file system is clean, FALSE if there are errors on the file system. Perform a non-interactive file system check. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.filesystem-check To check a file system on a non-system-internal device. org.freedesktop.udisks.filesystem-check-system-internal To check a file system on a system-internal device. if the caller lacks the appropriate PolicyKit authorization if the device is mounted and the file system doesn't support online file system checking. See TODO for how to determine if a file system supports online fsck if the operation failed if the job was cancelled An array of triples (pid, uid, command line for the process image) for processes currently having open files on the given mounted file system. Note that this operation is not run as a job. List open files on a mounted file system. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.filesystem-lsof To check a file system on a non-system-internal device. org.freedesktop.udisks.filesystem-lsof-system-internal To check a file system on a system-internal device. if the caller lacks the appropriate PolicyKit authorization if the device is mounted and the file system doesn't support online file system checking. See TODO for how to determine if a file system supports online fsck if the operation failed Passphrase for unlocking the cleartext data. Currently unused. The cleartext device created. Sets up a cleartext device using the given device as backing store. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.luks-unlock To unlock LUKS encrypted devices if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled Currently unused. Tears down the cleartext device set up using e.g. the LuksUnlock() method. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.luks-lock-others To lock an encrypted LUKS device unlocked by another user if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled The current passphrase. The new passphrase. Change the passphrase used to unlock a LUKS encrypted device. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change If the operation is on a non-system-internal device org.freedesktop.udisks.change-system-internal If the operation is on a system-internal device if the caller lacks the appropriate PolicyKit authorization if the device is busy if the operation failed if the job was cancelled Object path of the component to add Currently unused. Adds a component to a Linux md RAID array. Existing data on the given component will be erased. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-md Needed to configured Linux md Software RAID devices. if the caller lacks the appropriate PolicyKit authorization component to add is busy if the operation failed if the job was cancelled Object paths of the components to use for growing the array Currently unused. Grows the Linux md RAID array with the given components. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-md Needed to configured Linux md Software RAID devices. if the caller lacks the appropriate PolicyKit authorization component to add is busy if the operation failed if the job was cancelled The component to remove from the array. No options are currently supported. Removes a component from a Linux md RAID array. The component will be removed and then the signatures on the component will be scrubbed. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-md Needed to configured Linux md Software RAID devices. if the caller lacks the appropriate PolicyKit authorization component to add is busy if the operation failed if the job was cancelled Currently unused. Stops a Linux md RAID array. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-md Needed to configured Linux md Software RAID devices. if the caller lacks the appropriate PolicyKit authorization if the operation failed if the job was cancelled Currently unused. Stops a Linux LVM2 Logical Volume. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-lvm2 Needed to configured Linux LVM2. if the caller lacks the appropriate PolicyKit authorization if the operation failed if the job was cancelled Use the repair option to fix any problems encountered. Number of mismatched sectors/pages found (or fixed if the repair option is used). Checks a Linux md RAID array and returns the number of sectors/page with errors found/fixed. This can only be done if the property LinuxMdSyncAction is idle. The caller will need the following PolicyKit authorization: org.freedesktop.udisks.linux-md Needed to configured Linux md Software RAID devices. if the caller lacks the appropriate PolicyKit authorization if the operation failed if the job was cancelled Inhibit options. Currently no options are recognized. A cookie that can be used in the DriveUninhibitPolling() method to stop inhibiting polling of the device. Inhibits the daemon from polling the device for media changes. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.inhibit-polling To inhibit polling if the caller lacks the appropriate PolicyKit authorization if the operation failed A cookie obtained from the DriveInhibitPolling() method. Uninhibits daemon from polling the device for media changes. if the given cookie is malformed Polls the drive for media. This is typically only useful when the DeviceIsMediaChangeDetected property is FALSE. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.inhibit-polling To inhibit polling if the operation failed Eject options. Currently no options are recognized. Ejects media from the device. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-eject To eject media from a device if the caller lacks the appropriate PolicyKit authorization if the device or a dependent device (e.g. partition or cleartext luks device) is busy (e.g. mounted) if the operation failed if the job was cancelled if an invalid or malformed option was given Detach options. Currently no options are recognized. Detaches the device by e.g. powering down the physical port it is connected to. Note that not all devices or ports are capable of this. Check the DriveCanDetach property before attempting to invoke this method. Note that the physical port a drive belongs to may be located inside the physical casing - for example, some netbooks provide a SD card drive connect through USB. As such, users of this method should be careful – don't automatically invoke this method if the user presses e.g. an Eject button in the UI. Instead, provide e.g. a "Safely Remove Drive" option. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-detach To detach a device if the caller lacks the appropriate PolicyKit authorization if the device or a dependent device (e.g. partition or cleartext luks device) is busy (e.g. mounted) if the operation failed if the job was cancelled if an invalid or malformed option was given Number of seconds before the drive should be spun down. Options related to setting spindown timeout. Currently no options are recognized. A cookie that can be used in the DriveUnsetSpindownTimeout() method to unset the spindown timeout of the device. Configures spindown timeout for the drive. Check the DriveCanSpindown property before attempting to invoke this method. Caution should be exercised when using this method, see the SPINNING DOWN DISKS section in the udisks(1) man page before using it. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-set-spindown To set spindown timeouts if the caller lacks the appropriate PolicyKit authorization if the operation failed if an invalid or malformed option was given A cookie obtained from the DriveSetSpindownTimeout() method. Unsets spindown timeout for the drive. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-set-spindown To set spindown timeouts if the caller lacks the appropriate PolicyKit authorization if the operation failed The option nowakeup can be passed to avoid spinning up the disk if it's in a low-power mode. The option simulate= can be used to pass a path to a blob with libatasmart data to use instead of reading it from the disk. The simulate= option can only be used by the super user. Refreshes the ATA SMART data for the given drive. Note that this operation is not run as a job. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-ata-smart-refresh Needed to refresh ATA SMART data if the caller lacks the appropriate PolicyKit authorization If the disk is sleeping and the nowakeup option was passed if the operation failed The name of the test to run; supported values are 'short' (usually less than ten minutes), 'extended' (usually tens of minutes) and 'conveyance' (usually a few minutes). Currently unused. Runs a ATA SMART self test on the drive. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.drive-ata-smart-selftest Needed to run ATA SMART self tests if the caller lacks the appropriate PolicyKit authorization if the operation failed if the job was cancelled If TRUE, write performance will be benchmarked in addition to read performance. Note that benchmarking write performance will scribble zeros in various parts of the drive and can only be used on a drive where the contents are completely unrecognized (e.g. no partition table and device). Use this option with caution. Currently unused. An array of pairs where the first element is the offset and the second element is the measured read transfer rate (in bytes/sec) at the given offset. An array of pairs where the first element is the offset and the second element is the measured read transfer rate (in bytes/sec) at the given offset. This is an empty array unless write benchmarking has been requested. An array of pairs where the first element is the offset and the second element the amount of time (in seconds) it took to seek to the position. Benchmarks the drive. The caller will need one of the following PolicyKit authorizations: org.freedesktop.udisks.change Needed to run benchmarks if the caller lacks the appropriate PolicyKit authorization if the operation failed if the job was cancelled Something on the device changed. Changes in job state wont trigger this signal; see the JobChanged() signal. Whether a job is currently in progress. Whether the job is cancellable. The identifier of the job. The UNIX user id of the user who initiated the job. Percentage completed of the job (between 0 and 100, negative if unknown). Emitted when a job on a device changes. Clients should listen to this signal to avoid polling the daemon for job state. OS specific native path of the device. On Linux this is the sysfs path, for example /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:1/2:0:1:0/block/sda. The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) when the device was detected by the daemon. The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) when the media currently in the device was detected by the daemon or 0 if the device has no media. Major for the device or -1 if not set. Major for the device or -1 if not set. UNIX special device file for device. Example: /dev/sda. Either the value of the DeviceFile property, otherwise the preferred device file (typically a symlink to the value of the DeviceFile property) to present in user interface. Example: /dev/mapper/mpathb or /dev/vg_phobos/lv_root. Symlinks to UNIX special device file that are stable and uniquely identifies the device. Example: /dev/disk/by-id/scsi-SATA_ST910021AS_3MH05AVA, /dev/disk/by-id/ata-ST910021AS_3MH05AVA. Symlinks to UNIX special device file that uniquely identifies the port/partition the device is plugged into. Example: /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:1:0 TRUE if the device is considered system internal. Typically, system internal devices include non-removable internal hard disks and other drives that are not easily added/removed by a local console user. The heuristic typically used is that only devices on removable media and devices connected via Firewire, USB, eSATA and SDIO are considered external. TRUE if the device is a partition. See the properties starting with partition- for details. TRUE if the device contains a partition table. See partition- properties for details. TRUE if the device contains removable media. TRUE if media is available in the device. TRUE if media changes are detected. TRUE if media changes are detected through the host polling the device, e.g. waking up every two seconds to revalidate the media. This typically keeps the device in a high power state and uses cycles on the CPU. As an example, SATA AN capable optical drives does not need polling. TRUE if it is possible to inhibit media detection on the device (to avoid keeping the device in a high power state and waking up the host). TRUE if media detection is inhibited (to avoid keeping the device in a high power state and waking up the host). TRUE if the device read-only. TRUE if the device is a drive. See the drive- properties for details. TRUE if the device is an optical drive and an optical disc is inserted. See the optical-disc- properties for details. TRUE if the device is mounted. A list of paths in the root namespace where the root of the device is mounted. This property is only valid if DeviceIsMounted is TRUE. The UNIX user id of the user who mounted the device. Set to 0 if not mounted by udisks. This property is only valid if DeviceIsMounted is TRUE. TRUE if device is an LUKS encrypted device. See Lucks properties for details. TRUE if device is a cleartext device backed by a LUKS encrypted device. See LucksCleartext properties for details. TRUE if the device is a Linux md RAID component. See LinuxMdComponent properties for details. TRUE if the device is a Linux md RAID array. See LinuxMd properties for details. TRUE if the device is a Linux LVM2 logical volume. See LinuxLvm2LV properties for details. TRUE if the device is a Linux LVM2 physical. See LinuxLvm2PV properties for details. TRUE if the device is a component (e.g. active path) of a Linux dm-multipath device. TRUE if the device is a Linux dm-multipath device. TRUE if the device is a Linux loop device. The size of the device in bytes. The block size of the device in bytes. A hint if the device should be hidden from the user interface. A hint if the device (or e.g. the multi-disk device that the device is part of) shouldn't be automatically mounted / assembled. The name to use when presenting the device to an end user. The icon to use when presenting the device to an end user. If set, must be a name following the freedesktop.org icon theme specification. The job properties specify if a job initiated via the udisks daemon is currently in progress. This property is used to identify the job and maps 1-1 with the names of the method calls on this interface, e.g. 'FilesystemCreate' and so on. The UNIX user id of the user who initiated the job. Whether the job can be cancelled using JobCancel() method. Percentage completed of the job (between 0 and 100, negative if unknown). A result of probing for signatures on the block device; known values are: filesystem A mountable file system was detected crypto Encrypted data (e.g. LUKS) was detected partitiontable A partition table was detected raid Used for RAID and LVM components other A non-standard signature was detected If blank, no known signature was detected. This doesn't necessarily mean the device contains no structured data; it only means that no signature known to the probing code was detected. This property contains more information about the result of probing the block device. It's value depends of the value the IdUsage property: filesystem The mountable file system that was detected (e.g. ext3, vfat) crypto Known values include crypto_LUKS partitiontable Known values include mbr (for the Master Boot Record scheme), gpt (for the GUID Partition Table scheme), apm (for the Apple Partition Map scheme). raid Known values include LVM1_member (for Linux LVM1 components), LVM2_member (for Linux LVM2 components), linux_raid_member (for Linux md (Software RAID) components) other Known values include swap (for swap space), suspend (data used when resuming from STD) The version of the detected file system (or other identified data structure) identified by the IdUsage and IdType properties. The UUID (universally unique identifier) of the detected file system (or other identified data structure) identified by the IdUsage and IdType properties. The user-visible label of the detected file system (or other identified data structure) identified by the IdUsage and IdType properties. The cleartext device that is using the LUKS device. This property is only valid if DeviceIsLuks is TRUE. The encrypted LUKS device backing a crypto cleartext device. This property is only valid if DeviceIsLuksCleartext is TRUE. The UNIX user id of the user who unlocked the LUKS device. Set to 0 if not unlocked by udisks. This property is only valid if DeviceIsLuksCleartext is TRUE. The object path of the partition table the partition is part of. This property is only valid if DeviceIsPartition is TRUE. The scheme of the partition table this partition is part of. See the scheme parameter of the PartitionTableCreate() method for details on known partitioning schemes. This property is only valid if DeviceIsPartition is TRUE. The type of the partition. See the type parameter of the PartitionCreate() method for details on known partitioning types. This property is only valid if DeviceIsPartition is TRUE. The label of the partition. See the label parameter of the PartitionCreate() method for details on partition labels. This property is only valid if DeviceIsPartition is TRUE. The UUID of the partition. See the uuid parameter of the PartitionCreate() method for details on partition UUID's. This property is only valid if DeviceIsPartition is TRUE. Partition flags. See the flags parameter of the PartitionCreate() method for details on partition flags. This property is only valid if DeviceIsPartition is TRUE. Number of the partition. Typically partition numbers start at 1 and are identical to the numbers used by the kernel. Note that partitions may not be sequentially numbered. This property is only valid if DeviceIsPartition is TRUE. Offset in bytes where the partition is located on the enclosing partition table device (see PartitionSlave). This property is only valid if DeviceIsPartition is TRUE. Size of the partition in bytes. This property is only valid if DeviceIsPartition is TRUE. The amount of bytes the beginning of the partition is offset from the disk's natural alignment. This property is only valid if DeviceIsPartition is TRUE. The scheme of the partition table. See the scheme parameter of the PartitionTableCreate() method for details on known partitioning schemes. This property is only valid if DeviceIsPartitionTable is TRUE. Number of partitions in the partition table. This property is only valid if DeviceIsPartitionTable is TRUE. Name of the vendor of the drive, for example MATSHITA or BELKIN. This property is only valid if DeviceIsDrive is TRUE. Name of the model of the drive, for example ST910021AS or USB 2 HS-CF. This property is only valid if DeviceIsDrive is TRUE. Revision of the drive, for example 3.07 or 1.95. This property is only valid if DeviceIsDrive is TRUE. The serial number of the drive or blank if unknown. Examples: 3MH05AVA, A0000001B900. This property is only valid if DeviceIsDrive is TRUE. The World Wide Name in hex (without a leading "0x") or blank if the drive has no WWN. Example: 50014ee0016eb572. This property is only valid if DeviceIsDrive is TRUE. The rotational rate of the disk (e.g. 4200, 5400, 5900, 7200, 10000, 15000) in rounds per minute or 0 if unknown. This property is only valid if DeviceIsDrive is TRUE and DriveIsRotational is TRUE. Whether the write cache is enabled, known values include "enabled" and "disabled" and the blank string if unknown. This property is only valid if DeviceIsDrive is TRUE. The interface through which the drive is connected. Known values include: virtual Device is a composite device e.g. Software RAID or similar ata Connected via ATA ata_serial Connected via Serial ATA ata_serial_esata Connected via eSATA ata_parallel Connected via Parallel ATA scsi Connected via SCSI usb Connected via the Universal Serial Bus firewire Connected via Firewire sdio Connected via SDIO platform Part of the platform, e.g. PC floppy drive This property is only valid if DeviceIsDrive is TRUE. The nominal speed of the connection interface in bits per second. If unknown this property is set to 0. This property is only valid if DeviceIsDrive is TRUE. An array of media types that can be used in the drive. This property is sometimes set using quirk files if the hardware isn't capable of precisely reporting it. Known values include: flash Flash Card flash_cf CompactFlash flash_ms MemoryStick flash_sm SmartMedia flash_sd Secure Digital flash_sdhc Secure Digital High-Capacity flash_mmc MultiMediaCard floppy Floppy Disk floppy_zip Zip Disk floppy_jaz Jaz Disk optical Optical Disc optical_cd Compact Disc optical_cd_r Compact Disc Recordable optical_cd_rw Compact Disc Rewritable optical_dvd Digital Versatile Disc optical_dvd_r DVD-R optical_dvd_rw DVD-RW optical_dvd_ram DVD-RAM optical_dvd_plus_r DVD+R optical_dvd_plus_rw DVD+RW optical_dvd_plus_r_dl DVD+R Dual Layer optical_dvd_plus_rw_dl DVD+RW Dual Layer optical_bd Bluray Disc optical_bd_r BluRay Recordable optical_bd_re BluRay Rewritable optical_hddvd HD DVD optical_hddvd_r HD DVD Recordable optical_hddvd_rw HD DVD Rewritable optical_mo Magneto Optical optical_mrw Can read Mount Rainer media optical_mrw_w Can write Mount Rainer media This property is only valid if DeviceIsDrive is TRUE. The type of media currently in the drive (blank if no media is available). Known values include the ones listed for the DriveMediaCompatibility property. This property is only valid if DeviceIsDrive is TRUE. TRUE only if the media can be physically ejected by issuing a command from the host to the drive (e.g. optical and Zip drives). This property is only valid if DeviceIsDrive is TRUE. TRUE only if the drive is capable of being detached by e.g. powering down the port it is connected to. This property is only valid if DeviceIsDrive is TRUE. TRUE only if the drive is capable of being put into a standby mode (typically powering down the spindle motor). This property is only valid if DeviceIsDrive is TRUE. TRUE if the disk uses rotational media, such as a hard disk. This property is only valid if DeviceIsDrive is TRUE. The object of the storage adapter for the drive or "/" if no adapter exists. This property is only valid if DeviceIsDrive is TRUE. The object paths of the ports for the drive or empty if no ports exist. This property is only valid if DeviceIsDrive is TRUE. An array of object paths for devices with similar serial number and/or WWN. Typically all drives with similar serial number and/or WWN are configured as a multipath device (for example via the Linux device-mapper target cf. DeviceIsLinuxDmmp and DeviceIsLinuxDmmpComponent) but in some cases the OS needs manual configuration. Presentation-level software can (and should) display a warning when this property is non-empty and the device isn't a multipath component or multipath device e.g. when both DeviceIsLinuxDmmpComponent) and DeviceIsLinuxDmmp) is FALSE. This property is only valid if DeviceIsDrive is TRUE. TRUE only if the disc is appendable. This property is only valid if DeviceIsOpticalDisc is TRUE. TRUE only if the disc is appendable. This property is only valid if DeviceIsOpticalDisc is TRUE. TRUE only if the disc is appendable. This property is only valid if DeviceIsOpticalDisc is TRUE. Number of tracks on the disc. This property is only valid if DeviceIsOpticalDisc is TRUE. Number of audio tracks on the disc. This property is only valid if DeviceIsOpticalDisc is TRUE. Number of sessions on the disc. This property is only valid if DeviceIsOpticalDisc is TRUE. TRUE if the disk is capable of reporting SMART data, FALSE otherwise. The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) when ATA SMART data was collected. This property is only valid if DriveAtaSmartTimeCollected is greater than zero. The overall assessment for the disk. Is one of the following strings GOOD, BAD_ATTRIBUTES_IN_THE_PAST (At least one pre-fail attribute is exceeded its threshold in the past), BAD_SECTOR (At least one bad sector), BAD_ATTRIBUTE_NOW (At least one pre-fail attribute is exceeding its threshold now), BAD_SECTOR_MANY (Many bad sectors)), BAD_STATUS (Smart Self Assessment negative) or empty if some error occurred trying to determine the result. This property is only valid if DriveAtaSmartTimeCollected is greater than zero. A blob containing the ATA SMART data. This blob can be used with libatasmart to get more information. This property is only valid if DriveAtaSmartTimeCollected is greater than zero. The RAID level of the array the component is part of. Known values include linear The array is Just A Bunch of Disks raid0 RAID-0 raid1 RAID-1 raid4 RAID-4 raid5 RAID-5 raid6 RAID-6 raid10 RAID-10 This property is only valid if DeviceIsLinuxMdComponent is TRUE. The zero-based position of the component or -1 if not part of a running array. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The number of component devices in the array the component is part of. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The UUID of the array the component is part of. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The name of the array the component is part of. Blank if the array doesn't have a name (e.g. pre-1.0 meta data). This property is only valid if DeviceIsLinuxMdComponent is TRUE. The home host of the array the component is part of, e.g. where it was created. Blank if the array has pre-1.0 meta data. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The version of superblock of the component. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The holder of the component or "/" if the component isn't claimed by any array. This property is only valid if DeviceIsLinuxMdComponent is TRUE. The state of the component (contents of md/dev-XXX/state file). This property is only valid if DeviceIsLinuxMdComponent is TRUE and DeviceIsLinuxMdComponentHolder is non-empty. The state of the array (contents of the md/array_state file). This property is only valid if DeviceIsLinuxMd is TRUE. The RAID level of the array. For known values see the LinuxMdComponentLevel property. This property is only valid if DeviceIsLinuxMd is TRUE. The UUID of the array. This property is only valid if DeviceIsLinuxMd is TRUE. The home host of the array, e.g. where if was created. Blank if the array has pre-1.0 meta data. DeviceIsLinuxMd is TRUE. The name of the array. Blank if the array doesn't have a name (e.g. pre-1.0 meta data). DeviceIsLinuxMd is TRUE. Number of component devices in the array. This property is only valid if DeviceIsLinuxMd is TRUE. Metadata version used in the components. This property is only valid if DeviceIsLinuxMd is TRUE. An array of object paths for components currently part of the array. This property is only valid if DeviceIsLinuxMd is TRUE. TRUE only if the array is running in degraded mode. This property is only valid if DeviceIsLinuxMd is TRUE. The operation currently pending on the array. Known values include idle No operation is pending reshape A reshape is in progress resync Redudancy is being calculated repair A repair operation is in progress recover A hot spare is being built to replace a failed/missing device This property is only valid if DeviceIsLinuxMd is TRUE. The progress of the current sync operation. This property is only valid if DeviceIsLinuxMd is TRUE and the value of the property LinuxMdSyncAction is not idle. The speed of the sync operation in bytes per second. This property is only valid if DeviceIsLinuxMd is TRUE and the value of the property LinuxMdSyncAction is not idle. The UUID of the PV. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The number of metadata areas on the PV. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The name of the volume group (that this physical volume belongs to). This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The UUID of the volume group (that this physical volume belongs to). This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The size of the volume group (that this physical volume belongs to) in bytes. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The unallocated size of the volume group (that this physical volume belongs to) in bytes. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The sequence number for the volume group (that this physical volume belongs to). This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The extent size for the volume group (that this physical volume belongs to) in bytes. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The physical volumes that belongs to the volume group (that this physical volume belongs to). Each element is a semicolon separated list of key/value pairs. The only known key/value type as this point is uuid for the UUID of the physical volume. This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The logical volumes that belongs to the volume group (that this physical volume belongs to). Each element is a semicolon separated list of key/value pairs. The only known key/value types as this point are uuid (for the UUID of the logical volume), name (for the name of the logical volume), size (for the size of the logical volume) and active (whether the logical volume is active). This property is only valid if DeviceIsLinuxLvm2PV is TRUE. The name of the logical volume. This property is only valid if DeviceIsLinuxLvm2LV is TRUE. The UUID of the logical volume. This property is only valid if DeviceIsLinuxLvm2LV is TRUE. The name of volume group the logical volume belongs to. This property is only valid if DeviceIsLinuxLvm2LV is TRUE. The UUID of the volume group the logical volume belongs to. This property is only valid if DeviceIsLinuxLvm2LV is TRUE. The object path of the multi-path device the component is currently part of. This property is only valid if DeviceIsLinuxDmmpComponent is TRUE. The symbolic name for the multipath device, e.g. mpathb. This property is only valid if DeviceIsLinuxDmmp is TRUE. The object paths of currently active component devices, e.g. paths. This property is only valid if DeviceIsLinuxDmmp is TRUE. The parameters/configuration for the multipath device. This property is only valid if DeviceIsLinuxDmmp is TRUE. The file backing the loop device. This property is only valid if DeviceIsLinuxLoop is TRUE.