<!--
{
  "availability" : [
    "macOS: 15.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "FSKit",
  "identifier" : "/documentation/FSKit/FSFileSystemBase/containerStatus",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "FSKit"
    ],
    "preciseIdentifier" : "c:objc(pl)FSFileSystemBase(py)containerStatus"
  },
  "title" : "containerStatus"
}
-->

# containerStatus

The status of the file system container, indicating its readiness and activity.

```
@NSCopying var containerStatus: FSContainerStatus { get set }
```

## Discussion

A file system container starts in the [`FSContainerState.notReady`](/documentation/FSKit/FSContainerState/notReady) state, and then transitions to the other values of the [`FSContainerState`](/documentation/FSKit/FSContainerState) enumeration.
The following diagram illustrates the possible state transitions.

![A flow diagram of four possible container states. The initial state, notReady, can transition to ready or blocked. The ready state can transition back to not ready, or to blocked or active. The blocked state can transition to ready or not ready. The active state can transition back to ready or to not ready.](images/FSKit/fs-file-system-base@2x.png)

Your file system implementation updates this property as it changes state.
Many events and operations may trigger a state transition, and some transitions depend on a specific file system’s design.

When using [`FSBlockDeviceResource`](/documentation/FSKit/FSBlockDeviceResource), implement the following common state transitions:

- Calling `loadResource` transitions the state out of [`FSContainerState.notReady`](/documentation/FSKit/FSContainerState/notReady). For all block device file systems, this operation changes the state to either [`FSContainerState.ready`](/documentation/FSKit/FSContainerState/ready) or [`FSContainerState.blocked`](/documentation/FSKit/FSContainerState/blocked).
- Calling `unloadResource` transitions to the [`FSContainerState.notReady`](/documentation/FSKit/FSContainerState/notReady) state, as does device termination.
- Transitioning from [`FSContainerState.blocked`](/documentation/FSKit/FSContainerState/blocked) to [`FSContainerState.ready`](/documentation/FSKit/FSContainerState/ready) occurs as a result of resolving the underlying block favorably.
- Transitioning from [`FSContainerState.ready`](/documentation/FSKit/FSContainerState/ready) to [`FSContainerState.blocked`](/documentation/FSKit/FSContainerState/blocked) is unusal, but valid.
- Transitioning between [`FSContainerState.ready`](/documentation/FSKit/FSContainerState/ready) and [`FSContainerState.active`](/documentation/FSKit/FSContainerState/active) can result from maintenance operations such as [`startCheck(task:options:)`](/documentation/FSKit/FSManageableResourceMaintenanceOperations/startCheck(task:options:)). For a [`FSUnaryFileSystem`](/documentation/FSKit/FSUnaryFileSystem), this transition can also occur when activating or deactivating the container’s single volume.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)