From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 05/13] block: move req_gap_{back, front}_merge to blk-merge.c Date: Tue, 4 Sep 2018 12:14:23 -0700 Message-ID: <20180904191431.20102-6-hch@lst.de> References: <20180904191431.20102-1-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180904191431.20102-1-hch@lst.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jens Axboe Cc: linux-block@vger.kernel.org, xen-devel@lists.xen.org, linux-arm-kernel@lists.infradead.org, Ming Lei List-Id: xen-devel@lists.xenproject.org S2VlcCBpdCBjbG9zZSB0byB0aGUgYWN0dWFsIHVzZXJzIGluc3RlYWQgb2YgZXhwb3NpbmcgdGhl IGZ1bmN0aW9uIHRvIGFsbApkcml2ZXJzLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3 aWcgPGhjaEBsc3QuZGU+Ci0tLQogYmxvY2svYmxrLW1lcmdlLmMgICAgICB8IDY1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9ibGtkZXYuaCB8 IDY5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9i bG9jay9ibGstbWVyZ2UuYyBiL2Jsb2NrL2Jsay1tZXJnZS5jCmluZGV4IGFhZWMzOGNjMzdiOC4u YWQ4YTIyNjM0N2E2IDEwMDY0NAotLS0gYS9ibG9jay9ibGstbWVyZ2UuYworKysgYi9ibG9jay9i bGstbWVyZ2UuYwpAQCAtMTIsNiArMTIsNzEgQEAKIAogI2luY2x1ZGUgImJsay5oIgogCisvKgor ICogQ2hlY2sgaWYgdGhlIHR3byBidmVjcyBmcm9tIHR3byBiaW9zIGNhbiBiZSBtZXJnZWQgdG8g b25lIHNlZ21lbnQuICBJZiB5ZXMsCisgKiBubyBuZWVkIHRvIGNoZWNrIGdhcCBiZXR3ZWVuIHRo ZSB0d28gYmlvcyBzaW5jZSB0aGUgMXN0IGJpbyBhbmQgdGhlIDFzdCBidmVjCisgKiBpbiB0aGUg Mm5kIGJpbyBjYW4gYmUgaGFuZGxlZCBpbiBvbmUgc2VnbWVudC4KKyAqLworc3RhdGljIGlubGlu ZSBib29sIGJpb3Nfc2Vnc19tZXJnZWFibGUoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCXN0 cnVjdCBiaW8gKnByZXYsIHN0cnVjdCBiaW9fdmVjICpwcmV2X2xhc3RfYnYsCisJCXN0cnVjdCBi aW9fdmVjICpuZXh0X2ZpcnN0X2J2KQoreworCWlmICghQklPVkVDX1BIWVNfTUVSR0VBQkxFKHBy ZXZfbGFzdF9idiwgbmV4dF9maXJzdF9idikpCisJCXJldHVybiBmYWxzZTsKKwlpZiAoIUJJT1ZF Q19TRUdfQk9VTkRBUlkocSwgcHJldl9sYXN0X2J2LCBuZXh0X2ZpcnN0X2J2KSkKKwkJcmV0dXJu IGZhbHNlOworCWlmIChwcmV2LT5iaV9zZWdfYmFja19zaXplICsgbmV4dF9maXJzdF9idi0+YnZf bGVuID4KKwkJCXF1ZXVlX21heF9zZWdtZW50X3NpemUocSkpCisJCXJldHVybiBmYWxzZTsKKwly ZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGlubGluZSBib29sIGJpb193aWxsX2dhcChzdHJ1Y3Qg cmVxdWVzdF9xdWV1ZSAqcSwKKwkJc3RydWN0IHJlcXVlc3QgKnByZXZfcnEsIHN0cnVjdCBiaW8g KnByZXYsIHN0cnVjdCBiaW8gKm5leHQpCit7CisJc3RydWN0IGJpb192ZWMgcGIsIG5iOworCisJ aWYgKCFiaW9faGFzX2RhdGEocHJldikgfHwgIXF1ZXVlX3ZpcnRfYm91bmRhcnkocSkpCisJCXJl dHVybiBmYWxzZTsKKworCS8qCisJICogRG9uJ3QgbWVyZ2UgaWYgdGhlIDFzdCBiaW8gc3RhcnRz IHdpdGggbm9uLXplcm8gb2Zmc2V0LCBvdGhlcndpc2UgaXQKKwkgKiBpcyBxdWl0ZSBkaWZmaWN1 bHQgdG8gcmVzcGVjdCB0aGUgc2cgZ2FwIGxpbWl0LiAgV2Ugd29yayBoYXJkIHRvCisJICogbWVy Z2UgYSBodWdlIG51bWJlciBvZiBzbWFsbCBzaW5nbGUgYmlvcyBpbiBjYXNlIG9mIG1rZnMuCisJ ICovCisJaWYgKHByZXZfcnEpCisJCWJpb19nZXRfZmlyc3RfYnZlYyhwcmV2X3JxLT5iaW8sICZw Yik7CisJZWxzZQorCQliaW9fZ2V0X2ZpcnN0X2J2ZWMocHJldiwgJnBiKTsKKwlpZiAocGIuYnZf b2Zmc2V0KQorCQlyZXR1cm4gdHJ1ZTsKKworCS8qCisJICogV2UgZG9uJ3QgbmVlZCB0byB3b3Jy eSBhYm91dCB0aGUgc2l0dWF0aW9uIHRoYXQgdGhlIG1lcmdlZCBzZWdtZW50CisJICogZW5kcyBp biB1bmFsaWduZWQgdmlydCBib3VuZGFyeToKKwkgKgorCSAqIC0gaWYgJ3BiJyBlbmRzIGFsaWdu ZWQsIHRoZSBtZXJnZWQgc2VnbWVudCBlbmRzIGFsaWduZWQKKwkgKiAtIGlmICdwYicgZW5kcyB1 bmFsaWduZWQsIHRoZSBuZXh0IGJpbyBtdXN0IGluY2x1ZGUKKwkgKiAgIG9uZSBzaW5nbGUgYnZl YyBvZiAnbmInLCBvdGhlcndpc2UgdGhlICduYicgY2FuJ3QKKwkgKiAgIG1lcmdlIHdpdGggJ3Bi JworCSAqLworCWJpb19nZXRfbGFzdF9idmVjKHByZXYsICZwYik7CisJYmlvX2dldF9maXJzdF9i dmVjKG5leHQsICZuYik7CisJaWYgKGJpb3Nfc2Vnc19tZXJnZWFibGUocSwgcHJldiwgJnBiLCAm bmIpKQorCQlyZXR1cm4gZmFsc2U7CisJcmV0dXJuIF9fYnZlY19nYXBfdG9fcHJldihxLCAmcGIs IG5iLmJ2X29mZnNldCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCByZXFfZ2FwX2JhY2tfbWVy Z2Uoc3RydWN0IHJlcXVlc3QgKnJlcSwgc3RydWN0IGJpbyAqYmlvKQoreworCXJldHVybiBiaW9f d2lsbF9nYXAocmVxLT5xLCByZXEsIHJlcS0+YmlvdGFpbCwgYmlvKTsKK30KKworc3RhdGljIGlu bGluZSBib29sIHJlcV9nYXBfZnJvbnRfbWVyZ2Uoc3RydWN0IHJlcXVlc3QgKnJlcSwgc3RydWN0 IGJpbyAqYmlvKQoreworCXJldHVybiBiaW9fd2lsbF9nYXAocmVxLT5xLCBOVUxMLCBiaW8sIHJl cS0+YmlvKTsKK30KKwogc3RhdGljIHN0cnVjdCBiaW8gKmJsa19iaW9fZGlzY2FyZF9zcGxpdChz dHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKIAkJCQkJIHN0cnVjdCBiaW8gKmJpbywKIAkJCQkJIHN0 cnVjdCBiaW9fc2V0ICpicywKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmggYi9p bmNsdWRlL2xpbnV4L2Jsa2Rldi5oCmluZGV4IGJjNTM0Yzg1NzM0NC4uYjdlNjc2YmIwMWJjIDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxr ZGV2LmgKQEAgLTE2OTUsNzUgKzE2OTUsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgYnZlY19nYXBf dG9fcHJldihzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKIAlyZXR1cm4gX19idmVjX2dhcF90b19w cmV2KHEsIGJwcnYsIG9mZnNldCk7CiB9CiAKLS8qCi0gKiBDaGVjayBpZiB0aGUgdHdvIGJ2ZWNz IGZyb20gdHdvIGJpb3MgY2FuIGJlIG1lcmdlZCB0byBvbmUgc2VnbWVudC4KLSAqIElmIHllcywg bm8gbmVlZCB0byBjaGVjayBnYXAgYmV0d2VlbiB0aGUgdHdvIGJpb3Mgc2luY2UgdGhlIDFzdCBi aW8KLSAqIGFuZCB0aGUgMXN0IGJ2ZWMgaW4gdGhlIDJuZCBiaW8gY2FuIGJlIGhhbmRsZWQgaW4g b25lIHNlZ21lbnQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgYm9vbCBiaW9zX3NlZ3NfbWVyZ2VhYmxl KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAotCQlzdHJ1Y3QgYmlvICpwcmV2LCBzdHJ1Y3QgYmlv X3ZlYyAqcHJldl9sYXN0X2J2LAotCQlzdHJ1Y3QgYmlvX3ZlYyAqbmV4dF9maXJzdF9idikKLXsK LQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShwcmV2X2xhc3RfYnYsIG5leHRfZmlyc3RfYnYp KQotCQlyZXR1cm4gZmFsc2U7Ci0JaWYgKCFCSU9WRUNfU0VHX0JPVU5EQVJZKHEsIHByZXZfbGFz dF9idiwgbmV4dF9maXJzdF9idikpCi0JCXJldHVybiBmYWxzZTsKLQlpZiAocHJldi0+Ymlfc2Vn X2JhY2tfc2l6ZSArIG5leHRfZmlyc3RfYnYtPmJ2X2xlbiA+Ci0JCQlxdWV1ZV9tYXhfc2VnbWVu dF9zaXplKHEpKQotCQlyZXR1cm4gZmFsc2U7Ci0JcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBp bmxpbmUgYm9vbCBiaW9fd2lsbF9nYXAoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCi0JCQkJc3Ry dWN0IHJlcXVlc3QgKnByZXZfcnEsCi0JCQkJc3RydWN0IGJpbyAqcHJldiwKLQkJCQlzdHJ1Y3Qg YmlvICpuZXh0KQotewotCWlmIChiaW9faGFzX2RhdGEocHJldikgJiYgcXVldWVfdmlydF9ib3Vu ZGFyeShxKSkgewotCQlzdHJ1Y3QgYmlvX3ZlYyBwYiwgbmI7Ci0KLQkJLyoKLQkJICogZG9uJ3Qg bWVyZ2UgaWYgdGhlIDFzdCBiaW8gc3RhcnRzIHdpdGggbm9uLXplcm8KLQkJICogb2Zmc2V0LCBv dGhlcndpc2UgaXQgaXMgcXVpdGUgZGlmZmljdWx0IHRvIHJlc3BlY3QKLQkJICogc2cgZ2FwIGxp bWl0LiBXZSB3b3JrIGhhcmQgdG8gbWVyZ2UgYSBodWdlIG51bWJlciBvZiBzbWFsbAotCQkgKiBz aW5nbGUgYmlvcyBpbiBjYXNlIG9mIG1rZnMuCi0JCSAqLwotCQlpZiAocHJldl9ycSkKLQkJCWJp b19nZXRfZmlyc3RfYnZlYyhwcmV2X3JxLT5iaW8sICZwYik7Ci0JCWVsc2UKLQkJCWJpb19nZXRf Zmlyc3RfYnZlYyhwcmV2LCAmcGIpOwotCQlpZiAocGIuYnZfb2Zmc2V0KQotCQkJcmV0dXJuIHRy dWU7Ci0KLQkJLyoKLQkJICogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCB0aGUgc2l0dWF0 aW9uIHRoYXQgdGhlCi0JCSAqIG1lcmdlZCBzZWdtZW50IGVuZHMgaW4gdW5hbGlnbmVkIHZpcnQg Ym91bmRhcnk6Ci0JCSAqCi0JCSAqIC0gaWYgJ3BiJyBlbmRzIGFsaWduZWQsIHRoZSBtZXJnZWQg c2VnbWVudCBlbmRzIGFsaWduZWQKLQkJICogLSBpZiAncGInIGVuZHMgdW5hbGlnbmVkLCB0aGUg bmV4dCBiaW8gbXVzdCBpbmNsdWRlCi0JCSAqICAgb25lIHNpbmdsZSBidmVjIG9mICduYicsIG90 aGVyd2lzZSB0aGUgJ25iJyBjYW4ndAotCQkgKiAgIG1lcmdlIHdpdGggJ3BiJwotCQkgKi8KLQkJ YmlvX2dldF9sYXN0X2J2ZWMocHJldiwgJnBiKTsKLQkJYmlvX2dldF9maXJzdF9idmVjKG5leHQs ICZuYik7Ci0KLQkJaWYgKCFiaW9zX3NlZ3NfbWVyZ2VhYmxlKHEsIHByZXYsICZwYiwgJm5iKSkK LQkJCXJldHVybiBfX2J2ZWNfZ2FwX3RvX3ByZXYocSwgJnBiLCBuYi5idl9vZmZzZXQpOwotCX0K LQotCXJldHVybiBmYWxzZTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIHJlcV9nYXBfYmFja19t ZXJnZShzdHJ1Y3QgcmVxdWVzdCAqcmVxLCBzdHJ1Y3QgYmlvICpiaW8pCi17Ci0JcmV0dXJuIGJp b193aWxsX2dhcChyZXEtPnEsIHJlcSwgcmVxLT5iaW90YWlsLCBiaW8pOwotfQotCi1zdGF0aWMg aW5saW5lIGJvb2wgcmVxX2dhcF9mcm9udF9tZXJnZShzdHJ1Y3QgcmVxdWVzdCAqcmVxLCBzdHJ1 Y3QgYmlvICpiaW8pCi17Ci0JcmV0dXJuIGJpb193aWxsX2dhcChyZXEtPnEsIE5VTEwsIGJpbywg cmVxLT5iaW8pOwotfQotCiBpbnQga2Jsb2NrZF9zY2hlZHVsZV93b3JrKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yayk7CiBpbnQga2Jsb2NrZF9zY2hlZHVsZV93b3JrX29uKGludCBjcHUsIHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yayk7CiBpbnQga2Jsb2NrZF9tb2RfZGVsYXllZF93b3JrX29uKGlu dCBjcHUsIHN0cnVjdCBkZWxheWVkX3dvcmsgKmR3b3JrLCB1bnNpZ25lZCBsb25nIGRlbGF5KTsK LS0gCjIuMTguMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=