--- drivers/md/dm-cache-target.c | 3 +++ 1 file changed, 3 insertions(+) Index: linux/drivers/md/dm-cache-target.c =================================================================== --- linux.orig/drivers/md/dm-cache-target.c +++ linux/drivers/md/dm-cache-target.c @@ -77,6 +77,7 @@ enum cache_mode { CM_READ_ONLY, /* metadata may not be changed */ }; +// Support 'ignore_discard' like thin. struct cache_features { enum cache_mode mode; bool write_through:1; @@ -1598,6 +1599,7 @@ static void init_features(struct cache_f cf->write_through = false; } +// Support ignore discards like thin static int parse_features(struct cache_args *ca, struct dm_arg_set *as, char **error) { @@ -1619,6 +1621,7 @@ static int parse_features(struct cache_a while (argc--) { arg = dm_shift_arg(as); +// FIXME Ban two conflicting args. In fact, why do we need both at all? if (!strcasecmp(arg, "writeback")) cf->write_through = false;