| Date | Sun, 18 Jul 2010 02:47:20 -0400 | From | Christoph Hellwig <> | Subject | Re: [RFC][PATCH 04/16] writeback: fix possible race when shutting down bdi |
| |
On Fri, Jul 16, 2010 at 03:45:00PM +0300, Artem Bityutskiy wrote: > From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> > > Current bdi code has the following race between 'bdi_wb_shutdown()' > and 'bdi_forker_thread()'. > > Initial condition: BDI_pending is cleaned, bdi has no writeback thread, > because it was inactive and exited, 'bdi_wb_shutdown()' and > 'bdi_forker_thread()' are executed concurrently.
Wouldn't it be better to have a per-bdi mutex to serialize thread creation and shutdown? And please also kill the bit wait in favour of a proper wait queue - the bit wait interface really is just a hack for structures that are very size sensitive, which the backing device is not.
|