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

Ease the requirement for job inhibit locks #1342

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

tbzatek
Copy link
Member

@tbzatek tbzatek commented Jan 21, 2025

By default every job object creation always acquired system inhibit lock for the whole duration of the object lifecycle. That proved to be a problem for certain type of operations and in general should be avoided for jobs not started by UDisks, yet with a corresponding job object published for convenience.

This adds a new no_inhibit argument to all the udisks_daemon_launch_ family of functions. This is a preparation for potentially new general option for most method calls to avoid placing inhibit locks.

Fixes #1174

Avoid placing system inhibit lock if desired.
…operations

UDisks publishes a new job object whenever it sees an array in sync,
repair or generally any other operation running. However this involves
acquiring and holding a system inhibit lock for the whole duration
of the operation, which for large disks may take hours or days.
Besides, mdraid resync is a restartable operation, defeating the purpose
for an inhibit lock.

This is also causing problems for installation environments where
UDisks is blocking post-installation reboot until the operation is done.
In certain use cases it might not be desirable or necessary to hold
a system inhibit lock since the mdraid sync operations are typically
restartable upon system restart.
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

Successfully merging this pull request may close these issues.

Udisksd inhibits screen lock
1 participant