[PATCH] some memory leaks for intermezzo module (2.4 kernel)
Renaud Duhaut <[email protected]> 06 Aug 2003 15:27:58 +0200
| Newsgroups | gmane.comp.file-systems.intermezzo.devel |
|---|---|
| Message-ID | <1060176477.2539.46.camel@p137> |
--=-XpbcYsXWOqodjThaJ5XA Content-Type: multipart/mixed; boundary="=-rQvlWMitMXVPJZ2TpbkG" --=-rQvlWMitMXVPJZ2TpbkG Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello, +this patch essentially resolve a slab allocator problem, which prevent unloading of the intermezzo.o module. While digging in intermezzo source, I saw that some dentries have presto_dentry_data allocated , but d_op not redirected to presto_d_release. By the way these data are never freed to the slab allocator. As a result, intermezzo module can't be reloaded, because of kmem_cache_destroy unable to destroy the presto_cache. To fix this , I moved the d_op redirection closest to allocation of the d_data, in the presto_set_dd function. IMHO, this is a far better place To be precise, the defective dentry was : /mountpoint_of_my_intermezzo_fs/.intermezzo/config used by Intersync. In fact, all files created just under .intermezzo (and not in subdirectories) are affected. + fix some memory leaks and presto_kmemory false counts. + backport of Domen Puncer and Chen Yang replicator.c correction --=20 Renaud Duhaut <[email protected]> --=-rQvlWMitMXVPJZ2TpbkG Content-Disposition: attachment; filename=patch-intermezzo-slab Content-Type: text/x-patch; name=patch-intermezzo-slab; charset=ISO-8859-15 Content-Transfer-Encoding: base64 ZGlmZiAtdXIgaW50ZXJtZXp6by1DVlMvZnMyNC9jYWNoZS5jIGludGVybWV6em8tcG9zdC9mczI0 L2NhY2hlLmMNCi0tLSBpbnRlcm1lenpvLUNWUy9mczI0L2NhY2hlLmMJMjAwMi0wNC0wNCAwNjo1 NDozNy4wMDAwMDAwMDAgKzAyMDANCisrKyBpbnRlcm1lenpvLXBvc3QvZnMyNC9jYWNoZS5jCTIw MDMtMDgtMDYgMTQ6MjU6MzQuMDAwMDAwMDAwICswMjAwDQpAQCAtMTU1LDYgKzE1NSw5IEBADQog ICAgICAgICAgICAgICAgIGNhY2hlLT5jYWNoZV9zYi0+c19yb290LT5kX2ZzZGF0YSA9IE5VTEw7 DQogICAgICAgICB9DQogDQorCQlpZiAoY2FjaGUtPmNhY2hlX3R5cGUpDQorCQkJCVBSRVNUT19G UkVFKGNhY2hlLT5jYWNoZV90eXBlLCBzdHJsZW4oY2FjaGUtPmNhY2hlX3R5cGUpICsgMSApOw0K Kw0KICAgICAgICAgUFJFU1RPX0ZSRUUoY2FjaGUsIHNpemVvZihzdHJ1Y3QgcHJlc3RvX2NhY2hl KSk7DQogfQ0KIA0KZGlmZiAtdXIgaW50ZXJtZXp6by1DVlMvZnMyNC9kY2FjaGUuYyBpbnRlcm1l enpvLXBvc3QvZnMyNC9kY2FjaGUuYw0KLS0tIGludGVybWV6em8tQ1ZTL2ZzMjQvZGNhY2hlLmMJ MjAwMi0xMC0yMyAxNDo0NDozNy4wMDAwMDAwMDAgKzAyMDANCisrKyBpbnRlcm1lenpvLXBvc3Qv ZnMyNC9kY2FjaGUuYwkyMDAzLTA4LTA2IDE0OjI3OjM2LjAwMDAwMDAwMCArMDIwMA0KQEAgLTMy NCw2ICszMjQsMTEgQEANCiAgICAgICAgICAgICAgICAgICAgICAgICBkZW50cnksIGRlbnRyeS0+ ZF9uYW1lLmxlbiwgZGVudHJ5LT5kX25hbWUubmFtZSwgDQogICAgICAgICAgICAgICAgICAgICAg ICAgZGVudHJ5LT5kX2ZzZGF0YSk7DQogICAgICAgICB1bmxvY2tfa2VybmVsKCk7DQorDQorICAg ICAgICBmaWx0ZXJfc2V0dXBfZGVudHJ5X29wcyhmc2V0LT5mc2V0X2NhY2hlLT5jYWNoZV9maWx0 ZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZW50cnktPmRfb3AsICZwcmVz dG9fZGVudHJ5X29wcyk7DQorICAgICAgICBkZW50cnktPmRfb3AgPSBmaWx0ZXJfYzJ1ZG9wcyhm c2V0LT5mc2V0X2NhY2hlLT5jYWNoZV9maWx0ZXIpOw0KKw0KICAgICAgICAgcmV0dXJuIGVycm9y OyANCiB9DQogDQpkaWZmIC11ciBpbnRlcm1lenpvLUNWUy9mczI0L2Rpci5jIGludGVybWV6em8t cG9zdC9mczI0L2Rpci5jDQotLS0gaW50ZXJtZXp6by1DVlMvZnMyNC9kaXIuYwkyMDAyLTA5LTI0 IDAwOjEwOjA2LjAwMDAwMDAwMCArMDIwMA0KKysrIGludGVybWV6em8tcG9zdC9mczI0L2Rpci5j CTIwMDMtMDgtMDYgMTQ6MzE6MDUuMDAwMDAwMDAwICswMjAwDQpAQCAtMzAwLDEwICszMDAsNyBA QA0KICAgICAgICAgLyogc29tZSBmaWxlIHN5c3RlbXMgaGF2ZSBubyByZWFkX2lub2RlOiBzZXQg bWV0aG9kcyBoZXJlICovDQogICAgICAgICBpZiAoZGVudHJ5LT5kX2lub2RlKQ0KICAgICAgICAg ICAgICAgICBwcmVzdG9fc2V0X29wcyhkZW50cnktPmRfaW5vZGUsIGNhY2hlLT5jYWNoZV9maWx0 ZXIpOw0KLQ0KLSAgICAgICAgZmlsdGVyX3NldHVwX2RlbnRyeV9vcHMoY2FjaGUtPmNhY2hlX2Zp bHRlciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbnRyeS0+ZF9vcCwgJnBy ZXN0b19kZW50cnlfb3BzKTsNCi0gICAgICAgIGRlbnRyeS0+ZF9vcCA9IGZpbHRlcl9jMnVkb3Bz KGNhY2hlLT5jYWNoZV9maWx0ZXIpOw0KKwkJLyogZGVudHJ5LT5kX29wIGlzIG5vdyBob29rZWQg aW4gZGNhY2hlLmM6cHJlc3RvX3NldF9kZCAqLw0KIA0KICAgICAgICAgLyogSW4gbG9va3VwIHdl IHdpbGwgdG9sZXJhdGUgRVJPRlMgcmV0dXJuIGNvZGVzIGZyb20gcHJlc3RvX3NldF9kZA0KICAg ICAgICAgICogdG8gcGxhY2F0ZSBORlMuIEVST0ZTIGluZGljYXRlcyB0aGF0IGEgZmlsZXNldCB3 YXMgbm90IGZvdW5kIGJ1dA0KZGlmZiAtdXIgaW50ZXJtZXp6by1DVlMvZnMyNC9maWxlc2V0LmMg aW50ZXJtZXp6by1wb3N0L2ZzMjQvZmlsZXNldC5jDQotLS0gaW50ZXJtZXp6by1DVlMvZnMyNC9m aWxlc2V0LmMJMjAwMi0xMC0wMyAwNTo1MDo0OS4wMDAwMDAwMDAgKzAyMDANCisrKyBpbnRlcm1l enpvLXBvc3QvZnMyNC9maWxlc2V0LmMJMjAwMy0wOC0wNiAxNDoyOTozMy4wMDAwMDAwMDAgKzAy MDANCkBAIC0xNTksNyArMTU5LDcgQEANCiAgICAgICAgICAgICAgICAgQ0RFQlVHKERfSU5PREUs ICJFcnJvciAlZFxuIiwgZXJyb3IpOw0KICAgICAgICAgfQ0KIA0KLSAgICAgICAgUFJFU1RPX0ZS RUUocGF0aCwgc3RybGVuKHBhdGgpKTsNCisgICAgICAgIFBSRVNUT19GUkVFKHBhdGgsIHN0cmxl bihwYXRoKSsxKTsNCiANCiAgICAgICAgIEVYSVQ7DQogICAgICAgICByZXR1cm4gZjsNCkBAIC0y NTksNiArMjU5LDcgQEANCiAgICAgICAgICAgICAgICAgZXJyb3IgPSAtRU5PTUVNOw0KICAgICAg ICAgICAgICAgICBnb3RvIG91dF9mcmVlOw0KICAgICAgICAgfQ0KKwkJDQogICAgICAgICBwcmVz dG9fZDJkKGRlbnRyeSktPmRkX2ZzZXQgPSBmc2V0Ow0KICAgICAgICAgbGlzdF9hZGQoJmZzZXQt PmZzZXRfbGlzdCwgJmNhY2hlLT5jYWNoZV9mc2V0X2xpc3QpOw0KIA0KQEAgLTM0Myw2ICszNDQs NyBAQA0KICAgICAgICAgZHB1dChmc2V0LT5mc2V0X2RlbnRyeSk7DQogICAgICAgICBtbnRwdXQo ZnNldC0+ZnNldF9tbnQpOw0KIA0KKwkJaXpvX3JlcF9jYWNoZV9jbGVhbihmc2V0KTsNCiAgICAg ICAgIFBSRVNUT19GUkVFKGZzZXQtPmZzZXRfbmFtZSwgc3RybGVuKGZzZXQtPmZzZXRfbmFtZSkg KyAxKTsNCiAgICAgICAgIFBSRVNUT19GUkVFKGZzZXQtPmZzZXRfcmVpbnRfYnVmLCA2NCAqIDEw MjQpOw0KICAgICAgICAgUFJFU1RPX0ZSRUUoZnNldCwgc2l6ZW9mKCpmc2V0KSk7DQpkaWZmIC11 ciBpbnRlcm1lenpvLUNWUy9mczI0L2xpbnV4L2ludGVybWV6em9fZnMuaCBpbnRlcm1lenpvLXBv c3QvZnMyNC9saW51eC9pbnRlcm1lenpvX2ZzLmgNCi0tLSBpbnRlcm1lenpvLUNWUy9mczI0L2xp bnV4L2ludGVybWV6em9fZnMuaAkyMDAyLTA0LTMwIDA0OjE3OjUwLjAwMDAwMDAwMCArMDIwMA0K KysrIGludGVybWV6em8tcG9zdC9mczI0L2xpbnV4L2ludGVybWV6em9fZnMuaAkyMDAzLTA4LTA2 IDE0OjI5OjUyLjAwMDAwMDAwMCArMDIwMA0KQEAgLTY1Myw2ICs2NTMsNyBAQA0KIGludCBpem9f cmVwc3RhdHVzKHN0cnVjdCBwcmVzdG9fZmlsZV9zZXQgKmZzZXQsIF9fdTY0IGNsaWVudF9rbWxz aXplLCANCiAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaXpvX3JjdmRfcmVjICpscl9jbGllbnQs IHN0cnVjdCBpem9fcmN2ZF9yZWMgKmxyX3NlcnZlcik7DQogaW50IGl6b19yZXBfY2FjaGVfaW5p dChzdHJ1Y3QgcHJlc3RvX2ZpbGVfc2V0ICopOw0KK3ZvaWQgaXpvX3JlcF9jYWNoZV9jbGVhbihz dHJ1Y3QgcHJlc3RvX2ZpbGVfc2V0ICpmc2V0KTsNCiBsb2ZmX3QgaXpvX3JjdmRfZ2V0KHN0cnVj dCBpem9fcmN2ZF9yZWMgKiwgc3RydWN0IHByZXN0b19maWxlX3NldCAqLCBjaGFyICp1dWlkKTsN CiBsb2ZmX3QgaXpvX3JjdmRfd3JpdGUoc3RydWN0IHByZXN0b19maWxlX3NldCAqLCBzdHJ1Y3Qg aXpvX3JjdmRfcmVjICopOw0KIGxvZmZfdCBpem9fcmN2ZF91cGRfcmVtb3RlKHN0cnVjdCBwcmVz dG9fZmlsZV9zZXQgKmZzZXQsIGNoYXIgKiB1dWlkLCAgX191NjQgcmVtb3RlX3JlY25vLA0KQEAg LTcwOCwxMCArNzA5LDE3IEBADQogc3RhdGljIGlubGluZSBjaGFyICpzdHJkdXAoY2hhciAqc3Ry KQ0KIHsNCiAgICAgICAgIGNoYXIgKnRtcDsNCi0gICAgICAgIHRtcCA9IGttYWxsb2Moc3RybGVu KHN0cikgKyAxLCBHRlBfS0VSTkVMKTsNCi0gICAgICAgIGlmICh0bXApDQotICAgICAgICAgICAg ICAgIG1lbWNweSh0bXAsIHN0ciwgc3RybGVuKHN0cikgKyAxKTsNCi0gICAgICAgICAgICAgICAN CisJCWxvbmcgaW50IHM7DQorDQorCQlzPXN0cmxlbihzdHIpICsgMTsNCisgICAgICAgIHRtcCA9 IGttYWxsb2MocywgR0ZQX0tFUk5FTCk7DQorICAgICAgICBpZiAodG1wKXsNCisJCQkJICBtZW1j cHkodG1wLCBzdHIsIHMpOw0KKwkJCQkgIHByZXN0b19rbWVtX2luYyh0bXAsIHMpOw0KKwkJfQ0K KyAgICAgICAgQ0RFQlVHKERfTUFMTE9DLCAia21hbGxvY2VkOiAlbGQgYXQgJXAgKHRvdCAlbGQp LlxuIiwNCisgICAgICAgICAgICAgICBzLCB0bXAsIHByZXN0b19rbWVtb3J5KTsNCisJCQkJICAN CiAgICAgICAgIHJldHVybiB0bXA7DQogfQ0KIA0KZGlmZiAtdXIgaW50ZXJtZXp6by1DVlMvZnMy NC9yZXBsaWNhdG9yLmMgaW50ZXJtZXp6by1wb3N0L2ZzMjQvcmVwbGljYXRvci5jDQotLS0gaW50 ZXJtZXp6by1DVlMvZnMyNC9yZXBsaWNhdG9yLmMJMjAwMi0wNC0zMCAwNDoxNzo0OS4wMDAwMDAw MDAgKzAyMDANCisrKyBpbnRlcm1lenpvLXBvc3QvZnMyNC9yZXBsaWNhdG9yLmMJMjAwMy0wOC0w NiAxMzo1ODoyMC4wMDAwMDAwMDAgKzAyMDANCkBAIC03MCw3ICs3MCw3IEBADQogICAgICAgICBy ZXR1cm4gJmNhY2hlWyhSQ0FDSEVfTUFTSyAmIHV1aWRbMV0pXTsNCiB9DQogDQotc3RhdGljIHZv aWQNCit2b2lkDQogaXpvX3JlcF9jYWNoZV9jbGVhbihzdHJ1Y3QgcHJlc3RvX2ZpbGVfc2V0ICpm c2V0KQ0KIHsNCiAJaW50IGk7DQpAQCAtODAsMTggKzgwLDE2IEBADQogICAgICAgICBpZiAoZnNl dC0+ZnNldF9jbGllbnRzID09IE5VTEwpDQogCQlyZXR1cm47DQogICAgICAgICBmb3IgKGkgPSAw OyBpIDwgUkNBQ0hFX1NJWkU7IGkrKykgew0KLQkJdG1wID0gYnVja2V0ID0gJmZzZXQtPmZzZXRf Y2xpZW50c1tpXTsNCiANCi0JCXRtcCA9IHRtcC0+bmV4dDsNCi0gICAgICAgICAgICAgICAgd2hp bGUgKHRtcCAhPSBidWNrZXQpIHsNCi0JCQlzdHJ1Y3QgaXpvX29mZnNldF9yZWMgKm9mZnJlYzsN Ci0JCQl0bXAgPSB0bXAtPm5leHQ7DQotCQkJbGlzdF9kZWwodG1wKTsNCi0JCQlvZmZyZWMgPSBs aXN0X2VudHJ5KHRtcCwgc3RydWN0IGl6b19vZmZzZXRfcmVjLA0KLQkJCQkJICAgIG9yX2xpc3Qp Ow0KLQkJCVBSRVNUT19GUkVFKG9mZnJlYywgc2l6ZW9mKHN0cnVjdCBpem9fb2Zmc2V0X3JlYykp Ow0KKwkJCQlsaXN0X2Zvcl9lYWNoX3NhZmUodG1wLGJ1Y2tldCwmZnNldC0+ZnNldF9jbGllbnRz W2ldKQ0KKwkJCQl7DQorCQkJCQkJc3RydWN0IGl6b19vZmZzZXRfcmVjICpvZmZyZWM7DQorCQkJ CQkJbGlzdF9kZWwodG1wKTsNCisJCQkJCQlvZmZyZWMgPSBsaXN0X2VudHJ5KHRtcCwgc3RydWN0 IGl6b19vZmZzZXRfcmVjLG9yX2xpc3QpOw0KKwkJCQkJCVBSRVNUT19GUkVFKG9mZnJlYywgc2l6 ZW9mKHN0cnVjdCBpem9fb2Zmc2V0X3JlYykpOyANCisJCQkJfQ0KIAkJfQ0KLQl9DQorCQlQUkVT VE9fRlJFRShmc2V0LT5mc2V0X2NsaWVudHMsc2l6ZW9mKHN0cnVjdCBsaXN0X2hlYWQpICogUkNB Q0hFX1NJWkUpOw0KIH0NCiANCiBzdHJ1Y3QgaXpvX29mZnNldF9yZWMgKg0KZGlmZiAtdXIgaW50 ZXJtZXp6by1DVlMvZnMyNC9zdXBlci5jIGludGVybWV6em8tcG9zdC9mczI0L3N1cGVyLmMNCi0t LSBpbnRlcm1lenpvLUNWUy9mczI0L3N1cGVyLmMJMjAwMi0xMC0wMyAwNTo1MDo0OS4wMDAwMDAw MDAgKzAyMDANCisrKyBpbnRlcm1lenpvLXBvc3QvZnMyNC9zdXBlci5jCTIwMDMtMDgtMDYgMTQ6 MzA6MTguMDAwMDAwMDAwICswMjAwDQpAQCAtMTcyLDYgKzE3Miw3IEBADQogICAgICAgICAgICAg ICAgIG1pbm9yID0gaXpvX3BzZGV2X2dldF9mcmVlX2NoYW5uZWwoKTsNCiAgICAgICAgIH0gZWxz ZSB7DQogICAgICAgICAgICAgICAgIG1pbm9yID0gc2ltcGxlX3N0cnRvdWwoY2hhbm5lbCwgTlVM TCwgMCk7IA0KKwkJCQlQUkVTVE9fRlJFRShjaGFubmVsLCBzdHJsZW4oY2hhbm5lbCkgKyAxKTsN CiAgICAgICAgIH0NCiAgICAgICAgIGlmIChtaW5vciA8IDAgfHwgbWlub3IgPj0gTUFYX0NIQU5O RUwpIHsgDQogICAgICAgICAgICAgICAgIENFUlJPUigiYWxsIGNoYW5uZWxzIGluIHVzZSBvciBj aGFubmVsIHRvbyBsYXJnZSAlZFxuIiwgDQpAQCAtMjg3LDYgKzI4OCw5IEBADQogICAgICAgICBw cmVzdG9fY2FjaGVfYWRkKGNhY2hlLCBzYi0+c19kZXYpOw0KICAgICAgICAgZXJyID0gaXpvX3By ZXBhcmVfZmlsZXNldChzYi0+c19yb290LCBmaWxlc2V0KTsgDQogDQorICAgICAgICBpZiAoZmls ZXNldCkNCisgICAgICAgICAgICAgICAgUFJFU1RPX0ZSRUUoZmlsZXNldCwgc3RybGVuKGZpbGVz ZXQpICsgMSk7DQorDQogICAgICAgICBmaWx0ZXJfc2V0dXBfam91cm5hbF9vcHMoY2FjaGUtPmNh Y2hlX2ZpbHRlciwgY2FjaGUtPmNhY2hlX3R5cGUpOyANCiANCiAgICAgICAgIC8qIG1ha2Ugc3Vy ZSB3ZSBoYXZlIG91ciBvd24gc3VwZXIgb3BlcmF0aW9uczogc2INCg== --=-rQvlWMitMXVPJZ2TpbkG-- --=-XpbcYsXWOqodjThaJ5XA Content-Type: application/pgp-signature; name=signature.asc Content-Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQA/MQJdjnVogoLaCSwRAkE3AKCNfFRKeZhA1SIhSnKVijINIlqvEgCdGPPC LvdIM71jKZM6S5q8mrMaYJg= =Gm3d -----END PGP SIGNATURE----- --=-XpbcYsXWOqodjThaJ5XA-- ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01