Date: Fri, 9 Apr 2010 16:50:02 GMT From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: freebsd-geom@FreeBSD.org Subject: Re: kern/145452: [geom] [panic] panic in geom_part_mbr when undoing destroy command Message-ID: <201004091650.o39Go2Uw039267@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/145452; it has been noted by GNATS. From: Andrey V. Elsukov <bu7cher@yandex.ru> To: bug-followup@freebsd.org Cc: Marcel Moolenaar <xcllnt@mac.com> Subject: Re: kern/145452: [geom] [panic] panic in geom_part_mbr when undoing destroy command Date: Fri, 09 Apr 2010 20:31:19 +0400 ------==--bound.20366.web44.yandex.ru Content-Transfer-Encoding: 7bit Content-Type: text/plain Hi, I wrote the patch that fix the problem. Also I added fix to schemes which use some info about geometry. -- WBR, Andrey V. Elsukov ------==--bound.20366.web44.yandex.ru Content-Disposition: attachment; filename="geom_part.patch.txt" Content-Transfer-Encoding: base64 Content-Type: text/plain; name="geom_part.patch.txt" SW5kZXg6IGdfcGFydF9wYzk4LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0X3BjOTguYwkocmV2aXNp b24gMjA2NDIzKQorKysgZ19wYXJ0X3BjOTguYwkod29ya2luZyBjb3B5KQpAQCAtMzk1LDYgKzQy Myw5IEBAIGdfcGFydF9wYzk4X3JlYWQoc3RydWN0IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBz CiAJaWYgKGJ1ZiA9PSBOVUxMKQogCQlyZXR1cm4gKGVycm9yKTsKIAorCWlmIChiYXNldGFibGUt PmdwdF9zZWN0b3JzID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0 X2luaXRfZ2VvbWV0cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJh c2V0YWJsZS0+Z3B0X2hlYWRzKTsKIAljeWwgPSBiYXNldGFibGUtPmdwdF9oZWFkcyAqIGJhc2V0 YWJsZS0+Z3B0X3NlY3RvcnM7CiAKIAliY29weShidWYsIHRhYmxlLT5ib290LCBzaXplb2YodGFi bGUtPmJvb3QpKTsKSW5kZXg6IGdfcGFydF92dG9jOC5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdfcGFydF92 dG9jOC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfdnRvYzguYwkod29ya2luZyBjb3B5 KQpAQCAtMzY2LDYgKzM4OSw5IEBAIGdfcGFydF92dG9jOF9yZWFkKHN0cnVjdCBnX3BhcnRfdGFi bGUgKmJhc2V0YWJsZSwKIAlnX2ZyZWUoYnVmKTsKIAogCW1zaXplID0gcHAtPm1lZGlhc2l6ZSAv IHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3JzID09IDAgfHwgYmFz ZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0cnkobXNpemUsICZi YXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0X2hlYWRzKTsKIAog CXNlY3RvcnMgPSBiZTE2ZGVjKCZ0YWJsZS0+dnRvYy5uc2Vjcyk7CiAJaWYgKHNlY3RvcnMgPCAx KQpJbmRleDogZ19wYXJ0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0LmgJKHJldmlzaW9uIDIwNjQy MykKKysrIGdfcGFydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDcgQEAgc3RydWN0 IGdfcGFydF9wYXJtcyB7CiB9OwogCiB2b2lkIGdfcGFydF9nZW9tZXRyeV9oZWFkcyhvZmZfdCwg dV9pbnQsIG9mZl90ICosIHVfaW50ICopOwordm9pZCBnX3BhcnRfaW5pdF9nZW9tZXRyeShvZmZf dCAsIHVfaW50ICosIHVfaW50ICopOwogCiBpbnQgZ19wYXJ0X21vZGV2ZW50KG1vZHVsZV90LCBp bnQsIHN0cnVjdCBnX3BhcnRfc2NoZW1lICopOwogCkluZGV4OiBnX3BhcnRfYnNkLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ19wYXJ0X2JzZC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfYnNkLmMJ KHdvcmtpbmcgY29weSkKQEAgLTM0MSw2ICszNTcsOSBAQCBnX3BhcnRfYnNkX3JlYWQoc3RydWN0 IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBzdAogCXBwID0gY3AtPnByb3ZpZGVyOwogCXRhYmxl ID0gKHN0cnVjdCBnX3BhcnRfYnNkX3RhYmxlICopYmFzZXRhYmxlOwogCW1zaXplID0gcHAtPm1l ZGlhc2l6ZSAvIHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3JzID09 IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0cnko bXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0X2hl YWRzKTsKIAogCXRhYmxlLT5iYmFyZWEgPSBnX3JlYWRfZGF0YShjcCwgMCwgQkJTSVpFLCAmZXJy b3IpOwogCWlmICh0YWJsZS0+YmJhcmVhID09IE5VTEwpCkluZGV4OiBnX3BhcnRfZWJyLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ19wYXJ0X2Vici5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfZWJy LmMJKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw2ICs0NTUsOSBAQCBnX3BhcnRfZWJyX3JlYWQoc3Ry dWN0IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBzdAogCXBwID0gY3AtPnByb3ZpZGVyOwogCXRh YmxlID0gKHN0cnVjdCBnX3BhcnRfZWJyX3RhYmxlICopYmFzZXRhYmxlOwogCW1zaXplID0gcHAt Pm1lZGlhc2l6ZSAvIHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3Jz ID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0 cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0 X2hlYWRzKTsKIAogCWxiYSA9IDA7CiAJd2hpbGUgKDEpIHsKSW5kZXg6IGdfcGFydC5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGdfcGFydC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnQuYwkod29ya2lu ZyBjb3B5KQpAQCAtMTgwLDQ2ICsxODAsNTMgQEAgZ19wYXJ0X2dlb21ldHJ5X2hlYWRzKG9mZl90 IGJsb2NrcywgdV9pbnQgc2VjdG9ycywKIAl9CiB9CiAKK3ZvaWQKK2dfcGFydF9pbml0X2dlb21l dHJ5KG9mZl90IGJsb2NrcywgdV9pbnQgKnNlY3RvcnMsIHVfaW50ICpoZWFkcykKK3sKKwlzdGF0 aWMgdV9pbnQgY2FuZGlkYXRlX3NlY3RvcnNbXSA9IHsgMSwgOSwgMTcsIDMzLCA2MywgMCB9Owor CW9mZl90IGNocywgYmVzdGNocyA9IDA7CisJdV9pbnQgaCwgczsKKwlpbnQgaWR4OworCisJKmhl YWRzID0gKnNlY3RvcnMgPSAwOworCWZvciAoaWR4ID0gMDsgY2FuZGlkYXRlX3NlY3RvcnNbaWR4 XSAhPSAwOyBpZHgrKykgeworCQlzID0gY2FuZGlkYXRlX3NlY3RvcnNbaWR4XTsKKwkJZ19wYXJ0 X2dlb21ldHJ5X2hlYWRzKGJsb2NrcywgcywgJmNocywgJmgpOworCQlpZiAoY2hzID09IDApCisJ CQljb250aW51ZTsKKwkJLyoKKwkJICogUHJlZmVyIGEgZ2VvbWV0cnkgd2l0aCBzZWN0b3JzID4g MSwgYnV0IG9ubHkgaWYKKwkJICogaXQgZG9lc24ndCBidW1wIGRvd24gdGhlIG51bWJ2ZXIgb2Yg aGVhZHMgdG8gMS4KKwkJICovCisJCWlmIChjaHMgPiBiZXN0Y2hzIHx8IChjaHMgPT0gYmVzdGNo cyAmJiBoID4gMSAmJgorCQkgICAgKnNlY3RvcnMgPT0gMSkpIHsKKwkJCWJlc3RjaHMgPSBjaHM7 CisJCQkqaGVhZHMgPSBoOworCQkJKnNlY3RvcnMgPSBzOworCQl9CisJfQorCS8qCisJICogSWYg d2UgZGlkbid0IGZpbmQgYSBnZW9tZXRyeSBhdCBhbGwsIHRoZW4gdGhlIGRpc2sgaXMKKwkgKiB0 b28gYmlnLiBUaGlzIG1lYW5zIHdlIGNhbiB1c2UgdGhlIG1heGltdW0gbnVtYmVyIG9mCisJICog aGVhZHMgYW5kIHNlY3RvcnMuCisJICovCisJaWYgKGJlc3RjaHMgPT0gMCkgeworCQkqaGVhZHMg PSAyNTU7CisJCSpzZWN0b3JzID0gNjM7CisJfQorfQorCiBzdGF0aWMgdm9pZAogZ19wYXJ0X2dl b21ldHJ5KHN0cnVjdCBnX3BhcnRfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgZ19jb25zdW1lciAqY3As CiAgICAgb2ZmX3QgYmxvY2tzKQogewotCXN0YXRpYyB1X2ludCBjYW5kaWRhdGVfc2VjdG9yc1td ID0geyAxLCA5LCAxNywgMzMsIDYzLCAwIH07Ci0Jb2ZmX3QgY2hzLCBiZXN0Y2hzOwogCXVfaW50 IGhlYWRzLCBzZWN0b3JzOwotCWludCBpZHg7CiAKIAlpZiAoZ19nZXRhdHRyKCJHRU9NOjpmd3Nl Y3RvcnMiLCBjcCwgJnNlY3RvcnMpICE9IDAgfHwgc2VjdG9ycyA9PSAwIHx8CiAJICAgIGdfZ2V0 YXR0cigiR0VPTTo6ZndoZWFkcyIsIGNwLCAmaGVhZHMpICE9IDAgfHwgaGVhZHMgPT0gMCkgewog CQl0YWJsZS0+Z3B0X2ZpeGdlb20gPSAwOwotCQl0YWJsZS0+Z3B0X2hlYWRzID0gMDsKLQkJdGFi bGUtPmdwdF9zZWN0b3JzID0gMDsKLQkJYmVzdGNocyA9IDA7Ci0JCWZvciAoaWR4ID0gMDsgY2Fu ZGlkYXRlX3NlY3RvcnNbaWR4XSAhPSAwOyBpZHgrKykgewotCQkJc2VjdG9ycyA9IGNhbmRpZGF0 ZV9zZWN0b3JzW2lkeF07Ci0JCQlnX3BhcnRfZ2VvbWV0cnlfaGVhZHMoYmxvY2tzLCBzZWN0b3Jz LCAmY2hzLCAmaGVhZHMpOwotCQkJaWYgKGNocyA9PSAwKQotCQkJCWNvbnRpbnVlOwotCQkJLyoK LQkJCSAqIFByZWZlciBhIGdlb21ldHJ5IHdpdGggc2VjdG9ycyA+IDEsIGJ1dCBvbmx5IGlmCi0J CQkgKiBpdCBkb2Vzbid0IGJ1bXAgZG93biB0aGUgbnVtYnZlciBvZiBoZWFkcyB0byAxLgotCQkJ ICovCi0JCQlpZiAoY2hzID4gYmVzdGNocyB8fCAoY2hzID09IGJlc3RjaHMgJiYgaGVhZHMgPiAx ICYmCi0JCQkgICAgdGFibGUtPmdwdF9zZWN0b3JzID09IDEpKSB7Ci0JCQkJYmVzdGNocyA9IGNo czsKLQkJCQl0YWJsZS0+Z3B0X2hlYWRzID0gaGVhZHM7Ci0JCQkJdGFibGUtPmdwdF9zZWN0b3Jz ID0gc2VjdG9yczsKLQkJCX0KLQkJfQotCQkvKgotCQkgKiBJZiB3ZSBkaWRuJ3QgZmluZCBhIGdl b21ldHJ5IGF0IGFsbCwgdGhlbiB0aGUgZGlzayBpcwotCQkgKiB0b28gYmlnLiBUaGlzIG1lYW5z IHdlIGNhbiB1c2UgdGhlIG1heGltdW0gbnVtYmVyIG9mCi0JCSAqIGhlYWRzIGFuZCBzZWN0b3Jz LgotCQkgKi8KLQkJaWYgKGJlc3RjaHMgPT0gMCkgewotCQkJdGFibGUtPmdwdF9oZWFkcyA9IDI1 NTsKLQkJCXRhYmxlLT5ncHRfc2VjdG9ycyA9IDYzOwotCQl9CisJCWdfcGFydF9pbml0X2dlb21l dHJ5KGJsb2NrcywgJnRhYmxlLT5ncHRfc2VjdG9ycywKKwkJICAgICZ0YWJsZS0+Z3B0X2hlYWRz KTsKIAl9IGVsc2UgewogCQl0YWJsZS0+Z3B0X2ZpeGdlb20gPSAxOwogCQl0YWJsZS0+Z3B0X2hl YWRzID0gaGVhZHM7CkluZGV4OiBnX3BhcnRfbWJyLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0X21i ci5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfbWJyLmMJKHdvcmtpbmcgY29weSkKQEAg LTM4Niw2ICs0MTQsMTAgQEAgZ19wYXJ0X21icl9yZWFkKHN0cnVjdCBnX3BhcnRfdGFibGUgKmJh c2V0YWJsZSwgc3QKIAl0YWJsZSA9IChzdHJ1Y3QgZ19wYXJ0X21icl90YWJsZSAqKWJhc2V0YWJs ZTsKIAltc2l6ZSA9IHBwLT5tZWRpYXNpemUgLyBwcC0+c2VjdG9yc2l6ZTsKIAorCWlmIChiYXNl dGFibGUtPmdwdF9zZWN0b3JzID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJ Z19wYXJ0X2luaXRfZ2VvbWV0cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkg ICAgJmJhc2V0YWJsZS0+Z3B0X2hlYWRzKTsKKwogCWJ1ZiA9IGdfcmVhZF9kYXRhKGNwLCAwTCwg cHAtPnNlY3RvcnNpemUsICZlcnJvcik7CiAJaWYgKGJ1ZiA9PSBOVUxMKQogCQlyZXR1cm4gKGVy cm9yKTsK ------==--bound.20366.web44.yandex.ru--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004091650.o39Go2Uw039267>