dm: do not set 'discards_supported' in targets that do not need it
authorMike Snitzer <snitzer@redhat.com>
Thu, 16 Nov 2017 15:22:42 +0000 (10:22 -0500)
committerMike Snitzer <snitzer@redhat.com>
Thu, 16 Nov 2017 21:33:54 +0000 (16:33 -0500)
The DM target's 'discards_supported' flag is intended to act as an
override.  Meaning, even if the underlying storage doesn't support
discards the DM target will.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-era-target.c
drivers/md/dm-raid.c

index ba84b8d62cd00f00668006449c4d8f2b2c39b019..73a5c198113a6a95dd7c81e4471b433a5b53fe58 100644 (file)
@@ -1513,7 +1513,6 @@ static int era_ctr(struct dm_target *ti, unsigned argc, char **argv)
        ti->flush_supported = true;
 
        ti->num_discard_bios = 1;
-       ti->discards_supported = true;
        era->callbacks.congested_fn = era_is_congested;
        dm_table_add_target_callbacks(ti->table, &era->callbacks);
 
index a25eebd989969d9920b2936ab192b2da79f61c81..ea6eb96b50121e5ccd7a93211ac270615d3cbab2 100644 (file)
@@ -2887,9 +2887,6 @@ static void configure_discard_support(struct raid_set *rs)
        bool raid456;
        struct dm_target *ti = rs->ti;
 
-       /* Assume discards not supported until after checks below. */
-       ti->discards_supported = false;
-
        /*
         * XXX: RAID level 4,5,6 require zeroing for safety.
         */
@@ -2914,9 +2911,6 @@ static void configure_discard_support(struct raid_set *rs)
                }
        }
 
-       /* All RAID members properly support discards */
-       ti->discards_supported = true;
-
        /*
         * RAID1 and RAID10 personalities require bio splitting,
         * RAID0/4/5/6 don't and process large discard bios properly.