From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:50872 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726980AbeJCETc (ORCPT ); Wed, 3 Oct 2018 00:19:32 -0400 From: Dan Schatzberg To: Miklos Szeredi CC: Tejun Heo , Kernel Team , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] fuse: enable caching of symlinks Date: Tue, 2 Oct 2018 21:33:41 +0000 Message-ID: References: <20180927135211.31641-1-dschatzberg@fb.com> In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: T24gOS8yNy8xOCwgOTo1OSBBTSwgIk1pa2xvcyBTemVyZWRpIiA8bWlrbG9zQHN6ZXJlZGkuaHU+ IHdyb3RlOg0KDQo+ICBPbiBUaHUsIFNlcCAyNywgMjAxOCBhdCAzOjUyIFBNLCBEYW4gU2NoYXR6 YmVyZyA8ZHNjaGF0emJlcmdAZmIuY29tPiB3cm90ZToNCj4+IEZVU0UgZmlsZSByZWFkcyBhcmUg Y2FjaGVkIGluIHRoZSBwYWdlIGNhY2hlLCBidXQgc3ltbGluayByZWFkcyBhcmUNCj4+IG5vdC4g VGhpcyBwYXRjaCBlbmFibGVzIEZVU0UgUkVBRExJTksgb3BlcmF0aW9ucyB0byBiZSBjYWNoZWQg d2hpY2gNCj4+IGNhbiBpbXByb3ZlIHBlcmZvcm1hbmNlIG9mIHNvbWUgRlVTRSB3b3JrbG9hZHMu DQo+Pg0KPj4gSW4gcGFydGljdWxhciwgSSdtIHdvcmtpbmcgb24gYSBGVVNFIGZpbGVzeXN0ZW0g Zm9yIGFjY2VzcyB0byBzb3VyY2UNCj4+IGNvZGUgYW5kIGRpc2NvdmVyZWQgdGhhdCBhYm91dCBh IDEwJSBpbXByb3ZlbWVudCB0byBidWlsZCB0aW1lcyBpcw0KPj4gYWNoaWV2ZWQgd2l0aCB0aGlz IHBhdGNoICh0aGVyZSBhcmUgYSBsb3Qgb2Ygc3ltbGlua3MgaW4gdGhlIHNvdXJjZQ0KPj4gdHJl ZSkuDQo+Pg0KPj4gUGxlYXNlIHByb3ZpZGUgZmVlZGJhY2ssIEknbSBsb29raW5nIHRvIGZsZXNo IHRoaXMgb3V0IG1vcmUuDQo+IA0KPiBOZWVkIHRvIHRoaW5rIGFib3V0IGhvdy93aGVuIHRvIGlu dmFsaWRhdGUgdGhlIGNhY2hlZCBzeW1saW5rDQo+IGNvbnRlbnRzLiAgSSB0aGluayB0cmVhdGlu ZyBpdCBsaWtlIG1ldGFkYXRhIChpLmUuIGxvb2sgYXQNCj4gYXR0cl90aW1lb3V0IGZvciB2YWxp ZGl0eSkgd291bGQgYmUgdGhlIHNpbXBsZXN0Lg0KPiANCj4gVGhhbmtzLA0KPiBNaWtsb3MNCj4g DQoNCkFueSBmdXJ0aGVyIHRob3VnaHRzIG9uIHRoaXM/IEp1c3Qgc28gSSBjYW4gY29uZmlybSBt eSB1bmRlcnN0YW5kaW5nLA0KdGhlIGF0dGFjaGVkIHBhdGNoIHdpbGwgdW5jb25kaXRpb25hbGx5 IGNhY2hlIFJFQURMSU5LIHJlc3BvbnNlcw0KSG93ZXZlciwgYmFzZWQgb24gdGhlIGVudHJ5IHRp bWVvdXQgcHJvdmlkZWQgYnkgdGhlIExPT0tVUCByZXNwb25zZSwNClVzZXJzcGFjZSBjYW4gZGVj aWRlIHRvIGludmFsaWRhdGUgdGhpcyBieSBwcm92aWRpbmcgYSBkaWZmZXJlbnQgaW5vZGUgb24N CmEgc3Vic2VxdWVudCBMT09LVVAgKGUuZy4gZHVyaW5nIGZ1c2VfZGVudHJ5X3JldmFsaWRhdGUo KSkNCg0KV291bGQgeW91IGxpa2UgdGhlcmUgdG8gYmUgYSB3YXkgdG8gaW52YWxpZGF0ZSB0aGUg Y2FjaGVkIHN5bWxpbmsgd2l0aG91dA0KIGNoYW5naW5nIHRoZSBpbm9kZSB2aWEgTE9PS1VQPw0K Pj4NCj4+IFNpZ25lZC1vZmYtYnk6IERhbiBTY2hhdHpiZXJnIDxkc2NoYXR6YmVyZ0BmYi5jb20+ DQo+PiAtLS0NCj4+ICBmcy9mdXNlL2Rpci5jIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAgMSBmaWxlIGNoYW5nZWQsIDQzIGluc2Vy dGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9mcy9mdXNlL2Rp ci5jIGIvZnMvZnVzZS9kaXIuYw0KPj4gaW5kZXggMDk3OTYwOWQ2ZWJhLi4zYzBhODFlZjViY2Eg MTAwNjQ0DQo+PiAtLS0gYS9mcy9mdXNlL2Rpci5jDQo+PiArKysgYi9mcy9mdXNlL2Rpci5jDQo+ PiBAQCAtMTM5OCwzOCArMTM5OCw0NiBAQCBzdGF0aWMgaW50IGZ1c2VfcmVhZGRpcihzdHJ1Y3Qg ZmlsZSAqZmlsZSwgc3RydWN0IGRpcl9jb250ZXh0ICpjdHgpDQo+PiAgICAgICAgIHJldHVybiBl cnI7DQo+PiAgfQ0KPj4NCj4+IC1zdGF0aWMgY29uc3QgY2hhciAqZnVzZV9nZXRfbGluayhzdHJ1 Y3QgZGVudHJ5ICpkZW50cnksDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgaW5vZGUgKmlub2RlLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGRlbGF5ZWRfY2FsbCAqZG9uZSkNCj4+ICtzdGF0aWMgaW50IGZ1c2Vfc3ltbGlua19y ZWFkcGFnZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHBhZ2UgKnBhZ2UpDQo+PiAgew0KPj4g KyAgICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsNCj4+ICAg ICAgICAgc3RydWN0IGZ1c2VfY29ubiAqZmMgPSBnZXRfZnVzZV9jb25uKGlub2RlKTsNCj4+IC0g ICAgICAgRlVTRV9BUkdTKGFyZ3MpOw0KPj4gLSAgICAgICBjaGFyICpsaW5rOw0KPj4gLSAgICAg ICBzc2l6ZV90IHJldDsNCj4+IC0NCj4+IC0gICAgICAgaWYgKCFkZW50cnkpDQo+PiAtICAgICAg ICAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVDSElMRCk7DQo+PiArICAgICAgIHN0cnVjdCBmdXNl X3JlcSAqcmVxOw0KPj4gKyAgICAgICBpbnQgZXJyOw0KPj4gKyAgICAgICBzaXplX3QgbnVtX3Jl YWQ7DQo+Pg0KPj4gLSAgICAgICBsaW5rID0ga21hbGxvYyhQQUdFX1NJWkUsIEdGUF9LRVJORUwp Ow0KPj4gLSAgICAgICBpZiAoIWxpbmspDQo+PiAtICAgICAgICAgICAgICAgcmV0dXJuIEVSUl9Q VFIoLUVOT01FTSk7DQo+PiArICAgICAgIGVyciA9IC1FSU87DQo+PiArICAgICAgIGlmIChpc19i YWRfaW5vZGUoaW5vZGUpKQ0KPj4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4NCj4+IC0g ICAgICAgYXJncy5pbi5oLm9wY29kZSA9IEZVU0VfUkVBRExJTks7DQo+PiAtICAgICAgIGFyZ3Mu aW4uaC5ub2RlaWQgPSBnZXRfbm9kZV9pZChpbm9kZSk7DQo+PiAtICAgICAgIGFyZ3Mub3V0LmFy Z3ZhciA9IDE7DQo+PiAtICAgICAgIGFyZ3Mub3V0Lm51bWFyZ3MgPSAxOw0KPj4gLSAgICAgICBh cmdzLm91dC5hcmdzWzBdLnNpemUgPSBQQUdFX1NJWkUgLSAxOw0KPj4gLSAgICAgICBhcmdzLm91 dC5hcmdzWzBdLnZhbHVlID0gbGluazsNCj4+IC0gICAgICAgcmV0ID0gZnVzZV9zaW1wbGVfcmVx dWVzdChmYywgJmFyZ3MpOw0KPj4gLSAgICAgICBpZiAocmV0IDwgMCkgew0KPj4gLSAgICAgICAg ICAgICAgIGtmcmVlKGxpbmspOw0KPj4gLSAgICAgICAgICAgICAgIGxpbmsgPSBFUlJfUFRSKHJl dCk7DQo+PiAtICAgICAgIH0gZWxzZSB7DQo+PiAtICAgICAgICAgICAgICAgbGlua1tyZXRdID0g J1wwJzsNCj4+IC0gICAgICAgICAgICAgICBzZXRfZGVsYXllZF9jYWxsKGRvbmUsIGtmcmVlX2xp bmssIGxpbmspOw0KPj4gKyAgICAgICByZXEgPSBmdXNlX2dldF9yZXEoZmMsIDEpOw0KPj4gKyAg ICAgICBpZiAoSVNfRVJSKHJlcSkpIHsNCj4+ICsgICAgICAgICAgICAgICBlcnIgPSBQVFJfRVJS KHJlcSk7DQo+PiArICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+PiAgICAgICAgIH0NCj4+ICsN Cj4+ICsgICAgICAgcmVxLT5vdXQucGFnZV96ZXJvaW5nID0gMTsNCj4+ICsgICAgICAgcmVxLT5v dXQuYXJncGFnZXMgPSAxOw0KPj4gKyAgICAgICByZXEtPm51bV9wYWdlcyA9IDE7DQo+PiArICAg ICAgIHJlcS0+cGFnZXNbMF0gPSBwYWdlOw0KPj4gKyAgICAgICByZXEtPnBhZ2VfZGVzY3NbMF0u bGVuZ3RoID0gUEFHRV9TSVpFIC0gMTsNCj4+ICsgICAgICAgcmVxLT5pbi5oLm9wY29kZSA9IEZV U0VfUkVBRExJTks7DQo+PiArICAgICAgIHJlcS0+aW4uaC5ub2RlaWQgPSBnZXRfbm9kZV9pZChp bm9kZSk7DQo+PiArICAgICAgIHJlcS0+b3V0LmFyZ3ZhciA9IDE7DQo+PiArICAgICAgIHJlcS0+ b3V0Lm51bWFyZ3MgPSAxOw0KPj4gKyAgICAgICByZXEtPm91dC5hcmdzWzBdLnNpemUgPSBQQUdF X1NJWkUgLSAxOw0KPj4gKyAgICAgICBmdXNlX3JlcXVlc3Rfc2VuZChmYywgcmVxKTsNCj4+ICsg ICAgICAgbnVtX3JlYWQgPSByZXEtPm91dC5hcmdzWzBdLnNpemU7DQo+PiArICAgICAgIGVyciA9 IHJlcS0+b3V0LmguZXJyb3I7DQo+PiArDQo+PiArICAgICAgIGlmICghZXJyKQ0KPj4gKyAgICAg ICAgICAgICAgIFNldFBhZ2VVcHRvZGF0ZShwYWdlKTsNCj4+ICsNCj4+ICsgICAgICAgZnVzZV9w dXRfcmVxdWVzdChmYywgcmVxKTsNCj4+ICAgICAgICAgZnVzZV9pbnZhbGlkYXRlX2F0aW1lKGlu b2RlKTsNCj4+IC0gICAgICAgcmV0dXJuIGxpbms7DQo+PiArb3V0Og0KPj4gKyAgICAgICB1bmxv Y2tfcGFnZShwYWdlKTsNCj4+ICsgICAgICAgcmV0dXJuIGVycjsNCj4+ICB9DQo+Pg0KPj4gIHN0 YXRpYyBpbnQgZnVzZV9kaXJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAq ZmlsZSkNCj4+IEBAIC0xODU1LDcgKzE4NjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlub2Rl X29wZXJhdGlvbnMgZnVzZV9jb21tb25faW5vZGVfb3BlcmF0aW9ucyA9IHsNCj4+DQo+PiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGZ1c2Vfc3ltbGlua19pbm9kZV9vcGVy YXRpb25zID0gew0KPj4gICAgICAgICAuc2V0YXR0ciAgICAgICAgPSBmdXNlX3NldGF0dHIsDQo+ PiAtICAgICAgIC5nZXRfbGluayAgICAgICA9IGZ1c2VfZ2V0X2xpbmssDQo+PiArICAgICAgIC5n ZXRfbGluayAgICAgICA9IHBhZ2VfZ2V0X2xpbmssDQo+PiAgICAgICAgIC5nZXRhdHRyICAgICAg ICA9IGZ1c2VfZ2V0YXR0ciwNCj4+ICAgICAgICAgLmxpc3R4YXR0ciAgICAgID0gZnVzZV9saXN0 eGF0dHIsDQo+PiAgfTsNCj4+IEBAIC0xODcxLDcgKzE4NzksMTUgQEAgdm9pZCBmdXNlX2luaXRf ZGlyKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+PiAgICAgICAgIGlub2RlLT5pX2ZvcCA9ICZmdXNl X2Rpcl9vcGVyYXRpb25zOw0KPj4gIH0NCj4+DQo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRy ZXNzX3NwYWNlX29wZXJhdGlvbnMgZnVzZV9zeW1saW5rX2FvcHMgPSB7DQo+PiArICAgICAgIC5y ZWFkcGFnZSAgICAgICA9IGZ1c2Vfc3ltbGlua19yZWFkcGFnZSwNCj4+ICt9Ow0KPj4gKw0KPj4g IHZvaWQgZnVzZV9pbml0X3N5bWxpbmsoc3RydWN0IGlub2RlICppbm9kZSkNCj4+ICB7DQo+PiAg ICAgICAgIGlub2RlLT5pX29wID0gJmZ1c2Vfc3ltbGlua19pbm9kZV9vcGVyYXRpb25zOw0KPj4g KyAgICAgICBpbm9kZS0+aV9kYXRhLmFfb3BzID0gJmZ1c2Vfc3ltbGlua19hb3BzOw0KPj4gKyAg ICAgICBtYXBwaW5nX3NldF9nZnBfbWFzayhpbm9kZS0+aV9tYXBwaW5nLA0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgbWFwcGluZ19nZnBfY29uc3RyYWludChpbm9kZS0+aV9tYXBwaW5nLA0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH4oX19HRlBfRlMgfCBf X0dGUF9ISUdITUVNKSkpOw0KPj4gIH0NCj4+IC0tDQo+PiAyLjE3LjENCg0K