From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:52568 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726415AbeJIVsg (ORCPT ); Tue, 9 Oct 2018 17:48:36 -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, 9 Oct 2018 14:29:43 +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: <183E19A37E39DF4FB916CC341E8017DF@namprd15.prod.outlook.com> 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 DQo+PiBTaWduZWQtb2ZmLWJ5OiBEYW4gU2NoYXR6YmVyZyA8ZHNjaGF0emJlcmdAZmIuY29tPg0K Pj4gLS0tDQo+PiAgZnMvZnVzZS9kaXIuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRp b25zKCspLCAyNyBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZnMvZnVzZS9kaXIu YyBiL2ZzL2Z1c2UvZGlyLmMNCj4+IGluZGV4IDA5Nzk2MDlkNmViYS4uM2MwYTgxZWY1YmNhIDEw MDY0NA0KPj4gLS0tIGEvZnMvZnVzZS9kaXIuYw0KPj4gKysrIGIvZnMvZnVzZS9kaXIuYw0KPj4g QEAgLTEzOTgsMzggKzEzOTgsNDYgQEAgc3RhdGljIGludCBmdXNlX3JlYWRkaXIoc3RydWN0IGZp bGUgKmZpbGUsIHN0cnVjdCBkaXJfY29udGV4dCAqY3R4KQ0KPj4gICAgICAgICByZXR1cm4gZXJy Ow0KPj4gIH0NCj4+DQo+PiAtc3RhdGljIGNvbnN0IGNoYXIgKmZ1c2VfZ2V0X2xpbmsoc3RydWN0 IGRlbnRyeSAqZGVudHJ5LA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGlub2RlICppbm9kZSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBkZWxheWVkX2NhbGwgKmRvbmUpDQo+PiArc3RhdGljIGludCBmdXNlX3N5bWxpbmtfcmVh ZHBhZ2Uoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlKQ0KPj4gIHsNCj4+ICsg ICAgICAgc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7DQo+PiAgICAg ICAgIHN0cnVjdCBmdXNlX2Nvbm4gKmZjID0gZ2V0X2Z1c2VfY29ubihpbm9kZSk7DQo+PiAtICAg ICAgIEZVU0VfQVJHUyhhcmdzKTsNCj4+IC0gICAgICAgY2hhciAqbGluazsNCj4+IC0gICAgICAg c3NpemVfdCByZXQ7DQo+PiAtDQo+PiAtICAgICAgIGlmICghZGVudHJ5KQ0KPj4gLSAgICAgICAg ICAgICAgIHJldHVybiBFUlJfUFRSKC1FQ0hJTEQpOw0KPj4gKyAgICAgICBzdHJ1Y3QgZnVzZV9y ZXEgKnJlcTsNCj4+ICsgICAgICAgaW50IGVycjsNCj4+ICsgICAgICAgc2l6ZV90IG51bV9yZWFk Ow0KPj4NCj4+IC0gICAgICAgbGluayA9IGttYWxsb2MoUEFHRV9TSVpFLCBHRlBfS0VSTkVMKTsN Cj4+IC0gICAgICAgaWYgKCFsaW5rKQ0KPj4gLSAgICAgICAgICAgICAgIHJldHVybiBFUlJfUFRS KC1FTk9NRU0pOw0KPj4gKyAgICAgICBlcnIgPSAtRUlPOw0KPj4gKyAgICAgICBpZiAoaXNfYmFk X2lub2RlKGlub2RlKSkNCj4+ICsgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4+DQo+PiAtICAg ICAgIGFyZ3MuaW4uaC5vcGNvZGUgPSBGVVNFX1JFQURMSU5LOw0KPj4gLSAgICAgICBhcmdzLmlu Lmgubm9kZWlkID0gZ2V0X25vZGVfaWQoaW5vZGUpOw0KPj4gLSAgICAgICBhcmdzLm91dC5hcmd2 YXIgPSAxOw0KPj4gLSAgICAgICBhcmdzLm91dC5udW1hcmdzID0gMTsNCj4+IC0gICAgICAgYXJn cy5vdXQuYXJnc1swXS5zaXplID0gUEFHRV9TSVpFIC0gMTsNCj4+IC0gICAgICAgYXJncy5vdXQu YXJnc1swXS52YWx1ZSA9IGxpbms7DQo+PiAtICAgICAgIHJldCA9IGZ1c2Vfc2ltcGxlX3JlcXVl c3QoZmMsICZhcmdzKTsNCj4+IC0gICAgICAgaWYgKHJldCA8IDApIHsNCj4+IC0gICAgICAgICAg ICAgICBrZnJlZShsaW5rKTsNCj4+IC0gICAgICAgICAgICAgICBsaW5rID0gRVJSX1BUUihyZXQp Ow0KPj4gLSAgICAgICB9IGVsc2Ugew0KPj4gLSAgICAgICAgICAgICAgIGxpbmtbcmV0XSA9ICdc MCc7DQo+PiAtICAgICAgICAgICAgICAgc2V0X2RlbGF5ZWRfY2FsbChkb25lLCBrZnJlZV9saW5r LCBsaW5rKTsNCj4+ICsgICAgICAgcmVxID0gZnVzZV9nZXRfcmVxKGZjLCAxKTsNCj4+ICsgICAg ICAgaWYgKElTX0VSUihyZXEpKSB7DQo+PiArICAgICAgICAgICAgICAgZXJyID0gUFRSX0VSUihy ZXEpOw0KPj4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gICAgICAgICB9DQo+PiArDQo+ PiArICAgICAgIHJlcS0+b3V0LnBhZ2VfemVyb2luZyA9IDE7DQo+PiArICAgICAgIHJlcS0+b3V0 LmFyZ3BhZ2VzID0gMTsNCj4+ICsgICAgICAgcmVxLT5udW1fcGFnZXMgPSAxOw0KPj4gKyAgICAg ICByZXEtPnBhZ2VzWzBdID0gcGFnZTsNCj4+ICsgICAgICAgcmVxLT5wYWdlX2Rlc2NzWzBdLmxl bmd0aCA9IFBBR0VfU0laRSAtIDE7DQo+PiArICAgICAgIHJlcS0+aW4uaC5vcGNvZGUgPSBGVVNF X1JFQURMSU5LOw0KPj4gKyAgICAgICByZXEtPmluLmgubm9kZWlkID0gZ2V0X25vZGVfaWQoaW5v ZGUpOw0KPj4gKyAgICAgICByZXEtPm91dC5hcmd2YXIgPSAxOw0KPj4gKyAgICAgICByZXEtPm91 dC5udW1hcmdzID0gMTsNCj4+ICsgICAgICAgcmVxLT5vdXQuYXJnc1swXS5zaXplID0gUEFHRV9T SVpFIC0gMTsNCj4+ICsgICAgICAgZnVzZV9yZXF1ZXN0X3NlbmQoZmMsIHJlcSk7DQo+PiArICAg ICAgIG51bV9yZWFkID0gcmVxLT5vdXQuYXJnc1swXS5zaXplOw0KPj4gKyAgICAgICBlcnIgPSBy ZXEtPm91dC5oLmVycm9yOw0KPj4gKw0KPj4gKyAgICAgICBpZiAoIWVycikNCj4+ICsgICAgICAg ICAgICAgICBTZXRQYWdlVXB0b2RhdGUocGFnZSk7DQo+PiArDQo+PiArICAgICAgIGZ1c2VfcHV0 X3JlcXVlc3QoZmMsIHJlcSk7DQo+PiAgICAgICAgIGZ1c2VfaW52YWxpZGF0ZV9hdGltZShpbm9k ZSk7DQo+PiAtICAgICAgIHJldHVybiBsaW5rOw0KPj4gK291dDoNCj4+ICsgICAgICAgdW5sb2Nr X3BhZ2UocGFnZSk7DQo+PiArICAgICAgIHJldHVybiBlcnI7DQo+PiAgfQ0KPj4NCj4+ICBzdGF0 aWMgaW50IGZ1c2VfZGlyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZp bGUpDQo+PiBAQCAtMTg1NSw3ICsxODYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9v cGVyYXRpb25zIGZ1c2VfY29tbW9uX2lub2RlX29wZXJhdGlvbnMgPSB7DQo+Pg0KPj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBmdXNlX3N5bWxpbmtfaW5vZGVfb3BlcmF0 aW9ucyA9IHsNCj4+ICAgICAgICAgLnNldGF0dHIgICAgICAgID0gZnVzZV9zZXRhdHRyLA0KPj4g LSAgICAgICAuZ2V0X2xpbmsgICAgICAgPSBmdXNlX2dldF9saW5rLA0KPj4gKyAgICAgICAuZ2V0 X2xpbmsgICAgICAgPSBwYWdlX2dldF9saW5rLA0KPj4gICAgICAgICAuZ2V0YXR0ciAgICAgICAg PSBmdXNlX2dldGF0dHIsDQo+PiAgICAgICAgIC5saXN0eGF0dHIgICAgICA9IGZ1c2VfbGlzdHhh dHRyLA0KPj4gIH07DQo+PiBAQCAtMTg3MSw3ICsxODc5LDE1IEBAIHZvaWQgZnVzZV9pbml0X2Rp cihzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KPj4gICAgICAgICBpbm9kZS0+aV9mb3AgPSAmZnVzZV9k aXJfb3BlcmF0aW9uczsNCj4+ICB9DQo+Pg0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVz c19zcGFjZV9vcGVyYXRpb25zIGZ1c2Vfc3ltbGlua19hb3BzID0gew0KPj4gKyAgICAgICAucmVh ZHBhZ2UgICAgICAgPSBmdXNlX3N5bWxpbmtfcmVhZHBhZ2UsDQo+PiArfTsNCj4+ICsNCj4+ICB2 b2lkIGZ1c2VfaW5pdF9zeW1saW5rKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+PiAgew0KPj4gICAg ICAgICBpbm9kZS0+aV9vcCA9ICZmdXNlX3N5bWxpbmtfaW5vZGVfb3BlcmF0aW9uczsNCj4+ICsg ICAgICAgaW5vZGUtPmlfZGF0YS5hX29wcyA9ICZmdXNlX3N5bWxpbmtfYW9wczsNCj4+ICsgICAg ICAgbWFwcGluZ19zZXRfZ2ZwX21hc2soaW5vZGUtPmlfbWFwcGluZywNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgIG1hcHBpbmdfZ2ZwX2NvbnN0cmFpbnQoaW5vZGUtPmlfbWFwcGluZywNCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+KF9fR0ZQX0ZTIHwgX19H RlBfSElHSE1FTSkpKTsNCj4+ICB9DQo+PiAtLQ0KPj4gMi4xNy4xDQoNCg0K