Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid blocking on external processes when devices are suspended #75

Closed
DemiMarie opened this issue Mar 25, 2022 · 4 comments
Closed

Avoid blocking on external processes when devices are suspended #75

DemiMarie opened this issue Mar 25, 2022 · 4 comments

Comments

@DemiMarie
Copy link

When devices are suspended, it is not safe to block on other processes, as those processes may themselves be blocked waiting for a device to resume.

@zkabelac
Copy link
Contributor

Normally lvm2 is not waiting on other process while being in critical section - however if the 'error' path goes wrong lvm2 may possibly end with leaving critical section with suspended devices and then possibly even wait on other system tasks.

ATM we are considering such situation as unrecoverable and user has to reboot - until better fixes/solutions are found.

@DemiMarie
Copy link
Author

Normally lvm2 is not waiting on other process while being in critical section - however if the 'error' path goes wrong lvm2 may possibly end with leaving critical section with suspended devices and then possibly even wait on other system tasks.

What can cause this situation to happen?

@zkabelac
Copy link
Contributor

Normally lvm2 is not waiting on other process while being in critical section - however if the 'error' path goes wrong lvm2 may possibly end with leaving critical section with suspended devices and then possibly even wait on other system tasks.

What can cause this situation to happen?

Typically kernel bug or target code wrongly handling disk errors - basically very rare condition to ever happen. Also some seriously critical system resource constrains (i.e. running out of kernel memory)

@DemiMarie
Copy link
Author

Also some seriously critical system resource constrains (i.e. running out of kernel memory)

Theoretically lvm2 could retry on this error and hope that it is temporary, but I understand not wanting to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants