SMI-S File Storage Profile¶
This profile is fully implemented. See the next chapter for its usage and
mapping to LMI_ classes.
SMI-S Filesystem Profile¶
OpenLMI-Storage implements the Filesystem Profile with these adjustments:
- Local Access is not implemented, we use LMI_MountService to mount local
filesystems:
- SMI-S expects that one filesystem can be mounted only once using Local Access, which is not true on Linux, we might mount one filesystem multiple times.
- Mounting a filesystem is totally different operation to creating/modifying of a filesystem, these two functions should be separated. Therefore we introduce LMI_MountService to mount various filesystems.
- Directory Services are not implemented.
Implementation¶
All mandatory classes and methods are implemented.
Classes¶
Implemented SMI-S classes:
- CIM_LogicalFile using separate LogicalFile provider from OpenLMI-Providers package.
Not implemented classes:
`CIM_FileStorageSNIA_LocalAccessAvailableSNIA_LocalFileSystemSNIA_LocallyAccessibleFileSystemSetting- and all related references.
Methods¶
There are no methods in this profile.
Warning
Mandatory indications are not implemented.
Blivet does not provide such functionality and it would be very CPU-intensive to periodically scan for modified filesystems.
SMI-S Filesystem Manipulation Profile¶
OpenLMI-Storage implements the Filesystem Profile with these adjustments:
- Local Access is not implemented, we use LMI_MountService to mount local
filesystems:
- SMI-S expects that one filesystem can be mounted only once using Local Access, which is not true on Linux, we might mount one filesystem multiple times.
- Mounting a filesystem is totally different operation to creating/modifying of a filesystem, these two functions should be separated.
- Directory Services are not implemented.
Implementation¶
SNIA-specific classes and methods (with SNIA_ prefix) are not implemented to
avoid any copyright problems - SNIA MOF files have a license which does not
allow us to implement it in open source project.
We implement our LMI_ counterparts, inspired by CIM_StorageService and
CIM_StorageSetting. The major difference to CIM_ and
SNIA_FileSystemConfigurationService is that all methods accepts a Setting
argument as reference and not as embedded instance to match the rest of the
methods (mainly in Block Services profile).
Classes¶
Implemented SMI-S classes:
- LMI_FileSystemConfigurationElementCapabilities
- LMI_FileSystemElementSettingData
- LMI_HostedFileSystem
- LMI_HostedStorageService
- LMI_FileSystemCapabilities
- not derived from
SNIA_FileSystemCapabilities!
- not derived from
- LMI_FileSystemConfigurationCapabilities
- not derived from
SNIA_FileSystemConfigurationCapabilities!
- not derived from
- LMI_FileSystemConfigurationService
- not derived from
SNIA_FileSystemConfigurationService!
- not derived from
- LMI_FileSystemSetting
- not derived from
SNIA_FileSystemSetting!
- not derived from
- LMI_LocalFileSystem
- not derived from
SNIA_LocalFileSystem!
- not derived from
Not implemented classes:
SNIA_FileSystemCapabilitiesSNIA_FileSystemConfigurationCapabilitiesSNIA_FileSystemConfigurationServiceSNIA_FileSystemSettingSNIA_LocalFileSystemSNIA_LocalAccessAvailableSNIA_LocallyAccessibleFileSystemCapabilitiesSNIA_LocallyAccessibleFileSystemSetting- and all related references.
Methods¶
Implemented:
- LMI_CreateSetting
- LMI-CreateFileSystem
- Similar to plain CIM
CreateFileSystem, with these modifications:Goalparameters is passed as reference and not as embedded instance, i.e. all LMI_FileSystemSetting instances reside on server and are created using LMI_CreateSetting- Multiple extents can be passed in
InExtentsparameter. The method then creates one filesystem on multiple devices. Currently only btrfs supports this behavior, other filesystems can be created only on one device.
- Similar to plain CIM
- DeleteFileSystem
Not implemented:
CreateGoalSettingsGetRequiredStorageSizeSNIA_CreateFileSystemSNIA_ModifyFileSystem- CreateFileSystem
- ModifyFileSystem
Warning
Mandatory indications are not implemented.
Blivet does not provide such functionality and it would be very CPU-intensive to periodically scan for modified filesystems.