On Sun, Jul 29, 2018 at 04:03:41AM +0000, Bart Van Assche wrote:
On Thu, 2018-07-26 at 06:35 -0700, Tejun Heo wrote:
Making removal asynchronous this way sometimes causes issues because whether the user sees the device released or not is racy.
Hello Tejun,
How could this change cause any user-visible changes? My understanding is that any work queued with task_work_add() is executed before system call execution leaves kernel context and returns back to user space context.
Ah, you're right. This isn't workqueue. Hmm... yeah, needing to allocate sth in removal path is a bit icky but, it should be okay I guess. I *think* the kernfs active break/unbreak is likely gonna be cleaner tho.
Thanks.