public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.5.70 add_disk(disk) re-registering disk->queue->elevator.kobj (bug?!)
@ 2003-06-03 18:33 Lou Langholtz
  2003-06-03 19:07 ` Andrew Morton
  0 siblings, 1 reply; 8+ messages in thread
From: Lou Langholtz @ 2003-06-03 18:33 UTC (permalink / raw)
  To: linux-kernel

What am I missing (or is something in the block handling code actually 
seriously wrong)?

In linux-2.5.70/drivers/block/genhd.c the add_disk(disk) logic seems 
wrong because if disk->queue is shared by a few disk's, then that shared 
queue's elevator is re-registered via the call to 
elv_register_queue(disk) which calls down to 
kobject_register(disk->queue->elevator.kobj). Or perhaps the block 
handling logic was changed such that disks don't share the same 
request_queue anymore. If so, then a few drivers (like nbd) need to be 
updated to use a seperate request_queue per disk. If the block handling 
code wasn't however changed this way though and struct gendisk objects 
can still share the same request_queue then it seems a lot of other 
logic todo with elv_register_queue() is also scrogged. Like shouldn't 
disk->kobj.parent be set to kobject_get(&disk->queue->elevator.kobj) 
instead of the reverse that the 2.5.70 code does? If so, then all the 
deallocation code (called from del_gendisk(disk)) needs to be reversed 
and changed around too. Seems like so much wrong logic that it's my 
reading of the code that's at fault instead. Help!?

CC me on any email as I don't read the lkml regularly. ldl@aros.net

Thanks!!

Louis D. Langholtz


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

end of thread, other threads:[~2003-06-04 15:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-03 18:33 2.5.70 add_disk(disk) re-registering disk->queue->elevator.kobj (bug?!) Lou Langholtz
2003-06-03 19:07 ` Andrew Morton
2003-06-04  0:29   ` Lou Langholtz
2003-06-04  0:56     ` viro
2003-06-04 16:08       ` Patrick Mochel
2003-06-04  1:00     ` Andrew Morton
2003-06-04  1:06       ` viro
2003-06-04 16:07         ` Lou Langholtz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox