linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] md - 2 of 2 - Fix module ref counting for md.
@ 2003-08-15  1:41 NeilBrown
  0 siblings, 0 replies; only message in thread
From: NeilBrown @ 2003-08-15  1:41 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-raid

### Comments for ChangeSet

We don't need to explicit count references say:
 refcounting already happens for opens of /dev/md?
 when an array is active, a daughter module is loaded which
   locks "md" in.
We just need to make sure we clean up properly on unload.

Also, xor needs a null module_exit so that it can be unloaded.

 ----------- Diffstat output ------------
 ./drivers/md/md.c  |    3 +--
 ./drivers/md/xor.c |    3 +++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff ./drivers/md/md.c~current~ ./drivers/md/md.c
--- ./drivers/md/md.c~current~	2003-08-15 11:34:14.000000000 +1000
+++ ./drivers/md/md.c	2003-08-15 11:34:14.000000000 +1000
@@ -179,7 +179,6 @@ static void mddev_put(mddev_t *mddev)
 		mddev_map[mdidx(mddev)] = NULL;
 		blk_put_queue(mddev->queue);
 		kfree(mddev);
-		MOD_DEC_USE_COUNT;
 	}
 	spin_unlock(&all_mddevs_lock);
 }
@@ -201,7 +200,6 @@ static mddev_t * mddev_find(int unit)
 		mddev_map[unit] = new;
 		list_add(&new->all_mddevs, &all_mddevs);
 		spin_unlock(&all_mddevs_lock);
-		MOD_INC_USE_COUNT;
 		return new;
 	}
 	spin_unlock(&all_mddevs_lock);
@@ -3590,6 +3588,7 @@ static __exit void md_exit(void)
 		if (!disks[i])
 			continue;
 		mddev = disk->private_data;
+		export_array(mddev);
 		del_gendisk(disk);
 		put_disk(disk);
 		mddev_put(mddev);

diff ./drivers/md/xor.c~current~ ./drivers/md/xor.c
--- ./drivers/md/xor.c~current~	2003-08-15 11:34:14.000000000 +1000
+++ ./drivers/md/xor.c	2003-08-15 11:34:14.000000000 +1000
@@ -134,7 +134,10 @@ calibrate_xor_block(void)
 	return 0;
 }
 
+static __exit void xor_exit(void) { }
+
 EXPORT_SYMBOL(xor_block);
 MODULE_LICENSE("GPL");
 
 module_init(calibrate_xor_block);
+module_exit(xor_exit);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-08-15  1:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-15  1:41 [PATCH] md - 2 of 2 - Fix module ref counting for md NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).