summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2019-10-29 15:21:11 +0000
committerJoe Thornber <ejt@redhat.com>2020-01-16 14:58:56 +0000
commit019fa6f8eec799ebc7a9b9c5b31354ff1717db12 (patch)
tree2368a624d34e41ecb8f3356e45ee0d18da107f2e
parent1e2e12f19c584c3568c255c5d89ed8aadbe61b9c (diff)
downloadlvm2-2020-01-16-back-port-bcache-changes.tar.gz
[bcache] bcache_invalidate_fd, only remove prefixes on success.2020-01-16-back-port-bcache-changes
-rw-r--r--lib/device/bcache.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/device/bcache.c b/lib/device/bcache.c
index 72cc59929..b64707ecc 100644
--- a/lib/device/bcache.c
+++ b/lib/device/bcache.c
@@ -1291,7 +1291,10 @@ bool bcache_invalidate_fd(struct bcache *cache, int fd)
it.success = true;
it.it.visit = _invalidate_v;
radix_tree_iterate(cache->rtree, k.bytes, k.bytes + sizeof(k.parts.fd), &it.it);
- radix_tree_remove_prefix(cache->rtree, k.bytes, k.bytes + sizeof(k.parts.fd));
+
+ if (it.success)
+ radix_tree_remove_prefix(cache->rtree, k.bytes, k.bytes + sizeof(k.parts.fd));
+
return it.success;
}