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