kern/112658: [smbfs] [patch] smbfs and caching problems (resolves bin/111004)
Ganael LAPLANCHE
ganael.laplanche at martymac.org
Wed Feb 20 07:20:02 UTC 2013
The following reply was made to PR kern/112658; it has been noted by GNATS.
From: "Ganael LAPLANCHE" <ganael.laplanche at martymac.org>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/112658: [smbfs] [patch] smbfs and caching problems (resolves bin/111004)
Date: Wed, 20 Feb 2013 07:16:27 +0000 (UTC)
This is a multi-part message in MIME format.
------=OPENWEBMAIL_ATT_0.350054851341159
Content-Type: text/plain; charset=iso-8859-15
Here is an updated version of the patch.
It applies to svn revision 246938.
--
Ganael LAPLANCHE <ganael.laplanche at martymac.org>
http://www.martymac.org | http://contribs.martymac.org
FreeBSD: martymac <martymac at FreeBSD.org>, http://www.FreeBSD.org
------=OPENWEBMAIL_ATT_0.350054851341159
Content-Type: text/plain;
name="patch-smbfs-svnrev-246938.txt"
Content-Disposition: attachment; filename="patch-smbfs-svnrev-246938.txt"
Content-Transfer-Encoding: base64
ZGlmZiAtYXVyTiBzeXMvZnMvc21iZnMub3JpZy9zbWJmc19ub2RlLmMgc3lzL2ZzL3NtYmZzL3Nt
YmZzX25vZGUuYwotLS0gc3lzL2ZzL3NtYmZzLm9yaWcvc21iZnNfbm9kZS5jCTIwMTItMTItMTQg
MDk6NTk6MTEuNjgyNzQxMDAwICswMTAwCisrKyBzeXMvZnMvc21iZnMvc21iZnNfbm9kZS5jCTIw
MTMtMDItMjAgMDY6MDA6MzcuNjUyNzk2MzA1ICswMTAwCkBAIC02NCw3ICs2NCw3IEBACiAJcmV0
dXJuIChmbnZfMzJfYnVmKG5hbWUsIG5tbGVuLCBGTlYxXzMyX0lOSVQpKTsgCiB9CiAKLXN0YXRp
YyBjaGFyICoKK2NoYXIgKgogc21iZnNfbmFtZV9hbGxvYyhjb25zdCB1X2NoYXIgKm5hbWUsIGlu
dCBubWxlbikKIHsKIAl1X2NoYXIgKmNwOwpAQCAtNzYsNyArNzYsNyBAQAogCXJldHVybiBjcDsK
IH0KIAotc3RhdGljIHZvaWQKK3ZvaWQKIHNtYmZzX25hbWVfZnJlZSh1X2NoYXIgKm5hbWUpCiB7
CiAKZGlmZiAtYXVyTiBzeXMvZnMvc21iZnMub3JpZy9zbWJmc19ub2RlLmggc3lzL2ZzL3NtYmZz
L3NtYmZzX25vZGUuaAotLS0gc3lzL2ZzL3NtYmZzLm9yaWcvc21iZnNfbm9kZS5oCTIwMTItMTIt
MTQgMDk6NTk6MTEuNjc2NzQwMDAwICswMTAwCisrKyBzeXMvZnMvc21iZnMvc21iZnNfbm9kZS5o
CTIwMTMtMDItMjAgMDY6MDA6MzcuNjU4ODE5MjA3ICswMTAwCkBAIC05MSw2ICs5MSw5IEBACiAJ
c3RydWN0IHNtYmZhdHRyICpmYXAsIHN0cnVjdCB2bm9kZSAqKnZwcCk7CiB1X2ludDMyX3Qgc21i
ZnNfaGFzaChjb25zdCB1X2NoYXIgKm5hbWUsIGludCBubWxlbik7CiAKK2NoYXIgICpzbWJmc19u
YW1lX2FsbG9jKGNvbnN0IHVfY2hhciAqbmFtZSwgaW50IG5tbGVuKTsKK3ZvaWQgICBzbWJmc19u
YW1lX2ZyZWUodV9jaGFyICpuYW1lKTsKKwogaW50ICBzbWJmc19nZXRwYWdlcyhzdHJ1Y3Qgdm9w
X2dldHBhZ2VzX2FyZ3MgKik7CiBpbnQgIHNtYmZzX3B1dHBhZ2VzKHN0cnVjdCB2b3BfcHV0cGFn
ZXNfYXJncyAqKTsKIGludCAgc21iZnNfcmVhZHZub2RlKHN0cnVjdCB2bm9kZSAqdnAsIHN0cnVj
dCB1aW8gKnVpb3AsIHN0cnVjdCB1Y3JlZCAqY3JlZCk7CmRpZmYgLWF1ck4gc3lzL2ZzL3NtYmZz
Lm9yaWcvc21iZnNfc21iLmMgc3lzL2ZzL3NtYmZzL3NtYmZzX3NtYi5jCi0tLSBzeXMvZnMvc21i
ZnMub3JpZy9zbWJmc19zbWIuYwkyMDEyLTEyLTE0IDA5OjU5OjExLjY4MDc0MDAwMCArMDEwMAor
Kysgc3lzL2ZzL3NtYmZzL3NtYmZzX3NtYi5jCTIwMTMtMDItMjAgMDY6MDA6MzcuNjY3ODE0ODMz
ICswMTAwCkBAIC0xNDQzLDM3ICsxNDQzLDUwIEBACiB9CiAKIGludAotc21iZnNfc21iX2xvb2t1
cChzdHJ1Y3Qgc21ibm9kZSAqZG5wLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbm1sZW4sCitzbWJm
c19zbWJfbG9va3VwKHN0cnVjdCBzbWJub2RlICpkbnAsIGNoYXIgKipuYW1lcCwgaW50ICpubWxl
bnAsCiAJc3RydWN0IHNtYmZhdHRyICpmYXAsIHN0cnVjdCBzbWJfY3JlZCAqc2NyZWQpCiB7CiAJ
c3RydWN0IHNtYmZzX2ZjdHggKmN0eDsKIAlpbnQgZXJyb3I7CiAKLQlpZiAoZG5wID09IE5VTEwg
fHwgKGRucC0+bl9pbm8gPT0gMiAmJiBuYW1lID09IE5VTEwpKSB7CisJaWYgKGRucCA9PSBOVUxM
IHx8CisJCShkbnAtPm5faW5vID09IDIgJiYgKG5hbWVwID09IE5VTEwgfHwgKm5hbWVwID09IE5V
TEwpKSkgewogCQliemVybyhmYXAsIHNpemVvZigqZmFwKSk7CiAJCWZhcC0+ZmFfYXR0ciA9IFNN
Ql9GQV9ESVI7CiAJCWZhcC0+ZmFfaW5vID0gMjsKIAkJcmV0dXJuIDA7CiAJfQotCWlmIChubWxl
biA9PSAxICYmIG5hbWVbMF0gPT0gJy4nKSB7Ci0JCWVycm9yID0gc21iZnNfc21iX2xvb2t1cChk
bnAsIE5VTEwsIDAsIGZhcCwgc2NyZWQpOworCWlmIChubWxlbnAgJiYgKm5tbGVucCA9PSAxICYm
IG5hbWVwICYmICgqbmFtZXApWzBdID09ICcuJykgeworCQllcnJvciA9IHNtYmZzX3NtYl9sb29r
dXAoZG5wLCBOVUxMLCBOVUxMLCBmYXAsIHNjcmVkKTsKIAkJcmV0dXJuIGVycm9yOwotCX0gZWxz
ZSBpZiAobm1sZW4gPT0gMiAmJiBuYW1lWzBdID09ICcuJyAmJiBuYW1lWzFdID09ICcuJykgewot
CQllcnJvciA9IHNtYmZzX3NtYl9sb29rdXAoVlRPU01CKGRucC0+bl9wYXJlbnQpLCBOVUxMLCAw
LCBmYXAsCi0JCSAgICBzY3JlZCk7CisJfSBlbHNlIGlmIChubWxlbnAgJiYgKm5tbGVucCA9PSAy
ICYmIG5hbWVwICYmICgqbmFtZXApWzBdID09ICcuJyAmJgorCQkoKm5hbWVwKVsxXSA9PSAnLicp
IHsKKwkJZXJyb3IgPSBzbWJmc19zbWJfbG9va3VwKFZUT1NNQihkbnAtPm5fcGFyZW50KSwgTlVM
TCwgTlVMTCwKKwkJCWZhcCwgc2NyZWQpOwogCQlwcmludGYoIiVzOiBrbm93cyBOT1RISU5HIGFi
b3V0ICcuLidcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIGVycm9yOwogCX0KLQllcnJvciA9IHNt
YmZzX2ZpbmRvcGVuKGRucCwgbmFtZSwgbm1sZW4sCi0JICAgIFNNQl9GQV9TWVNURU0gfCBTTUJf
RkFfSElEREVOIHwgU01CX0ZBX0RJUiwgc2NyZWQsICZjdHgpOworCWVycm9yID0gc21iZnNfZmlu
ZG9wZW4oZG5wLCBuYW1lcCA/ICpuYW1lcCA6IE5VTEwsIG5tbGVucCA/ICpubWxlbnAgOiAwLAor
CQlTTUJfRkFfU1lTVEVNIHwgU01CX0ZBX0hJRERFTiB8IFNNQl9GQV9ESVIsIHNjcmVkLCAmY3R4
KTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAljdHgtPmZfZmxhZ3MgfD0gU01CRlNf
UkREX0ZJTkRTSU5HTEU7CiAJZXJyb3IgPSBzbWJmc19maW5kbmV4dChjdHgsIDEsIHNjcmVkKTsK
IAlpZiAoZXJyb3IgPT0gMCkgewogCQkqZmFwID0gY3R4LT5mX2F0dHI7Ci0JCWlmIChuYW1lID09
IE5VTEwpCisJCWlmIChuYW1lcCA9PSBOVUxMIHx8ICpuYW1lcCA9PSBOVUxMKQogCQkJZmFwLT5m
YV9pbm8gPSBkbnAtPm5faW5vOworCQlpZiAobmFtZXAgJiYgKm5hbWVwICYmIG5tbGVucCAmJiAq
bm1sZW5wKSB7CisJCQkvKiBSZXR1cm4gdGhlICpyZWFsKiBuYW1lIGFuZCBsZW5ndGggb2YgdGhl
IGZpbGUgCisJCQkgKiBmb3VuZCBvbiB0aGUgc2VydmVyIGlmIG5lY2Vzc2FyeS4gSWYgYSBuZXcg
YWxsb2NhdGlvbgorCQkJICogaXMgZG9uZSBoZXJlLCBtZW1vcnkgd2lsbCBiZSBmcmVlZCBsYXRl
ciAqLworCQkJaWYoKGN0eC0+Zl9ubWxlbiAhPSAqbm1sZW5wKSB8fAorCQkJCShiY21wKGN0eC0+
Zl9uYW1lLCAqbmFtZXAsICpubWxlbnApICE9IDApKSB7CisJCQkJU01CVkRFQlVHKCJsb29rdXBl
ZCBmaWxlbmFtZSBhbmQgc2VydmVyJ3MgZmlsZW5hbWUgZGlmZmVyXG4iKTsKKwkJCQkqbmFtZXAg
PSBzbWJmc19uYW1lX2FsbG9jKCh1X2NoYXIgKikoY3R4LT5mX25hbWUpLCBjdHgtPmZfbm1sZW4p
OworCQkJCSpubWxlbnAgPSBjdHgtPmZfbm1sZW47CisJCQl9CisJCX0KIAl9CiAJc21iZnNfZmlu
ZGNsb3NlKGN0eCwgc2NyZWQpOwogCXJldHVybiBlcnJvcjsKZGlmZiAtYXVyTiBzeXMvZnMvc21i
ZnMub3JpZy9zbWJmc19zdWJyLmggc3lzL2ZzL3NtYmZzL3NtYmZzX3N1YnIuaAotLS0gc3lzL2Zz
L3NtYmZzLm9yaWcvc21iZnNfc3Vici5oCTIwMTItMTItMTQgMDk6NTk6MTEuNjc4NzQyMDAwICsw
MTAwCisrKyBzeXMvZnMvc21iZnMvc21iZnNfc3Vici5oCTIwMTMtMDItMjAgMDY6MDA6MzcuNjcz
Nzk5MDQ0ICswMTAwCkBAIC0xNjYsNyArMTY2LDcgQEAKIGludCAgc21iZnNfZmluZGNsb3NlKHN0
cnVjdCBzbWJmc19mY3R4ICpjdHgsIHN0cnVjdCBzbWJfY3JlZCAqc2NyZWQpOwogaW50ICBzbWJm
c19mdWxscGF0aChzdHJ1Y3QgbWJjaGFpbiAqbWJwLCBzdHJ1Y3Qgc21iX3ZjICp2Y3AsCiAJc3Ry
dWN0IHNtYm5vZGUgKmRucCwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5tbGVuKTsKLWludCAgc21i
ZnNfc21iX2xvb2t1cChzdHJ1Y3Qgc21ibm9kZSAqZG5wLCBjb25zdCBjaGFyICpuYW1lLCBpbnQg
bm1sZW4sCitpbnQgIHNtYmZzX3NtYl9sb29rdXAoc3RydWN0IHNtYm5vZGUgKmRucCwgY2hhciAq
Km5hbWVwLCBpbnQgKm5tbGVucCwKIAlzdHJ1Y3Qgc21iZmF0dHIgKmZhcCwgc3RydWN0IHNtYl9j
cmVkICpzY3JlZCk7CiAKIGludCAgc21iZnNfZm5hbWVfdG9sb2NhbChzdHJ1Y3Qgc21iX3ZjICp2
Y3AsIGNoYXIgKm5hbWUsIGludCAqbm1sZW4sIGludCBjYXNlb3B0KTsKZGlmZiAtYXVyTiBzeXMv
ZnMvc21iZnMub3JpZy9zbWJmc192ZnNvcHMuYyBzeXMvZnMvc21iZnMvc21iZnNfdmZzb3BzLmMK
LS0tIHN5cy9mcy9zbWJmcy5vcmlnL3NtYmZzX3Zmc29wcy5jCTIwMTItMTItMTQgMDk6NTk6MTEu
Njc5NzQxMDAwICswMTAwCisrKyBzeXMvZnMvc21iZnMvc21iZnNfdmZzb3BzLmMJMjAxMy0wMi0y
MCAwNjowMDozNy42Nzk4MjE5NDYgKzAxMDAKQEAgLTMxNiw3ICszMTYsNyBAQAogCX0KIAlzY3Jl
ZCA9IHNtYmZzX21hbGxvY19zY3JlZCgpOwogCXNtYl9tYWtlc2NyZWQoc2NyZWQsIHRkLCBjcmVk
KTsKLQllcnJvciA9IHNtYmZzX3NtYl9sb29rdXAoTlVMTCwgTlVMTCwgMCwgJmZhdHRyLCBzY3Jl
ZCk7CisJZXJyb3IgPSBzbWJmc19zbWJfbG9va3VwKE5VTEwsIE5VTEwsIE5VTEwsICZmYXR0ciwg
c2NyZWQpOwogCWlmIChlcnJvcikKIAkJZ290byBvdXQ7CiAJZXJyb3IgPSBzbWJmc19uZ2V0KG1w
LCBOVUxMLCBOVUxMLCAwLCAmZmF0dHIsICZ2cCk7CmRpZmYgLWF1ck4gc3lzL2ZzL3NtYmZzLm9y
aWcvc21iZnNfdm5vcHMuYyBzeXMvZnMvc21iZnMvc21iZnNfdm5vcHMuYwotLS0gc3lzL2ZzL3Nt
YmZzLm9yaWcvc21iZnNfdm5vcHMuYwkyMDEyLTEyLTE0IDA5OjU5OjExLjY4Mzc0MDAwMCArMDEw
MAorKysgc3lzL2ZzL3NtYmZzL3NtYmZzX3Zub3BzLmMJMjAxMy0wMi0yMCAwNjowOTo1Mi44MTM4
OTE3MDkgKzAxMDAKQEAgLTI3MCw3ICsyNzAsNyBAQAogCXNjcmVkID0gc21iZnNfbWFsbG9jX3Nj
cmVkKCk7CiAJc21iX21ha2VzY3JlZChzY3JlZCwgY3VydGhyZWFkLCBhcC0+YV9jcmVkKTsKIAlv
bGRzaXplID0gbnAtPm5fc2l6ZTsKLQllcnJvciA9IHNtYmZzX3NtYl9sb29rdXAobnAsIE5VTEws
IDAsICZmYXR0ciwgc2NyZWQpOworCWVycm9yID0gc21iZnNfc21iX2xvb2t1cChucCwgTlVMTCwg
TlVMTCwgJmZhdHRyLCBzY3JlZCk7CiAJaWYgKGVycm9yKSB7CiAJCVNNQlZERUJVRygiZXJyb3Ig
JWRcbiIsIGVycm9yKTsKIAkJc21iZnNfZnJlZV9zY3JlZChzY3JlZCk7CkBAIC01MTQsNyArNTE0
LDcgQEAKIAllcnJvciA9IHNtYmZzX3NtYl9jcmVhdGUoZG5wLCBuYW1lLCBubWxlbiwgc2NyZWQp
OwogCWlmIChlcnJvcikKIAkJZ290byBvdXQ7Ci0JZXJyb3IgPSBzbWJmc19zbWJfbG9va3VwKGRu
cCwgbmFtZSwgbm1sZW4sICZmYXR0ciwgc2NyZWQpOworCWVycm9yID0gc21iZnNfc21iX2xvb2t1
cChkbnAsICZuYW1lLCAmbm1sZW4sICZmYXR0ciwgc2NyZWQpOwogCWlmIChlcnJvcikKIAkJZ290
byBvdXQ7CiAJZXJyb3IgPSBzbWJmc19uZ2V0KFZUT1ZGUyhkdnApLCBkdnAsIG5hbWUsIG5tbGVu
LCAmZmF0dHIsICZ2cCk7CkBAIC01MjQsNiArNTI0LDggQEAKIAlpZiAoY25wLT5jbl9mbGFncyAm
IE1BS0VFTlRSWSkKIAkJY2FjaGVfZW50ZXIoZHZwLCB2cCwgY25wKTsKIG91dDoKKwlpZiAobmFt
ZSAhPSBjbnAtPmNuX25hbWVwdHIpCisJCXNtYmZzX25hbWVfZnJlZSgodV9jaGFyICopbmFtZSk7
CiAJc21iZnNfZnJlZV9zY3JlZChzY3JlZCk7CiAJcmV0dXJuIGVycm9yOwogfQpAQCAtNzIxLDE2
ICs3MjMsMTkgQEAKIAllcnJvciA9IHNtYmZzX3NtYl9ta2RpcihkbnAsIG5hbWUsIGxlbiwgc2Ny
ZWQpOwogCWlmIChlcnJvcikKIAkJZ290byBvdXQ7Ci0JZXJyb3IgPSBzbWJmc19zbWJfbG9va3Vw
KGRucCwgbmFtZSwgbGVuLCAmZmF0dHIsIHNjcmVkKTsKKwllcnJvciA9IHNtYmZzX3NtYl9sb29r
dXAoZG5wLCAmbmFtZSwgJmxlbiwgJmZhdHRyLCBzY3JlZCk7CiAJaWYgKGVycm9yKQogCQlnb3Rv
IG91dDsKIAllcnJvciA9IHNtYmZzX25nZXQoVlRPVkZTKGR2cCksIGR2cCwgbmFtZSwgbGVuLCAm
ZmF0dHIsICZ2cCk7CiAJaWYgKGVycm9yKQogCQlnb3RvIG91dDsKIAkqYXAtPmFfdnBwID0gdnA7
CisJZXJyb3IgPSAwOwogb3V0OgorCWlmIChuYW1lICE9IGNucC0+Y25fbmFtZXB0cikKKwkJc21i
ZnNfbmFtZV9mcmVlKCh1X2NoYXIgKiluYW1lKTsKIAlzbWJmc19mcmVlX3NjcmVkKHNjcmVkKTsK
LQlyZXR1cm4gMDsKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIC8qCkBAIC0xMTUwLDcgKzExNTUsNyBA
QAogCQlyZXR1cm4gRU5PRU5UOwogCiAJZXJyb3IgPSBjYWNoZV9sb29rdXAoZHZwLCB2cHAsIGNu
cCwgTlVMTCwgTlVMTCk7Ci0JU01CVkRFQlVHKCJjYWNoZV9sb29rdXAgcmV0dXJuZWQgJWRcbiIs
IGVycm9yKTsKKwlTTUJWREVCVUcoImNhY2hlX2xvb2t1cCBmb3IgJyVzJyByZXR1cm5lZCAlZFxu
IiwgY25wLT5jbl9uYW1lcHRyLCBlcnJvcik7CiAJaWYgKGVycm9yID4gMCkKIAkJcmV0dXJuIGVy
cm9yOwogCWlmIChlcnJvcikgewkJLyogbmFtZSB3YXMgZm91bmQgKi8KQEAgLTExOTUsNyArMTIw
MCw4IEBACiAJCSp2cHAgPSBOVUxMVlA7CiAJfQogCS8qIAotCSAqIGVudHJ5IGlzIG5vdCBpbiB0
aGUgY2FjaGUgb3IgaGFzIGJlZW4gZXhwaXJlZAorCSAqIGVudHJ5IGlzIG5vdCBpbiB0aGUgY2Fj
aGUsIGhhcyBiZWVuIGV4cGlyZWQKKwkgKiBvciBlbnRyeSBpbiB0aGUgY2FjaGUgZGlkIG5vdCBt
YXRjaCBpbnB1dCBmaWxlbmFtZSdzIGNhc2UKIAkgKi8KIAllcnJvciA9IDA7CiAJKnZwcCA9IE5V
TExWUDsKQEAgLTEyMDMsMTggKzEyMDksMTkgQEAKIAlzbWJfbWFrZXNjcmVkKHNjcmVkLCB0ZCwg
Y25wLT5jbl9jcmVkKTsKIAlmYXAgPSAmZmF0dHI7CiAJaWYgKGZsYWdzICYgSVNET1RET1QpIHsK
LQkJZXJyb3IgPSBzbWJmc19zbWJfbG9va3VwKFZUT1NNQihkbnAtPm5fcGFyZW50KSwgTlVMTCwg
MCwgZmFwLAorCQllcnJvciA9IHNtYmZzX3NtYl9sb29rdXAoVlRPU01CKGRucC0+bl9wYXJlbnQp
LCBOVUxMLCBOVUxMLCBmYXAsCiAJCSAgICBzY3JlZCk7Ci0JCVNNQlZERUJVRygicmVzdWx0IG9m
IGRvdGRvdCBsb29rdXA6ICVkXG4iLCBlcnJvcik7CisJCVNNQlZERUJVRygicmVzdWx0IG9mIGRv
dGRvdCBzbWJmc19zbWJfbG9va3VwOiAlZFxuIiwgZXJyb3IpOwogCX0gZWxzZSB7Ci0JCWZhcCA9
ICZmYXR0cjsKLQkJZXJyb3IgPSBzbWJmc19zbWJfbG9va3VwKGRucCwgbmFtZSwgbm1sZW4sIGZh
cCwgc2NyZWQpOworCQllcnJvciA9IHNtYmZzX3NtYl9sb29rdXAoZG5wLCAmbmFtZSwgJm5tbGVu
LCBmYXAsIHNjcmVkKTsKIC8qCQlpZiAoY25wLT5jbl9uYW1lbGVuID09IDEgJiYgY25wLT5jbl9u
YW1lcHRyWzBdID09ICcuJykqLwogCQlTTUJWREVCVUcoInJlc3VsdCBvZiBzbWJmc19zbWJfbG9v
a3VwOiAlZFxuIiwgZXJyb3IpOwogCX0KIAlpZiAoZXJyb3IgJiYgZXJyb3IgIT0gRU5PRU5UKQog
CQlnb3RvIG91dDsKIAlpZiAoZXJyb3IpIHsJCQkvKiBlbnRyeSBub3QgZm91bmQgKi8KKwkJU01C
VkRFQlVHKCJlbnRyeSBub3QgZm91bmQgb24gc2VydmVyXG4iKTsKKwogCQkvKgogCQkgKiBIYW5k
bGUgUkVOQU1FIG9yIENSRUFURSBjYXNlLi4uCiAJCSAqLwpAQCAtMTIyOCw5ICsxMjM1LDExIEBA
CiAJCX0KIAkJZXJyb3IgPSBFTk9FTlQ7CiAJCWdvdG8gb3V0OwotCX0vKiBlbHNlIHsKLQkJU01C
VkRFQlVHKCJGb3VuZCBlbnRyeSAlcyB3aXRoIGlkPSVkXG4iLCBmYXAtPmVudHJ5TmFtZSwgZmFw
LT5kaXJFbnROdW0pOwotCX0qLworCX0KKworCS8qIGVudHJ5IGZvdW5kICovCisJU01CVkRFQlVH
KCJlbnRyeSBmb3VuZCBvbiBzZXJ2ZXI6ICclcydcbiIsIG5hbWUpOworCiAJLyoKIAkgKiBoYW5k
bGUgREVMRVRFIGNhc2UgLi4uCiAJICovCkBAIC0xMjUxLDYgKzEyNjAsMTMgQEAKIAkJZ290byBv
dXQ7CiAJfQogCWlmIChuYW1laW9wID09IFJFTkFNRSAmJiBpc2xhc3RjbikgeworCQlpZiAobmFt
ZSAhPSBjbnAtPmNuX25hbWVwdHIpIHsKKwkJCS8qIFRhcmdldCBoYXMgYmVlbiBmb3VuZCBvbiB0
aGUgc2VydmVyLiBKdXN0IHJldHVybiBoZXJlCisJCQkqIHRvIGF2b2lyIGZhbGxpbmcgdG8gdGhl
IHNvdXJjZSB2bm9kZSwgd2hpY2ggd291bGQgbGVhZAorCQkJKiB0byBOT1QgY2FsbCB0aGUgcmVu
YW1lIHN5c2NhbGwgKi8KKwkJCWVycm9yID0gRUpVU1RSRVRVUk47CisJCQlnb3RvIG91dDsKKwkJ
fQogCQllcnJvciA9IFZPUF9BQ0NFU1MoZHZwLCBWV1JJVEUsIGNucC0+Y25fY3JlZCwgdGQpOwog
CQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKQEAgLTEyNzQsMTEgKzEyOTAsMTQgQEAKIAkJCWVy
cm9yID0gdmZzX2J1c3kobXAsIDApOwogCQkJdm5fbG9jayhkdnAsIExLX0VYQ0xVU0lWRSB8IExL
X1JFVFJZKTsKIAkJCXZmc19yZWwobXApOwotCQkJaWYgKGVycm9yKQotCQkJCXJldHVybiAoRU5P
RU5UKTsKKwkJCWlmIChlcnJvcikgeworCQkJCWVycm9yID0gRU5PRU5UOworCQkJCWdvdG8gb3V0
OworCQkJfQogCQkJaWYgKChkdnAtPnZfaWZsYWcgJiBWSV9ET09NRUQpICE9IDApIHsKIAkJCQl2
ZnNfdW5idXN5KG1wKTsKLQkJCQlyZXR1cm4gKEVOT0VOVCk7CQorCQkJCWVycm9yID0gRU5PRU5U
OworCQkJCWdvdG8gb3V0OwogCQkJfQogCQl9CQogCQlWT1BfVU5MT0NLKGR2cCwgMCk7CkBAIC0x
MzA4LDYgKzEzMjcsOCBAQAogCQljYWNoZV9lbnRlcihkdnAsICp2cHAsIGNucCk7CiAJfQogb3V0
OgorCWlmIChuYW1lICE9IGNucC0+Y25fbmFtZXB0cikKKwkJc21iZnNfbmFtZV9mcmVlKCh1X2No
YXIgKiluYW1lKTsKIAlzbWJmc19mcmVlX3NjcmVkKHNjcmVkKTsKIAlyZXR1cm4gKGVycm9yKTsK
IH0K
------=OPENWEBMAIL_ATT_0.350054851341159--
More information about the freebsd-fs
mailing list