summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-08-09 11:25:41 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2012-08-09 16:24:42 +0200
commitb8a6efbcc03dd21cfc765176c3e406075bfa1e02 (patch)
tree9fa6ee2020e2c93d6692d39403a5f0914e1ae0c9
parent1f1c664b78d5f8464e0bbee5a00402cad93c7029 (diff)
downloadlvm2-b8a6efbcc03dd21cfc765176c3e406075bfa1e02.tar.gz
lvm2-b8a6efbcc03dd21cfc765176c3e406075bfa1e02.tar.xz
lvm2-b8a6efbcc03dd21cfc765176c3e406075bfa1e02.zip
thin: fix condition for kernels without discards
Report warning if the kernel is not support given discards settings. (In this case the behavior is equal to IGNORE.)
-rw-r--r--WHATS_NEW1
-rw-r--r--lib/thin/thin.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index c7d3a2d5..b0fa32fd 100644
--- 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
=================================
diff --git a/lib/thin/thin.c b/lib/thin/thin.c
index 25c1947b..d95b68ea 100644
--- a/lib/thin/thin.c
+++ b/lib/thin/thin.c
@@ -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).");