Re: [PATCH 05/24] ibtrs: client: main functionality

Bart Van Assche
2018-02-02T16:54:34Z

T24gRnJpLCAyMDE4LTAyLTAyIGF0IDE1OjA4ICswMTAwLCBSb21hbiBQZW4gd3JvdGU6DQo+ICtz
dGF0aWMgaW5saW5lIHN0cnVjdCBpYnRyc190YWcgKg0KPiArX19pYnRyc19nZXRfdGFnKHN0cnVj
dCBpYnRyc19jbHQgKmNsdCwgZW51bSBpYnRyc19jbHRfY29uX3R5cGUgY29uX3R5cGUpDQo+ICt7
DQo+ICsJc2l6ZV90IG1heF9kZXB0aCA9IGNsdC0+cXVldWVfZGVwdGg7DQo+ICsJc3RydWN0IGli
dHJzX3RhZyAqdGFnOw0KPiArCWludCBjcHUsIGJpdDsNCj4gKw0KPiArCWNwdSA9IGdldF9jcHUo
KTsNCj4gKwlkbyB7DQo+ICsJCWJpdCA9IGZpbmRfZmlyc3RfemVyb19iaXQoY2x0LT50YWdzX21h
cCwgbWF4X2RlcHRoKTsNCj4gKwkJaWYgKHVubGlrZWx5KGJpdCA+PSBtYXhfZGVwdGgpKSB7DQo+
ICsJCQlwdXRfY3B1KCk7DQo+ICsJCQlyZXR1cm4gTlVMTDsNCj4gKwkJfQ0KPiArDQo+ICsJfSB3
aGlsZSAodW5saWtlbHkodGVzdF9hbmRfc2V0X2JpdF9sb2NrKGJpdCwgY2x0LT50YWdzX21hcCkp
KTsNCj4gKwlwdXRfY3B1KCk7DQo+ICsNCj4gKwl0YWcgPSBHRVRfVEFHKGNsdCwgYml0KTsNCj4g
KwlXQVJOX09OKHRhZy0+bWVtX2lkICE9IGJpdCk7DQo+ICsJdGFnLT5jcHVfaWQgPSBjcHU7DQo+
ICsJdGFnLT5jb25fdHlwZSA9IGNvbl90eXBlOw0KPiArDQo+ICsJcmV0dXJuIHRhZzsNCj4gK30N
Cj4gKw0KPiArc3RhdGljIGlubGluZSB2b2lkIF9faWJ0cnNfcHV0X3RhZyhzdHJ1Y3QgaWJ0cnNf
Y2x0ICpjbHQsDQo+ICsJCQkJICAgc3RydWN0IGlidHJzX3RhZyAqdGFnKQ0KPiArew0KPiArCWNs
ZWFyX2JpdF91bmxvY2sodGFnLT5tZW1faWQsIGNsdC0+dGFnc19tYXApOw0KPiArfQ0KPiArDQo+
ICtzdHJ1Y3QgaWJ0cnNfdGFnICppYnRyc19jbHRfZ2V0X3RhZyhzdHJ1Y3QgaWJ0cnNfY2x0ICpj
bHQsDQo+ICsJCQkJICAgIGVudW0gaWJ0cnNfY2x0X2Nvbl90eXBlIGNvbl90eXBlLA0KPiArCQkJ
CSAgICBpbnQgY2FuX3dhaXQpDQo+ICt7DQo+ICsJc3RydWN0IGlidHJzX3RhZyAqdGFnOw0KPiAr
CURFRklORV9XQUlUKHdhaXQpOw0KPiArDQo+ICsJdGFnID0gX19pYnRyc19nZXRfdGFnKGNsdCwg
Y29uX3R5cGUpOw0KPiArCWlmIChsaWtlbHkodGFnKSB8fCAhY2FuX3dhaXQpDQo+ICsJCXJldHVy
biB0YWc7DQo+ICsNCj4gKwlkbyB7DQo+ICsJCXByZXBhcmVfdG9fd2FpdCgmY2x0LT50YWdzX3dh
aXQsICZ3YWl0LCBUQVNLX1VOSU5URVJSVVBUSUJMRSk7DQo+ICsJCXRhZyA9IF9faWJ0cnNfZ2V0
X3RhZyhjbHQsIGNvbl90eXBlKTsNCj4gKwkJaWYgKGxpa2VseSh0YWcpKQ0KPiArCQkJYnJlYWs7
DQo+ICsNCj4gKwkJaW9fc2NoZWR1bGUoKTsNCj4gKwl9IHdoaWxlICgxKTsNCj4gKw0KPiArCWZp
bmlzaF93YWl0KCZjbHQtPnRhZ3Nfd2FpdCwgJndhaXQpOw0KPiArDQo+ICsJcmV0dXJuIHRhZzsN
Cj4gK30NCj4gK0VYUE9SVF9TWU1CT0woaWJ0cnNfY2x0X2dldF90YWcpOw0KPiArDQo+ICt2b2lk
IGlidHJzX2NsdF9wdXRfdGFnKHN0cnVjdCBpYnRyc19jbHQgKmNsdCwgc3RydWN0IGlidHJzX3Rh
ZyAqdGFnKQ0KPiArew0KPiArCWlmIChXQVJOX09OKCF0ZXN0X2JpdCh0YWctPm1lbV9pZCwgY2x0
LT50YWdzX21hcCkpKQ0KPiArCQlyZXR1cm47DQo+ICsNCj4gKwlfX2lidHJzX3B1dF90YWcoY2x0
LCB0YWcpOw0KPiArDQo+ICsJLyoNCj4gKwkgKiBQdXR0aW5nIGEgdGFnIGlzIGEgYmFycmllciwg
c28gd2Ugd2lsbCBvYnNlcnZlDQo+ICsJICogbmV3IGVudHJ5IGluIHRoZSB3YWl0IGxpc3QsIG5v
IHdvcnJpZXMuDQo+ICsJICovDQo+ICsJaWYgKHdhaXRxdWV1ZV9hY3RpdmUoJmNsdC0+dGFnc193
YWl0KSkNCj4gKwkJd2FrZV91cCgmY2x0LT50YWdzX3dhaXQpOw0KPiArfQ0KPiArRVhQT1JUX1NZ
TUJPTChpYnRyc19jbHRfcHV0X3RhZyk7DQoNCkRvIHRoZXNlIGZ1bmN0aW9ucyBoYXZlIGFueSBh
ZHZhbnRhZ2Ugb3ZlciB0aGUgY29kZSBpbiBsaWIvc2JpdG1hcC5jPyBJZiBub3QsDQpwbGVhc2Ug
Y2FsbCB0aGUgc2JpdG1hcCBmdW5jdGlvbnMgaW5zdGVhZCBvZiBhZGRpbmcgYW4gYWRkaXRpb25h
bCB0YWcgYWxsb2NhdG9yLg0KDQpUaGFua3MsDQoNCkJhcnQu