APIs in Category: storage-disk | 7-Mode API version 1.15

storage-disk-get-iter

NetApp Manage ONTAP

storage-disk-get-iter | [top]

> Disk enumeration ZAPI. Get disk information about one or more disks, from the Storage Subsystem. Currently only the Data ONTAP Cluster-Mode iterator APIs support filtering of output, to constrain the disks that are included in the return list, and/or what information is returned about each disk. The default is to return all information about all disks in the cluster. That list may be reduced using the 'query' input element. For example, the return list may include only (1) Disks visible to a particular cluster node "nodeA", e.g., "query.disk-paths.disk-name=nodeA:*" (2) A particular disk visible to a particular node, e.g., "query.disk-paths.node=nodeA:6a.01". (3) A disk with a particular unique id, e.g., "query.disk-uid=20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000" (4) Disks with a name that matches a certain wildcard pattern, e.g., "query.disk-paths.disk-name=6a*". (5) Disks assigned to a particular node. e.g., "query.disk-ownership-info.home-node-id=1252487" or "query.disk-ownership-info.home-node-name=nodeA". (6) Some subset of disks in the cluster or visible to a particular node in the cluster. If 'desired-attributes' is included, then only those data specified by in 'desired-attributes' are returned for each disk. For the Data ONTAP 7-Mode API, since filtering based upon 'query' and 'desired-attributes' is not yet supported, the behavior is currently to return all available information about all disks visible to the local node. If there is badly formed input or an invalid input value is specified, then EINVALIDINPUTERROR is returned. If there is some internal error which prevents processing of this request, then EINTERNALERROR is returned.

> Input Name | Range | Type | Description
> max-records | [1..2000] | integer optional | The maximum number of records to return to the caller per iteration. The default is 2000. If the total number of records exceeds either the 'max-records' supplied, or the number the system is capable of returning at one time, then storage-disk-get-iter must be called multiple times to get all records. If a value outside of the allowed range is supplied, then EINVALIDINPUTERROR is returned.
> tag |  | string optional | This indicates where to continue iteration. A first invocation would normally omit this, to indicate to start iteration with the first disk. If multiple invocations are required to fetch all disk records, then each successive call would set 'tag' to the 'next-tag' value from the prior invocation. If an invalid value is specified, then EINVAIDINPUTERROR is returned.
> Output Name | Range | Type | Description
> attributes-list |  | storage-disk-info[] optional | List of disk records.
> next-tag |  | string optional | An opaque string indicating that there are more records to fetch. If this field is returned, then the API must be called again with the 'tag' parameter set to this 'next-tag' value, to continue fetching additional records from this point. Omitted if there are no more records to fetch.
> num-records | [0..2000] | integer | The number of records returned in this call. This is guaranteed to be less than or equal to the minimum of 'max-records' and 2000.

> Errno | Description
> EINTERNALERROR |  |
> EINVALIDINPUTERROR |  |

> Vfiler-enabled
> Yes

Element definition: storage-disk-info | [top]

> Disk record.

> Name | Range | Type | Description
> disk-inventory-info |  | disk-inventory-info optional | Device driver information. Omitted if excluded by 'desired-attributes'.
> disk-name |  | string optional | Name of the disk, e.g. 0a.25. Omitted if excluded by 'desired-attributes'.
> disk-ownership-info |  | disk-ownership-info optional | Disk ownership information. Omitted if excluded by 'desired-attributes'.
> disk-paths |  | disk-path-info[] optional | List of all known paths associated with this disk. Omitted if no paths to report, or if excluded by 'desired-attributes'.
> disk-raid-info |  | disk-raid-info optional | RAID disk information. Omitted if disk is not visible to RAID, or if this information is excluded by 'desired-attributes'.
> disk-stats-info |  | disk-stats-info optional | Statistics about disk. Omitted if no stats to report, or if excluded by 'desired-attributes'.
> disk-uid |  | string optional | Disk unique identifier. Maximum length of 90 characters. Example of output format is: 20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000 Omitted if excluded by 'desired-attributes'.

Element definition: disk-inventory-info | [top]

> Disk inventory info.

