linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Please revert 5b479c91da90eef605f851508744bfe8269591a0 (md partition rescan)
@ 2007-05-10  0:37 Neil Brown
  2007-05-10  1:51 ` Linus Torvalds
  0 siblings, 1 reply; 7+ messages in thread
From: Neil Brown @ 2007-05-10  0:37 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, linux-raid, linux-kernel, David Greaves, Doug Ledford


Hi Linus,
 Could you please revert

    5b479c91da90eef605f851508744bfe8269591a0

It causes an oops when auto-detecting raid arrays, and it doesn't seem
easy to fix.
The array may not be 'open' when do_md_run is called, so bdev->bd_disk
might be NULL, so bd_set_size can oops.
I cannot really open the array (blkdev_get) at this point as I
deadlock on mddev->reconfig_mutex.
I could simply guard against bdev->bd_disk being NULL, but that is too
ugly as sometimes the partitions would be found, and sometimes not.

This whole approach of opening an md device before it has been
assembled just seems to get more and more painful.  I think I'm going
to have to come up with something clever to provide both backward
comparability with usage expectation, and sane integration into the
rest of the kernel.
Maybe if you open before the array is assembled you get a completely
different bdev somehow, and on array assembly, a new bdev, or gendisk
or something, gets swapped in so the next open finds it....

Anyway, if that patch can go I'd appreciate it.

Thanks,
NeilBrown

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

end of thread, other threads:[~2007-05-11  0:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-10  0:37 Please revert 5b479c91da90eef605f851508744bfe8269591a0 (md partition rescan) Neil Brown
2007-05-10  1:51 ` Linus Torvalds
2007-05-10 14:51   ` Jan Engelhardt
2007-05-10 14:59     ` Xavier Bestel
2007-05-10 16:48       ` Satyam Sharma
2007-05-11  0:36         ` H. Peter Anvin
2007-05-10 19:04     ` Andrew Morton

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