linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* kernel messages when "rmmod md" module
@ 2006-05-31  9:37 王志坤
  2006-06-01  2:22 ` Neil Brown
  0 siblings, 1 reply; 2+ messages in thread
From: 王志坤 @ 2006-05-31  9:37 UTC (permalink / raw)
  To: linux-raid, Neil Brown

hi,
	I build the linux-2.6.11 kernel using the default kernle config file in configs directory and just config "<M> RAID support". When i use "mdadm -S /dev/md0" to stop md, everything is ok! But when i "rmmod md", kernel prints messages as follow.
 
Debug: sleeping function called from invalid context at kernel/workqueue.c:264
in_atomic():1, irqs_disabled():0
 [<c013bbf4>] flush_workqueue+0x1a/0x27
 [<c029ec2f>] blk_cleanup_queue+0x30/0x78
 [<c021eb5d>] kref_put+0x29/0x8c
 [<e11e50d1>] mddev_put+0xad/0x133 [md]
 [<c021df71>] kobject_put+0x1e/0x22
 [<e11ec802>] md_exit+0x1ce/0x2b3 [md]
 [<c014a059>] __try_stop_module+0x27/0x3e
 [<c014a098>] try_stop_module+0x28/0x2d
 [<c014a248>] sys_delete_module+0x13b/0x180
 [<c0108ac4>] do_syscall_trace+0x10b/0x14c
 [<c010384d>] syscall_call+0x7/0xb

    I add some debug message in the md.c and find "md_exit" function calls "mddev_put" function. After "mddev_put" function calls "blk_put_queue(mddev->queue);", the kernel prints message as above.
	I have noticed that "do_md_stop" function calls "mddev->pers->stop(mddev);", and "stop" function has called "blk_sync_queue(mddev->queue);"
 
	Would anybody give me some suggestions? Thanks!


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

* Re: kernel messages when "rmmod md" module
  2006-05-31  9:37 kernel messages when "rmmod md" module 王志坤
@ 2006-06-01  2:22 ` Neil Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Neil Brown @ 2006-06-01  2:22 UTC (permalink / raw)
  To: 王志坤; +Cc: linux-raid

On Wednesday May 31, raidwang@gmail.com wrote:
> hi,
> 	I build the linux-2.6.11 kernel using the default kernle config file in configs directory and just config "<M> RAID support". When i use "mdadm -S /dev/md0" to stop md, everything is ok! But when i "rmmod md", kernel prints messages as follow.
>  
> Debug: sleeping function called from invalid context at kernel/workqueue.c:264
> in_atomic():1, irqs_disabled():0
>  [<c013bbf4>] flush_workqueue+0x1a/0x27
>  [<c029ec2f>] blk_cleanup_queue+0x30/0x78
>  [<c021eb5d>] kref_put+0x29/0x8c
>  [<e11e50d1>] mddev_put+0xad/0x133 [md]
>  [<c021df71>] kobject_put+0x1e/0x22
>  [<e11ec802>] md_exit+0x1ce/0x2b3 [md]
>  [<c014a059>] __try_stop_module+0x27/0x3e
>  [<c014a098>] try_stop_module+0x28/0x2d
>  [<c014a248>] sys_delete_module+0x13b/0x180
>  [<c0108ac4>] do_syscall_trace+0x10b/0x14c
>  [<c010384d>] syscall_call+0x7/0xb
> 
>     I add some debug message in the md.c and find "md_exit" function calls "mddev_put" function. After "mddev_put" function calls "blk_put_queue(mddev->queue);", the kernel prints message as above.
> 	I have noticed that "do_md_stop" function calls "mddev->pers->stop(mddev);", and "stop" function has called "blk_sync_queue(mddev->queue);"
>  
> 	Would anybody give me some suggestions? Thanks!

You should always work with the latest kernel.
That problem was fixed recently in

 http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=926ce2d8a7d446c720faec9d8c5105eeb04bcf7a

NeilBrown

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

end of thread, other threads:[~2006-06-01  2:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-31  9:37 kernel messages when "rmmod md" module 王志坤
2006-06-01  2:22 ` Neil Brown

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).