Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Apr 2021 20:47:23 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Allan Jude <allanjude@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Cc:        Richard Scheffenegger <rscheff@FreeBSD.org>, Juraj Lutter <otis@FreeBSD.org>
Subject:   Re: NFS issues since upgrading to 13-RELEASE
Message-ID:  <YQXPR0101MB09681707D3F3DC10814A905BDD4D9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <e8f585eb-a2a8-ae9d-7f33-526e412ec462@freebsd.org>
References:  <902a3c81-2ce8-49c0-b163-5ffa4b90afe5@www.fastmail.com>, <e8f585eb-a2a8-ae9d-7f33-526e412ec462@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--_002_YQXPR0101MB09681707D3F3DC10814A905BDD4D9YQXPR0101MB0968_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Allan Jude wrote:=0A=
>On 4/15/2021 9:22 AM, Chris Roose wrote:=0A=
>> I posted this in -questions and someone suggested I post here as well.=
=0A=
>>=0A=
>> I'm having NFS availability issues between my Proxmox client and FreeBSD=
 server (10G link) since upgrading to 13->RELEASE. And unfortunately I upgr=
aded my ZFS pool to v2.0.0 before I noticed the issue, so I'm kind of stuck=
.=0A=
>>=0A=
>> Periodically, the NFS server (I've tried both v3 and v4.2 clients) will =
go unresponsive for several minutes. I never had >this problem on 12.2, and=
 as far as I can tell it's not a disk or network I/O issue. I'll get severa=
l "nfs: server not >responding, still trying" messages on the client and a =
few minutes later it usually recovers. It's not clear to me yet >what's cau=
sing the block. Restarting nfsd on the server will resolve the issue if it =
doesn't clear itself.=0A=
>=0A=
otis@ has run into a problem that sounds similar.=0A=
He sees a growing Recv-Q size on the server for the TCP connection from the=
 client=0A=
when "netstat -a" is done on the server when the "hang" occurs.=0A=
In his case, he is using a Linux client and it does not recover, however ot=
her client=0A=
mounts continue to function.=0A=
I suspect the recovery after a few minutes is the client establishing a new=
 TCP=0A=
connection.=0A=
=0A=
He has been running for almost a week with r367492 reverted and has not rep=
orted=0A=
seeing the problem again (he had reported that it has taken up to a week to=
 recur, so=0A=
reverting r367492 *might* have fixed the problem and I'd guess we'll know i=
n another=0A=
week?).=0A=
=0A=
- If using svn to revert the patch is inconvenient, I've attached a patch t=
hat can be applied=0A=
   to revert it.=0A=
- Alternately you can try rscheff@'s alternate proposed patch that is at=0A=
  https://reviews.freebsd.og/D29690.=0A=
  I have not yet had time to test this one, but since I cannot reproduce th=
e hang, I can=0A=
  only do testing of it to see that it is "no worse" than reverting r367492=
 for my=0A=
  setup.=0A=
=0A=
Please let us know which you choose and whether or not it fixes your proble=
m.=0A=
  =0A=
>> Any pointers for troubleshooting this? I've been looking through vmstat,=
 gstat, top, etc. when the problem occurs, but I haven't been able to pinpo=
int the issue. I can get pcap, but it would be from the hosts, because I do=
n't have a 10G tap or managed switch.=0A=
>>=0A=
>=0A=
>run `nfsstat -d 1` and try to capture a few lines from before, during,=0A=
>and after the stall, and that may provide some insight.=0A=
>=0A=
>Specifically, does the queue length grow, suggesting it is waiting on=0A=
>the I/O subsystem, or does it just stop getting traffic all together.=0A=
=0A=
If the revert of r367492 does not fix the problem, monitor the TCP connecti=
on(s)=0A=
via "netstat -a" and, if possible, capture packets via=0A=
tcpdump -s 0 -w hang.pcap host <nfs-client>=0A=
or similar, run on the server.=0A=
=0A=
Ideally the tcpdump would  be started before the "hang" occurs, but running=
=0A=
one while the hang is occurring (until after it recovers) could also be use=
ful.=0A=
=0A=
Thanks for reporting this, rick=0A=
=0A=
--=0A=
Allan Jude=0A=
_______________________________________________=0A=
freebsd-current@freebsd.org mailing list=0A=
https://lists.freebsd.org/mailman/listinfo/freebsd-current=0A=
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"=
=0A=
=0A=

--_002_YQXPR0101MB09681707D3F3DC10814A905BDD4D9YQXPR0101MB0968_
Content-Type: application/octet-stream; name="r367492-revert.patch"
Content-Description: r367492-revert.patch
Content-Disposition: attachment; filename="r367492-revert.patch"; size=8952;
	creation-date="Thu, 15 Apr 2021 20:47:13 GMT";
	modification-date="Thu, 15 Apr 2021 20:47:13 GMT"
Content-Transfer-Encoding: base64

LS0tIHN5cy9uZXRpbmV0L3RjcF9zdGFja3MvYmJyLmMub3JpZwkyMDIxLTA0LTA5IDA4OjI0OjA1
LjM2NDIxMjAwMCAtMDcwMAorKysgc3lzL25ldGluZXQvdGNwX3N0YWNrcy9iYnIuYwkyMDIxLTA0
LTA5IDA4OjMzOjQ5Ljc5OTkwMjAwMCAtMDcwMApAQCAtNzg3Niw4ICs3ODc2LDcgQEAgYmJyX3By
b2Nlc3NfYWNrKHN0cnVjdCBtYnVmICptLCBzdHJ1Y3QgdGNwaGRyICp0aCwgc3RyCiAJYWNrZWRf
YW1vdW50ID0gbWluKGFja2VkLCAoaW50KXNiYXZhaWwoJnNvLT5zb19zbmQpKTsKIAl0cC0+c25k
X3duZCAtPSBhY2tlZF9hbW91bnQ7CiAJbWZyZWUgPSBzYmN1dF9sb2NrZWQoJnNvLT5zb19zbmQs
IGFja2VkX2Ftb3VudCk7Ci0JU09DS0JVRl9VTkxPQ0soJnNvLT5zb19zbmQpOwotCXRwLT50X2Zs
YWdzIHw9IFRGX1dBS0VTT1c7CisJc293d2FrZXVwX2xvY2tlZChzbyk7CiAJbV9mcmVlbShtZnJl
ZSk7CiAJaWYgKFNFUV9HVCh0aC0+dGhfYWNrLCB0cC0+c25kX3VuYSkpIHsKIAkJYmJyX2NvbGxh
cHNlX3J0dCh0cCwgYmJyLCBUQ1BfUkVYTVRWQUwodHApKTsKQEAgLTgzNTMsOCArODM1Miw3IEBA
IGJicl9wcm9jZXNzX2RhdGEoc3RydWN0IG1idWYgKm0sIHN0cnVjdCB0Y3BoZHIgKnRoLCBzdAog
CQkJCWFwcGVuZGVkID0KICNlbmRpZgogCQkJCQlzYmFwcGVuZHN0cmVhbV9sb2NrZWQoJnNvLT5z
b19yY3YsIG0sIDApOwotCQkJU09DS0JVRl9VTkxPQ0soJnNvLT5zb19yY3YpOwotCQkJdHAtPnRf
ZmxhZ3MgfD0gVEZfV0FLRVNPUjsKKwkJCXNvcndha2V1cF9sb2NrZWQoc28pOwogI2lmZGVmIE5F
VEZMSVhfU0JfTElNSVRTCiAJCQlpZiAoc28tPnNvX3Jjdi5zYl9zaGxpbSAmJiBhcHBlbmRlZCAh
PSBtY250KQogCQkJCWNvdW50ZXJfZm9fcmVsZWFzZShzby0+c29fcmN2LnNiX3NobGltLApAQCAt
ODQxNCw4ICs4NDEyLDYgQEAgYmJyX3Byb2Nlc3NfZGF0YShzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0
IHRjcGhkciAqdGgsIHN0CiAJaWYgKHRoZmxhZ3MgJiBUSF9GSU4pIHsKIAkJaWYgKFRDUFNfSEFW
RVJDVkRGSU4odHAtPnRfc3RhdGUpID09IDApIHsKIAkJCXNvY2FudHJjdm1vcmUoc28pOwotCQkJ
LyogVGhlIHNvY2tldCB1cGNhbGwgaXMgaGFuZGxlZCBieSBzb2NhbnRyY3Ztb3JlLiAqLwotCQkJ
dHAtPnRfZmxhZ3MgJj0gflRGX1dBS0VTT1I7CiAJCQkvKgogCQkJICogSWYgY29ubmVjdGlvbiBp
cyBoYWxmLXN5bmNocm9uaXplZCAoaWUgTkVFRFNZTgogCQkJICogZmxhZyBvbikgdGhlbiBkZWxh
eSBBQ0ssIHNvIGl0IG1heSBiZSBwaWdneWJhY2tlZApAQCAtODYwNiw4ICs4NjAyLDcgQEAgYmJy
X2RvX2Zhc3RuZXdkYXRhKHN0cnVjdCBtYnVmICptLCBzdHJ1Y3QgdGNwaGRyICp0aCwgCiAJCQlz
YmFwcGVuZHN0cmVhbV9sb2NrZWQoJnNvLT5zb19yY3YsIG0sIDApOwogCQljdGZfY2FsY19yd2lu
KHNvLCB0cCk7CiAJfQotCVNPQ0tCVUZfVU5MT0NLKCZzby0+c29fcmN2KTsKLQl0cC0+dF9mbGFn
cyB8PSBURl9XQUtFU09SOworCXNvcndha2V1cF9sb2NrZWQoc28pOwogI2lmZGVmIE5FVEZMSVhf
U0JfTElNSVRTCiAJaWYgKHNvLT5zb19yY3Yuc2Jfc2hsaW0gJiYgbWNudCAhPSBhcHBlbmRlZCkK
IAkJY291bnRlcl9mb19yZWxlYXNlKHNvLT5zb19yY3Yuc2Jfc2hsaW0sIG1jbnQgLSBhcHBlbmRl
ZCk7CkBAIC04Nzk4LDcgKzg3OTMsNyBAQCBiYnJfZmFzdGFjayhzdHJ1Y3QgbWJ1ZiAqbSwgc3Ry
dWN0IHRjcGhkciAqdGgsIHN0cnVjdCAKIAkJICAgICZ0Y3Bfc2F2ZXRjcCwgMCk7CiAjZW5kaWYK
IAkvKiBXYWtlIHVwIHRoZSBzb2NrZXQgaWYgd2UgaGF2ZSByb29tIHRvIHdyaXRlIG1vcmUgKi8K
LQl0cC0+dF9mbGFncyB8PSBURl9XQUtFU09XOworCXNvd3dha2V1cChzbyk7CiAJaWYgKHRwLT5z
bmRfdW5hID09IHRwLT5zbmRfbWF4KSB7CiAJCS8qIE5vdGhpbmcgbGVmdCBvdXRzdGFuZGluZyAq
LwogCQliYnJfbG9nX3Byb2dyZXNzX2V2ZW50KGJiciwgdHAsIHRpY2tzLCBQUk9HUkVTU19DTEVB
UiwgX19MSU5FX18pOwpAQCAtMTE3NTQsMTAgKzExNzQ5LDggQEAgYmJyX2RvX3NlZ21lbnQoc3Ry
dWN0IG1idWYgKm0sIHN0cnVjdCB0Y3BoZHIgKnRoLCBzdHJ1CiAJfQogCXJldHZhbCA9IGJicl9k
b19zZWdtZW50X25vdW5sb2NrKG0sIHRoLCBzbywgdHAsCiAJCQkJCSBkcm9wX2hkcmxlbiwgdGxl
biwgaXB0b3MsIDAsICZ0dik7Ci0JaWYgKHJldHZhbCA9PSAwKSB7Ci0JCXRjcF9oYW5kbGVfd2Fr
ZXVwKHRwLCBzbyk7CisJaWYgKHJldHZhbCA9PSAwKQogCQlJTlBfV1VOTE9DSyh0cC0+dF9pbnBj
Yik7Ci0JfQogfQogCiAvKgotLS0gc3lzL25ldGluZXQvdGNwX3N0YWNrcy9yYWNrLmMub3JpZwky
MDIxLTA0LTA5IDA4OjM2OjIzLjYyMjgyMTAwMCAtMDcwMAorKysgc3lzL25ldGluZXQvdGNwX3N0
YWNrcy9yYWNrLmMJMjAyMS0wNC0wOSAwODo0MToyNC4wOTY2ODcwMDAgLTA3MDAKQEAgLTgzNDQs
OCArODM0NCw3IEBAIHJhY2tfcHJvY2Vzc19hY2soc3RydWN0IG1idWYgKm0sIHN0cnVjdCB0Y3Bo
ZHIgKnRoLCBzdAogCQkgKi8KIAkJb3VyZmluaXNhY2tlZCA9IDE7CiAJfQotCVNPQ0tCVUZfVU5M
T0NLKCZzby0+c29fc25kKTsKLQl0cC0+dF9mbGFncyB8PSBURl9XQUtFU09XOworCXNvd3dha2V1
cF9sb2NrZWQoc28pOwogCW1fZnJlZW0obWZyZWUpOwogCWlmIChyYWNrLT5yX2N0bC5yY19lYXJs
eV9yZWNvdmVyeSA9PSAwKSB7CiAJCWlmIChJTl9SRUNPVkVSWSh0cC0+dF9mbGFncykpIHsKQEAg
LTg2NjUsOCArODY2NCw3IEBAIHJhY2tfcHJvY2Vzc19kYXRhKHN0cnVjdCBtYnVmICptLCBzdHJ1
Y3QgdGNwaGRyICp0aCwgcwogCQkJCWFwcGVuZGVkID0KICNlbmRpZgogCQkJCQlzYmFwcGVuZHN0
cmVhbV9sb2NrZWQoJnNvLT5zb19yY3YsIG0sIDApOwotCQkJU09DS0JVRl9VTkxPQ0soJnNvLT5z
b19yY3YpOwotCQkJdHAtPnRfZmxhZ3MgfD0gVEZfV0FLRVNPUjsKKwkJCXNvcndha2V1cF9sb2Nr
ZWQoc28pOwogI2lmZGVmIE5FVEZMSVhfU0JfTElNSVRTCiAJCQlpZiAoc28tPnNvX3Jjdi5zYl9z
aGxpbSAmJiBhcHBlbmRlZCAhPSBtY250KQogCQkJCWNvdW50ZXJfZm9fcmVsZWFzZShzby0+c29f
cmN2LnNiX3NobGltLApAQCAtODczMSw4ICs4NzI5LDYgQEAgcmFja19wcm9jZXNzX2RhdGEoc3Ry
dWN0IG1idWYgKm0sIHN0cnVjdCB0Y3BoZHIgKnRoLCBzCiAJaWYgKHRoZmxhZ3MgJiBUSF9GSU4p
IHsKIAkJaWYgKFRDUFNfSEFWRVJDVkRGSU4odHAtPnRfc3RhdGUpID09IDApIHsKIAkJCXNvY2Fu
dHJjdm1vcmUoc28pOwotCQkJLyogVGhlIHNvY2tldCB1cGNhbGwgaXMgaGFuZGxlZCBieSBzb2Nh
bnRyY3Ztb3JlLiAqLwotCQkJdHAtPnRfZmxhZ3MgJj0gflRGX1dBS0VTT1I7CiAJCQkvKgogCQkJ
ICogSWYgY29ubmVjdGlvbiBpcyBoYWxmLXN5bmNocm9uaXplZCAoaWUgTkVFRFNZTgogCQkJICog
ZmxhZyBvbikgdGhlbiBkZWxheSBBQ0ssIHNvIGl0IG1heSBiZSBwaWdneWJhY2tlZApAQCAtODky
NCw4ICs4OTIwLDcgQEAgcmFja19kb19mYXN0bmV3ZGF0YShzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0
IHRjcGhkciAqdGgsCiAJCQlzYmFwcGVuZHN0cmVhbV9sb2NrZWQoJnNvLT5zb19yY3YsIG0sIDAp
OwogCQljdGZfY2FsY19yd2luKHNvLCB0cCk7CiAJfQotCVNPQ0tCVUZfVU5MT0NLKCZzby0+c29f
cmN2KTsKLQl0cC0+dF9mbGFncyB8PSBURl9XQUtFU09SOworCXNvcndha2V1cF9sb2NrZWQoc28p
OwogI2lmZGVmIE5FVEZMSVhfU0JfTElNSVRTCiAJaWYgKHNvLT5zb19yY3Yuc2Jfc2hsaW0gJiYg
bWNudCAhPSBhcHBlbmRlZCkKIAkJY291bnRlcl9mb19yZWxlYXNlKHNvLT5zb19yY3Yuc2Jfc2hs
aW0sIG1jbnQgLSBhcHBlbmRlZCk7CkBAIC05MTQyLDcgKzkxMzcsNyBAQCByYWNrX2Zhc3RhY2so
c3RydWN0IG1idWYgKm0sIHN0cnVjdCB0Y3BoZHIgKnRoLCBzdHJ1Y3QKIAkJcmFja190aW1lcl9j
YW5jZWwodHAsIHJhY2ssIHJhY2stPnJfY3RsLnJjX3JjdnRpbWUsIF9fTElORV9fKTsKIAl9CiAJ
LyogV2FrZSB1cCB0aGUgc29ja2V0IGlmIHdlIGhhdmUgcm9vbSB0byB3cml0ZSBtb3JlICovCi0J
dHAtPnRfZmxhZ3MgfD0gVEZfV0FLRVNPVzsKKwlzb3d3YWtldXAoc28pOwogCWlmIChzYmF2YWls
KCZzby0+c29fc25kKSkgewogCQlyYWNrLT5yX3dhbnRlZF9vdXRwdXQgPSAxOwogCX0KQEAgLTEx
MjA1LDEwICsxMTIwMCw4IEBAIHJhY2tfZG9fc2VnbWVudChzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0
IHRjcGhkciAqdGgsIHN0cgogCQl0Y3BfZ2V0X3VzZWNzKCZ0dik7CiAJfQogCWlmKHJhY2tfZG9f
c2VnbWVudF9ub3VubG9jayhtLCB0aCwgc28sIHRwLAotCQkJCSAgICBkcm9wX2hkcmxlbiwgdGxl
biwgaXB0b3MsIDAsICZ0dikgPT0gMCkgewotCQl0Y3BfaGFuZGxlX3dha2V1cCh0cCwgc28pOwor
CQkJCSAgICBkcm9wX2hkcmxlbiwgdGxlbiwgaXB0b3MsIDAsICZ0dikgPT0gMCkKIAkJSU5QX1dV
TkxPQ0sodHAtPnRfaW5wY2IpOwotCX0KIH0KIAogc3RydWN0IHJhY2tfc2VuZG1hcCAqCi0tLSBz
eXMvbmV0aW5ldC90Y3Bfc3RhY2tzL3JhY2tfYmJyX2NvbW1vbi5jLm9yaWcJMjAyMS0wNC0wOSAw
ODo0NToyNi43MjE1MjEwMDAgLTA3MDAKKysrIHN5cy9uZXRpbmV0L3RjcF9zdGFja3MvcmFja19i
YnJfY29tbW9uLmMJMjAyMS0wNC0wOSAwODo0Njo1OC41ODAyMzQwMDAgLTA3MDAKQEAgLTQ1OCw3
ICs0NTgsNiBAQCBjdGZfZG9fcXVldWVkX3NlZ21lbnRzKHN0cnVjdCBzb2NrZXQgKnNvLCBzdHJ1
Y3QgdGNwY2IKIAkJCS8qIFdlIGxvc3QgdGhlIHRjcGNiIChtYXliZSBhIFJTVCBjYW1lIGluKT8g
Ki8KIAkJCXJldHVybigxKTsKIAkJfQotCQl0Y3BfaGFuZGxlX3dha2V1cCh0cCwgc28pOwogCX0K
IAlyZXR1cm4gKDApOwogfQotLS0gc3lzL25ldGluZXQvdGNwX2lucHV0LmMub3JpZwkyMDIxLTA0
LTA1IDAxOjA3OjAwLjM0MjU1OTAwMCAtMDcwMAorKysgc3lzL25ldGluZXQvdGNwX2lucHV0LmMJ
MjAyMS0wNC0wOSAwNzo1ODowMy4yNjI4MTUwMDAgLTA3MDAKQEAgLTE0NzIsMjkgKzE0NzIsNiBA
QCB0Y3BfYXV0b3JjdmJ1ZihzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IHRjcGhkciAqdGgsIHN0cnUK
IH0KIAogdm9pZAotdGNwX2hhbmRsZV93YWtldXAoc3RydWN0IHRjcGNiICp0cCwgc3RydWN0IHNv
Y2tldCAqc28pCi17Ci0JLyoKLQkgKiBTaW5jZSB0cCBtaWdodCBiZSBnb25lIGlmIHRoZSBzZXNz
aW9uIGVudGVyZWQKLQkgKiB0aGUgVElNRV9XQUlUIHN0YXRlIGJlZm9yZSBjb21pbmcgaGVyZSwg
d2UgbmVlZAotCSAqIHRvIGNoZWNrIGlmIHRoZSBzb2NrZXQgaXMgc3RpbGwgY29ubmVjdGVkLgot
CSAqLwotCWlmICgoc28tPnNvX3N0YXRlICYgU1NfSVNDT05ORUNURUQpID09IDApCi0JCXJldHVy
bjsKLQlJTlBfTE9DS19BU1NFUlQodHAtPnRfaW5wY2IpOwotCWlmICh0cC0+dF9mbGFncyAmIFRG
X1dBS0VTT1IpIHsKLQkJdHAtPnRfZmxhZ3MgJj0gflRGX1dBS0VTT1I7Ci0JCVNPQ0tCVUZfVU5M
T0NLX0FTU0VSVCgmc28tPnNvX3Jjdik7Ci0JCXNvcndha2V1cChzbyk7Ci0JfQotCWlmICh0cC0+
dF9mbGFncyAmIFRGX1dBS0VTT1cpIHsKLQkJdHAtPnRfZmxhZ3MgJj0gflRGX1dBS0VTT1c7Ci0J
CVNPQ0tCVUZfVU5MT0NLX0FTU0VSVCgmc28tPnNvX3NuZCk7Ci0JCXNvd3dha2V1cChzbyk7Ci0J
fQotfQotCi12b2lkCiB0Y3BfZG9fc2VnbWVudChzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IHRjcGhk
ciAqdGgsIHN0cnVjdCBzb2NrZXQgKnNvLAogICAgIHN0cnVjdCB0Y3BjYiAqdHAsIGludCBkcm9w
X2hkcmxlbiwgaW50IHRsZW4sIHVpbnQ4X3QgaXB0b3MpCiB7CkBAIC0xODYzLDcgKzE4NDAsNyBA
QCB0Y3BfZG9fc2VnbWVudChzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IHRjcGhkciAqdGgsIHN0cnUK
IAkJCQllbHNlIGlmICghdGNwX3RpbWVyX2FjdGl2ZSh0cCwgVFRfUEVSU0lTVCkpCiAJCQkJCXRj
cF90aW1lcl9hY3RpdmF0ZSh0cCwgVFRfUkVYTVQsCiAJCQkJCQkgICAgICB0cC0+dF9yeHRjdXIp
OwotCQkJCXRwLT50X2ZsYWdzIHw9IFRGX1dBS0VTT1c7CisJCQkJc293d2FrZXVwKHNvKTsKIAkJ
CQlpZiAoc2JhdmFpbCgmc28tPnNvX3NuZCkpCiAJCQkJCSh2b2lkKSB0cC0+dF9mYi0+dGZiX3Rj
cF9vdXRwdXQodHApOwogCQkJCWdvdG8gY2hlY2tfZGVsYWNrOwpAQCAtMTkyOCw4ICsxOTA1LDgg
QEAgdGNwX2RvX3NlZ21lbnQoc3RydWN0IG1idWYgKm0sIHN0cnVjdCB0Y3BoZHIgKnRoLCBzdHJ1
CiAJCQkJbV9hZGoobSwgZHJvcF9oZHJsZW4pOwkvKiBkZWxheWVkIGhlYWRlciBkcm9wICovCiAJ
CQkJc2JhcHBlbmRzdHJlYW1fbG9ja2VkKCZzby0+c29fcmN2LCBtLCAwKTsKIAkJCX0KLQkJCVNP
Q0tCVUZfVU5MT0NLKCZzby0+c29fcmN2KTsKLQkJCXRwLT50X2ZsYWdzIHw9IFRGX1dBS0VTT1I7
CisJCQkvKiBOQjogc29yd2FrZXVwX2xvY2tlZCgpIGRvZXMgYW4gaW1wbGljaXQgdW5sb2NrLiAq
LworCQkJc29yd2FrZXVwX2xvY2tlZChzbyk7CiAJCQlpZiAoREVMQVlfQUNLKHRwLCB0bGVuKSkg
ewogCQkJCXRwLT50X2ZsYWdzIHw9IFRGX0RFTEFDSzsKIAkJCX0gZWxzZSB7CkBAIC0yOTI1LDgg
KzI5MDIsOCBAQCBwcm9jZXNzX0FDSzoKIAkJCQl0cC0+c25kX3duZCA9IDA7CiAJCQlvdXJmaW5p
c2Fja2VkID0gMDsKIAkJfQotCQlTT0NLQlVGX1VOTE9DSygmc28tPnNvX3NuZCk7Ci0JCXRwLT50
X2ZsYWdzIHw9IFRGX1dBS0VTT1c7CisJCS8qIE5COiBzb3d3YWtldXBfbG9ja2VkKCkgZG9lcyBh
biBpbXBsaWNpdCB1bmxvY2suICovCisJCXNvd3dha2V1cF9sb2NrZWQoc28pOwogCQltX2ZyZWVt
KG1mcmVlKTsKIAkJLyogRGV0ZWN0IHVuYSB3cmFwYXJvdW5kLiAqLwogCQlpZiAoIUlOX1JFQ09W
RVJZKHRwLT50X2ZsYWdzKSAmJgpAQCAtMzE0Nyw4ICszMTI0LDggQEAgZG9kYXRhOgkJCQkJCQkv
KiBYWFggKi8KIAkJCQltX2ZyZWVtKG0pOwogCQkJZWxzZQogCQkJCXNiYXBwZW5kc3RyZWFtX2xv
Y2tlZCgmc28tPnNvX3JjdiwgbSwgMCk7Ci0JCQlTT0NLQlVGX1VOTE9DSygmc28tPnNvX3Jjdik7
Ci0JCQl0cC0+dF9mbGFncyB8PSBURl9XQUtFU09SOworCQkJLyogTkI6IHNvcndha2V1cF9sb2Nr
ZWQoKSBkb2VzIGFuIGltcGxpY2l0IHVubG9jay4gKi8KKwkJCXNvcndha2V1cF9sb2NrZWQoc28p
OwogCQl9IGVsc2UgewogCQkJLyoKIAkJCSAqIFhYWDogRHVlIHRvIHRoZSBoZWFkZXIgZHJvcCBh
Ym92ZSAidGgiIGlzCkBAIC0zMjE1LDggKzMxOTIsNiBAQCBkb2RhdGE6CQkJCQkJCS8qIFhYWCAq
LwogCWlmICh0aGZsYWdzICYgVEhfRklOKSB7CiAJCWlmIChUQ1BTX0hBVkVSQ1ZERklOKHRwLT50
X3N0YXRlKSA9PSAwKSB7CiAJCQlzb2NhbnRyY3Ztb3JlKHNvKTsKLQkJCS8qIFRoZSBzb2NrZXQg
dXBjYWxsIGlzIGhhbmRsZWQgYnkgc29jYW50cmN2bW9yZS4gKi8KLQkJCXRwLT50X2ZsYWdzICY9
IH5URl9XQUtFU09SOwogCQkJLyoKIAkJCSAqIElmIGNvbm5lY3Rpb24gaXMgaGFsZi1zeW5jaHJv
bml6ZWQKIAkJCSAqIChpZSBORUVEU1lOIGZsYWcgb24pIHRoZW4gZGVsYXkgQUNLLApAQCAtMzI4
MCw3ICszMjU1LDYgQEAgY2hlY2tfZGVsYWNrOgogCQl0cC0+dF9mbGFncyAmPSB+VEZfREVMQUNL
OwogCQl0Y3BfdGltZXJfYWN0aXZhdGUodHAsIFRUX0RFTEFDSywgdGNwX2RlbGFja3RpbWUpOwog
CX0KLQl0Y3BfaGFuZGxlX3dha2V1cCh0cCwgc28pOwogCUlOUF9XVU5MT0NLKHRwLT50X2lucGNi
KTsKIAlyZXR1cm47CiAKQEAgLTMzMTQsNyArMzI4OCw2IEBAIGRyb3BhZnRlcmFjazoKIAlUQ1Bf
UFJPQkUzKGRlYnVnX19pbnB1dCwgdHAsIHRoLCBtKTsKIAl0cC0+dF9mbGFncyB8PSBURl9BQ0tO
T1c7CiAJKHZvaWQpIHRwLT50X2ZiLT50ZmJfdGNwX291dHB1dCh0cCk7Ci0JdGNwX2hhbmRsZV93
YWtldXAodHAsIHNvKTsKIAlJTlBfV1VOTE9DSyh0cC0+dF9pbnBjYik7CiAJbV9mcmVlbShtKTsK
IAlyZXR1cm47CkBAIC0zMzIyLDcgKzMyOTUsNiBAQCBkcm9wYWZ0ZXJhY2s6CiBkcm9wd2l0aHJl
c2V0OgogCWlmICh0cCAhPSBOVUxMKSB7CiAJCXRjcF9kcm9wd2l0aHJlc2V0KG0sIHRoLCB0cCwg
dGxlbiwgcnN0cmVhc29uKTsKLQkJdGNwX2hhbmRsZV93YWtldXAodHAsIHNvKTsKIAkJSU5QX1dV
TkxPQ0sodHAtPnRfaW5wY2IpOwogCX0gZWxzZQogCQl0Y3BfZHJvcHdpdGhyZXNldChtLCB0aCwg
TlVMTCwgdGxlbiwgcnN0cmVhc29uKTsKQEAgLTMzMzgsMTAgKzMzMTAsOCBAQCBkcm9wOgogCQkJ
ICAmdGNwX3NhdmV0Y3AsIDApOwogI2VuZGlmCiAJVENQX1BST0JFMyhkZWJ1Z19faW5wdXQsIHRw
LCB0aCwgbSk7Ci0JaWYgKHRwICE9IE5VTEwpIHsKLQkJdGNwX2hhbmRsZV93YWtldXAodHAsIHNv
KTsKKwlpZiAodHAgIT0gTlVMTCkKIAkJSU5QX1dVTkxPQ0sodHAtPnRfaW5wY2IpOwotCX0KIAlt
X2ZyZWVtKG0pOwogfQogCi0tLSBzeXMvbmV0aW5ldC90Y3BfcmVhc3MuYy5vcmlnCTIwMjEtMDQt
MDkgMDg6MTg6MTAuNTk5MDkyMDAwIC0wNzAwCisrKyBzeXMvbmV0aW5ldC90Y3BfcmVhc3MuYwky
MDIxLTA0LTA5IDA4OjE5OjU0LjkxMjM3ODAwMCAtMDcwMApAQCAtOTU5LDggKzk1OSw3IEBAIG5l
d19lbnRyeToKIAkJfSBlbHNlIHsKIAkJCXNiYXBwZW5kc3RyZWFtX2xvY2tlZCgmc28tPnNvX3Jj
diwgbSwgMCk7CiAJCX0KLQkJU09DS0JVRl9VTkxPQ0soJnNvLT5zb19yY3YpOwotCQl0cC0+dF9m
bGFncyB8PSBURl9XQUtFU09SOworCQlzb3J3YWtldXBfbG9ja2VkKHNvKTsKIAkJcmV0dXJuIChm
bGFncyk7CiAJfQogCWlmICh0Y3BfbmV3X2xpbWl0cykgewpAQCAtMTEwOCw3ICsxMTA3LDYgQEAg
cHJlc2VudDoKICNpZmRlZiBUQ1BfUkVBU1NfTE9HR0lORwogCXRjcF9yZWFzc19sb2dfZHVtcCh0
cCk7CiAjZW5kaWYKLQlTT0NLQlVGX1VOTE9DSygmc28tPnNvX3Jjdik7Ci0JdHAtPnRfZmxhZ3Mg
fD0gVEZfV0FLRVNPUjsKKwlzb3J3YWtldXBfbG9ja2VkKHNvKTsKIAlyZXR1cm4gKGZsYWdzKTsK
IH0K

--_002_YQXPR0101MB09681707D3F3DC10814A905BDD4D9YQXPR0101MB0968_--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQXPR0101MB09681707D3F3DC10814A905BDD4D9>