[dm-devel] [PATCH] Do not process sysfs attributes when device is being destructed

Milan Broz mbroz at redhat.com
Sun May 31 20:55:00 UTC 2009


Do not process sysfs attributes when device is being destructed.

Otherwise code can cause 
  BUG_ON(test_bit(DMF_FREEING, &md->flags));
in dm_put() call.

Signed-off-by: Milan Broz <mbroz at redhat.com>
---
 drivers/md/dm.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f43b099..9d3595b 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1806,6 +1806,10 @@ struct mapped_device *dm_get_from_kobject(struct kobject *kobj)
 	if (&md->kobj != kobj)
 		return NULL;
 
+	if (test_bit(DMF_FREEING, &md->flags) ||
+	    test_bit(DMF_DELETING, &md->flags))
+		return NULL;
+
 	dm_get(md);
 	return md;
 }





More information about the dm-devel mailing list