diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-08-09 11:25:41 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-08-09 16:24:42 +0200 |
commit | b8a6efbcc03dd21cfc765176c3e406075bfa1e02 (patch) | |
tree | 9fa6ee2020e2c93d6692d39403a5f0914e1ae0c9 | |
parent | 1f1c664b78d5f8464e0bbee5a00402cad93c7029 (diff) | |
download | lvm2-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_NEW | 1 | ||||
-rw-r--r-- | lib/thin/thin.c | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -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)."); |