A recent change made changes to the rbd_client_list be protected by
a spinlock. Unfortunately in rbd_put_client(), the lock is taken
before possibly dropping the last reference to an rbd_client, and on
the last reference that eventually calls flush_workqueue() which can
sleep.
The problem was fl
On Thu, 5 Apr 2012, Alex Elder wrote:
> A recent change made changes to the rbd_client_list be protected by
> a spinlock. Unfortunately in rbd_put_client(), the lock is taken
> before possibly dropping the last reference to an rbd_client, and on
> the last reference that eventually calls flush_wor