Messages in this thread | | | Date | Tue, 14 Jan 2014 10:14:39 +0300 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH 1/7] zram: fix race between reset and flushing pending work |
| |
On (01/13/14 15:55), Andrew Morton wrote: [..] > > > > --- a/drivers/block/zram/zram_drv.c > > +++ b/drivers/block/zram/zram_drv.c > > @@ -553,14 +553,14 @@ static void zram_reset_device(struct zram *zram, bool reset_capacity) > > size_t index; > > struct zram_meta *meta; > > > > - flush_work(&zram->free_work); > > - > > down_write(&zram->init_lock); > > if (!zram->init_done) { > > up_write(&zram->init_lock); > > return; > > } > > > > + flush_work(&zram->free_work); > > + > > meta = zram->meta; > > zram->init_done = 0; > > This makes zram.lock nest inside zram.init_lock, which afaict is new > behaviour. > > That all seems OK and logical - has it been well tested with lockdep? >
Patches 1-7 Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
-ss
| |