> Name | Range | Type | Description
> bytes-per-sector | [0..2^16-1] | integer optional | Number of bytes per disk sector. A sector count element, such as 'capacity-sectors' and 'right-size-sectors', may be multiplied by this value to convert to a byte count. Omitted if excluded by 'desired-attributes'.
> capacity-sectors | [0..2^64-1] | integer optional | Total number of disk sectors on this disk, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.
> checksum-compatibility |  | string optional | An indication of the checksum types that this disk is capable of supporting. Each possible return value represents one or more checksum types. Omitted if not available or if excluded by 'desired-attributes'. Starting in Data ONTAP 8.1, "zoned/block" is no longer supported. Possible values: "advanced_zoned" - Supports advanced zoned checksum. "block" - Supports block checksum. "none" - No checksum support. "zoned/advanced_zoned" - Supports zoned and advanced zoned checksum.
> disk-type |  | string optional | Disk interface type. Omitted if excluded by 'desired-attributes'. Possible values: "ATA" "EATA" "FCAL" "LUN" "SAS" "BSAS" "SATA" "SCSI" "XATA" "XSAS" "SSD" "FSAS" "unknown"
> disk-uid |  | string optional | Disk unique identifier. Maximum length of 90 characters. Omitted if excluded by desired-attributes'.
> firmware-revision |  | string optional | Firmware revision of disk. The format of the firmware revision will vary depending on the type of disk and its vendor. Omitted if excluded by 'desired-attributes'.
> grown-defect-list-count | [0..2^64-1] | integer optional | Number of entries in the drive's grown defect list. Omitted if excluded by 'desired-attributes'.
> health-monitor-time-interval | [0..2^63-1] | integer optional | Number of seconds we have been keeping track of errors from storage health monitor (SHM). Omitted if excluded by 'desired-attributes'.
> is-dynamically-qualified |  | boolean optional | True if the drive was dynamically qualified. Omitted if false or if excluded by 'desired-attributes'.
> media-scrub-count | [0..2^64-1] | integer optional | Number of times media has been scrubbed since controller last powered on. Omitted if not available.
> media-scrub-last-done-time-interval | [0..2^63-1] | integer optional | Number of seconds since a media scrub last completed. Omitted if not available.
> model |  | string optional | Disk model string. Omitted if excluded by 'desired-attributes'.
> right-size-sectors | [0..2^64-1] | integer optional | Number of usable disk sectors that remain after subtracting the right-size adjustment for this disk. Given in units of 'bytes-per-sector'. Omitted if information is unavailable, or if excluded by 'desired-attributes'.
> rpm |  | integer optional | Rotational speed in revolutions per minute. Possible values are: 5400, 7200, 10000, and 15000. Omitted if information is unavailable, if rpm does not apply to this 'disk-type', or if excluded by 'desired-attributes'.
> serial-number |  | string optional | Disk serial number. Maximum length of 129 characters. Omitted if excluded by 'desired-attributes'.
> shelf |  | string optional | Disk shelf, if it can be determined. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.
> shelf-bay |  | string optional | Disk shelf bay, if it can be determined. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.
> storage-ssd-info |  | storage-ssd-info optional | solid state device specific lifecycle data Omitted if 'disk-type' is not "SSD", or if excluded by 'desired-attributes'.
> vendor |  | string optional | Vendor of this disk. Omitted if excluded by 'desired-attributes'.

Element definition: disk-ownership-info | [top]

> Disk sanown information.

