From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Date: Wed, 31 Mar 2004 19:59:38 +0000 Subject: [PATCH] keep device nodes during add Message-Id: <20040331195938.GA24269@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: linux-hotplug@vger.kernel.org VGhpcyBwYXRjaCBjaGVja3MgaWYgdGhlIG5vZGUgZG9lcyBhbHJlYWR5IGV4aXN0LiBJZiBzbywg a2VlcCBpdCBhbmQgcnVuCmp1c3QgYSBjaG1vZCBvbiBpdC4KcnVubmluZyB1ZGV2c3RhcnQgd2ls bCB1bmxpbmsgYWxsIGV4aXN0aW5nIG5vZGVzIChhdCBsZWFzdCBpdCBkb2VzIHRoYXQKaGVyZSku IFRoaXMgYnJlYWtzIGFwcGxpY2F0aW9ucyB0aGF0IGZvbGxvdyAvcHJvYy88cGlkPi9mZC8qLCBi ZWNhdXNlCnRoZSBpbm9kZSBoYXMgY2hhbmdlZC4KCkknbSBub3Qgc3VyZSB3aHkgdWRldiBtYWRl IHN1Y2ggYSBiaWcgZGVhbCBhYm91dCB0aGUgdW5saW5rLCBqdXN0IGRvIGl0PwoKLS0tIHVkZXYt Z2xpYmMtZGVidWcvdWRldi1hZGQuYwkyMDA0LTAzLTIyIDE2OjUyOjQ2LjAwMDAwMDAwMCArMDAw MAorKysgdWRldi1nbGliYy91ZGV2LWFkZC5jCTIwMDQtMDMtMjggMTk6MDY6MTguMDAwMDAwMDAw ICswMDAwCkBAIC0xMDUsOCArMTA1LDIyIEBAIHN0YXRpYyBpbnQgY3JlYXRlX3BhdGgoY2hhciAq ZmlsZSkKIAogc3RhdGljIGludCBtYWtlX25vZGUoY2hhciAqZmlsZW5hbWUsIGludCBtYWpvciwg aW50IG1pbm9yLCB1bnNpZ25lZCBpbnQgbW9kZSwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpCiB7CisJ c3RydWN0IHN0YXQgc3RhdHM7CiAJaW50IHJldHZhbDsKIAorCS8qIFVzZWQgdG8gdW5saW5rIGV4 aXN0aW5nIGZpbGVzIHRvIGVuc3VyZSB0aGF0IG91ciBuZXcgZmlsZS9zeW1saW5rIGlzIGNyZWF0 ZWQgKi8KKwlpZiAobHN0YXQoZmlsZW5hbWUsICZzdGF0cykgPSAwKSB7CisJCWlmICggKCgoc3Rh dHMuc3RfbW9kZSAmIFNfSUZNVCkgPSBTX0lGQkxLIHx8IChzdGF0cy5zdF9tb2RlICYgU19JRk1U KSA9IFNfSUZDSFIpICYmCisJCQkoc3RhdHMuc3RfcmRldiAhPSBtYWtlZGV2KG1ham9yLCBtaW5v cikpKSAmJgorCQkJKHN0YXRzLnN0X21vZGUgJiBTX0lGTVQpICE9IFNfSUZESVIpIHsKKwkJCQly ZXR2YWwgPSB1bmxpbmsoZmlsZW5hbWUpOworCQkJCWlmIChyZXR2YWwpIHsKKwkJCQkJZGJnKCJ1 bmxpbmsoJXMpIGZhaWxlZCB3aXRoIGVycm9yICclcyciLAorCQkJCQkgICAgZmlsZW5hbWUsIHN0 cmVycm9yKGVycm5vKSk7CisJCQkJfQorCQl9CisJfQorCiAJcmV0dmFsID0gbWtub2QoZmlsZW5h bWUsIG1vZGUsIG1ha2VkZXYobWFqb3IsIG1pbm9yKSk7CiAJaWYgKHJldHZhbCAhPSAwKSB7CiAJ CWRiZygibWtub2QoJXMsICUjbywgJXUsICV1KSBmYWlsZWQgd2l0aCBlcnJvciAnJXMnIiwKQEAg LTE2NiwyNCArMTgwLDYgQEAgc3RhdGljIHZvaWQgc2V0X3RvX2xvY2FsX3VzZXIoY2hhciAqdXNl cgogCWVuZHV0ZW50KCk7CiB9CiAKLS8qIFVzZWQgdG8gdW5saW5rIGV4aXN0aW5nIGZpbGVzIHRv IGVuc3VyZSB0aGF0IG91ciBuZXcgZmlsZS9zeW1saW5rIGlzIGNyZWF0ZWQgKi8KLXN0YXRpYyBp bnQgdW5saW5rX2VudHJ5KGNoYXIgKmZpbGVuYW1lKQotewotCXN0cnVjdCBzdGF0IHN0YXRzOwot CWludCByZXR2YWwgPSAwOwotCQotCWlmIChsc3RhdChmaWxlbmFtZSwgJnN0YXRzKSA9IDApIHsK LQkJaWYgKChzdGF0cy5zdF9tb2RlICYgU19JRk1UKSAhPSBTX0lGRElSKSB7Ci0JCQlyZXR2YWwg PSB1bmxpbmsoZmlsZW5hbWUpOwotCQkJaWYgKHJldHZhbCkgewotCQkJCWRiZygidW5saW5rKCVz KSBmYWlsZWQgd2l0aCBlcnJvciAnJXMnIiwKLQkJCQkgICAgZmlsZW5hbWUsIHN0cmVycm9yKGVy cm5vKSk7Ci0JCQl9Ci0JCX0KLQl9Ci0JcmV0dXJuIHJldHZhbDsKLX0KLQogc3RhdGljIGludCBj cmVhdGVfbm9kZShzdHJ1Y3QgdWRldmljZSAqZGV2LCBpbnQgZmFrZSkKIHsKIAljaGFyIGZpbGVu YW1lW05BTUVfU0laRV07CkBAIC0yNTQsNyArMjUwLDYgQEAgc3RhdGljIGludCBjcmVhdGVfbm9k ZShzdHJ1Y3QgdWRldmljZSAqZAogCX0KIAogCWlmICghZmFrZSkgewotCQl1bmxpbmtfZW50cnko ZmlsZW5hbWUpOwogCQlpbmZvKCJjcmVhdGluZyBkZXZpY2Ugbm9kZSAnJXMnIiwgZmlsZW5hbWUp OwogCQltYWtlX25vZGUoZmlsZW5hbWUsIGRldi0+bWFqb3IsIGRldi0+bWlub3IsIGRldi0+bW9k ZSwgdWlkLCBnaWQpOwogCX0gZWxzZSB7CkBAIC0yNzAsNyArMjY1LDYgQEAgc3RhdGljIGludCBj cmVhdGVfbm9kZShzdHJ1Y3QgdWRldmljZSAqZAogCQkJZm9yIChpID0gMTsgaSA8PSBkZXYtPnBh cnRpdGlvbnM7IGkrKykgewogCQkJCXN0cmZpZWxkY3B5KHBhcnRpdGlvbm5hbWUsIGZpbGVuYW1l KTsKIAkJCQlzdHJpbnRjYXQocGFydGl0aW9ubmFtZSwgaSk7Ci0JCQkJdW5saW5rX2VudHJ5KHBh cnRpdGlvbm5hbWUpOwogCQkJCW1ha2Vfbm9kZShwYXJ0aXRpb25uYW1lLCBkZXYtPm1ham9yLAog CQkJCQkgIGRldi0+bWlub3IgKyBpLCBkZXYtPm1vZGUsIHVpZCwgZ2lkKTsKIAkJCX0KQEAgLTMw NywxMSArMzAxLDkgQEAgc3RhdGljIGludCBjcmVhdGVfbm9kZShzdHJ1Y3QgdWRldmljZSAqZAog CiAJCXN0cmZpZWxkY2F0KGxpbmt0YXJnZXQsICZkZXYtPm5hbWVbdGFpbF0pOwogCi0JCWlmICgh ZmFrZSkKLQkJCXVubGlua19lbnRyeShmaWxlbmFtZSk7Ci0KIAkJZGJnKCJzeW1saW5rKCVzLCAl cykiLCBsaW5rdGFyZ2V0LCBmaWxlbmFtZSk7CiAJCWlmICghZmFrZSkgeworCQkJdW5saW5rKGZp bGVuYW1lKTsKIAkJCXJldHZhbCA9IHN5bWxpbmsobGlua3RhcmdldCwgZmlsZW5hbWUpOwogCQkJ aWYgKHJldHZhbCAhPSAwKQogCQkJCWRiZygic3ltbGluayglcywgJXMpIGZhaWxlZCB3aXRoIGVy cm9yICclcyciLAoKLS0gClVTQiBpcyBmb3IgbWljZSwgRmlyZVdpcmUgaXMgZm9yIG1lbiEKCnNV c2UgbElOVVggYWcsIG7DnFJOQkVSRwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhpcyBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5 OiBJQk0gTGludXggVHV0b3JpYWxzCkZyZWUgTGludXggdHV0b3JpYWwgcHJlc2VudGVkIGJ5IERh bmllbCBSb2JiaW5zLCBQcmVzaWRlbnQgYW5kIENFTyBvZgpHZW5Ub28gdGVjaG5vbG9naWVzLiBM ZWFybiBldmVyeXRoaW5nIGZyb20gZnVuZGFtZW50YWxzIHRvIHN5c3RlbQphZG1pbmlzdHJhdGlv bi5odHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZBQ3MCZhbGxvY19pZDYzOCZvcMxrCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LWhvdHBsdWctZGV2 ZWwgbWFpbGluZyBsaXN0ICBodHRwOi8vbGludXgtaG90cGx1Zy5zb3VyY2Vmb3JnZS5uZXQKTGlu dXgtaG90cGx1Zy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3Vy Y2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtaG90cGx1Zy1kZXZlbAo=