All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] Return fail if lv_deactivate did not removed device from kernel.
@ 2009-09-17 15:25 Milan Broz
  2009-09-28 19:32 ` Alasdair G Kergon
  0 siblings, 1 reply; 2+ messages in thread
From: Milan Broz @ 2009-09-17 15:25 UTC (permalink / raw)
  To: lvm-devel

Return fail if lv_deactivate did not removed device from kernel.

lv_deactivate now returns always success, because tree deactivation
functions (see dm_tree_deactivate_children) always returns success.

Because code should return failure in lv_deactivate at least,
fix it by checking for device existence after real deactivation call.

(After discussion this was preferred solution to dm tree function rewrite
which affects snapshots and mirrors.)

Signed-off-by: Milan Broz <mbroz@redhat.com>
---
 lib/activate/activate.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index aa75e5b..724c1fe 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1017,6 +1017,8 @@ int lv_deactivate(struct cmd_context *cmd, const char *lvid_s)
 	memlock_dec();
 	fs_unlock();
 
+	if (!lv_info(cmd, lv, &info, 1, 0) || info.exists)
+		r = 0;
 out:
 	if (lv)
 		vg_release(lv->vg);




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-09-28 19:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-17 15:25 [PATCH 1/3] Return fail if lv_deactivate did not removed device from kernel Milan Broz
2009-09-28 19:32 ` Alasdair G Kergon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.