> Name | Range | Type | Description
> disk-uid |  | string optional | Disk unique identifier. Maximum length of 90 characters. Example of output format is: 20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000 Omitted if excluded by 'desired-attributes'.
> home-node-id | [0..2^32-1] | integer optional | ID (NVRAM ID) of home node to which this disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.
> home-node-name |  | string optional | Name of the home node to which this disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.
> is-failed |  | boolean optional | 'true' if the disk is failed such that its ownership cannot be determined. Omitted if false, or if excluded by 'desired-attributes'.
> owner-node-id | [0..2^32-1] | integer optional | ID (NVRAM ID) of node that currently owns this disk. Normally 'owner-node-id' matches 'home-node-id'. However, SFO style HA changes 'owner-node-id' when it localizes partner storage on takeover; and restores it to 'home-node-id' on giveback. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.
> owner-node-name |  | string optional | Name of node that currently owns this disk. Normally 'owner-node-name' matches 'home-node-name'. However, SFO style HA changes 'owner-node-name' when it localizes partner storage on takeover; and restores it to 'home-node-name' on giveback. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.
> pool | [0..2^32-1] | integer optional | Pool to which disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.
> reserved-by-node-id | [0..2^32-1] | integer optional | ID (NVRAM ID) of node which currently holds the persistent reservation on this disk, 0 if there is none. Omitted if excluded by 'desired-attributes'.

Element definition: disk-path-info | [top]

> Contains per path statistics, errors and other related data.

> Name | Range | Type | Description
> array-name |  | string | The name of the array providing the lun.
> disk-name |  | string | The name of the disk this path information is for
> disk-port |  | string optional | Disk port associated with this path. Possible values are "A" or "B". Omitted for non-disk target.
> disk-port-name |  | string optional | Disk port name associated with this path. This has the form <attachment-style>:<disk-port>, where <attachment-style> is either "FC" for FibreChannel, or "SA" for SAS, and <disk-port> is either "A" or "B". Omitted for non-disk target. Possible values: "FC:A" "FC:B" "SA:A" "SA:B"
> disk-uid |  | string | Disk's UID, as supplied by the hardware, used to uniquely identify this disk.
> initiator-io-kbps |  | integer | Rolling average of kilobytes per second read and written over this initiator port. Range: [0..2^64-1]
> initiator-iops |  | integer | Rolling average of I/O operations per second read and written over this initiator port. Range: [0..2^64-1]
> initiator-lun-in-use-count |  | integer | Number of LUNs in the IN-USE state on this initiator. Range: [0..2^64-1]
> initiator-port |  | string | Initiator port name, e.g. 0a.
> initiator-port-speed |  | string | The speed that the initiator port has negotiated with its connected switch, or target port if direct attached.
> initiator-side-switch-port |  | string | The name of the switch connected to the controller's initiator port, or N/A when using direct attach
> lun-io-kbps |  | integer | Rolling average of kilobytes per second read and written to this LUN. Range: [0..2^64-1]
> lun-iops |  | integer | Rolling average of I/O operations per second read and written to this LUN. Range: [0..2^64-1]
> lun-number |  | integer | LU number. Range: [0..65535]
> lun-path-use-state |  | string | ONTAP's use of this path INU - (In Use) This path is currently used for I/O. RDY - (Ready) This path is not being used for I/O currently, but might transition to INU if storge errors or load balancing cause it to transition to INU. ERR - (High Error) The weighted error total on this path is 20% or more of the error threshold. Load balancing will not use it, and the error handling code will only use it as a last resort. QNG - (Quiescing) : The disk is becoming quiesced on this path. QED - (Quiesced) : The disk is quiesced on this path.
> node |  | string | Controller with the initiator port for this path.
> path-io-kbps |  | integer | Rolling average of kilobytes per second read and written to this path. Range: [0..2^64-1]
> path-iops |  | integer | Rolling average of I/O operations per second read and written to this path. Range: [0..2^64-1]
> path-link-errors |  | integer | Number of link errors reported on the path. Range: [0..2^32-1]
> path-lun-in-use-count |  | integer | Number of LUNs in the IN-USE state on this path. Range: [0..2^64-1]
> path-quality |  | integer | The percentage of the error threshold. 0% NO ERROR 1-20% LOW ERROR, available to load balancing and error retry code. 21-99% MEDIUM ERROR, load balancing and error retry code will not switch to this path. 100-? HIGH_ERROR, Excessive errors EMS event will be logged Range: [0..2^32-1]
> target-io-kbps |  | integer | Rolling average of kilobytes per second read and written to this target port. Range: [0..2^64-1]
> target-iops |  | integer | Rolling average of I/O operations per second read and written to this target port. Range: [0..2^64-1]
> target-lun-in-use-count |  | integer | Number of LUNs in the IN-USE state on this target port. Range: [0..2^64-1]
> target-port-access-state |  | string | failover optimization type
> target-side-switch-port |  | string | Name of the switch port connected to the target array, or UNKNOWN if direct attached.
> target-wwpn |  | string | World Wide Port Name of target port providing the disk.
> tpgn |  | integer | The Target Port Group Number of the array's target port. Range: [0..2^64-1]

