From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 07/13] block: simplify BIOVEC_PHYS_MERGEABLE Date: Tue, 4 Sep 2018 12:14:25 -0700 Message-ID: <20180904191431.20102-8-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 VHVybiB0aGUgbWFjcm8gaW50byBhbiBpbmxpbmUsIG1vdmUgaXQgdG8gYmxrLmggYW5kIHRha2Ug dGhlIFhlbiBjaGVjawppbnRvIHRoZSBjb3JlIGNvZGUgaW5zdGVhZCBvZiBkZWxlZ2F0aW5nIGl0 IHRvIGFyY2hpdGVjdHVyZXMuCgpBbHNvIHJlbmFtZSB0aGUgZnVuY3Rpb24gdG8gYmlvdmVjX3Bo eXNfbWVyZ2VhYmxlIGFzIHRoZXJlIGlzIG5vIG5lZWQKdG8gc2hvdXQuCgpTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KLS0tCiBhcmNoL2FybS9pbmNsdWRlL2Fz bS9pby5oICAgfCAgNCAtLS0tCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2lvLmggfCAgNCAtLS0t CiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9pby5oICAgfCAgMyAtLS0KIGJsb2NrL2Jpby5jICAgICAg ICAgICAgICAgICB8ICAyICstCiBibG9jay9ibGstaW50ZWdyaXR5LmMgICAgICAgfCAgNCArKy0t CiBibG9jay9ibGstbWVyZ2UuYyAgICAgICAgICAgfCAxMCArKysrKy0tLS0tCiBibG9jay9ibGsu aCAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKwogZHJpdmVycy94ZW4vYmlvbWVyZ2Uu YyAgICAgIHwgIDIgKy0KIGluY2x1ZGUvbGludXgvYmlvLmggICAgICAgICB8IDEzIC0tLS0tLS0t LS0tLS0KIDkgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vaW8uaCBiL2FyY2gvYXJtL2luY2x1 ZGUvYXNtL2lvLmgKaW5kZXggOTg1NWE0ZDQ4OTU2Li42YWU3Njc0ZGEwZDYgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2lvLmgKKysrIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vaW8u aApAQCAtNDU5LDEwICs0NTksNiBAQCBleHRlcm4gdm9pZCBwY2lfaW91bm1hcChzdHJ1Y3QgcGNp X2RldiAqZGV2LCB2b2lkIF9faW9tZW0gKmFkZHIpOwogCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMv aW8uaD4KIAotI2RlZmluZSBCSU9WRUNfUEhZU19NRVJHRUFCTEUodmVjMSwgdmVjMikJCQkJXAot CShfX0JJT1ZFQ19QSFlTX01FUkdFQUJMRSh2ZWMxLCB2ZWMyKSAmJgkJCQlcCi0JICgheGVuX2Rv bWFpbigpIHx8IHhlbl9iaW92ZWNfcGh5c19tZXJnZWFibGUodmVjMSwgdmVjMikpKQotCiAjaWZk ZWYgQ09ORklHX01NVQogI2RlZmluZSBBUkNIX0hBU19WQUxJRF9QSFlTX0FERFJfUkFOR0UKIGV4 dGVybiBpbnQgdmFsaWRfcGh5c19hZGRyX3JhbmdlKHBoeXNfYWRkcl90IGFkZHIsIHNpemVfdCBz aXplKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vaW8uaCBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vaW8uaAppbmRleCA5YmM2MjBjNDRkMzIuLjE4ZjZhZTZhNDNmMSAxMDA2 NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9pby5oCisrKyBiL2FyY2gvYXJtNjQvaW5j bHVkZS9hc20vaW8uaApAQCAtMjA1LDkgKzIwNSw1IEBAIGV4dGVybiBpbnQgdmFsaWRfbW1hcF9w aHlzX2FkZHJfcmFuZ2UodW5zaWduZWQgbG9uZyBwZm4sIHNpemVfdCBzaXplKTsKIAogZXh0ZXJu IGludCBkZXZtZW1faXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBmbik7CiAKLSNkZWZpbmUgQklP VkVDX1BIWVNfTUVSR0VBQkxFKHZlYzEsIHZlYzIpCQkJCVwKLQkoX19CSU9WRUNfUEhZU19NRVJH RUFCTEUodmVjMSwgdmVjMikgJiYJCQkJXAotCSAoIXhlbl9kb21haW4oKSB8fCB4ZW5fYmlvdmVj X3BoeXNfbWVyZ2VhYmxlKHZlYzEsIHZlYzIpKSkKLQogI2VuZGlmCS8qIF9fS0VSTkVMX18gKi8K ICNlbmRpZgkvKiBfX0FTTV9JT19IICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS9pby5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vaW8uaAppbmRleCAxOTNkYWU2ZDljNDUuLjIz MmQ4ZTllZThhMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaW8uaAorKysgYi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS9pby5oCkBAIC0zNzEsOSArMzcxLDYgQEAgZXh0ZXJuIGJvb2wg aXNfZWFybHlfaW9yZW1hcF9wdGVwKHB0ZV90ICpwdGVwKTsKIAogI2lmZGVmIENPTkZJR19YRU4K ICNpbmNsdWRlIDx4ZW4veGVuLmg+Ci0jZGVmaW5lIEJJT1ZFQ19QSFlTX01FUkdFQUJMRSh2ZWMx LCB2ZWMyKQkJCQlcCi0JKF9fQklPVkVDX1BIWVNfTUVSR0VBQkxFKHZlYzEsIHZlYzIpICYmCQkJ CVwKLQkgKCF4ZW5fZG9tYWluKCkgfHwgeGVuX2Jpb3ZlY19waHlzX21lcmdlYWJsZSh2ZWMxLCB2 ZWMyKSkpCiAjZW5kaWYJLyogQ09ORklHX1hFTiAqLwogCiAjZGVmaW5lIElPX1NQQUNFX0xJTUlU IDB4ZmZmZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmlvLmMgYi9ibG9jay9iaW8uYwppbmRleCBiMTI5 NjZlNDE1ZDMuLjdmNzIzMDE0MGI2NiAxMDA2NDQKLS0tIGEvYmxvY2svYmlvLmMKKysrIGIvYmxv Y2svYmlvLmMKQEAgLTcyOSw3ICs3MjksNyBAQCBpbnQgYmlvX2FkZF9wY19wYWdlKHN0cnVjdCBy ZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBwYWdlCiAJfQogCiAJLyog SWYgd2UgbWF5IGJlIGFibGUgdG8gbWVyZ2UgdGhlc2UgYmlvdmVjcywgZm9yY2UgYSByZWNvdW50 ICovCi0JaWYgKGJpby0+YmlfdmNudCA+IDEgJiYgKEJJT1ZFQ19QSFlTX01FUkdFQUJMRShidmVj LTEsIGJ2ZWMpKSkKKwlpZiAoYmlvLT5iaV92Y250ID4gMSAmJiBiaW92ZWNfcGh5c19tZXJnZWFi bGUoYnZlYy0xLCBidmVjKSkKIAkJYmlvX2NsZWFyX2ZsYWcoYmlvLCBCSU9fU0VHX1ZBTElEKTsK IAogIGRvbmU6CmRpZmYgLS1naXQgYS9ibG9jay9ibGstaW50ZWdyaXR5LmMgYi9ibG9jay9ibGst aW50ZWdyaXR5LmMKaW5kZXggNjEyMTYxMWUxMzE2Li4wZjcyNjc5MTY1MDkgMTAwNjQ0Ci0tLSBh L2Jsb2NrL2Jsay1pbnRlZ3JpdHkuYworKysgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKQEAgLTQ5 LDcgKzQ5LDcgQEAgaW50IGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3Rf cXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbykKIAliaW9fZm9yX2VhY2hfaW50ZWdyaXR5X3ZlYyhp diwgYmlvLCBpdGVyKSB7CiAKIAkJaWYgKHByZXYpIHsKLQkJCWlmICghQklPVkVDX1BIWVNfTUVS R0VBQkxFKCZpdnBydiwgJml2KSkKKwkJCWlmICghYmlvdmVjX3BoeXNfbWVyZ2VhYmxlKCZpdnBy diwgJml2KSkKIAkJCQlnb3RvIG5ld19zZWdtZW50OwogCiAJCQlpZiAoIUJJT1ZFQ19TRUdfQk9V TkRBUlkocSwgJml2cHJ2LCAmaXYpKQpAQCAtOTUsNyArOTUsNyBAQCBpbnQgYmxrX3JxX21hcF9p bnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywKIAli aW9fZm9yX2VhY2hfaW50ZWdyaXR5X3ZlYyhpdiwgYmlvLCBpdGVyKSB7CiAKIAkJaWYgKHByZXYp IHsKLQkJCWlmICghQklPVkVDX1BIWVNfTUVSR0VBQkxFKCZpdnBydiwgJml2KSkKKwkJCWlmICgh YmlvdmVjX3BoeXNfbWVyZ2VhYmxlKCZpdnBydiwgJml2KSkKIAkJCQlnb3RvIG5ld19zZWdtZW50 OwogCiAJCQlpZiAoIUJJT1ZFQ19TRUdfQk9VTkRBUlkocSwgJml2cHJ2LCAmaXYpKQpkaWZmIC0t Z2l0IGEvYmxvY2svYmxrLW1lcmdlLmMgYi9ibG9jay9ibGstbWVyZ2UuYwppbmRleCBhZDhhMjI2 MzQ3YTYuLjVlNjNlODI1OWY5MiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1lcmdlLmMKKysrIGIv YmxvY2svYmxrLW1lcmdlLmMKQEAgLTIxLDcgKzIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIGJp b3Nfc2Vnc19tZXJnZWFibGUoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCiAJCXN0cnVjdCBiaW8g KnByZXYsIHN0cnVjdCBiaW9fdmVjICpwcmV2X2xhc3RfYnYsCiAJCXN0cnVjdCBiaW9fdmVjICpu ZXh0X2ZpcnN0X2J2KQogewotCWlmICghQklPVkVDX1BIWVNfTUVSR0VBQkxFKHByZXZfbGFzdF9i diwgbmV4dF9maXJzdF9idikpCisJaWYgKCFiaW92ZWNfcGh5c19tZXJnZWFibGUocHJldl9sYXN0 X2J2LCBuZXh0X2ZpcnN0X2J2KSkKIAkJcmV0dXJuIGZhbHNlOwogCWlmICghQklPVkVDX1NFR19C T1VOREFSWShxLCBwcmV2X2xhc3RfYnYsIG5leHRfZmlyc3RfYnYpKQogCQlyZXR1cm4gZmFsc2U7 CkBAIC0xOTksNyArMTk5LDcgQEAgc3RhdGljIHN0cnVjdCBiaW8gKmJsa19iaW9fc2VnbWVudF9z cGxpdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKIAkJaWYgKGJ2cHJ2cCAmJiBibGtfcXVldWVf Y2x1c3RlcihxKSkgewogCQkJaWYgKHNlZ19zaXplICsgYnYuYnZfbGVuID4gcXVldWVfbWF4X3Nl Z21lbnRfc2l6ZShxKSkKIAkJCQlnb3RvIG5ld19zZWdtZW50OwotCQkJaWYgKCFCSU9WRUNfUEhZ U19NRVJHRUFCTEUoYnZwcnZwLCAmYnYpKQorCQkJaWYgKCFiaW92ZWNfcGh5c19tZXJnZWFibGUo YnZwcnZwLCAmYnYpKQogCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CiAJCQlpZiAoIUJJT1ZFQ19TRUdf Qk9VTkRBUlkocSwgYnZwcnZwLCAmYnYpKQogCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CkBAIC0zMzIs NyArMzMyLDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBfX2Jsa19yZWNhbGNfcnFfc2VnbWVudHMo c3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCiAJCQkJaWYgKHNlZ19zaXplICsgYnYuYnZfbGVuCiAJ CQkJICAgID4gcXVldWVfbWF4X3NlZ21lbnRfc2l6ZShxKSkKIAkJCQkJZ290byBuZXdfc2VnbWVu dDsKLQkJCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRSgmYnZwcnYsICZidikpCisJCQkJaWYg KCFiaW92ZWNfcGh5c19tZXJnZWFibGUoJmJ2cHJ2LCAmYnYpKQogCQkJCQlnb3RvIG5ld19zZWdt ZW50OwogCQkJCWlmICghQklPVkVDX1NFR19CT1VOREFSWShxLCAmYnZwcnYsICZidikpCiAJCQkJ CWdvdG8gbmV3X3NlZ21lbnQ7CkBAIC00MTQsNyArNDE0LDcgQEAgc3RhdGljIGludCBibGtfcGh5 c19jb250aWdfc2VnbWVudChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlv LAogCWJpb19nZXRfbGFzdF9idmVjKGJpbywgJmVuZF9idik7CiAJYmlvX2dldF9maXJzdF9idmVj KG54dCwgJm54dF9idik7CiAKLQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRSgmZW5kX2J2LCAm bnh0X2J2KSkKKwlpZiAoIWJpb3ZlY19waHlzX21lcmdlYWJsZSgmZW5kX2J2LCAmbnh0X2J2KSkK IAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAtNDM5LDcgKzQzOSw3IEBAIF9fYmxrX3NlZ21lbnRfbWFw X3NnKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvX3ZlYyAqYnZlYywKIAkJaWYg KCgqc2cpLT5sZW5ndGggKyBuYnl0ZXMgPiBxdWV1ZV9tYXhfc2VnbWVudF9zaXplKHEpKQogCQkJ Z290byBuZXdfc2VnbWVudDsKIAotCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShidnBydiwg YnZlYykpCisJCWlmICghYmlvdmVjX3BoeXNfbWVyZ2VhYmxlKGJ2cHJ2LCBidmVjKSkKIAkJCWdv dG8gbmV3X3NlZ21lbnQ7CiAJCWlmICghQklPVkVDX1NFR19CT1VOREFSWShxLCBidnBydiwgYnZl YykpCiAJCQlnb3RvIG5ld19zZWdtZW50OwpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLmggYi9ibG9j ay9ibGsuaAppbmRleCA2MzAzNWM5NTY4OWMuLmUzNjM5NWU0YzY4NiAxMDA2NDQKLS0tIGEvYmxv Y2svYmxrLmgKKysrIGIvYmxvY2svYmxrLmgKQEAgLTQsNiArNCw3IEBACiAKICNpbmNsdWRlIDxs aW51eC9pZHIuaD4KICNpbmNsdWRlIDxsaW51eC9ibGstbXEuaD4KKyNpbmNsdWRlIDx4ZW4veGVu Lmg+CiAjaW5jbHVkZSAiYmxrLW1xLmgiCiAKIC8qIEFtb3VudCBvZiB0aW1lIGluIHdoaWNoIGEg cHJvY2VzcyBtYXkgYmF0Y2ggcmVxdWVzdHMgKi8KQEAgLTE0OSw2ICsxNTAsMTYgQEAgc3RhdGlj IGlubGluZSB2b2lkIGJsa19xdWV1ZV9lbnRlcl9saXZlKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpx KQogCXBlcmNwdV9yZWZfZ2V0KCZxLT5xX3VzYWdlX2NvdW50ZXIpOwogfQogCitzdGF0aWMgaW5s aW5lIGJvb2wgYmlvdmVjX3BoeXNfbWVyZ2VhYmxlKGNvbnN0IHN0cnVjdCBiaW9fdmVjICp2ZWMx LAorCQljb25zdCBzdHJ1Y3QgYmlvX3ZlYyAqdmVjMikKK3sKKwlpZiAoYnZlY190b19waHlzKHZl YzEpICsgdmVjMS0+YnZfbGVuICE9IGJ2ZWNfdG9fcGh5cyh2ZWMyKSkKKwkJcmV0dXJuIGZhbHNl OworCWlmICh4ZW5fZG9tYWluKCkgJiYgIXhlbl9iaW92ZWNfcGh5c19tZXJnZWFibGUodmVjMSwg dmVjMikpCisJCXJldHVybiBmYWxzZTsKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGlubGlu ZSBib29sIF9fYnZlY19nYXBfdG9fcHJldihzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKIAkJc3Ry dWN0IGJpb192ZWMgKmJwcnYsIHVuc2lnbmVkIGludCBvZmZzZXQpCiB7CmRpZmYgLS1naXQgYS9k cml2ZXJzL3hlbi9iaW9tZXJnZS5jIGIvZHJpdmVycy94ZW4vYmlvbWVyZ2UuYwppbmRleCAzOTlj NGUzMGY3MjMuLmYzZmJiNzAwZjU2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vYmlvbWVyZ2Uu YworKysgYi9kcml2ZXJzL3hlbi9iaW9tZXJnZS5jCkBAIC0xLDcgKzEsNyBAQAogLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKICNpbmNsdWRlIDxsaW51eC9iaW8uaD4KLSNpbmNs dWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgorI2luY2x1ZGUgPHhl bi94ZW4uaD4KICNpbmNsdWRlIDx4ZW4vcGFnZS5oPgogCiBib29sIHhlbl9iaW92ZWNfcGh5c19t ZXJnZWFibGUoY29uc3Qgc3RydWN0IGJpb192ZWMgKnZlYzEsCmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2Jpby5oIGIvaW5jbHVkZS9saW51eC9iaW8uaAppbmRleCA1MTM3MTc0MGQyYTguLmUz ZDBhYmI2OTRkNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9iaW8uaAorKysgYi9pbmNsdWRl L2xpbnV4L2Jpby5oCkBAIC0xNDAsMTkgKzE0MCw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBiaW9f ZnVsbChzdHJ1Y3QgYmlvICpiaW8pCiAvKgogICogbWVyZ2UgaGVscGVycyBldGMKICAqLwotCi0v KiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIEJJT1ZFQ19QSFlTX01FUkdFQUJMRSAqLwotI2Rl ZmluZSBfX0JJT1ZFQ19QSFlTX01FUkdFQUJMRSh2ZWMxLCB2ZWMyKQlcCi0JKChidmVjX3RvX3Bo eXMoKHZlYzEpKSArICh2ZWMxKS0+YnZfbGVuKSA9PSBidmVjX3RvX3BoeXMoKHZlYzIpKSkKLQot LyoKLSAqIGFsbG93IGFyY2ggb3ZlcnJpZGUsIGZvciBlZyB2aXJ0dWFsaXplZCBhcmNoaXRlY3R1 cmVzIChwdXQgaW4gYXNtL2lvLmgpCi0gKi8KLSNpZm5kZWYgQklPVkVDX1BIWVNfTUVSR0VBQkxF Ci0jZGVmaW5lIEJJT1ZFQ19QSFlTX01FUkdFQUJMRSh2ZWMxLCB2ZWMyKQlcCi0JX19CSU9WRUNf UEhZU19NRVJHRUFCTEUodmVjMSwgdmVjMikKLSNlbmRpZgotCiAjZGVmaW5lIF9fQklPX1NFR19C T1VOREFSWShhZGRyMSwgYWRkcjIsIG1hc2spIFwKIAkoKChhZGRyMSkgfCAobWFzaykpID09ICgo KGFkZHIyKSAtIDEpIHwgKG1hc2spKSkKICNkZWZpbmUgQklPVkVDX1NFR19CT1VOREFSWShxLCBi MSwgYjIpIFwKLS0gCjIuMTguMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=