| Previous | Next |
| EFAULT | EEXIST |
EBUSY
Busy is operation-specific
EBUSY means the system cannot perform the requested state change while the target is in use. The concrete reason depends on the API. A rename can encounter a directory currently used by a process or a mount point. Opening a block device exclusively can fail while the device is already in use. Removing a path can be blocked by a mount or by an active filesystem representation.
It is therefore unsafe to interpret EBUSY as a generic lock failure. The object may be actively mounted, used as a process working directory, held by a driver, or protected by a resource manager. A forced retry can race with the operation that is legitimately using it.
How to investigate
- Identify the exact resource type and the operation that returned the code.
- Check mount state, device consumers, process working directories, open handles, and service ownership.
- Coordinate shutdown or unmount with the owning component before retrying destructive operations.
- For applications, make “resource busy” a visible state and use bounded retry only when the API contract makes retry safe.
References
Looking for a different code? Search another status or error code.