Reasons why I consider removing it (although I not 100% sure):
Currently the code suffers race-condition between parent opening device and child starting NBD_DO_IT. I'm not sure what the correct order is.
If nbd should be started before device open, then the code has a deadlock-ish appearance. When parent opens the device, nbd server is not already set up (userspace part of it), so possible r/w operations doesn't have a chance to succeed.
I don't understand why the code is needed. The comment also doesn't make it clear.
BUSE seems to run well without this part of code (kernel 4.17).
Reasons why I consider removing it (although I not 100% sure):
BUSE seems to run well without this part of code (kernel 4.17).