OverlayFs Storage should offer force unmount option
Description
Currently the OverlayFs storage throws a "target is busy" code exception if it is unmounted while in use. Instead the storage should check if a path is safe to unmount and offer to kill blocking processes.
Use-Cases
- Before unmounting a path,
lsof +D <path>
is run to check if it is still used - If a process is blocking the path, OverlayFs asks if the process should be killed
- If the user does not want to kill the process, a UserException is thrown
- If the user decides to unmount forcefully, the blocking processes are terminated
- After termination, the path is checked again before the normal unmount process continues