Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030372AbVIOFLE (ORCPT ); Thu, 15 Sep 2005 01:11:04 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030380AbVIOFLE (ORCPT ); Thu, 15 Sep 2005 01:11:04 -0400 Received: from zproxy.gmail.com ([64.233.162.198]:36882 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S1030372AbVIOFLB (ORCPT ); Thu, 15 Sep 2005 01:11:01 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:mime-version:content-type; b=lD+tylqSQhNTaC08BneZR7JJr0uhNSG1stMA4MtCrwIQvP6BxBFx4gkqJ1cB4nezZlTC6euKSaNZgKeYuk7Y9t8eq2t3EC//I6o1B0fUnBDPiD4A1vJ9v0I6qUoHux8rCUnR0IMKAOz0q3bLQPlD+Sa4xTSUBS2mbqIE2U14/ws= Message-ID: <355e5e5e05091422117157ea45@mail.gmail.com> Date: Thu, 15 Sep 2005 01:11:00 -0400 From: Lukasz Kosewski Reply-To: lkosewsk@gmail.com To: Jeff Garzik Subject: [PATCH 2.6.14-rc1 3/3] Add disk hotswap support to libata RESEND #3 Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_5304_27624521.1126761060425" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8493 Lines: 121 ------=_Part_5304_27624521.1126761060425 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Patch 3/3 for libata hotswapping. The sata_promise driver caught red handed using the new hotswapping API. Depends on patches 1 and 2.=20 More comments in patch header. Luke Kosewski ------=_Part_5304_27624521.1126761060425 Content-Type: text/x-patch; name="03-promise_hotswap_support-2.6.14-rc1.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="03-promise_hotswap_support-2.6.14-rc1.diff" MTUuMDkuMDUgICAgTHVrZSBLb3Nld3NraSAgIDxsa29zZXdza0BuaXQuY2E+CgoJKiBBIHBhdGNo IHRvIHNhdGFfcHJvbWlzZS5jIChkZXBlbmRlbnQgb24gcGF0Y2hlcyAxIGFuZCAyIGluIHRoaXMK CSAgc2VyaWVzKSB3aGljaCBtYWtlcyBpdCB1c2UgdGhlIGhvdHN3YXAgQVBJIGluIHBhdGNoIDIu ICBUaGUgUHJvbWlzZQoJICBjb250cm9sbGVycyBhcmUgZmFpcmx5IHNpbXBsZSBpbiB0ZXJtcyBv ZiB0aGVpciBob3RwbHVnIG1lY2hhbmlzbSwKCSAgc28gbm9uZSBvZiB0aGUgZnVua3kgJ2phbml0 b3InIGZ1bmN0aW9ucyBhcmUgdXNlZCBoZXJlLgoJICBhdGFfaG90cGx1Z19wbHVnIGlzIGNhbGxl ZCBvbiBhIHBsdWcgZXZlbnQsIGFuZCBhdGFfaG90cGx1Z191bnBsdWcgb24KCSAgYW4gdW5wbHVn LiAgU2ltcGxlLCBzaW1wbGUuCgkqIFBlbmRpbmcgc29tZSBjb25maXJtYXRpb24gYW5kIHN1Z2dl c3Rpb25zIGZyb20gSmltIFJhbXNheQoJICAoamltLnJhbXNheUBnbWFpbC5jb20pIHRoZSBpbnRl cnJ1cHQgaGFuZGxlciBtaWdodCBjaGFuZ2UgdG8gY2hlY2sgZm9yCgkgIERNQSBjb21tYW5kcyBj b21wbGV0aW5nIGFzIFdFTEwgYXMgaG90cGx1ZyBldmVudHMgaW4gdGhlIHNhbWUgcGFzcy4KCmRp ZmYgLXJwdU4gbGludXgtMi42LjE0LXJjMS9kcml2ZXJzL3Njc2kvc2F0YV9wcm9taXNlLmMgbGlu dXgtMi42LjE0LXJjMS1uZXcvZHJpdmVycy9zY3NpL3NhdGFfcHJvbWlzZS5jCi0tLSBsaW51eC0y LjYuMTQtcmMxL2RyaXZlcnMvc2NzaS9zYXRhX3Byb21pc2UuYwkyMDA1LTA5LTE0IDE5OjU3OjU0 LjAwMDAwMDAwMCAtMDQwMAorKysgbGludXgtMi42LjE0LXJjMS1uZXcvZHJpdmVycy9zY3NpL3Nh dGFfcHJvbWlzZS5jCTIwMDUtMDktMTQgMjA6MTY6MDkuMDAwMDAwMDAwIC0wNDAwCkBAIC0zMzIs MTAgKzMzMiw0MyBAQCBzdGF0aWMgdm9pZCBwZGNfcmVzZXRfcG9ydChzdHJ1Y3QgYXRhX3BvCiAJ cmVhZGwobW1pbyk7CS8qIGZsdXNoICovCiB9CiAKKy8qIE1hc2sgaG90cGx1ZyBpbnRlcnJ1cHRz IGZvciBvbmUgY2hhbm5lbCAoYXApICovCitzdGF0aWMgaW5saW5lIHZvaWQgcGRjX2Rpc2FibGVf Y2hhbm5lbF9ob3RwbHVnX2ludGVycnVwdHMoc3RydWN0IGF0YV9wb3J0ICphcCkKK3sKKwlzdHJ1 Y3QgcGRjX2hvc3RfcHJpdiAqaHAgPSBhcC0+aG9zdF9zZXQtPnByaXZhdGVfZGF0YTsKKwl2b2lk ICptbWlvID0gYXAtPmhvc3Rfc2V0LT5tbWlvX2Jhc2UgKyBocC0+aG90cGx1Z19vZmZzZXQgKyAy OworCisJdTggbWFza2ZsYWdzID0gcmVhZGIobW1pbyk7CisJbWFza2ZsYWdzIHw9ICgweDExIDw8 ICh1OClhcC0+aGFyZF9wb3J0X25vKTsKKwl3cml0ZWIobWFza2ZsYWdzLCBtbWlvKTsKK30KKwor LyogQ2xlYXIgYW5kIHVubWFzayBob3RwbHVnIGludGVycnVwdHMgZm9yIG9uZSBjaGFubmVsIChh cCkgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBwZGNfZW5hYmxlX2NoYW5uZWxfaG90cGx1Z19pbnRl cnJ1cHRzKHN0cnVjdCBhdGFfcG9ydCAqYXApCit7CisJc3RydWN0IHBkY19ob3N0X3ByaXYgKmhw ID0gYXAtPmhvc3Rfc2V0LT5wcml2YXRlX2RhdGE7CisJdm9pZCAqbW1pbyA9IGFwLT5ob3N0X3Nl dC0+bW1pb19iYXNlICsgaHAtPmhvdHBsdWdfb2Zmc2V0OworCisJLy9DbGVhciBjaGFubmVsIGhv dHBsdWcgaW50ZXJydXB0cworCXU4IG1hc2tmbGFncyA9IHJlYWRiKG1taW8pOworCW1hc2tmbGFn cyB8PSAoMHgxMSA8PCAodTgpYXAtPmhhcmRfcG9ydF9ubyk7CisJd3JpdGViKG1hc2tmbGFncywg bW1pbyk7CisKKy8qIENsZWFyIGFuZCB1bm1hc2sgaG90cGx1ZyBpbnRlcnJ1cHRzIGZvciBvbmUg Y2hhbm5lbCAoYXApICovCitzdGF0aWMgaW5saW5lIHZvaWQgcGRjX2VuYWJsZV9jaGFubmVsX2hv dHBsdWdfaW50ZXJydXB0cyhzdHJ1Y3QgYXRhX3BvcnQgKmFwKQoreworCXN0cnVjdCBwZGNfaG9z dF9wcml2ICpocCA9IGFwLT5ob3N0X3NldC0+cHJpdmF0ZV9kYXRhOworCXZvaWQgKm1taW8gPSBh cC0+aG9zdF9zZXQtPm1taW9fYmFzZSArIGhwLT5ob3RwbHVnX29mZnNldDsKKworCS8vQ2xlYXIg Y2hhbm5lbCBob3RwbHVnIGludGVycnVwdHMKKwl1OCBtYXNrZmxhZ3MgPSByZWFkYihtbWlvKTsK KwltYXNrZmxhZ3MgfD0gKDB4MTEgPDwgKHU4KWFwLT5oYXJkX3BvcnRfbm8pOworCXdyaXRlYiht YXNrZmxhZ3MsIG1taW8pOworCisJLy9Vbm1hc2sgY2hhbm5lbCBob3RwbHVnIGludGVycnVwdHMK KwltYXNrZmxhZ3MgPSByZWFkYihtbWlvICsgMik7CisJbWFza2ZsYWdzICY9IH4oMHgxMSA8PCAo dTgpYXAtPmhhcmRfcG9ydF9ubyk7CisJd3JpdGViKG1hc2tmbGFncywgbW1pbyArIDIpOworfQor CiBzdGF0aWMgdm9pZCBwZGNfc2F0YV9waHlfcmVzZXQoc3RydWN0IGF0YV9wb3J0ICphcCkKIHsK IAlwZGNfcmVzZXRfcG9ydChhcCk7Ci0Jc2F0YV9waHlfcmVzZXQoYXApOworCWlmIChhcC0+Zmxh Z3MgJiBBVEFfRkxBR19TQVRBX1JFU0VUKSB7CisJCXBkY19kaXNhYmxlX2NoYW5uZWxfaG90cGx1 Z19pbnRlcnJ1cHRzKGFwKTsKKwkJc2F0YV9waHlfcmVzZXQoYXApOworCQlwZGNfZW5hYmxlX2No YW5uZWxfaG90cGx1Z19pbnRlcnJ1cHRzKGFwKTsKKwl9IGVsc2UKKwkJc2F0YV9waHlfcmVzZXQo YXApOwogfQogCiBzdGF0aWMgdm9pZCBwZGNfcGF0YV9waHlfcmVzZXQoc3RydWN0IGF0YV9wb3J0 ICphcCkKQEAgLTQ4NSwxMSArNTE4LDEzIEBAIHN0YXRpYyB2b2lkIHBkY19pcnFfY2xlYXIoc3Ry dWN0IGF0YV9wb3IKIHN0YXRpYyBpcnFyZXR1cm5fdCBwZGNfaW50ZXJydXB0IChpbnQgaXJxLCB2 b2lkICpkZXZfaW5zdGFuY2UsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogezE1LjA5LjA1ICAgIEx1 a2UgS29zZXdza2kgICA8bGtvc2V3c2tAbml0LmNhPgoKCSogQSBwYXRjaCB0byBhZGQgYSBnZW5l cmFsLXB1cnBvc2UgaG90c3dhcCBmcmFtZXdvcmsgdG8gbGliYXRhLiAgVGhpcyBpcwoJICByZXNl bmQgIzMgd2hlcmVpbiB3ZSBoYXZlIGEgbmV3IEFQSSEgIERyaXZlciB3cml0ZXJzIGNhbGwKCSAg YXRhX2hvdHBsdWdfcGx1ZyBvciBhdGFfaG90cGx1Z191bnBsdWcgd2hlbiBhIHBsdWcvdW5wbHVn IGV2ZW50CgkgIG9jY3VycyAtIGl0IHRha2VzIGNhcmUgb2YgdGhlIHJlc3QuICBUaGUgaWRlYSBp cyB0byBtYWtlIHRoZSBzZXF1ZW5jZQoJICBvZiBldmVudHMgYXMgc3RyYWlnaHRmb3J3YXJkIGFz IHBvc3NpYmxlIGFuZCBub3QgY2x1dHRlciB0aGUgY29kZQoJICB3aXRoIGV4Y2VwdGlvbnM7IGFz IGEgcmVzdWx0LCBhIHNlcmllcyBvZiAnaG9va3MnIGNhbiBiZSBwcm92aWRlZCBhdAoJICBwb2lu dHMgaW4gdGhlIGNvZGUgZm9yIGRyaXZlcnMgdGhhdCBuZWVkIGl0IChzdWNoIGFzIHRoZSBTaWxp Y29uCgkgIEltYWdlIGRyaXZlcnMgd2hpY2ggbmVlZCBhIHJlc2V0IHBlcmZvcm1lZCBvbiBkZXZp Y2UgcmVtb3ZhbCkuICBTZWUKCSAgJ2hvdHBsdWdfKHVuKXBsdWdfamFuaXRvcicgZm9yIG1vcmUg aW5mby4KCSogVGhpcyBlZGl0aW9uIGlzIHZlcnkgc3RyZWFtbGluZWQuICBJIGxpa2UgaXQuICBB biBhcmVhIGZvciBpbXByb3ZlbWVudAoJICBtaWdodCBmYWNpbGl0YXRlIHRoZSByZW1vdmFsIG9m IHRoZSBhdGFfc2NzaV9wcmVwYXJlX3FjX2Fib3J0IGZ1bmN0aW9uCgkgIGluIGZhdm91ciBvZiBj aGFuZ2VzIHRvIGF0YV9xY19jb21wbGV0ZSwgYnV0IHRoYXQgY2FuIGJlIHVwIHRvIGRlYmF0ZS4K IAlzdHJ1Y3QgYXRhX2hvc3Rfc2V0ICpob3N0X3NldCA9IGRldl9pbnN0YW5jZTsKKwlzdHJ1Y3Qg cGRjX2hvc3RfcHJpdiAqaHAgPSBob3N0X3NldC0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBhdGFf cG9ydCAqYXA7CiAJdTMyIG1hc2sgPSAwOwogCXVuc2lnbmVkIGludCBpLCB0bXA7Ci0JdW5zaWdu ZWQgaW50IGhhbmRsZWQgPSAwOworCXVuc2lnbmVkIGludCBoYW5kbGVkID0gMCwgaG90cGx1Z19v ZmZzZXQgPSBocC0+aG90cGx1Z19vZmZzZXQ7CiAJdm9pZCBfX2lvbWVtICptbWlvX2Jhc2U7CisJ dTggcGx1Z2RhdGEsIG1hc2tmbGFnczsKIAogCVZQUklOVEsoIkVOVEVSXG4iKTsKIApAQCAtNTEz LDcgKzU0OCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBwZGNfaW50ZXJydXB0IChpbnQgaXIKIAlt YXNrICY9IDB4ZmZmZjsJCS8qIG9ubHkgMTYgdGFncyBwb3NzaWJsZSAqLwogCWlmICghbWFzaykg ewogCQlWUFJJTlRLKCJRVUlDSyBFWElUIDNcbiIpOwotCQlnb3RvIGRvbmVfaXJxOworCQlnb3Rv IHRyeV9ob3RwbHVnOwogCX0KIAogCXdyaXRlbChtYXNrLCBtbWlvX2Jhc2UgKyBQRENfSU5UX1NF UU1BU0spOwpAQCAtNTMyLDcgKzU2NywzNiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcGRjX2ludGVy cnVwdCAoaW50IGlyCiAJCX0KIAl9CiAKLQlWUFJJTlRLKCJFWElUXG4iKTsKKwlpZiAoaGFuZGxl ZCkgeworCQlWUFJJTlRLKCJFWElUIDRcbiIpOworCQlnb3RvIGRvbmVfaXJxOworCX0KKwordHJ5 X2hvdHBsdWc6CisJcGx1Z2RhdGEgPSByZWFkYihtbWlvX2Jhc2UgKyBob3RwbHVnX29mZnNldCk7 CisJbWFza2ZsYWdzID0gcmVhZGIobW1pb19iYXNlICsgaG90cGx1Z19vZmZzZXQgKyAyKTsKKwlw bHVnZGF0YSAmPSB+bWFza2ZsYWdzOworCWlmIChwbHVnZGF0YSkgeworCQl3cml0ZWIocGx1Z2Rh dGEsIG1taW9fYmFzZSArIGhvdHBsdWdfb2Zmc2V0KTsKKwkJZm9yIChpID0gMDsgaSA8IGhvc3Rf c2V0LT5uX3BvcnRzOyArK2kpIHsKKwkJCWFwID0gaG9zdF9zZXQtPnBvcnRzW2ldOworCQkJaWYg KCEoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU0FUQSkpCisJCQkJY29udGludWU7ICAvL05vIFBBVEEg c3VwcG9ydCBoZXJlLi4uIHlldAorCQkJLy8gQ2hlY2sgdW5wbHVnIGZsYWcKKwkJCWlmIChwbHVn ZGF0YSAmIDB4MSkgeworCQkJCS8qIERvIHN0dWZmIHJlbGF0ZWQgdG8gdW5wbHVnZ2luZyBhIGRl dmljZSAqLworCQkJCWF0YV9ob3RwbHVnX3VucGx1ZyhhcCk7CisJCQkJaGFuZGxlZCA9IDE7CisJ CQl9IGVsc2UgaWYgKChwbHVnZGF0YSA+PiA0KSAmIDB4MSkgeyAgLy9DaGVjayBwbHVnIGZsYWcK KwkJCQkvKiBEbyBzdHVmZiByZWxhdGVkIHRvIHBsdWdnaW5nIGluIGEgZGV2aWNlICovCisJCQkJ YXRhX2hvdHBsdWdfcGx1ZyhhcCk7CisJCQkJaGFuZGxlZCA9IDE7CisJCQl9CisJCQlwbHVnZGF0 YSA+Pj0gMTsKKwkJfQorCX0KKworCVZQUklOVEsoIkVYSVQgNVxuIik7CiAKIGRvbmVfaXJxOgog CXNwaW5fdW5sb2NrKCZob3N0X3NldC0+bG9jayk7CkBAIC02MzIsOSArNjk2LDkgQEAgc3RhdGlj IHZvaWQgcGRjX2hvc3RfaW5pdCh1bnNpZ25lZCBpbnQgYwogCXRtcCA9IHJlYWRsKG1taW8gKyBo b3RwbHVnX29mZnNldCk7CiAJd3JpdGVsKHRtcCB8IDB4ZmYsIG1taW8gKyBob3RwbHVnX29mZnNl dCk7CiAKLQkvKiBtYXNrIHBsdWcvdW5wbHVnIGludHMgKi8KKwkvKiB1bm1hc2sgcGx1Zy91bnBs dWcgaW50cyAqLwogCXRtcCA9IHJlYWRsKG1taW8gKyBob3RwbHVnX29mZnNldCk7Ci0Jd3JpdGVs KHRtcCB8IDB4ZmYwMDAwLCBtbWlvICsgaG90cGx1Z19vZmZzZXQpOworCXdyaXRlbCh0bXAgJiB+ MHhmZjAwMDAsIG1taW8gKyBob3RwbHVnX29mZnNldCk7CiAKIAkvKiByZWR1Y2UgVEJHIGNsb2Nr IHRvIDEzMyBNaHouICovCiAJdG1wID0gcmVhZGwobW1pbyArIFBEQ19UQkdfTU9ERSk7Cg== ------=_Part_5304_27624521.1126761060425-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/