Element definition: disk-raid-info | [top]

> RAID specific information about a disk, including RAID specific disk properties, and the disk's overlying container.

> Name | Range | Type | Description
> active-node-name |  | string optional | Name of the node that is the active RAID controller for this disk, if any. Omitted if unavailable, or excluded by 'desired-attrributes'.
> container-type |  | string optional | Type of overlying disk container. Omitted if information is unavailable, or excluded by 'desired-attributes'. Possible vaules: "aggregate" - Container is an aggregate. "broken" - Container is broken pool. "labelmaint" - Container is online label maintenance list. "maintenance" - Container is disk maintenance center. "spare" - Container is spare pool. "unassigned" - Disk ownership has not been assigned. "unknown" - Container is currently unknown. This is the default setting. "volume" - Container is a traditional volume.
> disk-aggregate-info |  | disk-aggregate-info optional | Information giving disk's basic disposition within its overlying aggregate or traditional volume. Omitted if container-type is not "aggregate" or "volume", or if excluded by 'desired-attributes'.
> disk-outage-info |  | disk-outage-info optional | Information about a disk that is not in service. Omitted if container-type is not "broken", "maintenance", "labelmaint", or "unassigned", or if excluded by 'desired-attributes'.
> disk-spare-info |  | disk-spare-info optional | Information giving disk's basic disposition within its overlying spare pool. Omitted if container-type is not "spare", or if excluded by 'desired-attributes'.
> disk-uid |  | string optional | Disk unique identifier. Maximum length of 90 characters. Omitted if excluded by 'desired-attributes'.
> effective-disk-type |  | string optional | Effective disk interface type. Disks can report different physical 'disk-type', but the same 'effective-disk-type'. Disks with the same 'effective-disk-type' are compatible for use within the same aggregate or traditional volume. Omitted if information is unavailable, or excluded by 'desired-attributes'. Possible values: "ATA" "EATA" "FCAL" "LUN" "SAS" "BSAS" "SATA" "SCSI" "XATA" "XSAS" "SSD" "FSAS" "unknown"
> physical-blocks | [0..2^64-1] | integer optional | RAID recorded disk capacity expressed in units of 4096-byte blocks. Typically this is the disk capacity reported by disk driver, but rounded down to the nearest 4096-byte block. Omitted if information is unavailable, or if excluded by 'desired-attributes'.
> position |  | string optional | Position of disk relative to its container-type. Omitted if excluded by 'desired-attributes'. Possible values: "copy" - RAID group copy destination disk. "data" - RAID group data disk. "dparity" - RAID group diagonal parity disk. "orphan" - Disk is orphan of an aggregate or traditional volume. "parity" - RAID group parity disk. "pending" - Disk is pending addition to an aggregate or traditional volume. "present" - Disk is present in system. This is the default setting.
> spare-pool |  | string optional | Name of RAID managed spare pool with which this disk is associated. Omitted if unavailable. Generally determined both by whether ownership has been assigned for this disk, and whether SyncMirror feature is licensed and enabled on the reporting node. This may not match the assigned pool for this disk, such as if SyncMirror is not present or enabled. This disk may not currently be contained within this spare-pool, such as if it's been allocated to an aggregate or removed from service. This is the spare pool with which disk would be contained if/when it is initialized or released as a spare. Omitted if excluded by 'desired-attributes'. Possible values: "Pool0" - Disk is associated with spare Pool0. "Pool1" - Disk is associated with spare Pool1. "spare" - Disk is associated with the general spare pool. "unknown" - Cannot determine spare pool associativity for this disk.
> used-blocks | [0..2^64-1] | integer optional | RAID recorded size of file system region on this disk, given in units of 4096-byte blocks. Typically based upon the disk's right-size capacity, but it may be smaller if RAID has downsized this disk, such as due to reconstruct replacing a smaller with a larger disk. This is distinct from WAFL usage of file system space. Omitted if information is unavailable, or if excluded by 'desired-attributes'.

