From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Kenneth W" Date: Fri, 26 Sep 2003 21:44:00 +0000 Subject: Hugetlb FS quota bug fix MIME-Version: 1 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C38477.4C1B90A6" Message-Id: List-Id: To: linux-ia64@vger.kernel.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C38477.4C1B90A6 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Here is a bug fix patch relative to latest Bjorn's 2.4 ia64 kernel tree. Mainly sync up hugetlbfs code w.r.t latest 2.6. Hugetlb file system quota was incorrectly taken on every mmap even for the case that huge pages has been already allocated on the file inode. This results in taxing the same hugepage multiple times and causing mmap to fail on existing file when quota mistakenly runs out. This patch also fixes file size to account holes. Bjorn, since you are still carrying hugetlbfs for ia64, would you please merge this? (bug fix for 2.6 has been taken care already) Thanks. - Ken ------_=_NextPart_001_01C38477.4C1B90A6 Content-Type: application/octet-stream; name="hugetlbfs-quota24.patch" Content-Transfer-Encoding: base64 Content-Description: hugetlbfs-quota24.patch Content-Disposition: attachment; filename="hugetlbfs-quota24.patch" ZGlmZiAtTnVycCAyLjQuMjMtcHJlNS9hcmNoL2lhNjQvbW0vaHVnZXRsYnBhZ2UuYyAyLjQuMjMt cHJlNS5rZW4vYXJjaC9pYTY0L21tL2h1Z2V0bGJwYWdlLmMKLS0tIDIuNC4yMy1wcmU1L2FyY2gv aWE2NC9tbS9odWdldGxicGFnZS5jCUZyaSBTZXAgMjYgMTQ6Mjg6MjEgMjAwMworKysgMi40LjIz LXByZTUua2VuL2FyY2gvaWE2NC9tbS9odWdldGxicGFnZS5jCUZyaSBTZXAgMjYgMTQ6Mjk6MDUg MjAwMwpAQCAtMjYyLDE4ICsyNjIsMTkgQEAgaW50IGh1Z2V0bGJfcHJlZmF1bHQoc3RydWN0IGFk ZHJlc3Nfc3BhYwogCQkJKyAodm1hLT52bV9wZ29mZiA+PiAoSFBBR0VfU0hJRlQgLSBQQUdFX1NI SUZUKSk7CiAJCXBhZ2UgPSBmaW5kX2dldF9wYWdlKG1hcHBpbmcsIGlkeCk7CiAJCWlmICghcGFn ZSkgewotCQkJbG9mZl90IGlfc2l6ZTsKKwkJCS8qIGNoYXJnZSB0aGUgZnMgcXVvdGEgZmlyc3Qg Ki8KKwkJCWlmIChodWdldGxiX2dldF9xdW90YShtYXBwaW5nKSkgeworCQkJCXJldCA9IC1FTk9N RU07CisJCQkJZ290byBvdXQ7CisJCQl9CiAJCQlwYWdlID0gYWxsb2NfaHVnZXRsYl9wYWdlKCk7 CiAJCQlpZiAoIXBhZ2UpIHsKKwkJCQlodWdldGxiX3B1dF9xdW90YShtYXBwaW5nKTsKIAkJCQly ZXQgPSAtRU5PTUVNOwogCQkJCWdvdG8gb3V0OwogCQkJfQogCQkJYWRkX3RvX3BhZ2VfY2FjaGUo cGFnZSwgbWFwcGluZywgaWR4KTsKIAkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJaV9zaXplID0g KGxvZmZfdCkoaWR4ICsgMSkgKiBIUEFHRV9TSVpFOwotCQkJaWYgKGlfc2l6ZSA+IGlub2RlLT5p X3NpemUpCi0JCQkJaW5vZGUtPmlfc2l6ZSA9IGlfc2l6ZTsKLQogCQl9CiAJCXNldF9odWdlX3B0 ZShtbSwgdm1hLCBwYWdlLCBwdGUsIHZtYS0+dm1fZmxhZ3MgJiBWTV9XUklURSk7CiAJfQpkaWZm IC1OdXJwIDIuNC4yMy1wcmU1L2ZzL2h1Z2V0bGJmcy9pbm9kZS5jIDIuNC4yMy1wcmU1Lmtlbi9m cy9odWdldGxiZnMvaW5vZGUuYwotLS0gMi40LjIzLXByZTUvZnMvaHVnZXRsYmZzL2lub2RlLmMJ RnJpIFNlcCAyNiAxNDoyODoyMSAyMDAzCisrKyAyLjQuMjMtcHJlNS5rZW4vZnMvaHVnZXRsYmZz L2lub2RlLmMJRnJpIFNlcCAyNiAxNDoyOTowNSAyMDAzCkBAIC0xMzksOCArMTM5LDcgQEAgc3Rh dGljIGludCBodWdldGxiZnNfZmlsZV9tbWFwKHN0cnVjdCBmaQogewogCXN0cnVjdCBpbm9kZSAq aW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7Ci0Jc3RydWN0IGh1Z2V0bGJmc19zYl9pbmZvICpz YmluZm8gPSBIVUdFVExCRlNfU0IoaW5vZGUtPmlfc2IpOwotCWxvZmZfdCBsZW47CisJbG9mZl90 IGxlbiwgdm1hX2xlbjsKIAlpbnQgcmV0OwogCiAJaWYgKHZtYS0+dm1fc3RhcnQgJiB+SFBBR0Vf TUFTSykKQEAgLTE1NSwxNyArMTU0LDcgQEAgc3RhdGljIGludCBodWdldGxiZnNfZmlsZV9tbWFw KHN0cnVjdCBmaQogCWlmICh2bWEtPnZtX3N0YXJ0IDwgKFJFR0lPTl9IUEFHRSA8PCBSRUdJT05f U0hJRlQpKQogCQlyZXR1cm4gLUVJTlZBTDsKICNlbmRpZgotCWxlbiA9IChsb2ZmX3QpKHZtYS0+ dm1fZW5kIC0gdm1hLT52bV9zdGFydCk7Ci0JaWYgKHNiaW5mby0+ZnJlZV9ibG9ja3MgPj0gMCkg eyAvKiBDaGVjayBpZiB0aGVyZSBpcyBhbnkgc2l6ZSBsaW1pdC4gKi8KLQkJc3Bpbl9sb2NrKCZz YmluZm8tPnN0YXRfbG9jayk7Ci0JCWlmICgobGVuID4+IEhQQUdFX1NISUZUKSA8PSBzYmluZm8t PmZyZWVfYmxvY2tzKSB7Ci0JCQlzYmluZm8tPmZyZWVfYmxvY2tzIC09IChsZW4gPj4gSFBBR0Vf U0hJRlQpOwotCQkJc3Bpbl91bmxvY2soJnNiaW5mby0+c3RhdF9sb2NrKTsKLQkJfSBlbHNlIHsK LQkJCXNwaW5fdW5sb2NrKCZzYmluZm8tPnN0YXRfbG9jayk7Ci0JCQlyZXR1cm4gLUVOT01FTTsK LQkJfQotCX0KKwl2bWFfbGVuID0gKGxvZmZfdCkodm1hLT52bV9lbmQgLSB2bWEtPnZtX3N0YXJ0 KTsKIAogCWRvd24oJmlub2RlLT5pX3NlbSk7CiAKQEAgLTE3MywxNSArMTYyLDExIEBAIHN0YXRp YyBpbnQgaHVnZXRsYmZzX2ZpbGVfbW1hcChzdHJ1Y3QgZmkKIAl2bWEtPnZtX2ZsYWdzIHw9IFZN X0hVR0VUTEIgfCBWTV9SRVNFUlZFRDsKIAl2bWEtPnZtX29wcyA9ICZodWdldGxiX3ZtX29wczsK IAlyZXQgPSBodWdldGxiX3ByZWZhdWx0KG1hcHBpbmcsIHZtYSk7CisJbGVuID0gdm1hX2xlbiAr ICgobG9mZl90KXZtYS0+dm1fcGdvZmYgPDwgUEFHRV9TSElGVCk7CisJaWYgKHJldCA9PSAwICYm IGlub2RlLT5pX3NpemUgPCBsZW4pCisJCWlub2RlLT5pX3NpemUgPSBsZW47CiAJdXAoJmlub2Rl LT5pX3NlbSk7CiAKLQkvKiBJZiB0aGUgaHVnZSBwYWdlIGFsbG9jYXRpb24gaGFzIGZhaWxlZCB0 aGVuIGluY3JlbWVudCB0aGUgZnJlZV9ibG9ja3MuICovCi0JaWYgKChyZXQgIT0gMCkgJiYgKHNi aW5mby0+ZnJlZV9ibG9ja3MgPj0gMCkpIHsKLQkJc3Bpbl9sb2NrKCZzYmluZm8tPnN0YXRfbG9j ayk7Ci0JCXNiaW5mby0+ZnJlZV9ibG9ja3MgKz0gKGxlbiA+PiBIUEFHRV9TSElGVCk7Ci0JCXNw aW5fdW5sb2NrKCZzYmluZm8tPnN0YXRfbG9jayk7Ci0JfQotCiAJcmV0dXJuIHJldDsKIH0KIApA QCAtMjYxLDcgKzI0Niw2IEBAIHZvaWQgdHJ1bmNhdGVfaHVnZV9wYWdlKHN0cnVjdCBhZGRyZXNz X3MKIAogdm9pZCB0cnVuY2F0ZV9odWdlcGFnZXMoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBsc3RhcnQpCiB7Ci0Jc3RydWN0IGh1Z2V0 bGJmc19zYl9pbmZvICpzYmluZm8gPSBIVUdFVExCRlNfU0IobWFwcGluZy0+aG9zdC0+aV9zYik7 CiAJdW5zaWduZWQgbG9uZyAgc3RhcnQgPSBsc3RhcnQgPj4gSFBBR0VfU0hJRlQ7CiAJdW5zaWdu ZWQgbG9uZyBuZXh0OwogCXVuc2lnbmVkIGxvbmcgbWF4X2lkeDsKQEAgLTI3NywxMyArMjYxLDgg QEAgdm9pZCB0cnVuY2F0ZV9odWdlcGFnZXMoc3RydWN0IGlub2RlICppbgogCQlwYWdlX2NhY2hl X3JlbGVhc2UocGFnZSk7CiAJCXRydW5jYXRlX2h1Z2VfcGFnZShtYXBwaW5nLCBwYWdlKTsKIAkJ dW5sb2NrX3BhZ2UocGFnZSk7Ci0JCWlmIChzYmluZm8tPmZyZWVfYmxvY2tzID49IDApIHsKLQkJ CXNwaW5fbG9jaygmc2JpbmZvLT5zdGF0X2xvY2spOwotCQkJc2JpbmZvLT5mcmVlX2Jsb2NrcyAr KzsKLQkJCXNwaW5fdW5sb2NrKCZzYmluZm8tPnN0YXRfbG9jayk7Ci0JCX0KKwkJaHVnZXRsYl9w dXRfcXVvdGEobWFwcGluZyk7CiAJfQotCiB9CiAKIHN0YXRpYyB2b2lkIGh1Z2V0bGJmc19kZWxl dGVfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSkKQEAgLTcyMCw2ICs2OTksMzYgQEAgb3V0X2Rl bnRyeToKIAlyZXR1cm4gRVJSX1BUUihlcnJvcik7CiB9CiAKK2ludCBodWdldGxiX2dldF9xdW90 YShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqIG1hcHBpbmcpCit7CisJaW50IHJldCA9IDA7CisJc3Ry dWN0IGh1Z2V0bGJmc19zYl9pbmZvICpzYmluZm8gPQorCQlIVUdFVExCRlNfU0IobWFwcGluZy0+ aG9zdC0+aV9zYik7CisKKwlpZiAoc2JpbmZvLT5mcmVlX2Jsb2NrcyA+IC0xKSB7CisJCXNwaW5f bG9jaygmc2JpbmZvLT5zdGF0X2xvY2spOworCQlpZiAoc2JpbmZvLT5mcmVlX2Jsb2NrcyA+IDAp CisJCQlzYmluZm8tPmZyZWVfYmxvY2tzLS07CisJCWVsc2UKKwkJCXJldCA9IC1FTk9NRU07CisJ CXNwaW5fdW5sb2NrKCZzYmluZm8tPnN0YXRfbG9jayk7CisJfQorCisJcmV0dXJuIHJldDsKK30K Kwordm9pZCBodWdldGxiX3B1dF9xdW90YShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZykK K3sKKwlzdHJ1Y3QgaHVnZXRsYmZzX3NiX2luZm8gKnNiaW5mbyA9CisJCUhVR0VUTEJGU19TQiht YXBwaW5nLT5ob3N0LT5pX3NiKTsKKworCWlmIChzYmluZm8tPmZyZWVfYmxvY2tzID4gLTEpIHsK KwkJc3Bpbl9sb2NrKCZzYmluZm8tPnN0YXRfbG9jayk7CisJCXNiaW5mby0+ZnJlZV9ibG9ja3Mr KzsKKwkJc3Bpbl91bmxvY2soJnNiaW5mby0+c3RhdF9sb2NrKTsKKwl9Cit9CisKIHN0YXRpYyBp bnQgX19pbml0IGluaXRfaHVnZXRsYmZzX2ZzKHZvaWQpCiB7CiAJaW50IGVycm9yOwpkaWZmIC1O dXJwIDIuNC4yMy1wcmU1L2luY2x1ZGUvbGludXgvaHVnZXRsYi5oIDIuNC4yMy1wcmU1Lmtlbi9p bmNsdWRlL2xpbnV4L2h1Z2V0bGIuaAotLS0gMi40LjIzLXByZTUvaW5jbHVkZS9saW51eC9odWdl dGxiLmgJRnJpIFNlcCAyNiAxNDoyODoyMSAyMDAzCisrKyAyLjQuMjMtcHJlNS5rZW4vaW5jbHVk ZS9saW51eC9odWdldGxiLmgJRnJpIFNlcCAyNiAxNDoyOTowNSAyMDAzCkBAIC03NCw2ICs3NCw4 IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGh1Z2V0bGJmc19zYl9pbmZvICoKIGV4dGVybiBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIGh1Z2V0bGJmc19maWxlX29wZXJhdGlvbnM7CiBleHRlcm4gc3Ry dWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IGh1Z2V0bGJfdm1fb3BzOwogc3RydWN0IGZpbGUgKmh1 Z2V0bGJfemVyb19zZXR1cChzaXplX3QpOworaW50IGh1Z2V0bGJfZ2V0X3F1b3RhKHN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nKTsKK3ZvaWQgaHVnZXRsYl9wdXRfcXVvdGEoc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmcpOwogCiBzdGF0aWMgaW5saW5lIGludCBpc19maWxlX2h1Z2Vw YWdlcyhzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKQEAgLTg5LDYgKzkxLDggQEAgc3RhdGljIGlubGlu ZSB2b2lkIHNldF9maWxlX2h1Z2VwYWdlcyhzdAogI2RlZmluZSBpc19maWxlX2h1Z2VwYWdlcyhm aWxlKQkJMAogI2RlZmluZSBzZXRfZmlsZV9odWdlcGFnZXMoZmlsZSkJQlVHKCkKICNkZWZpbmUg aHVnZXRsYl96ZXJvX3NldHVwKHNpemUpCUVSUl9QVFIoLUVOT1NZUykKKyNkZWZpbmUgaHVnZXRs Yl9nZXRfcXVvdGEobWFwcGluZykJMAorI2RlZmluZSBodWdldGxiX3B1dF9xdW90YShtYXBwaW5n KQkwCiAKICNlbmRpZiAvKiAhQ09ORklHX0hVR0VUTEJGUyAqLwogCg== ------_=_NextPart_001_01C38477.4C1B90A6--