<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!-- Copyright 2015-2026 Storage Networking Industry Association (SNIA), USA. All rights reserved.-->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/IOStatistics_v1.xml">
    <edmx:Include Namespace="IOStatistics"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="StoragePoolMetrics">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Language" String="en"/>

      <EntityType Name="StoragePoolMetrics" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The usage and health statistics for a storage pool."/>
        <Annotation Term="OData.LongDescription" String="The StoragePoolMetrics schema shall contain the usage and health statistics for a storage pool in a Redfish implementation."/>
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId}/Metrics</String>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId}/Metrics</String>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>

            <String>/redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId}/Metrics</String>
            <String>/redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId}/Metrics</String>
            <String>/redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>

            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId}/Metrics</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId}/Metrics</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId}/Metrics</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}/Metrics</String>
          </Collection>
        </Annotation>
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="StoragePoolMetrics.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.2.6"/>

      <EntityType Name="StoragePoolMetrics" BaseType="StoragePoolMetrics.StoragePoolMetrics">
        <Property Name="IOStatistics" Type="IOStatistics.IOStatistics" Nullable="false">
          <Annotation Term="OData.Description" String="Statistics for this storage pool."/>
          <Annotation Term="OData.LongDescription" String="The value shall represent IO statistics for this storage pool."/>
        </Property>
        <Property Name="Actions" Type="StoragePoolMetrics.v1_0_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
        </Property>
        <Property Name="CorrectableIOReadErrorCount" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of the correctable read errors for the lifetime of the storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of the correctable read errors for the lifetime of the storage pool."/>
        </Property>
        <Property Name="CorrectableIOWriteErrorCount" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of the correctable write errors for the lifetime of the storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of the correctable write errors for the lifetime of the storage pool."/>
        </Property>
        <Property Name="UncorrectableIOReadErrorCount" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of the uncorrectable read errors for the lifetime of the storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of the uncorrectable read errors for the lifetime of the storage pool."/>
        </Property>
        <Property Name="UncorrectableIOWriteErrorCount" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of the uncorrectable write errors for the lifetime of the storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of the uncorrectable write errors for the lifetime of the storage pool."/>
        </Property>
        <Property Name="StateChangeCount" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of state changes (changes in Status.State) for this storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of state changes (changes in Status.State) for this storage pool."/>
        </Property>
        <Property Name="ConsistencyCheckErrorCount" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of consistency check errors of the volume."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of consistency check errors over the lifetime of the storage pool."/>
        </Property>
        <Property Name="RebuildErrorCount" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of rebuild errors over the lifetime of the storage pool."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of rebuild errors over the lifetime of the storage pool."/>
        </Property>
      </EntityType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="StoragePoolMetrics.v1_0_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>

      </ComplexType>

    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="StoragePoolMetrics.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="Change IOStatistics references to unversioned."/>
      <EntityType Name="StoragePoolMetrics" BaseType="StoragePoolMetrics.v1_0_0.StoragePoolMetrics"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="StoragePoolMetrics.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.2.8"/>
      <Annotation Term="OData.Description" String="This version was created to add CompressionSavingsBytes, DeduplicationSavingsBytes, and ThinProvisioningSavingsBytes."/>
      <EntityType Name="StoragePoolMetrics" BaseType="StoragePoolMetrics.v1_0_1.StoragePoolMetrics">
        <Property Name="CompressionSavingsBytes" Type="Edm.Int64">
          <Annotation Term="OData.Description" String="Current compression savings on the storage pool in Bytes."/>
          <Annotation Term="OData.LongDescription" String="The value shall represent the current compression savings on the storage pool in Bytes."/>
          <Annotation Term="Measures.Unit" String="By"/>
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
        </Property>
        <Property Name="DeduplicationSavingsBytes" Type="Edm.Int64">
          <Annotation Term="OData.Description" String="Current deduplication savings on the storage pool in Bytes."/>
          <Annotation Term="OData.LongDescription" String="The value shall represent the current deduplication savings on the storage pool in Bytes."/>
          <Annotation Term="Measures.Unit" String="By"/>
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
        </Property>
        <Property Name="ThinProvisioningSavingsBytes" Type="Edm.Int64">
          <Annotation Term="OData.Description" String="Current thin provisioning savings on the storage pool in Bytes."/>
          <Annotation Term="OData.LongDescription" String="The value shall represent the current thin provisioning savings on the storage pool in Bytes."/>
          <Annotation Term="Measures.Unit" String="By"/>
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
        </Property>        
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="StoragePoolMetrics.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.2.9"/>
      <Annotation Term="OData.Description" String="This version was created to add LifetimeStartDateTime."/>
      <EntityType Name="StoragePoolMetrics" BaseType="StoragePoolMetrics.v1_1_0.StoragePoolMetrics">
        <Property Name="LifetimeStartDateTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The date and time when the storage pool started accumulating data for properties maintained for the lifetime of the storage pool, such as, but not limited to 'CorrectableIOReadErrorCount' and 'CorrectableIOWriteErrorCount'."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time when the storage pool started accumulating data for properties maintained for the lifetime of the storage pool, such as, but not limited to 'CorrectableIOReadErrorCount' and 'CorrectableIOWriteErrorCount'. Lifetime counts are noted in the LongDescription for relevant properties. This might contain the same value as the creation date of the storage pool."/>
        </Property>
      </EntityType>
    </Schema>

  </edmx:DataServices>
</edmx:Edmx>
