Hi Sergey,

On Sat, Nov 26, 2016 at 03:37:01PM +0900, Sergey Senozhatsky wrote:
> Hello Minchan,
> 
> On (11/25/16 17:35), Minchan Kim wrote:
> [..]
> > +static void zram_revalidate_disk(struct zram *zram)
> > +{
> > +   revalidate_disk(zram->disk);
> > +   zram->disk->queue->backing_dev_info.capabilities |=
> > +           BDI_CAP_STABLE_WRITES;
> > +}
> > +
> >  /*
> >   * Check if request is within bounds and aligned on zram logical blocks.
> >   */
> > @@ -1094,7 +1102,7 @@ static ssize_t disksize_store(struct device *dev,
> >     zram->comp = comp;
> >     zram->disksize = disksize;
> >     set_capacity(zram->disk, zram->disksize >> SECTOR_SHIFT);
> > -   revalidate_disk(zram->disk);
> > +   zram_revalidate_disk(zram);
> >     up_write(&zram->init_lock);
> >  
> >     return len;
> > @@ -1142,7 +1150,7 @@ static ssize_t reset_store(struct device *dev,
> >     /* Make sure all the pending I/O are finished */
> >     fsync_bdev(bdev);
> >     zram_reset_device(zram);
> > -   revalidate_disk(zram->disk);
> > +   zram_revalidate_disk(zram);
> >     bdput(bdev);
> >  
> >     mutex_lock(&bdev->bd_mutex);
> 
> why not set it just once, when we allocate queue/disk and configure both
> of them:  in zram_add()

I should have mentioned the reason.
The revalidate_disk reset the BDI_CAP_STABLE_WRITES.

Thanks.

Reply via email to