bin/142384: [patch] sync fsck_msdosfs(8) with OpenBSD
Pedro F. Giffuni
giffunip at tutopia.com
Sat Mar 27 17:50:06 UTC 2010
The following reply was made to PR bin/142384; it has been noted by GNATS.
From: "Pedro F. Giffuni" <giffunip at tutopia.com>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: bin/142384: [patch] sync fsck_msdosfs(8) with OpenBSD
Date: Sat, 27 Mar 2010 10:46:48 -0700 (PDT)
--0-1389502456-1269712008=:82651
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
As a reminder before this gets lost ...=0A=0AAfter some private discussion =
with bde@ and kib@ here=0Ais a patch with cleanups for fsck_msdos.=0A=0A=0A=
=0A
--0-1389502456-1269712008=:82651
Content-Type: application/octet-stream; name=patch-fsck
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-fsck"
ZGlmZiAtdSBmc2NrX21zZG9zZnMub3JpZy9NYWtlZmlsZSBmc2NrX21zZG9z
ZnMvTWFrZWZpbGUKLS0tIGZzY2tfbXNkb3Nmcy5vcmlnL01ha2VmaWxlCTIw
MTAtMDItMTQgMTM6NTA6NDkuMDAwMDAwMDAwICswMDAwCisrKyBmc2NrX21z
ZG9zZnMvTWFrZWZpbGUJMjAxMC0wMi0xNCAyMDozODozMC4wMDAwMDAwMDAg
KzAwMDAKQEAgLTksNiArOSw2IEBACiBTUkNTPQltYWluLmMgY2hlY2suYyBi
b290LmMgZmF0LmMgZGlyLmMgZnN1dGlsLmMKIAogQ0ZMQUdTKz0gLUkke0ZT
Q0t9Ci1XQVJOUz89CTAKK1dBUk5TPz0JMgogCiAuaW5jbHVkZSA8YnNkLnBy
b2cubWs+CmRpZmYgLXUgZnNja19tc2Rvc2ZzLm9yaWcvYm9vdC5jIGZzY2tf
bXNkb3Nmcy9ib290LmMKLS0tIGZzY2tfbXNkb3Nmcy5vcmlnL2Jvb3QuYwky
MDEwLTAyLTE0IDEzOjUwOjQ5LjAwMDAwMDAwMCArMDAwMAorKysgZnNja19t
c2Rvc2ZzL2Jvb3QuYwkyMDEwLTAyLTE0IDIwOjE1OjQ5LjAwMDAwMDAwMCAr
MDAwMApAQCAtNDgsNyArNDgsNyBAQAogCWludCByZXQgPSBGU09LOwogCWlu
dCBpOwogCQotCWlmICgoc2l6ZV90KXJlYWQoZG9zZnMsIGJsb2NrLCBzaXpl
b2YgYmxvY2spICE9IHNpemVvZiBibG9jaykgeworCWlmIChyZWFkKGRvc2Zz
LCBibG9jaywgc2l6ZW9mIGJsb2NrKSAhPSBzaXplb2YgYmxvY2spIHsKIAkJ
cGVycm9yKCJjb3VsZCBub3QgcmVhZCBib290IGJsb2NrIik7CiAJCXJldHVy
biBGU0ZBVEFMOwogCX0KQEAgLTcyLDcgKzcyLDggQEAKIAlib290LT5icGJG
QVRzbWFsbCA9IGJsb2NrWzIyXSArIChibG9ja1syM10gPDwgOCk7CiAJYm9v
dC0+U2VjUGVyVHJhY2sgPSBibG9ja1syNF0gKyAoYmxvY2tbMjVdIDw8IDgp
OwogCWJvb3QtPmJwYkhlYWRzID0gYmxvY2tbMjZdICsgKGJsb2NrWzI3XSA8
PCA4KTsKLQlib290LT5icGJIaWRkZW5TZWNzID0gYmxvY2tbMjhdICsgKGJs
b2NrWzI5XSA8PCA4KSArIChibG9ja1szMF0gPDwgMTYpICsgKGJsb2NrWzMx
XSA8PCAyNCk7CisJYm9vdC0+YnBiSGlkZGVuU2VjcyA9IGJsb2NrWzI4XSAr
IChibG9ja1syOV0gPDwgOCkgKworCShibG9ja1szMF0gPDwgMTYpICsgKGJs
b2NrWzMxXSA8PCAyNCk7CiAJYm9vdC0+YnBiSHVnZVNlY3RvcnMgPSBibG9j
a1szMl0gKyAoYmxvY2tbMzNdIDw8IDgpICsgKGJsb2NrWzM0XSA8PCAxNikg
KyAoYmxvY2tbMzVdIDw8IDI0KTsKIAogCWJvb3QtPkZBVHNlY3MgPSBib290
LT5icGJGQVRzbWFsbDsKQEAgLTk3LDcgKzk4LDggQEAKIAkJYm9vdC0+YnBi
RlNJbmZvID0gYmxvY2tbNDhdICsgKGJsb2NrWzQ5XSA8PCA4KTsKIAkJYm9v
dC0+YnBiQmFja3VwID0gYmxvY2tbNTBdICsgKGJsb2NrWzUxXSA8PCA4KTsK
IAotCQlpZiAobHNlZWsoZG9zZnMsIGJvb3QtPmJwYkZTSW5mbyAqIGJvb3Qt
PmJwYkJ5dGVzUGVyU2VjLCBTRUVLX1NFVCkKKwkJaWYgKGxzZWVrKGRvc2Zz
LCBib290LT5icGJGU0luZm8gKiBib290LT5icGJCeXRlc1BlclNlYywKKwkJ
U0VFS19TRVQpCiAJCSAgICAhPSBib290LT5icGJGU0luZm8gKiBib290LT5i
cGJCeXRlc1BlclNlYwogCQkgICAgfHwgcmVhZChkb3NmcywgZnNpbmZvLCBz
aXplb2YgZnNpbmZvKQogCQkgICAgIT0gc2l6ZW9mIGZzaW5mbykgewpAQCAt
MTI0LDcgKzEyNiw4IEBACiAJCQkJZnNpbmZvWzB4M2ZjXSA9IGZzaW5mb1sw
eDNmZF0gPSAwOwogCQkJCWZzaW5mb1sweDNmZV0gPSAweDU1OwogCQkJCWZz
aW5mb1sweDNmZl0gPSAweGFhOwotCQkJCWlmIChsc2Vlayhkb3NmcywgYm9v
dC0+YnBiRlNJbmZvICogYm9vdC0+YnBiQnl0ZXNQZXJTZWMsIFNFRUtfU0VU
KQorCQkJCWlmIChsc2Vlayhkb3NmcywgYm9vdC0+YnBiRlNJbmZvICoKKwkJ
CQlib290LT5icGJCeXRlc1BlclNlYywgU0VFS19TRVQpCiAJCQkJICAgICE9
IGJvb3QtPmJwYkZTSW5mbyAqIGJvb3QtPmJwYkJ5dGVzUGVyU2VjCiAJCQkJ
ICAgIHx8IHdyaXRlKGRvc2ZzLCBmc2luZm8sIHNpemVvZiBmc2luZm8pCiAJ
CQkJICAgICE9IHNpemVvZiBmc2luZm8pIHsKQEAgLTE0NCw3ICsxNDcsOCBA
QAogCQkJCSAgICAgICArIChmc2luZm9bMHgxZWZdIDw8IDI0KTsKIAkJfQog
Ci0JCWlmIChsc2Vlayhkb3NmcywgYm9vdC0+YnBiQmFja3VwICogYm9vdC0+
YnBiQnl0ZXNQZXJTZWMsIFNFRUtfU0VUKQorCQlpZiAobHNlZWsoZG9zZnMs
IGJvb3QtPmJwYkJhY2t1cCAqIGJvb3QtPmJwYkJ5dGVzUGVyU2VjLAorCQlT
RUVLX1NFVCkKIAkJICAgICE9IGJvb3QtPmJwYkJhY2t1cCAqIGJvb3QtPmJw
YkJ5dGVzUGVyU2VjCiAJCSAgICB8fCByZWFkKGRvc2ZzLCBiYWNrdXAsIHNp
emVvZiBiYWNrdXApICE9IHNpemVvZiAgYmFja3VwKSB7CiAJCQlwZXJyb3Io
ImNvdWxkIG5vdCByZWFkIGJhY2t1cCBib290YmxvY2siKTsKQEAgLTE3Miwx
MSArMTc2LDEwIEBACiAJCS8qIENoZWNrIGJhY2t1cCBicGJGU0luZm8/CQkJ
CQlYWFggKi8KIAl9CiAKLQlib290LT5DbHVzdGVyT2Zmc2V0ID0gKGJvb3Qt
PmJwYlJvb3REaXJFbnRzICogMzIgKyBib290LT5icGJCeXRlc1BlclNlYyAt
IDEpCi0JICAgIC8gYm9vdC0+YnBiQnl0ZXNQZXJTZWMKLQkgICAgKyBib290
LT5icGJSZXNTZWN0b3JzCi0JICAgICsgYm9vdC0+YnBiRkFUcyAqIGJvb3Qt
PkZBVHNlY3MKLQkgICAgLSBDTFVTVF9GSVJTVCAqIGJvb3QtPmJwYlNlY1Bl
ckNsdXN0OworCWJvb3QtPkNsdXN0ZXJPZmZzZXQgPSAoYm9vdC0+YnBiUm9v
dERpckVudHMgKiAzMiArCisJICAgIGJvb3QtPmJwYkJ5dGVzUGVyU2VjIC0g
MSkgLyBib290LT5icGJCeXRlc1BlclNlYyArCisJICAgIGJvb3QtPmJwYlJl
c1NlY3RvcnMgKyBib290LT5icGJGQVRzICogYm9vdC0+RkFUc2VjcyAtCisJ
ICAgIENMVVNUX0ZJUlNUICogYm9vdC0+YnBiU2VjUGVyQ2x1c3Q7CiAKIAlp
ZiAoYm9vdC0+YnBiQnl0ZXNQZXJTZWMgJSBET1NCT09UQkxPQ0tTSVpFICE9
IDApIHsKIAkJcGZhdGFsKCJJbnZhbGlkIHNlY3RvciBzaXplOiAldSIsIGJv
b3QtPmJwYkJ5dGVzUGVyU2VjKTsKQEAgLTE5MSw3ICsxOTQsOCBAQAogCQli
b290LT5OdW1TZWN0b3JzID0gYm9vdC0+YnBiU2VjdG9yczsKIAl9IGVsc2UK
IAkJYm9vdC0+TnVtU2VjdG9ycyA9IGJvb3QtPmJwYkh1Z2VTZWN0b3JzOwot
CWJvb3QtPk51bUNsdXN0ZXJzID0gKGJvb3QtPk51bVNlY3RvcnMgLSBib290
LT5DbHVzdGVyT2Zmc2V0KSAvIGJvb3QtPmJwYlNlY1BlckNsdXN0OworCWJv
b3QtPk51bUNsdXN0ZXJzID0gKGJvb3QtPk51bVNlY3RvcnMgLSBib290LT5D
bHVzdGVyT2Zmc2V0KSAvCisJICAgYm9vdC0+YnBiU2VjUGVyQ2x1c3Q7CiAK
IAlpZiAoYm9vdC0+ZmxhZ3MmRkFUMzIpCiAJCWJvb3QtPkNsdXN0TWFzayA9
IENMVVNUMzJfTUFTSzsKZGlmZiAtdSBmc2NrX21zZG9zZnMub3JpZy9jaGVj
ay5jIGZzY2tfbXNkb3Nmcy9jaGVjay5jCi0tLSBmc2NrX21zZG9zZnMub3Jp
Zy9jaGVjay5jCTIwMTAtMDItMTQgMTM6NTA6NDkuMDAwMDAwMDAwICswMDAw
CisrKyBmc2NrX21zZG9zZnMvY2hlY2suYwkyMDEwLTAyLTE0IDIwOjMxOjAx
LjAwMDAwMDAwMCArMDAwMApAQCAtOTgsNyArOTgsNyBAQAogCX0KIAogCWlm
IChib290LlZhbGlkRmF0IDwgMCkKLQkJZm9yIChpID0gMTsgaSA8IChpbnQp
Ym9vdC5icGJGQVRzOyBpKyspIHsKKwkJZm9yIChpID0gMTsgaSA8IGJvb3Qu
YnBiRkFUczsgaSsrKSB7CiAJCQlzdHJ1Y3QgZmF0RW50cnkgKmN1cnJlbnRG
YXQ7CiAKIAkJCW1vZCB8PSByZWFkZmF0KGRvc2ZzLCAmYm9vdCwgaSwgJmN1
cnJlbnRGYXQpOwpkaWZmIC11IGZzY2tfbXNkb3Nmcy5vcmlnL2Rpci5jIGZz
Y2tfbXNkb3Nmcy9kaXIuYwotLS0gZnNja19tc2Rvc2ZzLm9yaWcvZGlyLmMJ
MjAxMC0wMi0xNCAxMzo1MDo0OS4wMDAwMDAwMDAgKzAwMDAKKysrIGZzY2tf
bXNkb3Nmcy9kaXIuYwkyMDEwLTAyLTE0IDE5OjI4OjUzLjAwMDAwMDAwMCAr
MDAwMApAQCAtMjQyLDcgKzI0Miw4IEBACiAKIAltZW1zZXQocm9vdERpciwg
MCwgc2l6ZW9mICpyb290RGlyKTsKIAlpZiAoYm9vdC0+ZmxhZ3MgJiBGQVQz
MikgewotCQlpZiAoYm9vdC0+YnBiUm9vdENsdXN0IDwgQ0xVU1RfRklSU1Qg
fHwgYm9vdC0+YnBiUm9vdENsdXN0ID49IGJvb3QtPk51bUNsdXN0ZXJzKSB7
CisJCWlmIChib290LT5icGJSb290Q2x1c3QgPCBDTFVTVF9GSVJTVCB8fAor
CQlib290LT5icGJSb290Q2x1c3QgPj0gYm9vdC0+TnVtQ2x1c3RlcnMpIHsK
IAkJCXBmYXRhbCgiUm9vdCBkaXJlY3Rvcnkgc3RhcnRzIHdpdGggY2x1c3Rl
ciBvdXQgb2YgcmFuZ2UoJXUpIiwKIAkJCSAgICAgICBib290LT5icGJSb290
Q2x1c3QpOwogCQkJcmV0dXJuIEZTRkFUQUw7CkBAIC0zNTYsNyArMzU3LDgg
QEAKIAkJcHdhcm4oIkludmFsaWQgbG9uZyBmaWxlbmFtZSBlbnRyeSBmb3Ig
JXNcbiIsIHBhdGgpOwogCQlicmVhazsKIAljYXNlIDE6Ci0JCXB3YXJuKCJJ
bnZhbGlkIGxvbmcgZmlsZW5hbWUgZW50cnkgYXQgZW5kIG9mIGRpcmVjdG9y
eSAlc1xuIiwgcGF0aCk7CisJCXB3YXJuKCJJbnZhbGlkIGxvbmcgZmlsZW5h
bWUgZW50cnkgYXQgZW5kIG9mIGRpcmVjdG9yeSAlc1xuIiwKKwkJcGF0aCk7
CiAJCWJyZWFrOwogCWNhc2UgMjoKIAkJcHdhcm4oIkludmFsaWQgbG9uZyBm
aWxlbmFtZSBlbnRyeSBmb3Igdm9sdW1lIGxhYmVsXG4iKTsKQEAgLTQxOCw3
ICs0MjAsOCBAQAogCQkJY2xfdCBjbDsKIAkJCXVfaW50MzJfdCBzeiA9IDA7
CiAKLQkJCWZvciAoY2wgPSBkaXItPmhlYWQ7IChzeiArPSBib290LT5DbHVz
dGVyU2l6ZSkgPCBkaXItPnNpemU7KQorCQkJZm9yIChjbCA9IGRpci0+aGVh
ZDsgKHN6ICs9IGJvb3QtPkNsdXN0ZXJTaXplKSA8CisJCQkgICAgZGlyLT5z
aXplOykKIAkJCQljbCA9IGZhdFtjbF0ubmV4dDsKIAkJCWNsZWFyY2hhaW4o
Ym9vdCwgZmF0LCBmYXRbY2xdLm5leHQpOwogCQkJZmF0W2NsXS5uZXh0ID0g
Q0xVU1RfRU9GOwpAQCAtNDYyLDcgKzQ2NSw4IEBACiAJZG8gewogCQlpZiAo
IShib290LT5mbGFncyAmIEZBVDMyKSAmJiAhZGlyLT5wYXJlbnQpIHsKIAkJ
CWxhc3QgPSBib290LT5icGJSb290RGlyRW50cyAqIDMyOwotCQkJb2ZmID0g
Ym9vdC0+YnBiUmVzU2VjdG9ycyArIGJvb3QtPmJwYkZBVHMgKiBib290LT5G
QVRzZWNzOworCQkJb2ZmID0gYm9vdC0+YnBiUmVzU2VjdG9ycyArIGJvb3Qt
PmJwYkZBVHMgKgorCQkJYm9vdC0+RkFUc2VjczsKIAkJfSBlbHNlIHsKIAkJ
CWxhc3QgPSBib290LT5icGJTZWNQZXJDbHVzdCAqIGJvb3QtPmJwYkJ5dGVz
UGVyU2VjOwogCQkJb2ZmID0gY2wgKiBib290LT5icGJTZWNQZXJDbHVzdCAr
IGJvb3QtPkNsdXN0ZXJPZmZzZXQ7CkBAIC01NDcsNyArNTUxLDggQEAKIAkJ
CQl9CiAJCQkJbGlkeCA9ICpwICYgTFJOT01BU0s7CiAJCQkJdCA9IGxvbmdO
YW1lICsgLS1saWR4ICogMTM7Ci0JCQkJZm9yIChrID0gMTsgayA8IDExICYm
IHQgPCBsb25nTmFtZSArIHNpemVvZihsb25nTmFtZSk7IGsgKz0gMikgewor
CQkJCWZvciAoayA9IDE7IGsgPCAxMSAmJiB0IDwgbG9uZ05hbWUgKworCQkJ
CXNpemVvZihsb25nTmFtZSk7IGsgKz0gMikgewogCQkJCQlpZiAoIXBba10g
JiYgIXBbayArIDFdKQogCQkJCQkJYnJlYWs7CiAJCQkJCSp0KysgPSBwW2td
OwpkaWZmIC11IGZzY2tfbXNkb3Nmcy5vcmlnL2ZhdC5jIGZzY2tfbXNkb3Nm
cy9mYXQuYwotLS0gZnNja19tc2Rvc2ZzLm9yaWcvZmF0LmMJMjAxMC0wMi0x
NCAxMzo1MDo0OS4wMDAwMDAwMDAgKzAwMDAKKysrIGZzY2tfbXNkb3Nmcy9m
YXQuYwkyMDEwLTAyLTE0IDIwOjQwOjE3LjAwMDAwMDAwMCArMDAwMApAQCAt
ODcsNyArODcsOCBAQAogCQlnb3RvIGVycjsKIAl9CiAKLQlpZiAocmVhZChm
cywgYnVmZmVyLCBib290LT5icGJCeXRlc1BlclNlYykgIT0gYm9vdC0+YnBi
Qnl0ZXNQZXJTZWMpIHsKKwlpZiAoKHNpemVfdClyZWFkKGZzLCBidWZmZXIs
IGJvb3QtPmJwYkJ5dGVzUGVyU2VjKSAhPQorCSAgICBib290LT5icGJCeXRl
c1BlclNlYykgewogCQlwZXJyb3IoIlVuYWJsZSB0byByZWFkIEZBVCIpOwog
CQlnb3RvIGVycjsKIAl9Cg==
--0-1389502456-1269712008=:82651--
More information about the freebsd-bugs
mailing list