From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kevin P. Fleming" Date: Tue, 04 May 2004 03:06:44 +0000 Subject: Re: Linux software RAID vs. udev Message-Id: <409708C4.6070905@backtobasicsmgmt.com> List-Id: References: <4092FCA6.2020103@backtobasicsmgmt.com> <16534.64452.67783.81354@cse.unsw.edu.au> In-Reply-To: <16534.64452.67783.81354@cse.unsw.edu.au> MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: hotplug Cc: neilb@cse.unsw.edu.au TmVpbCBCcm93biB3cm90ZToKCj4gY2F0Y2gtMjIuICBtZGFkbSBuZWVkZWQgdGhlIGRldmljZSB0 byBwcmUtZXhpc3QuICBUaGF0IGlzIGhvdyB0aGUgbWQKPiBkcml2ZXIgd29ya3MuCj4gCj4gTWF5 YmUgdWRldiBuZWVkcyB0byBiZSB0YXVnaHQgdG8gYmUgbW9yZSBvcGVuIG1pbmRlZCBhYm91dCB0 aGVzZQo+IHRoaW5ncy4KCk9LLCBpdCBhcHBlYXJzIHRoYXQgdGhlIHJvb3QgY2F1c2Ugb2YgdGhp cyBwcm9ibGVtIGlzIHRoYXQgdWRldiBvbmx5IApjcmVhdGVzIGRldmljZSBub2RlcyBmb3IgZ2Vu ZGlza3MgdGhhdCBoYXZlIGJlZW4gY3JlYXRlZC9yZWdpc3RlcmVkLCAKYmVjYXVzZSB0aGF0J3Mg dGhlIG9ubHkgd2F5IGl0IGNhbiBsZWFybiBhYm91dCB0aGVpciBleGlzdGVuY2UuIEFmdGVyIAps b29raW5nIHRocm91Z2ggdGhlIG1kIGRyaXZlciwgSSBkb24ndCBldmVuIHNlZSBob3cgdGhlIGZp cnN0IHVuaXQgKG1kMCkgCmlzIGdldHRpbmcgcmVnaXN0ZXJlZCBieSBkZWZhdWx0LCB1bmxlc3Mg Zm9yIHNvbWUgcmVhc29uIHRoZSBibG9jayBsYXllciAKaXMgY2FsbGluZyBtZF9wcm9iZSBmb3Ig dW5pdCAwIHdpdGhvdXQgZXZlbiBiZWluZyBhc2tlZCB0by4KClJlZ2FyZGxlc3MsIHRoaXMgaXMg YSBiaWcgaXNzdWUgaW4gdGhlIGhvdHBsdWcgd29ybGQsIGFsdGhvdWdoIGl0J3MgaW4gCm5vIHdh eSB0aGUgbWQgZHJpdmVyJ3MgZmF1bHQgOi0pIEluIHRoZSBsb29wIGRyaXZlciwgaXQganVzdCBh bGxvY2F0ZXMgCmFsbCBpdHMgZ2VuZGlza3MgYXQgaW5pdCgpIHRpbWUsIHdoaWNoIGlzIGZpbmUg d2hlbiBpdCBvbmx5IHN1cHBvcnRzIDggCihvciBhIHNtYWxsaXNoIG51bWJlcikgb2YgZGV2aWNl cy4gSG93ZXZlciwgaWYgdGhlIG1kIGRyaXZlciBkaWQgdGhhdCBpdCAKd291bGQgYWxsb2NhdGUg NTEyIGdlbmRpc2tzIGFuZCBhbGwgdGhlIGF0dGVuZGFudCBtZCBzdHJ1Y3R1cmVzIHdoaWNoIAp3 b3VsZCBiZSBleHRyZW1lbHkgd2FzdGVmdWwuCgpIeXBvdGhldGljYWxseSBzcGVha2luZywgaG93 IHdvdWxkIHlvdSBmZWVsIGFib3V0IGEgc29sdXRpb24gd2hlcmUgdGhlIAptZCBkcml2ZXIgYWxz byBleHBvc2VkIGEgc2luZ2xlICJjb250cm9sIiBkZXZpY2UgKGNoYXJhY3RlciBkZXZpY2UgCnBy ZXN1bWFibHkpIHdoZXJlIG1kYWRtIGNvdWxkIGRvIGFsbCBpdHMgbWFjaGluYXRpb25zPyBTb21l dGhpbmcgbGlrZSAKdGhlIGRldmljZS1tYXBwZXIgY29udHJvbCBpbnRlcmZhY2UgaXMgd2hhdCBJ J20gZW52aXNpb25pbmcgaGVyZSwgCmFsdGhvdWdoIHRoaXMgc3RhcnRzIHRvIGdldCBpbnRvIHRo ZSBkbS9tZCBvdmVybGFwIGFyZWEuLi4KCkknbGwgbW92ZSB0aGlzIGRpc2N1c3Npb24gdG8gdGhl IGxpbnV4LWhvdHBsdWcgbGlzdDsgdGhlcmUgaGFzIHRvIGJlIGEgCnNvbHV0aW9uIHRvIHRoaXMg cHJvYmxlbSBzb21ld2hlcmUgOi0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGlzIFNGLk5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6 IE9yYWNsZSAxMGcKR2V0IGNlcnRpZmllZCBvbiB0aGUgaG90dGVzdCB0aGluZyBldmVyIHRvIGhp dCB0aGUgbWFya2V0Li4uIE9yYWNsZSAxMGcuIApUYWtlIGFuIE9yYWNsZSAxMGcgY2xhc3Mgbm93 LCBhbmQgd2UnbGwgZ2l2ZSB5b3UgdGhlIGV4YW0gRlJFRS4gCmh0dHA6Ly9hZHMub3Nkbi5jb20v P2FkX2lkMTQ5JmFsbG9jX2lkgTY2Jm9wPWNsaWNrCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkxpbnV4LWhvdHBsdWctZGV2ZWwgbWFpbGluZyBsaXN0ICBo dHRwOi8vbGludXgtaG90cGx1Zy5zb3VyY2Vmb3JnZS5uZXQKTGludXgtaG90cGx1Zy1kZXZlbEBs aXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMv bGlzdGluZm8vbGludXgtaG90cGx1Zy1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kevin P. Fleming" Subject: Re: Linux software RAID vs. udev Date: Mon, 03 May 2004 20:06:44 -0700 Sender: linux-raid-owner@vger.kernel.org Message-ID: <409708C4.6070905@backtobasicsmgmt.com> References: <4092FCA6.2020103@backtobasicsmgmt.com> <16534.64452.67783.81354@cse.unsw.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <16534.64452.67783.81354@cse.unsw.edu.au> To: hotplug Cc: neilb@cse.unsw.edu.au List-Id: linux-raid.ids Neil Brown wrote: > catch-22. mdadm needed the device to pre-exist. That is how the md > driver works. > > Maybe udev needs to be taught to be more open minded about these > things. OK, it appears that the root cause of this problem is that udev only creates device nodes for gendisks that have been created/registered, because that's the only way it can learn about their existence. After looking through the md driver, I don't even see how the first unit (md0) is getting registered by default, unless for some reason the block layer is calling md_probe for unit 0 without even being asked to. Regardless, this is a big issue in the hotplug world, although it's in no way the md driver's fault :-) In the loop driver, it just allocates all its gendisks at init() time, which is fine when it only supports 8 (or a smallish number) of devices. However, if the md driver did that it would allocate 512 gendisks and all the attendant md structures which would be extremely wasteful. Hypothetically speaking, how would you feel about a solution where the md driver also exposed a single "control" device (character device presumably) where mdadm could do all its machinations? Something like the device-mapper control interface is what I'm envisioning here, although this starts to get into the dm/md overlap area... I'll move this discussion to the linux-hotplug list; there has to be a solution to this problem somewhere :-)