]> sourceware.org Git - lvm2.git/commitdiff
thin: fix condition for kernels without discards
authorZdenek Kabelac <zkabelac@redhat.com>
Thu, 9 Aug 2012 09:25:41 +0000 (11:25 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Thu, 9 Aug 2012 14:24:42 +0000 (16:24 +0200)
Report warning if the kernel is not support given discards settings.
(In this case the behavior is equal to IGNORE.)

WHATS_NEW
lib/thin/thin.c

index c7d3a2d520320b5971dec9647025cf7d468eb295..b0fa32fd4b8685d54c57ec6481d4b18a6635f116 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,6 +1,7 @@
 Version 2.02.98
 =================================
   Use 'ignore' discards for thin metadata created with older versions.
+  Use proper condition to check for unsupported discards settings.
 
 Version 2.02.97 - 7th August 2012
 =================================
index 25c1947bf9f8da4b6c84483cc53c153f2c6b7cee..d95b68ea465a11136e8f435a6f2a9a575f8ea4ad 100644 (file)
@@ -276,13 +276,13 @@ static int _thin_pool_add_target_line(struct dev_manager *dm,
                                               seg->zero_new_blocks ? 0 : 1))
                return_0;
 
-       if ((seg->discards != THIN_DISCARDS_PASSDOWN) && (attr & THIN_FEATURE_DISCARDS)) {
+       if (attr & THIN_FEATURE_DISCARDS) {
                /* FIXME: Check whether underlying dev supports discards */
                if (!dm_tree_node_set_thin_pool_discard(node,
                                                        seg->discards == THIN_DISCARDS_IGNORE,
                                                        seg->discards == THIN_DISCARDS_NO_PASSDOWN))
                        return_0;
-       } else
+       } else if (seg->discards != THIN_DISCARDS_IGNORE)
                log_warn_suppress(_no_discards++, "WARNING: Thin pool target does "
                                  "not support discards (needs kernel >= 3.4).");
 
This page took 0.055431 seconds and 5 git commands to generate.