[PATCH] Speeding up FAT operations

Jukka Tapani Santala (e75644@UWasa.Fi)
Wed, 16 Sep 1998 17:59:09 +0300 (EET DST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-758783491-905957949=:21176
Content-Type: TEXT/PLAIN; charset=US-ASCII

After saying I didn't have the needed references to be sure about FAT
work, it suddenly struck to me that I have "The Programmers PC
Sourcebook", 2nd edition, in my bookshelf. According to this, Microsoft
Programmer's Reference's to DOS at least up to version 5.0 say the
cluster-size _must_ be a power of two.

Convinced by this, I'm presenting a new version of the earlier patch; this
does completely away with the cluster-size variable replacing it with the
shift-value with minor savings in many parts of the FAT (and VFAT)
filesystem code. Doing away with cluster-size means in some rare cases we
must recreate it by a shift-operation, but I don't believe this to be a
problem.

Now naming the patch with the kernel source-version it's made against
instead of date, because it's still the same date ;) This is the newer,
though.

-Donwulff
---559023410-758783491-905957949=:21176
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="fatsmap-2.1.120.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.90.980916175909.21176E@ankkuri.uwasa.fi>
Content-Description:

ZGlmZiAtLXVuaWZpZWQgLS1yZWN1cnNpdmUgbGludXguMTIwL2ZzL2ZhdC9j
YWNoZS5jIGxpbnV4L2ZzL2ZhdC9jYWNoZS5jDQotLS0gbGludXguMTIwL2Zz
L2ZhdC9jYWNoZS5jCVRodSBKYW4gMjIgMDM6NDY6NTYgMTk5OA0KKysrIGxp
bnV4L2ZzL2ZhdC9jYWNoZS5jCVdlZCBTZXAgMTYgMTk6MzU6NTYgMTk5OA0K
QEAgLTI3NiwxMCArMjc2LDEwIEBADQogCQkJcmV0dXJuIDA7DQogCQlyZXR1
cm4gc2VjdG9yK3NiLT5kaXJfc3RhcnQ7DQogCX0NCi0JY2x1c3RlciA9IHNl
Y3Rvci9zYi0+Y2x1c3Rlcl9zaXplOw0KLQlvZmZzZXQgPSBzZWN0b3IgJSBz
Yi0+Y2x1c3Rlcl9zaXplOw0KKwljbHVzdGVyID0gc2VjdG9yPj5zYi0+Y2x1
c3Rlcl9zaGlmdDsNCisJb2Zmc2V0ID0gc2VjdG9yICYgfigtMTw8c2ItPmNs
dXN0ZXJfc2hpZnQpOw0KIAlpZiAoIShjbHVzdGVyID0gZmF0X2dldF9jbHVz
dGVyKGlub2RlLGNsdXN0ZXIpKSkgcmV0dXJuIDA7DQotCXJldHVybiAoY2x1
c3Rlci0yKSpzYi0+Y2x1c3Rlcl9zaXplK3NiLT5kYXRhX3N0YXJ0K29mZnNl
dDsNCisJcmV0dXJuICgoY2x1c3Rlci0yKTw8c2ItPmNsdXN0ZXJfc2hpZnQp
K3NiLT5kYXRhX3N0YXJ0K29mZnNldDsNCiB9DQogDQogDQpAQCAtMzE5LDcg
KzMxOSw3IEBADQogCQkJCWZhdF9jbHVzdGVyc19mbHVzaChpbm9kZS0+aV9z
Yik7DQogCQkJfQ0KIAkJfQ0KLQkJaW5vZGUtPmlfYmxvY2tzIC09IE1TRE9T
X1NCKGlub2RlLT5pX3NiKS0+Y2x1c3Rlcl9zaXplOw0KKwkJaW5vZGUtPmlf
YmxvY2tzIC09IDE8PE1TRE9TX1NCKGlub2RlLT5pX3NiKS0+Y2x1c3Rlcl9z
aGlmdDsNCiAJfQ0KIAl1bmxvY2tfZmF0KGlub2RlLT5pX3NiKTsNCiAJZmF0
X2NhY2hlX2ludmFsX2lub2RlKGlub2RlKTsNCmRpZmYgLS11bmlmaWVkIC0t
cmVjdXJzaXZlIGxpbnV4LjEyMC9mcy9mYXQvZmlsZS5jIGxpbnV4L2ZzL2Zh
dC9maWxlLmMNCi0tLSBsaW51eC4xMjAvZnMvZmF0L2ZpbGUuYwlNb24gQXVn
IDI0IDIzOjAyOjQ0IDE5OTgNCisrKyBsaW51eC9mcy9mYXQvZmlsZS5jCVdl
ZCBTZXAgMTYgMTk6MjQ6MTUgMTk5OA0KQEAgLTQ1MCw3ICs0NTAsNyBAQA0K
IAkvKiBXaHkgbm8gcmV0dXJuIHZhbHVlPyAgU3VyZWx5IHRoZSBkaXNrIGNv
dWxkIGZhaWwuLi4gKi8NCiAJaWYgKElTX0lNTVVUQUJMRShpbm9kZSkpDQog
CQlyZXR1cm4gLyogLUVQRVJNICovOw0KLQljbHVzdGVyID0gU0VDVE9SX1NJ
WkUqTVNET1NfU0IoaW5vZGUtPmlfc2IpLT5jbHVzdGVyX3NpemU7DQorCWNs
dXN0ZXIgPSBTRUNUT1JfU0laRTw8TVNET1NfU0IoaW5vZGUtPmlfc2IpLT5j
bHVzdGVyX3NoaWZ0Ow0KIAkodm9pZCkgZmF0X2ZyZWUoaW5vZGUsKGlub2Rl
LT5pX3NpemUrKGNsdXN0ZXItMSkpL2NsdXN0ZXIpOw0KIAlNU0RPU19JKGlu
b2RlKS0+aV9hdHRycyB8PSBBVFRSX0FSQ0g7DQogCW1hcmtfaW5vZGVfZGly
dHkoaW5vZGUpOw0KZGlmZiAtLXVuaWZpZWQgLS1yZWN1cnNpdmUgbGludXgu
MTIwL2ZzL2ZhdC9pbm9kZS5jIGxpbnV4L2ZzL2ZhdC9pbm9kZS5jDQotLS0g
bGludXguMTIwL2ZzL2ZhdC9pbm9kZS5jCVNhdCBBcHIgIDQgMjA6NDU6MTUg
MTk5OA0KKysrIGxpbnV4L2ZzL2ZhdC9pbm9kZS5jCVdlZCBTZXAgMTYgMjA6
MDg6MzMgMTk5OA0KQEAgLTI4Miw3ICsyODIsNyBAQA0KIAlpbnQgZmF0MzI7
DQogCXN0cnVjdCBmYXRfbW91bnRfb3B0aW9ucyBvcHRzOw0KIAljaGFyIGJ1
Zls1MF07DQotCWludCBpOw0KKwlpbnQgaSxqOw0KIAljaGFyIGN2Zl9mb3Jt
YXRbMjFdOw0KIAljaGFyIGN2Zl9vcHRpb25zWzEwMV07DQogDQpAQCAtMzUy
LDcgKzM1MiwxMSBAQA0KIAlsb2dpY2FsX3NlY3Rvcl9zaXplID0NCiAJCUNG
X0xFX1coZ2V0X3VuYWxpZ25lZCgodW5zaWduZWQgc2hvcnQgKikgJmItPnNl
Y3Rvcl9zaXplKSk7DQogCXNlY3Rvcl9tdWx0ID0gbG9naWNhbF9zZWN0b3Jf
c2l6ZSA+PiBTRUNUT1JfQklUUzsNCi0JTVNET1NfU0Ioc2IpLT5jbHVzdGVy
X3NpemUgPSBiLT5jbHVzdGVyX3NpemUqc2VjdG9yX211bHQ7DQorCWkgPSBi
LT5jbHVzdGVyX3NpemUqc2VjdG9yX211bHQ7DQorCWZvcihqPTA7KGk9aT4+
MSkhPTA7aisrKTsNCisJaWYoKDE8PGopIT1iLT5jbHVzdGVyX3NpemUqc2Vj
dG9yX211bHQpDQorCQlwcmludGsoImZhdF9yZWFkX3N1cGVyOiBDbHVzdGVy
IHNpemUgd2FzIG5vdCBwb3dlciBvZiB0d28hXG4iKTsNCisJTVNET1NfU0Io
c2IpLT5jbHVzdGVyX3NoaWZ0ID0gajsNCiAJTVNET1NfU0Ioc2IpLT5mYXRz
ID0gYi0+ZmF0czsNCiAJTVNET1NfU0Ioc2IpLT5mYXRfc3RhcnQgPSBDRl9M
RV9XKGItPnJlc2VydmVkKSpzZWN0b3JfbXVsdDsNCiAJaWYgKCFiLT5mYXRf
bGVuZ3RoICYmIGItPmZhdDMyX2xlbmd0aCkgew0KQEAgLTQzMCw3ICs0MzQs
NyBAQA0KIAkJICAgICAgIE1TRE9TX0NBTl9CTUFQKE1TRE9TX1NCKHNiKSkg
PyAiLGJtYXAiIDogIiIpOw0KIAkJcHJpbnRrKCJbbWU9MHgleCxjcz0lZCwj
Zj0lZCxmcz0lZCxmbD0lZCxkcz0lZCxkZT0lZCxkYXRhPSVkLCINCiAJCSAg
ICAgICAic2U9JWQsdHM9JWxkLGxzPSVkLHJjPSVsZCxmYz0ldV1cbiIsDQot
CQkJYi0+bWVkaWEsTVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NpemUsDQorCQkJ
Yi0+bWVkaWEsTVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NoaWZ0LA0KIAkJCU1T
RE9TX1NCKHNiKS0+ZmF0cyxNU0RPU19TQihzYiktPmZhdF9zdGFydCwNCiAJ
CQlNU0RPU19TQihzYiktPmZhdF9sZW5ndGgsDQogCQkgICAgICAgTVNET1Nf
U0Ioc2IpLT5kaXJfc3RhcnQsTVNET1NfU0Ioc2IpLT5kaXJfZW50cmllcywN
CkBAIC01MzQsNyArNTM4LDcgQEANCiAJfQ0KIAl1bmxvY2tfZmF0KHNiKTsN
CiAJdG1wLmZfdHlwZSA9IHNiLT5zX21hZ2ljOw0KLQl0bXAuZl9ic2l6ZSA9
IE1TRE9TX1NCKHNiKS0+Y2x1c3Rlcl9zaXplKlNFQ1RPUl9TSVpFOw0KKwl0
bXAuZl9ic2l6ZSA9IFNFQ1RPUl9TSVpFPDxNU0RPU19TQihzYiktPmNsdXN0
ZXJfc2hpZnQ7DQogCXRtcC5mX2Jsb2NrcyA9IE1TRE9TX1NCKHNiKS0+Y2x1
c3RlcnM7DQogCXRtcC5mX2JmcmVlID0gZnJlZTsNCiAJdG1wLmZfYmF2YWls
ID0gZnJlZTsNCkBAIC01NTcsMTAgKzU2MSwxMCBAQA0KIAlpZiAoKGlub2Rl
LT5pX2lubyA9PSBNU0RPU19ST09UX0lOTykgJiYgKHNiLT5mYXRfYml0cyAh
PSAzMikpIHsNCiAJCXJldHVybiBzYi0+ZGlyX3N0YXJ0ICsgYmxvY2s7DQog
CX0NCi0JY2x1c3RlciA9IGJsb2NrL3NiLT5jbHVzdGVyX3NpemU7DQotCW9m
ZnNldCA9IGJsb2NrICUgc2ItPmNsdXN0ZXJfc2l6ZTsNCisJY2x1c3RlciA9
IGJsb2NrPj5zYi0+Y2x1c3Rlcl9zaGlmdDsNCisJb2Zmc2V0ID0gYmxvY2sg
JiB+KC0xPDxzYi0+Y2x1c3Rlcl9zaGlmdCk7DQogCWlmICghKGNsdXN0ZXIg
PSBmYXRfZ2V0X2NsdXN0ZXIoaW5vZGUsY2x1c3RlcikpKSByZXR1cm4gMDsN
Ci0JcmV0dXJuIChjbHVzdGVyLTIpKnNiLT5jbHVzdGVyX3NpemUrc2ItPmRh
dGFfc3RhcnQrb2Zmc2V0Ow0KKwlyZXR1cm4gKChjbHVzdGVyLTIpPDxzYi0+
Y2x1c3Rlcl9zaGlmdCkrc2ItPmRhdGFfc3RhcnQrb2Zmc2V0Ow0KIH0NCiAN
CkBAIC01OTUsNyArNTk5LDcgQEANCiAJCQlNU0RPU19JKGlub2RlKS0+aV9z
dGFydCA9IE1TRE9TX1NCKHNiKS0+cm9vdF9jbHVzdGVyOw0KIAkJCWlmICgo
bnIgPSBNU0RPU19JKGlub2RlKS0+aV9zdGFydCkgIT0gMCkgew0KIAkJCQl3
aGlsZSAobnIgIT0gLTEpIHsNCi0JCQkJCWlub2RlLT5pX3NpemUgKz0gU0VD
VE9SX1NJWkUqTVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NpemU7DQorCQkJCQlp
bm9kZS0+aV9zaXplICs9IFNFQ1RPUl9TSVpFPDxNU0RPU19TQihzYiktPmNs
dXN0ZXJfc2hpZnQ7DQogCQkJCQlpZiAoIShuciA9IGZhdF9hY2Nlc3Moc2Is
bnIsLTEpKSkgew0KIAkJCQkJCXByaW50aygiRGlyZWN0b3J5ICVsZDogYmFk
IEZBVFxuIiwNCkBAIC02MDgsMTAgKzYxMiw5IEBADQogCQkJaW5vZGUtPmlf
c2l6ZSA9IE1TRE9TX1NCKHNiKS0+ZGlyX2VudHJpZXMqDQogCQkJCXNpemVv
ZihzdHJ1Y3QgbXNkb3NfZGlyX2VudHJ5KTsNCiAJCX0NCi0JCWlub2RlLT5p
X2Jsa3NpemUgPSBNU0RPU19TQihzYiktPmNsdXN0ZXJfc2l6ZSoNCi0JCSAg
ICBTRUNUT1JfU0laRTsNCisJCWlub2RlLT5pX2Jsa3NpemUgPSBTRUNUT1Jf
U0laRTw8TVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NoaWZ0Ow0KIAkJaW5vZGUt
PmlfYmxvY2tzID0gKGlub2RlLT5pX3NpemUraW5vZGUtPmlfYmxrc2l6ZS0x
KS8NCiAJCU1TRE9TX0koaW5vZGUpLT5pX2xvZ3N0YXJ0ID0gMDsNCiANCiAJ
CU1TRE9TX0koaW5vZGUpLT5pX2F0dHJzID0gMDsNCkBAIC02NTAsOCArNjUz
LDggQEANCiAJCWlub2RlLT5pX3NpemUgPSAwOw0KIAkJaWYgKChuciA9IE1T
RE9TX0koaW5vZGUpLT5pX3N0YXJ0KSAhPSAwKQ0KIAkJCXdoaWxlIChuciAh
PSAtMSkgew0KLQkJCQlpbm9kZS0+aV9zaXplICs9IFNFQ1RPUl9TSVpFKk1T
RE9TX1NCKGlub2RlLT4NCi0JCQkJICAgIGlfc2IpLT5jbHVzdGVyX3NpemU7
DQorCQkJCWlub2RlLT5pX3NpemUgKz0gU0VDVE9SX1NJWkU8PE1TRE9TX1NC
KGlub2RlLT4NCisJCQkJICAgIGlfc2IpLT5jbHVzdGVyX3NoaWZ0Ow0KIAkJ
CQlpZiAoIShuciA9IGZhdF9hY2Nlc3Moc2IsbnIsLTEpKSkgew0KIAkJCQkJ
cHJpbnRrKCJEaXJlY3RvcnkgJWxkOiBiYWQgRkFUXG4iLA0KQEAgLTY4OSw5
ICs2OTIsOSBAQA0KIAkgICAgcmF3X2VudHJ5LT5leHQpOw0KIAlNU0RPU19J
KGlub2RlKS0+aV9hdHRycyA9IHJhd19lbnRyeS0+YXR0ciAmIEFUVFJfVU5V
U0VEOw0KIAkvKiB0aGlzIGlzIGFzIGNsb3NlIHRvIHRoZSB0cnV0aCBhcyB3
ZSBjYW4gZ2V0IC4uLiAqLw0KLQlpbm9kZS0+aV9ibGtzaXplID0gTVNET1Nf
U0Ioc2IpLT5jbHVzdGVyX3NpemUqU0VDVE9SX1NJWkU7DQorCWlub2RlLT5p
X2Jsa3NpemUgPSBTRUNUT1JfU0laRTw8TVNET1NfU0Ioc2IpLT5jbHVzdGVy
X3NoaWZ0Ow0KIAlpbm9kZS0+aV9ibG9ja3MgPSAoaW5vZGUtPmlfc2l6ZStp
bm9kZS0+aV9ibGtzaXplLTEpLw0KIAkgICAgZGF0ZV9kb3MydW5peChDRl9M
RV9XKHJhd19lbnRyeS0+dGltZSksQ0ZfTEVfVyhyYXdfZW50cnktPmRhdGUp
KTsNCiAJaW5vZGUtPmlfY3RpbWUgPQ0KZGlmZiAtLXVuaWZpZWQgLS1yZWN1
cnNpdmUgbGludXguMTIwL2ZzL2ZhdC9taXNjLmMgbGludXgvZnMvZmF0L21p
c2MuYw0KLS0tIGxpbnV4LjEyMC9mcy9mYXQvbWlzYy5jCVRodSBKYW4gMjIg
MDM6NDY6NTYgMTk5OA0KKysrIGxpbnV4L2ZzL2ZhdC9taXNjLmMJV2VkIFNl
cCAxNiAxOTo1MDoxMSAxOTk4DQpAQCAtMTQ5LDcgKzE0OSw3IEBADQogCWlu
dCBjb3VudCxucixsaW1pdCxsYXN0LGN1cnIsc2VjdG9yLGxhc3Rfc2VjdG9y
LGZpbGVfY2x1c3RlcjsNCiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsNCi0J
aW50IGNsdXN0ZXJfc2l6ZSA9IE1TRE9TX1NCKHNiKS0+Y2x1c3Rlcl9zaXpl
Ow0KKwlpbnQgY2x1c3Rlcl9zaGlmdCA9IE1TRE9TX1NCKHNiKS0+Y2x1c3Rl
cl9zaGlmdDsNCiANCiAJaWYgKE1TRE9TX1NCKHNiKS0+ZmF0X2JpdHMgIT0g
MzIpIHsNCiAJCWlmIChpbm9kZS0+aV9pbm8gPT0gTVNET1NfUk9PVF9JTk8p
IHJldHVybiAtRU5PU1BDOw0KQEAgLTIxOSw4ICsyMTksOCBAQA0KICNpZmRl
ZiBERUJVRw0KIGlmIChsYXN0KSBwcmludGsoIm5leHQgc2V0IHRvICVkXG4i
LGZhdF9hY2Nlc3Moc2IsbGFzdCwtMSkpOw0KICNlbmRpZg0KLQlzZWN0b3Ig
PSBNU0RPU19TQihzYiktPmRhdGFfc3RhcnQrKG5yLTIpKmNsdXN0ZXJfc2l6
ZTsNCi0JbGFzdF9zZWN0b3IgPSBzZWN0b3IgKyBjbHVzdGVyX3NpemU7DQor
CXNlY3RvciA9IE1TRE9TX1NCKHNiKS0+ZGF0YV9zdGFydCsoKG5yLTIpPDxj
bHVzdGVyX3NoaWZ0KTsNCisJbGFzdF9zZWN0b3IgPSBzZWN0b3IgKyAoMTw8
Y2x1c3Rlcl9zaGlmdCk7DQogCWlmIChNU0RPU19TQihzYiktPmN2Zl9mb3Jt
YXQgJiYNCiAJICAgIE1TRE9TX1NCKHNiKS0+Y3ZmX2Zvcm1hdC0+emVyb19v
dXRfY2x1c3RlcikNCiAJCU1TRE9TX1NCKHNiKS0+Y3ZmX2Zvcm1hdC0+emVy
b19vdXRfY2x1c3Rlcihpbm9kZSxucik7DQpAQCAtMjM4LDIwICsyMzgsMjAg
QEANCiAJCQlmYXRfYnJlbHNlKHNiLCBiaCk7DQogCQl9DQogCX0NCiAJCXBy
aW50ayAoImZpbGVfY2x1c3RlciBiYWRseSBjb21wdXRlZCEhISAlZCA8PiAl
bGRcbiINCi0JCQksZmlsZV9jbHVzdGVyLGlub2RlLT5pX2Jsb2Nrcy9jbHVz
dGVyX3NpemUpOw0KKwkJCSxmaWxlX2NsdXN0ZXIsaW5vZGUtPmlfYmxvY2tz
Pj5jbHVzdGVyX3NoaWZ0KTsNCiAJfWVsc2V7DQogCQlmYXRfY2FjaGVfYWRk
KGlub2RlLGZpbGVfY2x1c3Rlcixucik7DQogCX0NCi0JaW5vZGUtPmlfYmxv
Y2tzICs9IGNsdXN0ZXJfc2l6ZTsNCisJaW5vZGUtPmlfYmxvY2tzICs9IDE8
PGNsdXN0ZXJfc2hpZnQ7DQogCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUp
KSB7DQogCQlpZiAoaW5vZGUtPmlfc2l6ZSAmIChTRUNUT1JfU0laRS0xKSkg
ew0KIAkJCWZhdF9mc19wYW5pYyhzYiwiT2RkIGRpcmVjdG9yeSBzaXplIik7
DQogCQkJaW5vZGUtPmlfc2l6ZSA9IChpbm9kZS0+aV9zaXplK1NFQ1RPUl9T
SVpFKSAmDQogCQkJICAgIH4oU0VDVE9SX1NJWkUtMSk7DQogCQl9DQotCQlp
bm9kZS0+aV9zaXplICs9IFNFQ1RPUl9TSVpFKmNsdXN0ZXJfc2l6ZTsNCisJ
CWlub2RlLT5pX3NpemUgKz0gU0VDVE9SX1NJWkU8PGNsdXN0ZXJfc2hpZnQ7
DQogI2lmZGVmIERFQlVHDQogcHJpbnRrKCJzaXplIGlzICVkIG5vdyAoJXgp
XG4iLGlub2RlLT5pX3NpemUsaW5vZGUpOw0KICNlbmRpZg0KQEAgLTQ5MSw5
ICs0OTEsOSBAQA0KIAlwcmludGsoInJhd19zY2FuX25vbnJvb3Q6IHN0YXJ0
PSVkXG4iLHN0YXJ0KTsNCiAjZW5kaWYNCiAJZG8gew0KLQkJZm9yIChjb3Vu
dCA9IDA7IGNvdW50IDwgTVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NpemU7IGNv
dW50KyspIHsNCi0JCQlpZiAoKGNsdXN0ZXIgPSByYXdfc2Nhbl9zZWN0b3Io
c2IsKHN0YXJ0LTIpKg0KLQkJCSAgICBNU0RPU19TQihzYiktPmNsdXN0ZXJf
c2l6ZStNU0RPU19TQihzYiktPmRhdGFfc3RhcnQrDQorCQlmb3IgKGNvdW50
ID0gMDsgY291bnQgPCAoMTw8TVNET1NfU0Ioc2IpLT5jbHVzdGVyX3NoaWZ0
KTsgY291bnQrKykgew0KKwkJCWlmICgoY2x1c3RlciA9IHJhd19zY2FuX3Nl
Y3RvcihzYiwoKHN0YXJ0LTIpPDwNCisJCQkgICAgTVNET1NfU0Ioc2IpLT5j
bHVzdGVyX3NoaWZ0KStNU0RPU19TQihzYiktPmRhdGFfc3RhcnQrDQogCQkJ
ICAgIGNvdW50LG5hbWUsbnVtYmVyLGlubyxyZXNfYmgscmVzX2RlLHNjYW50
eXBlKSkgPj0gMCkNCiAJCQkJcmV0dXJuIGNsdXN0ZXI7DQogCQl9DQpkaWZm
IC0tdW5pZmllZCAtLXJlY3Vyc2l2ZSBsaW51eC4xMjAvaW5jbHVkZS9saW51
eC9tc2Rvc19mcy5oIGxpbnV4L2luY2x1ZGUvbGludXgvbXNkb3NfZnMuaA0K
LS0tIGxpbnV4LjEyMC9pbmNsdWRlL2xpbnV4L21zZG9zX2ZzLmgJU2F0IFNl
cCAgNSAwNToyNDowMiAxOTk4DQorKysgbGludXgvaW5jbHVkZS9saW51eC9t
c2Rvc19mcy5oCVdlZCBTZXAgMTYgMTk6NDU6NTkgMTk5OA0KQEAgLTE3MSw3
ICsxNzEsNyBAQA0KIH07DQogDQogLyogRGV0ZXJtaW5lIHdoZXRoZXIgdGhp
cyBGUyBoYXMga0ItYWxpZ25lZCBkYXRhLiAqLw0KLSNkZWZpbmUgTVNET1Nf
Q0FOX0JNQVAobWliKSAoISgoKG1pYiktPmNsdXN0ZXJfc2l6ZSAmIDEpIHx8
IFwNCisjZGVmaW5lIE1TRE9TX0NBTl9CTUFQKG1pYikgKCEoKChtaWIpLT5j
bHVzdGVyX3NoaWZ0ICE9IDApIHx8IFwNCiAgICAgKChtaWIpLT5kYXRhX3N0
YXJ0ICYgMSkpKQ0KIA0KIC8qIENvbnZlcnQgYXR0cmlidXRlIGJpdHMgYW5k
IGEgbWFzayB0byB0aGUgVU5JWCBtb2RlLiAqLw0KZGlmZiAtLXVuaWZpZWQg
LS1yZWN1cnNpdmUgbGludXguMTIwL2luY2x1ZGUvbGludXgvbXNkb3NfZnNf
c2IuaCBsaW51eC9pbmNsdWRlL2xpbnV4L21zZG9zX2ZzX3NiLmgNCi0tLSBs
aW51eC4xMjAvaW5jbHVkZS9saW51eC9tc2Rvc19mc19zYi5oCUZyaSBKYW4g
IDkgMDA6MDI6NDEgMTk5OA0KKysrIGxpbnV4L2luY2x1ZGUvbGludXgvbXNk
b3NfZnNfc2IuaAlXZWQgU2VwIDE2IDE5OjI3OjIyIDE5OTgNCkBAIC0zMyw3
ICszMyw3IEBADQogfTsNCiANCiBzdHJ1Y3QgbXNkb3Nfc2JfaW5mbyB7DQot
CXVuc2lnbmVkIHNob3J0IGNsdXN0ZXJfc2l6ZTsgLyogc2VjdG9ycy9jbHVz
dGVyICovDQorCXVuc2lnbmVkIHNob3J0IGNsdXN0ZXJfc2hpZnQ7IC8qIGZv
ciBmYXN0IGJtYXAgKi8NCiAJdW5zaWduZWQgY2hhciBmYXRzLGZhdF9iaXRz
OyAvKiBudW1iZXIgb2YgRkFUcywgRkFUIGJpdHMgKDEyIG9yIDE2KSAqLw0K
IAl1bnNpZ25lZCBzaG9ydCBmYXRfc3RhcnQsZmF0X2xlbmd0aDsgLyogRkFU
IHN0YXJ0ICYgbGVuZ3RoIChzZWMuKSAqLw0KIAl1bnNpZ25lZCBzaG9ydCBk
aXJfc3RhcnQsZGlyX2VudHJpZXM7IC8qIHJvb3QgZGlyIHN0YXJ0ICYgZW50
cmllcyAqLw0K
---559023410-758783491-905957949=:21176--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/