On 06/20/2017 06:38 AM, Maurizio Lombardi wrote:
Dne 16.6.2017 v 18:08 Douglas Miller napsal(a):
Just to respond to James' question on the cause. What I observed was a race condition between udevd (ses_init()) and a worker thread (do_scan_async()),
where the worker thread is creating the directories that are the target of the symlinks being created by udevd.
Something was happening when udevd caught up with the worker thread (so the target directory did not exist) and it seemed the worker thread either got preempted or
else just could not stay ahead of udevd. This means that udevd started failing to create symlinks even though the worker thread eventually got them all created.
I did observe what appeared to be preemption, as the creation of directories stopped until udevd finished failing all the (rest of the) symlinks.
Although there may have been other explanations for what I saw.
I am able to pass my testing with this patch. I don't see an official submit of this patch, but will respond to it when I see one.
Thanks Douglas for testing it, I will resubmit the patch if no one has any objections.
Maurizio.
I did not see any additional comments, and no objections. Is it time to
submit the new patch?
Thanks,
Doug