From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 619903EDAB5; Thu, 16 Apr 2026 17:35:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776360958; cv=none; b=VRR2TxxyWZpwIYXa49J8VvI0M2xRurq7I6riDE6NFmM8l4TxRWArKgsleegMAsx/2rT6yzlU3Go8QjFWvYtGXiiSVSXsF+yUg88TaD8p0x4BBkqSmCaXXzSkbppZPA65mVWEVC2Ng9FA71GxT7JQIEQwuAl9SgTWijZobSUwijE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776360958; c=relaxed/simple; bh=Y9ysc8sFsqqr4IX9UVY+V4JrzEE2rNGN16fjQyODls8=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=aql8b2mGO6x7gpqLKZw+bSjMQsidAY21A8nL0qmD+6kU0i1y8ZzAA0q4GushU+UErQTlQpzpo9CX+YylSRuVgxv5iHH2aNhd++J1PMWrXaoq31Nuyk+57AIkMqY92Rv4AdpSBvVlqtAyzusb/1DKw9/1UgKZtm6gdhB9zNzIjyQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rmDTLyZS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rmDTLyZS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F7A1C2BCB5; Thu, 16 Apr 2026 17:35:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776360958; bh=Y9ysc8sFsqqr4IX9UVY+V4JrzEE2rNGN16fjQyODls8=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=rmDTLyZStZnpDSJEC/oGBTS8SS+DDOKhVZ2fYPHZ2HhsQ5qranL9wa9ODEqvWJjQC 57WMZJpR3qJpkqyRB8+rSPpmfL+TVhhIDxQnoV/+qRJCMO7xuI6xWGOukouvlHqJ19 4zgqxMVlROjI2kAuH5QGwVeuQpidJ0DZS6Vl0DFScz+AqDgicUHa46nbT3NiCApyjF 0DwPaYuO454/eyW2Jzy7F3Yh8mFbPPRv0TmlhTIkMCyUWxbLk7mT0ojnM3gG4kUTDN 2iAx2Xr+QwHlmi0PF36NajV65PaD5jBnSJNpDiMIOq8iutojh0JvWTL8Xy485CKOoJ sSDadsEqvePSQ== Message-ID: <815e42daf34d0852c8676824a7c9e8fa7aa30174.camel@kernel.org> Subject: Re: [PATCH 1/1] NFS: pnfs: cache data server entries for a short grace period From: Trond Myklebust To: Lei Lei2 Yin , Anna Schumaker Cc: "linux-nfs@vger.kernel.org" , "linux-kernel@vger.kernel.org" Date: Thu, 16 Apr 2026 10:35:57 -0700 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gVGh1LCAyMDI2LTA0LTE2IGF0IDA3OjE4ICswMDAwLCBMZWkgTGVpMiBZaW4gd3JvdGU6Cj4g RnJvbSBjMGNlN2M5OTdmZGQzODM5NjRiNzI5YzMzOTg3NzBhOWFhYWFhMTc4IE1vbiBTZXAgMTcg MDA6MDA6MDAKPiAyMDAxCj4gRnJvbTogTGVpIFlpbiA8eWlubGVpMkBsZW5vdm8uY29tPgo+IERh dGU6IFRodSwgMTYgQXByIDIwMjYgMDY6NDI6NTAgKzAwMDAKPiBTdWJqZWN0OiBbUEFUQ0ggMS8x XSBORlM6IHBuZnM6IGNhY2hlIGRhdGEgc2VydmVyIGVudHJpZXMgZm9yIGEgc2hvcnQKPiBncmFj ZSBwZXJpb2QKPiAKPiBwTkZTIGRhdGEgc2VydmVyIGNhY2hlIGVudHJpZXMgYXJlIGN1cnJlbnRs eSBkZXN0cm95ZWQgYXMgc29vbiBhcyB0aGUKPiBsYXN0IHJlZmVyZW5jZSBpcyBkcm9wcGVkLiBX b3JrbG9hZHMgdGhhdCByZXBlYXRlZGx5IG9wZW4gYW5kIGNsb3NlCj4gdGhlCj4gc2FtZSBmaWxl cyBjYW4gZW5kIHVwIHRlYXJpbmcgZG93biBhbmQgcmVidWlsZGluZyB0aGUgc2FtZSBkYXRhCj4g c2VydmVyCj4gY2FjaGUgZW50cmllcyBvdmVyIGFuZCBvdmVyLCBldmVuIHdoZW4gdGhlIHJldXNl IGludGVydmFsIGlzIHZlcnkKPiBzaG9ydC4KPiAKPiBLZWVwIGEgZGF0YSBzZXJ2ZXIgY2FjaGUg ZW50cnkgYWxpdmUgZm9yIGEgc2hvcnQgZ3JhY2UgcGVyaW9kIGFmdGVyCj4gdGhlCj4gbGFzdCBw dXQgYnkgZGVmZXJyaW5nIGRlc3RydWN0aW9uIHRvIGRlbGF5ZWQgd29yay4gSWYgdGhlIHNhbWUg ZGF0YQo+IHNlcnZlciBpcyBsb29rZWQgdXAgYWdhaW4gYmVmb3JlIHRoZSB0aW1lb3V0IGV4cGly ZXMsIGNhbmNlbCB0aGUKPiBwZW5kaW5nCj4gZGVzdHJveSBhbmQgcmV1c2UgdGhlIGV4aXN0aW5n IGNhY2hlIGVudHJ5Lgo+IAo+IFRoaXMgYXZvaWRzIHJlcGVhdGVkIGNhY2hlIGNodXJuIGluIG9w ZW4vY2xvc2UtaGVhdnkgdGVzdCB3b3JrbG9hZHMKPiBhbmQKPiBoZWxwcyByZWR1Y2UgdGhlIGV4 dHJhIHJlYWQvd3JpdGUgbGF0ZW5jeSB0aGF0IGNvbWVzIGZyb20gcmVwZWF0ZWRseQo+IHJlY3Jl YXRpbmcgZGF0YSBzZXJ2ZXIgc3RhdGUgb24gc2hvcnQgcmV1c2UgaW50ZXJ2YWxzLgo+IAo+IEJl Y2F1c2UgZGVzdHJ1Y3Rpb24gaXMgbm93IGRlZmVycmVkLCByZWFwIHNjaGVkdWxlZCBkZXN0cm95 IHdvcmsKPiBkdXJpbmcKPiBuZXRucyB0ZWFyZG93biBiZWZvcmUgY2hlY2tpbmcgdGhhdCB0aGUg ZGF0YSBzZXJ2ZXIgY2FjaGUgaXMgZW1wdHkuCj4gVGhpcwo+IHByZXZlbnRzIHBlbmRpbmcgZGVz dHJveSB3b3JrIGZyb20gb3V0bGl2aW5nIHRoZSBuZXRucyBleGl0IHBhdGguCj4gCj4gU2lnbmVk LW9mZi1ieTogTGVpIFlpbiA8eWlubGVpMkBsZW5vdm8uY29tPgo+IC0tLQo+IMKgZnMvbmZzL2Ns aWVudC5jwqDCoCB8wqAgMSArCj4gwqBmcy9uZnMvcG5mcy5owqDCoMKgwqAgfMKgIDMgKysrCj4g wqBmcy9uZnMvcG5mc19uZnMuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLQo+IC0tCj4gwqAzIGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2ZzL25mcy9jbGllbnQuYyBiL2ZzL25m cy9jbGllbnQuYwo+IGluZGV4IGJlMDJiYjIyNzc0MS4uNjVhYjIxOWVhMjA2IDEwMDY0NAo+IC0t LSBhL2ZzL25mcy9jbGllbnQuYwo+ICsrKyBiL2ZzL25mcy9jbGllbnQuYwo+IEBAIC0xMjg3LDYg KzEyODcsNyBAQCB2b2lkIG5mc19jbGllbnRzX2V4aXQoc3RydWN0IG5ldCAqbmV0KQo+IMKgwqDC oMKgwqDCoMKgIFdBUk5fT05fT05DRSghbGlzdF9lbXB0eSgmbm4tPm5mc19jbGllbnRfbGlzdCkp Owo+IMKgwqDCoMKgwqDCoMKgIFdBUk5fT05fT05DRSghbGlzdF9lbXB0eSgmbm4tPm5mc192b2x1 bWVfbGlzdCkpOwo+IMKgI2lmIElTX0VOQUJMRUQoQ09ORklHX05GU19WNCkKPiArwqDCoMKgwqDC oMKgIG5mczRfcG5mc19kc19jbGllbnRfZXhpdChuZXQpOwo+IMKgwqDCoMKgwqDCoMKgIFdBUk5f T05fT05DRSghbGlzdF9lbXB0eSgmbm4tPm5mczRfZGF0YV9zZXJ2ZXJfY2FjaGUpKTsKPiDCoCNl bmRpZiAvKiBDT05GSUdfTkZTX1Y0ICovCj4gwqB9Cj4gZGlmZiAtLWdpdCBhL2ZzL25mcy9wbmZz LmggYi9mcy9uZnMvcG5mcy5oCj4gaW5kZXggZWIzOTg1OWMyMTZjLi44YzE5OGQ1Nzc0NjUgMTAw NjQ0Cj4gLS0tIGEvZnMvbmZzL3BuZnMuaAo+ICsrKyBiL2ZzL25mcy9wbmZzLmgKPiBAQCAtNjQs NyArNjQsOSBAQCBzdHJ1Y3QgbmZzNF9wbmZzX2RzIHsKPiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg bmZzX2NsaWVudMKgwqDCoMKgwqDCoCAqZHNfY2xwOwo+IMKgwqDCoMKgwqDCoMKgIHJlZmNvdW50 X3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkc19jb3VudDsKPiDCoMKgwqDCoMKgwqDCoCB1 bnNpZ25lZCBsb25nwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHNfc3RhdGU7Cj4gK8KgwqDCoMKgwqDC oCBzdHJ1Y3QgZGVsYXllZF93b3JrwqDCoMKgwqAgZHNfZGVzdHJveV93b3JrOwo+IMKgI2RlZmlu ZSBORlM0RFNfQ09OTkVDVElOR8KgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoCAvKiBkcyBpcyBlc3Rh Ymxpc2hpbmcKPiBjb25uZWN0aW9uICovCj4gKyNkZWZpbmUgTkZTNERTX0RFU1RST1lfU0NIRUTC oMKgIDHCoMKgwqDCoMKgwqAgLyogZGVsYXllZCBkZXN0cm95IGhhcyBiZWVuCj4gc2NoZWR1bGVk ICovCj4gwqB9Owo+IMKgCj4gwqBzdHJ1Y3QgcG5mc19sYXlvdXRfc2VnbWVudCB7Cj4gQEAgLTQx NSw2ICs0MTcsNyBAQCBpbnQgcG5mc19nZW5lcmljX2NvbW1pdF9wYWdlbGlzdChzdHJ1Y3QgaW5v ZGUKPiAqaW5vZGUsCj4gwqBpbnQgcG5mc19nZW5lcmljX3NjYW5fY29tbWl0X2xpc3RzKHN0cnVj dCBuZnNfY29tbWl0X2luZm8gKmNpbmZvLAo+IGludCBtYXgpOwo+IMKgdm9pZCBwbmZzX2dlbmVy aWNfd3JpdGVfY29tbWl0X2RvbmUoc3RydWN0IHJwY190YXNrICp0YXNrLCB2b2lkCj4gKmRhdGEp Owo+IMKgdm9pZCBuZnM0X3BuZnNfZHNfcHV0KHN0cnVjdCBuZnM0X3BuZnNfZHMgKmRzKTsKPiAr dm9pZCBuZnM0X3BuZnNfZHNfY2xpZW50X2V4aXQoc3RydWN0IG5ldCAqbmV0KTsKPiDCoHN0cnVj dCBuZnM0X3BuZnNfZHMgKm5mczRfcG5mc19kc19hZGQoY29uc3Qgc3RydWN0IG5ldCAqbmV0LAo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBsaXN0X2hlYWQgKmRzYWRkcnMsCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZ2ZwX3QgZ2ZwX2ZsYWdzKTsKPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL3BuZnNfbmZz LmMgYi9mcy9uZnMvcG5mc19uZnMuYwo+IGluZGV4IDEyNjMyYTcwNmRhOC4uNzlhOTZlNTI2NGI4 IDEwMDY0NAo+IC0tLSBhL2ZzL25mcy9wbmZzX25mcy5jCj4gKysrIGIvZnMvbmZzL3BuZnNfbmZz LmMKPiBAQCAtNjUzLDE4ICs2NTMsNjUgQEAgc3RhdGljIHZvaWQgZGVzdHJveV9kcyhzdHJ1Y3Qg bmZzNF9wbmZzX2RzICpkcykKPiDCoMKgwqDCoMKgwqDCoCBrZnJlZShkcyk7Cj4gwqB9Cj4gwqAK PiArc3RhdGljIHZvaWQgbmZzNF9wbmZzX2RzX2Rlc3Ryb3lfd29ya2ZuKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKPiArewo+ICvCoMKgwqDCoMKgwqAgc3RydWN0IG5mczRfcG5mc19kcyAqZHMg PSBjb250YWluZXJfb2YodG9fZGVsYXllZF93b3JrKHdvcmspLAo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IG5mczRfcG5mc19kcywKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGRzX2Rlc3Ryb3lfd29yayk7Cj4gK8KgwqDCoMKgwqDCoCBzdHJ1 Y3QgbmZzX25ldCAqbm4gPSBuZXRfZ2VuZXJpYyhkcy0+ZHNfbmV0LCBuZnNfbmV0X2lkKTsKPiAr wqDCoMKgwqDCoMKgIGJvb2wgZGVzdHJveSA9IGZhbHNlOwo+ICsKPiArwqDCoMKgwqDCoMKgIHNw aW5fbG9jaygmbm4tPm5mczRfZGF0YV9zZXJ2ZXJfbG9jayk7Cj4gK8KgwqDCoMKgwqDCoCBpZiAo dGVzdF9iaXQoTkZTNERTX0RFU1RST1lfU0NIRUQsICZkcy0+ZHNfc3RhdGUpICYmCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgIHJlZmNvdW50X3JlYWQoJmRzLT5kc19jb3VudCkgPT0gMSkgewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsZWFyX2JpdChORlM0RFNfREVTVFJPWV9TQ0hF RCwgJmRzLT5kc19zdGF0ZSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlzdF9k ZWxfaW5pdCgmZHMtPmRzX25vZGUpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRl c3Ryb3kgPSB0cnVlOwo+ICvCoMKgwqDCoMKgwqAgfQo+ICvCoMKgwqDCoMKgwqAgc3Bpbl91bmxv Y2soJm5uLT5uZnM0X2RhdGFfc2VydmVyX2xvY2spOwo+ICsKPiArwqDCoMKgwqDCoMKgIGlmIChk ZXN0cm95KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRlc3Ryb3lfZHMoZHMpOwo+ ICt9Cj4gKwo+IMKgdm9pZCBuZnM0X3BuZnNfZHNfcHV0KHN0cnVjdCBuZnM0X3BuZnNfZHMgKmRz KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBuZnNfbmV0ICpubiA9IG5ldF9nZW5lcmlj KGRzLT5kc19uZXQsIG5mc19uZXRfaWQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqAgaWYgKHJlZmNv dW50X2RlY19hbmRfbG9jaygmZHMtPmRzX2NvdW50LCAmbm4tCj4gPm5mczRfZGF0YV9zZXJ2ZXJf bG9jaykpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaXN0X2RlbF9pbml0KCZk cy0+ZHNfbm9kZSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogSG9sZCBvbmUg dGVtcG9yYXJ5IHJlZmVyZW5jZSBkdXJpbmcgdGhlIGRlc3Ryb3kKPiBncmFjZSB3aW5kb3cuICov Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVmY291bnRfc2V0KCZkcy0+ZHNfY291 bnQsIDEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNldF9iaXQoTkZTNERTX0RF U1RST1lfU0NIRUQsICZkcy0+ZHNfc3RhdGUpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX3dxLCAmZHMtPmRzX2Rlc3Ryb3lfd29yaywgMTAK PiAqIEhaKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3Bpbl91bmxvY2soJm5u LT5uZnM0X2RhdGFfc2VydmVyX2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRlc3Ryb3lfZHMoZHMpOwo+IMKgwqDCoMKgwqDCoMKgIH0KPiDCoH0KPiDCoEVYUE9SVF9TWU1C T0xfR1BMKG5mczRfcG5mc19kc19wdXQpOwo+IMKgCj4gK3ZvaWQgbmZzNF9wbmZzX2RzX2NsaWVu dF9leGl0KHN0cnVjdCBuZXQgKm5ldCkKPiArewo+ICvCoMKgwqDCoMKgwqAgc3RydWN0IG5mc19u ZXQgKm5uID0gbmV0X2dlbmVyaWMobmV0LCBuZnNfbmV0X2lkKTsKPiArwqDCoMKgwqDCoMKgIHN0 cnVjdCBuZnM0X3BuZnNfZHMgKmRzLCAqdG1wOwo+ICvCoMKgwqDCoMKgwqAgTElTVF9IRUFEKHJl YXApOwo+ICsKPiArwqDCoMKgwqDCoMKgIHNwaW5fbG9jaygmbm4tPm5mczRfZGF0YV9zZXJ2ZXJf bG9jayk7Cj4gK8KgwqDCoMKgwqDCoCBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZHMsIHRtcCwg Jm5uLQo+ID5uZnM0X2RhdGFfc2VydmVyX2NhY2hlLCBkc19ub2RlKSB7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaWYgKCF0ZXN0X2JpdChORlM0RFNfREVTVFJPWV9TQ0hFRCwgJmRz LT5kc19zdGF0ZSkgfHwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl ZmNvdW50X3JlYWQoJmRzLT5kc19jb3VudCkgIT0gMSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY2xlYXJfYml0KE5GUzREU19ERVNUUk9ZX1NDSEVELCAmZHMtPmRzX3N0YXRlKTsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaXN0X21vdmUoJmRzLT5kc19ub2RlLCAm cmVhcCk7Cj4gK8KgwqDCoMKgwqDCoCB9Cj4gK8KgwqDCoMKgwqDCoCBzcGluX3VubG9jaygmbm4t Pm5mczRfZGF0YV9zZXJ2ZXJfbG9jayk7Cj4gKwo+ICvCoMKgwqDCoMKgwqAgbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKGRzLCB0bXAsICZyZWFwLCBkc19ub2RlKSB7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkcy0+ZHNfZGVzdHJveV93 b3JrKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaXN0X2RlbF9pbml0KCZkcy0+ ZHNfbm9kZSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGVzdHJveV9kcyhkcyk7 Cj4gK8KgwqDCoMKgwqDCoCB9Cj4gK30KPiArRVhQT1JUX1NZTUJPTF9HUEwobmZzNF9wbmZzX2Rz X2NsaWVudF9leGl0KTsKPiArCj4gwqAvKgo+IMKgICogQ3JlYXRlIGEgc3RyaW5nIHdpdGggYSBo dW1hbiByZWFkYWJsZSBhZGRyZXNzIGFuZCBwb3J0IHRvIGF2b2lkCj4gwqAgKiBjb21wbGljYXRl ZCBzZXR1cCBhcm91bmQgbWFueSBkcHJpbmtzLgo+IEBAIC03NDUsNiArNzkyLDcgQEAgbmZzNF9w bmZzX2RzX2FkZChjb25zdCBzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdAo+IGxpc3RfaGVhZCAqZHNh ZGRycywgZ2ZwX3QgZ2ZwX2ZsYQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkcy0+ ZHNfcmVtb3Rlc3RyID0gcmVtb3Rlc3RyOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCByZWZjb3VudF9zZXQoJmRzLT5kc19jb3VudCwgMSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIElOSVRfTElTVF9IRUFEKCZkcy0+ZHNfbm9kZSk7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgSU5JVF9ERUxBWUVEX1dPUksoJmRzLT5kc19kZXN0cm95X3dvcmssCj4g bmZzNF9wbmZzX2RzX2Rlc3Ryb3lfd29ya2ZuKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZHMtPmRzX25ldCA9IG5ldDsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg ZHMtPmRzX2NscCA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxpc3Rf YWRkKCZkcy0+ZHNfbm9kZSwgJm5uLT5uZnM0X2RhdGFfc2VydmVyX2NhY2hlKTsKPiBAQCAtNzUz LDggKzgwMSw5IEBAIG5mczRfcG5mc19kc19hZGQoY29uc3Qgc3RydWN0IG5ldCAqbmV0LCBzdHJ1 Y3QKPiBsaXN0X2hlYWQgKmRzYWRkcnMsIGdmcF90IGdmcF9mbGEKPiDCoMKgwqDCoMKgwqDCoCB9 IGVsc2Ugewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZnJlZShyZW1vdGVzdHIp Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZnJlZShkcyk7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVmY291bnRfaW5jKCZ0bXBfZHMtPmRzX2NvdW50KTsKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkcHJpbnRrKCIlcyBkYXRhIHNlcnZlciAlcyBm b3VuZCwgaW5jJ2VkIGRzX2NvdW50IHRvCj4gJWRcbiIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaWYgKCF0ZXN0X2FuZF9jbGVhcl9iaXQoTkZTNERTX0RFU1RST1lfU0NIRUQsCj4g JnRtcF9kcy0+ZHNfc3RhdGUpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCByZWZjb3VudF9pbmMoJnRtcF9kcy0+ZHNfY291bnQpOwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGRwcmludGsoIiVzIGRhdGEgc2VydmVyICVzIGZvdW5kLCBkc19j b3VudCBub3cgJWRcbiIsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBfX2Z1bmNfXywgdG1wX2RzLT5kc19yZW1vdGVzdHIsCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWZjb3VudF9yZWFkKCZ0bXBfZHMtPmRz X2NvdW50KSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRzID0gdG1wX2RzOwoK TkFDSy4gVGhpcyBhcHByb2FjaCBpcyB0aGUgc2FtZSBhcyB3YXMgcHJlc2VudGVkIGEgZmV3IG1v bnRocyBhZ28gb24KdGhpcyBsaXN0LiBBcyBzdGF0ZWQgYXQgdGhlIHRpbWUsIGl0IGRvZXMgbm90 IGFncmVlIHdpdGggdGhlCmRlc2NyaXB0aW9uIG9mIGRldmljZWlkIGJlaGF2aW91ciBpbiBSRkM4 ODgxIHNlY3Rpb24gMTIuMi4xMC4KCklmIHlvdSB3YW50IHRvIGNhY2hlIGVudHJpZXMgb24gdGhl IGNsaWVudCB3aGVuIG5vdCBob2xkaW5nIGEgbGF5b3V0LAp0aGVuIHlvdSBuZWVkIHRvIHJlcXVl c3QgYSBkZXZpY2VpbmZvIG5vdGlmaWNhdGlvbiBzbyB0aGF0IHlvdSBjYW4KZGV0ZWN0IGNoYW5n ZXMuCgotLSAKVHJvbmQgTXlrbGVidXN0CkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgSGFt bWVyc3BhY2UKdHJvbmRteUBrZXJuZWwub3JnLCB0cm9uZC5teWtsZWJ1c3RAaGFtbWVyc3BhY2Uu Y29tCg==