CIM_DiskPartitionConfigurationService

Class reference

Subclass of CIM_Service

DiskPartitionConfigurationService provides methods for clients

to configure DiskPartitions.

The instrumentation MUST NOT instantiate instances of partitions (such as hidden, maintenance, or zero-length partitions) that are not intended for use by applications (filesystems, databases, ...). There are two reasons for this constraint. There are different system-specific ways to indicate whether or not a partition is hidden, in some cases, the starting/ending block information is invalid, but ignored. If these properties are exposed, clients will not have a way to determine which blocks are in use. The other reason is that typically the number of partitions is fixed in the underlying data structures (or grows by large, fixed-size chunks). Common practice is to have a one (or a few) partition per disk with many hidden partitions. Instantiating a lot of hidden partitions clutters up the model without value add. The methods of this service and the properties of DiskPartitionConfigurationCapabilities provide a view of partitions actually in use without requiring clients to understand system-specific details.

Local properties

uint16 PartitioningSchemes

Describes the partitioning schemes supported by the platform. AIX and HP_UX do not allow partitions. Linux allows volumes with and without partitions, Solaris requires Partitions. No more than a single instance of this class MAY be instantiated on a system. If set to ‘No partitions allowed’ then the methods of this service are not available.

ValueMap Values
2 No partitions allowed
3 Volumes may be partitioned or treated as whole
4 Volumes must be partitioned

Local methods

uint32 CreateOrModifyPartition (CIM_StorageExtent extent, uint64 StartingAddress, uint64 EndingAddress, string DeviceFileName, CIM_GenericDiskPartition Partition)

This method creates a new partition if the Partition parameter is null or modifies the partition specified. If the starting and ending address parameters are null, the resulting partition will occupy the entire underlying extent. If the starting address is non-null and the ending address is null, the resulting partition will extend to the end of the underlying extent.

If a partition is being created, a LogicalDisk instance is also created BasedOn the partition. The NumberOfBlocks and ComsumableBlocks properties MUST be the same value and MUST be common to the partition and LogicalDisk (since partition metadata is part of the partition table, not part of partitions). The StartingAddress of the LogicalDisk MUST be 0, the ConsumableBlocks of the LogicalDisk and partition MUST be the same, and the difference between the StartingAddress and EndingAddress of the partition and LogicalDisk must be the same - one less than ConsumableBlocks/NumberOfBlocks.

The underlying extent MUST be associated to a capabilities class describing the installed partition style (partition table); this association is established using SetPartitionStyle().

ValueMap Values
0 Success
1 Not Supported
2 Unknown
3 Timeout
4 Failed
5 Invalid Parameter
DMTF Reserved
0x1000 Overlap Not Supported
0x1001 No Available Partitions
0x1002 Specified partition not on specified extent
0x1003 Device File Name not valid
0x1004 LogicalDisk with different DeviceFileName exists
Method Reserved
0x8000.. Vendor Specific

Parameters

IN CIM_StorageExtent extent
A reference to the underlying extent the partition is base on.
IN uint64 StartingAddress
The starting block number.
IN uint64 EndingAddress
The ending block number.
IN string DeviceFileName
The platform-specific special file name to be assigned to the LogicalDisk instance BasedOn the new DiskPartition instance.
IN, OUT CIM_GenericDiskPartition Partition
A reference an existing partition instance to modify or null to request a new partition.

uint32 SetPartitionStyle (CIM_StorageExtent Extent, CIM_DiskPartitionConfigurationCapabilities PartitionStyle)

This method installs a partition table on an extent of the specified partition style; creating an association between the extent and that capabilities instances referenced as method parameters. As a side effect, the consumable block size of the underlying extent is reduced by the block size of the metadata reserved by the partition table and associated metadata. This size is in the PartitionTableSize property of the associated DiskPartitionConfigurationCapabilities instance.

ValueMap Values
0 Success
1 Not Supported
2 Unknown
3 Timeout
4 Failed
5 Invalid Parameter
DMTF Reserved
0x1000 Extent already has partition table
0x1001 Requested Extent too large
0x1002 Style not supported by Service
Method Reserved
0x8000.. Vendor Specific

Parameters

IN CIM_StorageExtent Extent
A reference to the extent (volume or partition) where this style (partition table) will be installed.
IN CIM_DiskPartitionConfigurationCapabilities PartitionStyle
A reference to the DiskPartitionConfigurationCapabilities instance describing the desired partition style.