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