[lvm-devel] master - cache: never create new table entry for deleted cache
Zdenek Kabelac
zkabelac at fedoraproject.org
Tue Nov 11 12:32:51 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=9a6e3683a292adec96a8e2421c86f4aae4756797
Commit: 9a6e3683a292adec96a8e2421c86f4aae4756797
Parent: 42a3305ec7aac3b1b75098c5d1ea7fa9b92a0477
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Nov 11 11:00:51 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Nov 11 13:32:41 2014 +0100
cache: never create new table entry for deleted cache
---
lib/activate/dev_manager.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 5a07fad..4dc08d2 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -2678,6 +2678,10 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
uint32_t read_ahead = lv->read_ahead;
uint32_t read_ahead_flags = UINT32_C(0);
+ /* LV with pending delete is never put new into a table */
+ if (lv_is_pending_delete(lv) && !_cached_dm_info(dm->mem, dtree, lv, NULL))
+ return 1; /* Replace with error only when already exists */
+
if (lv_is_cache_pool(lv) &&
!dm_list_empty(&lv->segs_using_this_lv)) {
/* cache pool is 'meta' LV and does not have a real device node */
More information about the lvm-devel
mailing list