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

SPL: waiting for kernel to init #662

Closed
lundman opened this issue Oct 14, 2018 · 1 comment
Closed

SPL: waiting for kernel to init #662

lundman opened this issue Oct 14, 2018 · 1 comment
Labels

Comments

@lundman
Copy link
Contributor

lundman commented Oct 14, 2018

Reported by user on forum.

Mojave had a boot-panic situation where we would call wait before the kernel had been fully initialised, and current_process() returned NULL.

I added a delaying action to SPL to wait for current_process() to return !NULL before continuing SPL, with the thoughts that kexts are loaded asynchronously. But if boot stops on this message, it would indicate that we can in fact deadlock the kernel boot process.

Possible solutions:

  • Should we change spl_init to start a thread, and immediately return OK in parent, allowing the kernel to keep booting.

  • Should we not delay init, but rather fix the places we call wait (all condvars) and replace with sleep() calls untilcurrent_process works.

We might also consider ZFS starting up too early as well, in that SPL might still be waiting to start, but ZFS already tries to use calls in SPL.

@lundman lundman added the bug label Oct 14, 2018
@lundman
Copy link
Contributor Author

lundman commented Dec 11, 2018

openzfsonosx/spl@c3a671b

@lundman lundman closed this as completed Dec 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant