kern/142597: [ext2fs] ext2fs does not work on filesystems with
really big directories
Pedro F. Giffuni
giffunip at tutopia.com
Thu Feb 11 03:00:05 UTC 2010
The following reply was made to PR kern/142597; it has been noted by GNATS.
From: "Pedro F. Giffuni" <giffunip at tutopia.com>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/142597: [ext2fs] ext2fs does not work on filesystems with really big directories
Date: Wed, 10 Feb 2010 18:56:28 -0800 (PST)
--0-1240140841-1265856988=:21423
Content-Type: text/plain; charset=us-ascii
The previous patch was incomplete.
There is now a complete fix for UFS available as
SVN Revision 203763.
Translating it to ext2fs gives the attached patch.
(I kept the file system --> filesystem corrections)
Please note that ext2_blkpref is very different to
ffs1_blkpref. We probably have to review that function
for (un)signed issues too.
--0-1240140841-1265856988=:21423
Content-Type: application/octet-stream; name="patch-ext2_alloc.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-ext2_alloc.c"
LS0tIC4uL2V4dDJmcy5ic2QvZXh0Ml9hbGxvYy5jCTIwMTAtMDEtMTcgMTk6
MDA6NDcuMDAwMDAwMDAwICswMDAwCisrKyBleHQyX2FsbG9jLmMJMjAxMC0w
Mi0xMCAyMTo0MDoyNS4wMDAwMDAwMDAgKzAwMDAKQEAgLTUxLDE2ICs1MSwx
NiBAQAogI2luY2x1ZGUgPGZzL2V4dDJmcy9mcy5oPgogI2luY2x1ZGUgPGZz
L2V4dDJmcy9leHQyX2V4dGVybi5oPgogCi1zdGF0aWMgZGFkZHJfdAlleHQy
X2FsbG9jY2coc3RydWN0IGlub2RlICosIGludCwgZGFkZHJfdCwgaW50KTsK
K3N0YXRpYyBkYWRkcl90CWV4dDJfYWxsb2NjZyhzdHJ1Y3QgaW5vZGUgKiwg
dV9pbnQsIGRhZGRyX3QsIGludCk7CiBzdGF0aWMgdV9sb25nCWV4dDJfZGly
cHJlZihzdHJ1Y3QgaW5vZGUgKik7CiBzdGF0aWMgdm9pZAlleHQyX2ZzZXJy
KHN0cnVjdCBtX2V4dDJmcyAqLCB1aWRfdCwgY2hhciAqKTsKIHN0YXRpYyB1
X2xvbmcJZXh0Ml9oYXNoYWxsb2Moc3RydWN0IGlub2RlICosIGludCwgbG9u
ZywgaW50LAotCQkJCWRhZGRyX3QgKCopKHN0cnVjdCBpbm9kZSAqLCBpbnQs
IGRhZGRyX3QsIAorCQkJCWRhZGRyX3QgKCopKHN0cnVjdCBpbm9kZSAqLCB1
X2ludCwgZGFkZHJfdCwgCiAJCQkJCQlpbnQpKTsKLXN0YXRpYyBkYWRkcl90
CWV4dDJfbm9kZWFsbG9jY2coc3RydWN0IGlub2RlICosIGludCwgZGFkZHJf
dCwgaW50KTsKK3N0YXRpYyBkYWRkcl90CWV4dDJfbm9kZWFsbG9jY2coc3Ry
dWN0IGlub2RlICosIHVfaW50LCBkYWRkcl90LCBpbnQpOwogc3RhdGljIGRh
ZGRyX3QgIGV4dDJfbWFwc2VhcmNoKHN0cnVjdCBtX2V4dDJmcyAqLCBjaGFy
ICosIGRhZGRyX3QpOwogLyoKLSAqIEFsbG9jYXRlIGEgYmxvY2sgaW4gdGhl
IGZpbGUgc3lzdGVtLgorICogQWxsb2NhdGUgYSBibG9jayBpbiB0aGUgZmls
ZXN5c3RlbS4KICAqCiAgKiBBIHByZWZlcmVuY2UgbWF5IGJlIG9wdGlvbmFs
bHkgc3BlY2lmaWVkLiBJZiBhIHByZWZlcmVuY2UgaXMgZ2l2ZW4KICAqIHRo
ZSBmb2xsb3dpbmcgaGllcmFyY2h5IGlzIHVzZWQgdG8gYWxsb2NhdGUgYSBi
bG9jazoKQEAgLTEwMiw3ICsxMDIsNyBAQAogCXN0cnVjdCBtX2V4dDJmcyAq
ZnM7CiAJc3RydWN0IGV4dDJtb3VudCAqdW1wOwogCWludDMyX3QgYm5vOwot
CWludCBjZzsJCisJdV9pbnQgY2c7CQogCSpibnAgPSAwOwogCWZzID0gaXAt
PmlfZTJmczsKIAl1bXAgPSBpcC0+aV91bXA7CkBAIC0xMzcsOCArMTM3LDgg
QEAKICAgICAgICAgfQogbm9zcGFjZToKIAlFWFQyX1VOTE9DSyh1bXApOwot
CWV4dDJfZnNlcnIoZnMsIGNyZWQtPmNyX3VpZCwgImZpbGUgc3lzdGVtIGZ1
bGwiKTsKLQl1cHJpbnRmKCJcbiVzOiB3cml0ZSBmYWlsZWQsIGZpbGUgc3lz
dGVtIGlzIGZ1bGxcbiIsIGZzLT5lMmZzX2ZzbW50KTsKKwlleHQyX2ZzZXJy
KGZzLCBjcmVkLT5jcl91aWQsICJmaWxlc3lzdGVtIGZ1bGwiKTsKKwl1cHJp
bnRmKCJcbiVzOiB3cml0ZSBmYWlsZWQsIGZpbGVzeXN0ZW0gaXMgZnVsbFxu
IiwgZnMtPmUyZnNfZnNtbnQpOwogCXJldHVybiAoRU5PU1BDKTsKIH0KIApA
QCAtMzMyLDcgKzMzMiw3IEBACiB9CiAKIC8qCi0gKiBBbGxvY2F0ZSBhbiBp
bm9kZSBpbiB0aGUgZmlsZSBzeXN0ZW0uCisgKiBBbGxvY2F0ZSBhbiBpbm9k
ZSBpbiB0aGUgZmlsZXN5c3RlbS4KICAqIAogICovCiBpbnQKQEAgLTM0Nyw3
ICszNDcsOCBAQAogCXN0cnVjdCBpbm9kZSAqaXA7CiAJc3RydWN0IGV4dDJt
b3VudCAqdW1wOwogCWlub190IGlubywgaXByZWY7Ci0JaW50IGksIGVycm9y
LCBjZzsKKwl1X2ludCBjZzsKKwlpbnQgaSwgZXJyb3I7CiAJCiAJKnZwcCA9
IE5VTEw7CiAJcGlwID0gVlRPSShwdnApOwpAQCAtNDMzLDExICs0MzQsMTEg
QEAKIGV4dDJfZGlycHJlZihzdHJ1Y3QgaW5vZGUgKnBpcCkKIHsKIAlzdHJ1
Y3QgbV9leHQyZnMgKmZzOwotICAgICAgICBpbnQgY2csIHByZWZjZywgZGly
c2l6ZSwgY2dzaXplOwotCWludCBhdmdpZnJlZSwgYXZnYmZyZWUsIGF2Z25k
aXIsIGN1cmRpcnNpemU7Ci0JaW50IG1pbmlmcmVlLCBtaW5iZnJlZSwgbWF4
bmRpcjsKLQlpbnQgbWluY2csIG1pbm5kaXI7Ci0JaW50IG1heGNvbnRpZ2Rp
cnM7CisgICAgICAgIHVfaW50IGNnLCBwcmVmY2csIGRpcnNpemUsIGNnc2l6
ZTsKKwl1X2ludCBhdmdpZnJlZSwgYXZnYmZyZWUsIGF2Z25kaXIsIGN1cmRp
cnNpemU7CisJdV9pbnQgbWluaWZyZWUsIG1pbmJmcmVlLCBtYXhuZGlyOwor
CXVfaW50IG1pbmNnLCBtaW5uZGlyOworCXVfaW50IG1heGNvbnRpZ2RpcnM7
CiAKIAltdHhfYXNzZXJ0KEVYVDJfTVRYKHBpcC0+aV91bXApLCBNQV9PV05F
RCk7CiAJZnMgPSBwaXAtPmlfZTJmczsKQEAgLTU4NCwxMiArNTg1LDEyIEBA
CiAgKiAgIDMpIGJydXRlIGZvcmNlIHNlYXJjaCBmb3IgYSBmcmVlIGJsb2Nr
LgogICovCiBzdGF0aWMgdV9sb25nCi1leHQyX2hhc2hhbGxvYyhzdHJ1Y3Qg
aW5vZGUgKmlwLCBpbnQgY2csIGxvbmcgcHJlZiwgaW50IHNpemUsCitleHQy
X2hhc2hhbGxvYyhzdHJ1Y3QgaW5vZGUgKmlwLCB1X2ludCBjZywgbG9uZyBw
cmVmLCBpbnQgc2l6ZSwKICAgICAgICAgICAgICAgICBkYWRkcl90ICgqYWxs
b2NhdG9yKShzdHJ1Y3QgaW5vZGUgKiwgaW50LCBkYWRkcl90LCBpbnQpKQog
ewogCXN0cnVjdCBtX2V4dDJmcyAqZnM7CiAJaW5vX3QgcmVzdWx0OwotCWlu
dCBpLCBpY2cgPSBjZzsKKwl1X2ludCBpLCBpY2cgPSBjZzsKIAogCW10eF9h
c3NlcnQoRVhUMl9NVFgoaXAtPmlfdW1wKSwgTUFfT1dORUQpOwogCWZzID0g
aXAtPmlfZTJmczsKQEAgLTYzNCw3ICs2MzUsNyBAQAogICogYW5kIGlmIGl0
IGlzLCBhbGxvY2F0ZSBpdC4KICAqLwogc3RhdGljIGRhZGRyX3QKLWV4dDJf
YWxsb2NjZyhzdHJ1Y3QgaW5vZGUgKmlwLCBpbnQgY2csIGRhZGRyX3QgYnBy
ZWYsIGludCBzaXplKQorZXh0Ml9hbGxvY2NnKHN0cnVjdCBpbm9kZSAqaXAs
IHVfaW50IGNnLCBkYWRkcl90IGJwcmVmLCBpbnQgc2l6ZSkKIHsKIAlzdHJ1
Y3QgbV9leHQyZnMgKmZzOwogCXN0cnVjdCBidWYgKmJwOwpAQCAtNzI0LDcg
KzcyNSw3IEBACiAgKiBhbGxvY2F0ZSBpdCB1c2luZyB0b2RlIGluIHRoZSBz
cGVjaWZpZWQgY3lsaW5kZXIgZ3JvdXAuCiAgKi8KIHN0YXRpYyBkYWRkcl90
Ci1leHQyX25vZGVhbGxvY2NnKHN0cnVjdCBpbm9kZSAqaXAsIGludCBjZywg
ZGFkZHJfdCBpcHJlZiwgaW50IG1vZGUpCitleHQyX25vZGVhbGxvY2NnKHN0
cnVjdCBpbm9kZSAqaXAsIHVfaW50IGNnLCBkYWRkcl90IGlwcmVmLCBpbnQg
bW9kZSkKIHsKIAlzdHJ1Y3QgbV9leHQyZnMgKmZzOwogCXN0cnVjdCBidWYg
KmJwOwpAQCAtNzkwLDcgKzc5MSw3IEBACiAJfQogCUVYVDJfVU5MT0NLKHVt
cCk7CiAJYmR3cml0ZShicCk7Ci0JcmV0dXJuIChjZyAqIGZzLT5lMmZzLT5l
MmZzX2lwZyArIGlwcmVmICsxKTsKKwlyZXR1cm4gKChpbm9fdCljZyAqIGZz
LT5lMmZzLT5lMmZzX2lwZyArIGlwcmVmICsxKTsKIH0KIAogLyoKQEAgLTgw
Niw3ICs4MDcsOCBAQAogCXN0cnVjdCBtX2V4dDJmcyAqZnM7CiAJc3RydWN0
IGJ1ZiAqYnA7CiAJc3RydWN0IGV4dDJtb3VudCAqdW1wOwotCWludCBjZywg
ZXJyb3I7CisJdV9pbnQgY2c7CisJaW50IGVycm9yOwogCWNoYXIgKmJicDsK
IAogCWZzID0gaXAtPmlfZTJmczsKQEAgLTk0Miw3ICs5NDQsNyBAQAogfQog
CiAvKgotICogRnNlcnIgcHJpbnRzIHRoZSBuYW1lIG9mIGEgZmlsZSBzeXN0
ZW0gd2l0aCBhbiBlcnJvciBkaWFnbm9zdGljLgorICogRnNlcnIgcHJpbnRz
IHRoZSBuYW1lIG9mIGEgZmlsZXN5c3RlbSB3aXRoIGFuIGVycm9yIGRpYWdu
b3N0aWMuCiAgKiAKICAqIFRoZSBmb3JtIG9mIHRoZSBlcnJvciBtZXNzYWdl
IGlzOgogICoJZnM6IGVycm9yIG1lc3NhZ2UK
--0-1240140841-1265856988=:21423--
More information about the freebsd-fs
mailing list