From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 2/4] sync_file: add replace and export some functionality Date: Tue, 14 Mar 2017 10:50:52 +1000 Message-ID: <20170314005054.7487-4-airlied@gmail.com> References: <20170314005054.7487-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170314005054.7487-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClVzaW5nIHN5bmNfZmlsZSB0 byBiYWNrIHZ1bGthbiBzZW1hcGhvcmVzIG1lYW5zIG5lZWQgdG8gcmVwbGFjZQp0aGUgZmVuY2Ug dW5kZXJseWluZyB0aGUgc3luYyBmaWxlLiBUaGlzIHJlcGxhY2UgZnVuY3Rpb24gcmVtb3Zlcwp0 aGUgY2FsbGJhY2ssIHN3YXBzIHRoZSBmZW5jZSwgYW5kIHJldHVybnMgdGhlIG9sZCBvbmUuIFRo aXMKYWxzbyBleHBvcnRzIHRoZSBhbGxvYyBhbmQgZmRnZXQgZnVuY3Rpb25hbGl0eSBmb3IgdGhl IHNlbWFwaG9yZQp3cmFwcGVyIGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWly bGllZEByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyB8IDQ2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogaW5jbHVkZS9saW51 eC9zeW5jX2ZpbGUuaCAgIHwgIDUgKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3luY19m aWxlLmMgYi9kcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMKaW5kZXggMTA1ZjQ4Yy4uZGY3YmIz NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jCisrKyBiL2RyaXZlcnMv ZG1hLWJ1Zi9zeW5jX2ZpbGUuYwpAQCAtMjgsNyArMjgsMTQgQEAKIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBmaWxlX29wZXJhdGlvbnMgc3luY19maWxlX2ZvcHM7CiAKLXN0YXRpYyBzdHJ1Y3Qgc3lu Y19maWxlICpzeW5jX2ZpbGVfYWxsb2Modm9pZCkKKy8qKgorICogc3luY19maWxlX2FsbG9jKCkg LSBhbGxvY2F0ZSBhbiB1bmZlbmNlZCBzeW5jIGZpbGUKKyAqCisgKiBDcmVhdGVzIGEgc3luY19m aWxlLgorICogVGhlIHN5bmNfZmlsZSBjYW4gYmUgcmVsZWFzZWQgd2l0aCBmcHV0KHN5bmNfZmls ZS0+ZmlsZSkuCisgKiBSZXR1cm5zIHRoZSBzeW5jX2ZpbGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVy cm9yLgorICovCitzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfYWxsb2Modm9pZCkKIHsKIAlz dHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGU7CiAKQEAgLTU0LDYgKzYxLDcgQEAgc3RhdGljIHN0 cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9hbGxvYyh2b2lkKQogCWtmcmVlKHN5bmNfZmlsZSk7 CiAJcmV0dXJuIE5VTEw7CiB9CitFWFBPUlRfU1lNQk9MKHN5bmNfZmlsZV9hbGxvYyk7CiAKIHN0 YXRpYyB2b2lkIGZlbmNlX2NoZWNrX2NiX2Z1bmMoc3RydWN0IGRtYV9mZW5jZSAqZiwgc3RydWN0 IGRtYV9mZW5jZV9jYiAqY2IpCiB7CkBAIC05Miw3ICsxMDAsNyBAQCBzdHJ1Y3Qgc3luY19maWxl ICpzeW5jX2ZpbGVfY3JlYXRlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQogfQogRVhQT1JUX1NZ TUJPTChzeW5jX2ZpbGVfY3JlYXRlKTsKIAotc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNf ZmlsZV9mZGdldChpbnQgZmQpCitzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfZmRnZXQoaW50 IGZkKQogewogCXN0cnVjdCBmaWxlICpmaWxlID0gZmdldChmZCk7CiAKQEAgLTEwOCw2ICsxMTYs NyBAQCBzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlX2ZkZ2V0KGludCBmZCkKIAlm cHV0KGZpbGUpOwogCXJldHVybiBOVUxMOwogfQorRVhQT1JUX1NZTUJPTChzeW5jX2ZpbGVfZmRn ZXQpOwogCiAvKioKICAqIHN5bmNfZmlsZV9nZXRfZmVuY2UgLSBnZXQgdGhlIGZlbmNlIHJlbGF0 ZWQgdG8gdGhlIHN5bmNfZmlsZSBmZApAQCAtMTI1LDEzICsxMzQsNDAgQEAgc3RydWN0IGRtYV9m ZW5jZSAqc3luY19maWxlX2dldF9mZW5jZShpbnQgZmQpCiAJaWYgKCFzeW5jX2ZpbGUpCiAJCXJl dHVybiBOVUxMOwogCisJbXV0ZXhfbG9jaygmc3luY19maWxlLT5sb2NrKTsKIAlmZW5jZSA9IGRt YV9mZW5jZV9nZXQoc3luY19maWxlLT5mZW5jZSk7CisJbXV0ZXhfdW5sb2NrKCZzeW5jX2ZpbGUt PmxvY2spOwogCWZwdXQoc3luY19maWxlLT5maWxlKTsKIAogCXJldHVybiBmZW5jZTsKIH0KIEVY UE9SVF9TWU1CT0woc3luY19maWxlX2dldF9mZW5jZSk7CiAKKy8qKgorICogc3luY19maWxlX3Jl cGxhY2VfZmVuY2UgLSByZXBsYWNlIHRoZSBmZW5jZSByZWxhdGVkIHRvIHRoZSBzeW5jX2ZpbGUK KyAqIEBzeW5jX2ZpbGU6CSBzeW5jIGZpbGUgdG8gcmVwbGFjZSBmZW5jZSBpbgorICogQGZlbmNl OiBmZW5jZSB0byByZXBsYWNlIHdpdGggKG9yIE5VTEwgZm9yIG5vIGZlbmNlKS4KKyAqIFJldHVy bnMgcHJldmlvdXMgZmVuY2UuCisgKi8KK3N0cnVjdCBkbWFfZmVuY2UgKnN5bmNfZmlsZV9yZXBs YWNlX2ZlbmNlKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSwKKwkJCQkJICBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZSkKK3sKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpyZXRfZmVuY2UgPSBOVUxMOwor CW11dGV4X2xvY2soJnN5bmNfZmlsZS0+bG9jayk7CisJaWYgKHN5bmNfZmlsZS0+ZmVuY2UpIHsK KwkJaWYgKHRlc3RfYml0KFBPTExfRU5BQkxFRCwgJnN5bmNfZmlsZS0+ZmVuY2UtPmZsYWdzKSkK KwkJCWRtYV9mZW5jZV9yZW1vdmVfY2FsbGJhY2soc3luY19maWxlLT5mZW5jZSwgJnN5bmNfZmls ZS0+Y2IpOworCQlyZXRfZmVuY2UgPSBzeW5jX2ZpbGUtPmZlbmNlOworCX0KKwlpZiAoZmVuY2Up CisJCXN5bmNfZmlsZS0+ZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KGZlbmNlKTsKKwllbHNlCisJCXN5 bmNfZmlsZS0+ZmVuY2UgPSBOVUxMOworCW11dGV4X3VubG9jaygmc3luY19maWxlLT5sb2NrKTsK KwlyZXR1cm4gcmV0X2ZlbmNlOworfQorRVhQT1JUX1NZTUJPTChzeW5jX2ZpbGVfcmVwbGFjZV9m ZW5jZSk7CisKIHN0YXRpYyBpbnQgc3luY19maWxlX3NldF9mZW5jZShzdHJ1Y3Qgc3luY19maWxl ICpzeW5jX2ZpbGUsCiAJCQkgICAgICAgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlcywgaW50IG51 bV9mZW5jZXMpCiB7CkBAIC0yOTIsOCArMzI4LDEwIEBAIHN0YXRpYyB2b2lkIHN5bmNfZmlsZV9m cmVlKHN0cnVjdCBrcmVmICprcmVmKQogCXN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSA9IGNv bnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3Qgc3luY19maWxlLAogCQkJCQkJICAgICBrcmVmKTsKIAot CWlmICh0ZXN0X2JpdChQT0xMX0VOQUJMRUQsICZzeW5jX2ZpbGUtPmZlbmNlLT5mbGFncykpCi0J CWRtYV9mZW5jZV9yZW1vdmVfY2FsbGJhY2soc3luY19maWxlLT5mZW5jZSwgJnN5bmNfZmlsZS0+ Y2IpOworCWlmIChzeW5jX2ZpbGUtPmZlbmNlKSB7CisJCWlmICh0ZXN0X2JpdChQT0xMX0VOQUJM RUQsICZzeW5jX2ZpbGUtPmZlbmNlLT5mbGFncykpCisJCQlkbWFfZmVuY2VfcmVtb3ZlX2NhbGxi YWNrKHN5bmNfZmlsZS0+ZmVuY2UsICZzeW5jX2ZpbGUtPmNiKTsKKwl9CiAJZG1hX2ZlbmNlX3B1 dChzeW5jX2ZpbGUtPmZlbmNlKTsKIAlrZnJlZShzeW5jX2ZpbGUpOwogfQpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaCBiL2luY2x1ZGUvbGludXgvc3luY19maWxlLmgKaW5k ZXggNWFlZjE3Zi4uOTUxMWE1NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUu aAorKysgYi9pbmNsdWRlL2xpbnV4L3N5bmNfZmlsZS5oCkBAIC01MCw3ICs1MCwxMCBAQCBzdHJ1 Y3Qgc3luY19maWxlIHsKIAogI2RlZmluZSBQT0xMX0VOQUJMRUQgRE1BX0ZFTkNFX0ZMQUdfVVNF Ul9CSVRTCiAKK3N0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9hbGxvYyh2b2lkKTsKIHN0cnVj dCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9jcmVhdGUoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpOwog c3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxlX2dldF9mZW5jZShpbnQgZmQpOwotCitzdHJ1Y3Qg c3luY19maWxlICpzeW5jX2ZpbGVfZmRnZXQoaW50IGZkKTsKK3N0cnVjdCBkbWFfZmVuY2UgKnN5 bmNfZmlsZV9yZXBsYWNlX2ZlbmNlKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSwKKwkJCQkJ ICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSk7CiAjZW5kaWYgLyogX0xJTlVYX1NZTkNfSCAqLwot LSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=