Element definition: disk-stats-info | [top]

> Contains disk statistics.

> Name | Range | Type | Description
> average-latency | [0..2^32-1] | integer optional | Access time to disk in milliseconds. Omitted if excluded by 'desired-attributes'.
> bytes-per-sector | [0..2^16-1] | integer optional | Number of bytes per disk sector. A sector count element, such as 'sectors-read' and 'sectors-written', may be multipled by this value to convert to a byte count. Omitted if excluded by 'desired-attributes'.
> disk-io-kbps | [0..2^64-1] | integer optional | Rolling average of kilobytes per second read and written to this disk. Omitted if excluded by 'desired-attributes'.
> disk-iops | [0..2^64-1] | integer optional | Rolling average of I/O operations per second read and written to this disk. Omitted if excluded by 'desired-attributes'.
> disk-uid |  | string optional | Unique identifier of disk for this disk. Maximum length of 90 characters. Omitted if excluded by 'desired-attributes'.
> path-error-count | [0..2^32-1] | integer optional | The number of errors on this disk. Omitted if excluded by 'desired-attributes'.
> power-on-time-interval | [0..2^63-1] | integer optional | Number of seconds the drive has been powered on. Omitted if excluded by 'desired-attributes'.
> sectors-read | [0..2^64-1] | integer optional | Number of disk sectors read since system last booted, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.
> sectors-written | [0..2^64-1] | integer optional | Number of disk sectors written since system last booted, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.

Element definition: disk-aggregate-info | [top]

> Details giving disk's basic disposition within its overlying aggregate or traditional volume. Information that is specific to a disk contained within an aggregate or traditional volume is returned here. Returned only if 'container-type' is "aggregate" or "volume".

> Name | Range | Type | Description
> aggregate-name |  | string optional | Name of aggregate or traditional volume with which this disk is associated. Omitted if excluded by 'desired-attributes'.
> checksum-type |  | string optional | The checksum type that has been assigned to this disk. Omitted if information is unavailable, or if excluded by 'desired-attributes'. Possible values: "advanced_zoned" - Advanced zoned checksum. "block" - Block checksum. "none" - No checksum type assigned. "wafl" - WAFL checksum. "zoned" - Zoned checksum.
> copy-destination-name |  | string optional | name of copy destination. Omitted if both 'is-prefailed' and 'is-replacing' are false, or if excluded by 'desired-attributes'.
> copy-percent-complete | [0..100] | integer optional | Percent completion of disk copy. Omitted if no copy operation involving this disk is in progress. So omitted if neither 'is-prefailed' nor 'is-replacing' is true, and if position is not "copy".
> is-media-scrubbing |  | boolean optional | True if media scrub is currently active for this disk. Omitted if false, or if excluded by 'desired-attributes'.
> is-offline |  | boolean optional | True if disk is offline. Omitted if false, or excluded by 'desired-attributes'.
> is-prefailed |  | boolean optional | True if the admin issued a 'disk fail' or if the the system marked this disk for Rapid RAID Recovery. This flag is expected to remain set until the system has copied the contents of this disk to a system-selected replacement disk. At that point, this disk is expected to be removed from service and placed in in the broken pool. Omitted if false, or if excluded by 'desired-attributes'.
> is-reconstructing |  | boolean optional | True if disk is in process of being reconstructed. Omitted if false, or if excluded by 'desired-attributes'.
> is-replacing |  | boolean optional | True if the admin issued 'disk replace' to replace this disk with a specified replacement disk. This flag is expected to remain true until the system has copied the contents of this disk to the admin-specified replacement disk. At that point this disk is expected to be released to the spare pool. Omitted if false, or excluded by 'desired-attributes'.
> is-zeroed |  | boolean optional | True if disk is in pre-zeroed state. Omitted if false, or excluded by 'desired-attributes'.
> is-zeroing |  | boolean optional | True only if disk position is 'pending' and disk is in process of being zeroed. Omitted if false, or excluded by 'desired-attributes'.
> plex-name |  | string optional | Name of plex with which this disk is associated. Omitted if disk is not associated with a plex, or if excluded by 'desired-attributes'.
> raid-group-name |  | string optional | Name of RAID group to which this disk belongs. Omitted if disk does not belong to a RAID group, or if excluded by 'desired-attributes'.
> reconstruct-percent-complete | [0..100] | integer optional | Percent completion of disk reconstruction. Omitted if 'is-reconstructing' is not true, or if excluded by 'desired-attributes'.
> zeroing-percent-complete | [0..100] | integer optional | Percent completion of disk zeroing. Omitted if is-zeroing' is not true, or if excluded by 'desired-attributes'.

