zram: set BDI_CAP_STABLE_WRITES once
[sfrench/cifs-2.6.git] / drivers / block / zram / zram_drv.c
index f149d3e612341d1f5e70797a8f62d0330fa3973d..d95bb8ce50928122cc2c8c00444fdaace10beab0 100644 (file)
@@ -122,14 +122,6 @@ static inline bool is_partial_io(struct bio_vec *bvec)
 }
 #endif
 
-static void zram_revalidate_disk(struct zram *zram)
-{
-       revalidate_disk(zram->disk);
-       /* revalidate_disk reset the BDI_CAP_STABLE_WRITES so set again */
-       zram->disk->queue->backing_dev_info->capabilities |=
-               BDI_CAP_STABLE_WRITES;
-}
-
 /*
  * Check if request is within bounds and aligned on zram logical blocks.
  */
@@ -1373,7 +1365,8 @@ static ssize_t disksize_store(struct device *dev,
        zram->comp = comp;
        zram->disksize = disksize;
        set_capacity(zram->disk, zram->disksize >> SECTOR_SHIFT);
-       zram_revalidate_disk(zram);
+
+       revalidate_disk(zram->disk);
        up_write(&zram->init_lock);
 
        return len;
@@ -1420,7 +1413,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);
-       zram_revalidate_disk(zram);
+       revalidate_disk(zram->disk);
        bdput(bdev);
 
        mutex_lock(&bdev->bd_mutex);
@@ -1539,6 +1532,7 @@ static int zram_add(void)
        /* zram devices sort of resembles non-rotational disks */
        queue_flag_set_unlocked(QUEUE_FLAG_NONROT, zram->disk->queue);
        queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, zram->disk->queue);
+
        /*
         * To ensure that we always get PAGE_SIZE aligned
         * and n*PAGE_SIZED sized I/O requests.
@@ -1563,6 +1557,8 @@ static int zram_add(void)
        if (ZRAM_LOGICAL_BLOCK_SIZE == PAGE_SIZE)
                blk_queue_max_write_zeroes_sectors(zram->disk->queue, UINT_MAX);
 
+       zram->disk->queue->backing_dev_info->capabilities |=
+                                       BDI_CAP_STABLE_WRITES;
        add_disk(zram->disk);
 
        ret = sysfs_create_group(&disk_to_dev(zram->disk)->kobj,