Element definition: disk-outage-info | [top]

> Information about a disk that is not in service.

> Name | Range | Type | Description
> is-in-fdr |  | boolean optional | True if disk has entry in the persistent Failed Disk Registry. Omitted if false, or if excluded by 'desired-attributes'.
> reason |  | string | Reason disk is not in service. Omitted if excluded by 'desired-attributes'. Possible values: "admin failed" - Admin has persistently failed disk. "admin removed" - Admin requested spare disk to be removed from system. "admin testing" - Admin isolated disk for maintenance testing. "bad label" - Disk has bad RAID label. "bypassed" - Disk has been bypassed. "failed" - Disk is persistently failed. "init failed" - Disk failed initialization. "label version" - Disk has invalid RAID label version. "labeled broken" - Disk was persistently failed in a prior Data ONTAP release. "labelmaint" - Disk is isolated for online label maintenance. "LUN resized" - Array LUN was inappropriately resized. "missing" - Disk has gone missing. "not responding" - Disk is non-responsive. "predict failure" - Disk failure is predicted. capacity than previously. "rawsize shrank" - Disk reporting smaller "recovering" - Disk is underoing recovery. "sanitizing" - Disk is in process of being sanitized. "sanitized" - Disk sanitization complete, but admin has not yet released disk back to the spare pool. in this release. "SnapLock Disk" - SnapLock disk, not supported maintenance testing. "testing" - System isolated disk for "unassigned" - Disk ownership has not been assigned. "unknown" - Don't know reason disk is not in service.

Element definition: disk-spare-info | [top]

> Details giving disk's basic disposition within its overlying spare pool. Information that is specific to a disk that is contained within a spare pool belongs here.

> Name | Range | Type | Description
> is-media-scrubbing |  | boolean optional | True if media scrub is currently active for this disk. Omitted if false, or if excluded by 'desired-attributes'.
> is-offline |  | boolean optional | True if disk is offline. Omitted if false, or if excluded by 'desired-attributes'.
> is-sparecore |  | boolean optional | True if disk is sparecore disk. Omitted if false, of if excluded by 'desired-attributes'.
> is-zeroed |  | boolean optional | True if disk has been pre-zeroed. Omitted if false, of if excluded by 'desired-attributes'.
> is-zeroing |  | boolean optional | True if disk is in process of being zeroed. Omitted if false, or if excluded by desired-attributes'.
> zeroing-percent-complete | [0..100] | integer optional | Percent completion of disk zeroing. Omitted if is-zeroing' is not true, or if excluded by 'desired-attributes'.

Element definition: storage-ssd-info | [top]

> Storage info block for solid-state storage devices.

> Name | Range | Type | Description
> percent-rated-life-used | [0..255] | integer optional | An estimate of the percentage of device life that has been used, based on the actual device usage and the manufacturer's prediction of device life. A value greater than 99 indicates that the estimated endurance has been consumed, but may not indicate a device failure. Omitted if value is unknown.
> percent-spares-consumed | [0..100] | integer optional | Percentage of device spare blocks that have been used. Each device has a number of spare blocks that will be used when a data block can no longer be used to store data. This value reports what percentage of the spares have already been consumed. Omitted if value is unknown.
> percent-spares-consumed-limit | [0..100] | integer optional | Spares consumed percentage limit reported by the device. Omitted if value is unknown.