Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 May 2013 21:51:03 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Hartmut Brandt <hartmut.brandt@dlr.de>
Cc:        current@freebsd.org
Subject:   Re: files disappearing from ls on NFS
Message-ID:  <1012361480.290121.1368323463788.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <alpine.BSF.2.00.1305021801110.95088@KNOP-BEAGLE.kn.op.dlr.de>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_290120_1668671246.1368323463785
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hartmut Brandt wrote:
> Hi,
> 
> I've updated one of my -current machines this week (previous update
> was in
> february). Now I see a strange effect (it seems only on NFS mounts):
> ls or
> even echo * will list only some files (strange enough the first files
> from
> the normal, alphabetically ordered list). If I change something in the
> directory (delete a file or create a new one) for some time the
> complete
> listing will appear but after sime time (seconds to a minute or so)
> again
> only part of the files is listed.
> 
> A ktrace on ls /usr/src/lib/libc/gen shows that getdirentries is
> called
> only once (returning 4096). For a full listing getdirentries is called
> 5
> times with the last returning 0.
> 
> I can still open files that are not listed if I know their name,
> though.
> 
> The NFS server is a Windows 2008 server with an OpenText NFS Server
> which
> works without problems to all the other FreeBSD machines.
> 
> So what could that be?
> 
I've attached a patch that might be worth trying. It is a "shot in the dark",
but brings the new NFS client's readdir closer to the old one (which you
mentioned still works ok).

Please let me know how it goes, if you have a chance to test it, rick

> Regards,
> harti
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe@freebsd.org"

------=_Part_290120_1668671246.1368323463785
Content-Type: text/x-patch; name=dirtry.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=dirtry.patch

LS0tIGZzL25mc2NsaWVudC9uZnNfY2xycGNvcHMuYy5zYXYJMjAxMy0wNS0xMSAyMDowMjoyNC4w
MDAwMDAwMDAgLTA0MDAKKysrIGZzL25mc2NsaWVudC9uZnNfY2xycGNvcHMuYwkyMDEzLTA1LTEx
IDIwOjQ2OjI4LjAwMDAwMDAwMCAtMDQwMApAQCAtMjYwNCwzMSArMjYwNCw2IEBAIG5mc3JwY19y
bWRpcih2bm9kZV90IGR2cCwgY2hhciAqbmFtZSwgaW4KIAogLyoKICAqIFJlYWRkaXIgcnBjLgot
ICogQWx3YXlzIHJldHVybnMgd2l0aCBlaXRoZXIgdWlvX3Jlc2lkIHVuY2hhbmdlZCwgaWYgeW91
IGFyZSBhdCB0aGUKLSAqIGVuZCBvZiB0aGUgZGlyZWN0b3J5LCBvciB1aW9fcmVzaWQgPT0gMCwg
d2l0aCBhbGwgRElSQkxLU0laIGNodW5rcwotICogZmlsbGVkIGluLgotICogSSBmZWx0IHRoaXMg
d291bGQgYWxsb3cgY2FjaGluZyBvZiBkaXJlY3RvcnkgYmxvY2tzIG1vcmUgZWFzaWx5Ci0gKiB0
aGFuIHJldHVybmluZyBhIHBlcnRpYWxseSBmaWxsZWQgYmxvY2suCi0gKiBEaXJlY3Rvcnkgb2Zm
c2V0IGNvb2tpZXM6Ci0gKiBPaCBteSwgd2hhdCB0byBkbyB3aXRoIHRoZW0uLi4KLSAqIEkgY2Fu
IHRoaW5rIG9mIHRocmVlIHdheXMgdG8gZGVhbCB3aXRoIHRoZW06Ci0gKiAxIC0gaGF2ZSB0aGUg
bGF5ZXIgYWJvdmUgdGhlc2UgUlBDcyBtYWludGFpbiBhIG1hcCBiZXR3ZWVuIGxvZ2ljYWwKLSAq
ICAgICBkaXJlY3RvcnkgYnl0ZSBvZmZzZXRzIGFuZCB0aGUgTkZTIGRpcmVjdG9yeSBvZmZzZXQg
Y29va2llcwotICogMiAtIHBhc3MgdGhlIG9wYXF1ZSBkaXJlY3Rvcnkgb2Zmc2V0IGNvb2tpZXMg
dXAgaW50byB1c2VybGFuZAotICogICAgIGFuZCBsZXQgdGhlIGxpYmMgZnVuY3Rpb25zIGRlYWwg
d2l0aCB0aGVtLCB2aWEgdGhlIHN5c3RlbSBjYWxsCi0gKiAzIC0gcmV0dXJuIHRoZW0gdG8gdXNl
cmxhbmQgaW4gdGhlICJzdHJ1Y3QgZGlyZW50Iiwgc28gZnV0dXJlIHZlcnNpb25zCi0gKiAgICAg
b2YgbGliYyBjYW4gdXNlIHRoZW0gYW5kIGRvIHdoYXRldmVyIGlzIG5lY2Vzc2FyeSB0byBhbWtl
IHRoaW5ncyB3b3JrCi0gKiAgICAgYWJvdmUgdGhlc2UgcnBjIGNhbGxzLCBpbiB0aGUgbWVhbnRp
bWUKLSAqIEZvciBub3csIEkgZG8gIzMgYnkgImhpZGluZyIgdGhlIGRpcmVjdG9yeSBvZmZzZXQg
Y29va2llcyBhZnRlciB0aGUKLSAqIGRfbmFtZSBmaWVsZCBpbiBzdHJ1Y3QgZGlyZW50LiBUaGlz
IGlzIHNwYWNlIGluc2lkZSBkX3JlY2xlbiB0aGF0Ci0gKiB3aWxsIGJlIGlnbm9yZWQgYnkgYW55
dGhpbmcgdGhhdCBkb2Vzbid0IGtub3cgYWJvdXQgdGhlbS4KLSAqIFRoZSBkaXJlY3Rvcnkgb2Zm
c2V0IGNvb2tpZXMgYXJlIGZpbGxlZCBpbiBhcyB0aGUgbGFzdCA4IGJ5dGVzIG9mCi0gKiBlYWNo
IGRpcmVjdG9yeSBlbnRyeSwgYWZ0ZXIgZF9uYW1lLiBTb21lZGF5LCB0aGUgdXNlcmxhbmQgbGli
YwotICogZnVuY3Rpb25zIG1heSBiZSBhYmxlIHRvIHVzZSB0aGVzZS4gSW4gdGhlIG1lYW50aW1l
LCBpdCBzYXRpc2ZpZXMKLSAqIE9wZW5CU0QncyByZXF1aXJlbWVudHMgZm9yIGNvb2tpZXMgYmVp
bmcgcmV0dXJuZWQuCi0gKiBJZiBleHBlY3RzIHRoZSBkaXJlY3Rvcnkgb2Zmc2V0IGNvb2tpZSBm
b3IgdGhlIHJlYWQgdG8gYmUgaW4gdWlvX29mZnNldAotICogYW5kIHJldHVybnMgdGhlIG9uZSBm
b3IgdGhlIG5leHQgZW50cnkgYWZ0ZXIgdGhpcyBkaXJlY3RvcnkgYmxvY2sgaW4KLSAqIHRoZXJl
LCBhcyB3ZWxsLgogICovCiBBUFBMRVNUQVRJQyBpbnQKIG5mc3JwY19yZWFkZGlyKHZub2RlX3Qg
dnAsIHN0cnVjdCB1aW8gKnVpb3AsIG5mc3VpbnQ2NCAqY29va2llcCwKQEAgLTI2NDksMTIgKzI2
MjQsMTIgQEAgbmZzcnBjX3JlYWRkaXIodm5vZGVfdCB2cCwgc3RydWN0IHVpbyAqdQogCXVfaW50
MzJfdCBmYWtlZmlsZW5vID0gMHhmZmZmZmZmZiwgcmRlcnI7CiAJY2hhciAqY3A7CiAJbmZzYXR0
cmJpdF90IGF0dHJiaXRzLCBkYXR0cmJpdHM7Ci0JdV9pbnQzMl90ICp0bDIgPSBOVUxMOwotCXNp
emVfdCB0cmVzaWQ7CisJc3NpemVfdCB0cmVzaWQ7CiAKIAlLQVNTRVJUKHVpb3AtPnVpb19pb3Zj
bnQgPT0gMSAmJgotCSAgICAodWlvX3Vpb19yZXNpZCh1aW9wKSAmIChESVJCTEtTSVogLSAxKSkg
PT0gMCwKLQkgICAgKCJuZnMgcmVhZGRpcnJwYyBiYWQgdWlvIikpOworCSAgICAodWlvcC0+dWlv
X29mZnNldCAmIChESVJCTEtTSVogLSAxKSkgPT0gMCAmJgorCSAgICAodWlvcC0+dWlvX3Jlc2lk
ICYgKERJUkJMS1NJWiAtIDEpKSA9PSAwLAorCSAgICAoIm5mc3JwY19yZWFkZGlyIGJhZCB1aW8i
KSk7CiAKIAkvKgogCSAqIFRoZXJlIGlzIG5vIHBvaW50IGluIHJlYWRpbmcgYSBsb3QgbW9yZSB0
aGFuIHVpb19yZXNpZCwgaG93ZXZlcgpAQCAtMjY2MywxMyArMjYzOCwxMyBAQCBuZnNycGNfcmVh
ZGRpcih2bm9kZV90IHZwLCBzdHJ1Y3QgdWlvICp1CiAJICogd2lsbCBuZXZlciBtYWtlIHJlYWRz
aXplID4gbm1fcmVhZGRpcnNpemUuCiAJICovCiAJcmVhZHNpemUgPSBubXAtPm5tX3JlYWRkaXJz
aXplOwotCWlmIChyZWFkc2l6ZSA+IHVpb191aW9fcmVzaWQodWlvcCkpCi0JCXJlYWRzaXplID0g
dWlvX3Vpb19yZXNpZCh1aW9wKSArIERJUkJMS1NJWjsKKwlpZiAocmVhZHNpemUgPiB1aW9wLT51
aW9fcmVzaWQpCisJCXJlYWRzaXplID0gdWlvcC0+dWlvX3Jlc2lkICsgRElSQkxLU0laOwogCiAJ
KmF0dHJmbGFncCA9IDA7CiAJaWYgKGVvZnApCiAJCSplb2ZwID0gMDsKLQl0cmVzaWQgPSB1aW9f
dWlvX3Jlc2lkKHVpb3ApOworCXRyZXNpZCA9IHVpb3AtPnVpb19yZXNpZDsKIAljb29raWUubHZh
bFswXSA9IGNvb2tpZXAtPm5mc3VxdWFkWzBdOwogCWNvb2tpZS5sdmFsWzFdID0gY29va2llcC0+
bmZzdXF1YWRbMV07CiAJbmQtPm5kX21yZXAgPSBOVUxMOwpAQCAtMjc2NSw0MyArMjc0MCwzMyBA
QCBuZnNycGNfcmVhZGRpcih2bm9kZV90IHZwLCBzdHJ1Y3QgdWlvICp1CiAJCQlpZiAoZXJyb3Ip
CiAJCQkgICAgcmV0dXJuIChlcnJvcik7CiAJCQluZC0+bmRfbXJlcCA9IE5VTEw7Ci0JCQlkcCA9
IChzdHJ1Y3QgZGlyZW50ICopIENBU1RfRE9XTihjYWRkcl90LCB1aW9faW92X2Jhc2UodWlvcCkp
OwotCQkJZHAtPmRfdHlwZSA9IERUX0RJUjsKKwkJCWRwID0gKHN0cnVjdCBkaXJlbnQgKil1aW9w
LT51aW9faW92LT5pb3ZfYmFzZTsKIAkJCWRwLT5kX2ZpbGVubyA9IGRvdGZpbGVpZDsKIAkJCWRw
LT5kX25hbWxlbiA9IDE7CiAJCQlkcC0+ZF9uYW1lWzBdID0gJy4nOwogCQkJZHAtPmRfbmFtZVsx
XSA9ICdcMCc7Ci0JCQlkcC0+ZF9yZWNsZW4gPSBESVJFTlRfU0laRShkcCkgKyBORlNYX0hZUEVS
OwotCQkJLyoKLQkJCSAqIEp1c3QgbWFrZSB0aGVzZSBvZmZzZXQgY29va2llIDAuCi0JCQkgKi8K
LQkJCXRsID0gKHVfaW50MzJfdCAqKSZkcC0+ZF9uYW1lWzRdOwotCQkJKnRsKysgPSAwOwotCQkJ
KnRsID0gMDsKKwkJCWRwLT5kX3JlY2xlbiA9IDQgKyBESVJIRFNJWjsKKwkJCWRwLT5kX3R5cGUg
PSBEVF9ESVI7CiAJCQlibGtzaXogKz0gZHAtPmRfcmVjbGVuOwotCQkJdWlvX3Vpb19yZXNpZF9h
ZGQodWlvcCwgLShkcC0+ZF9yZWNsZW4pKTsKIAkJCXVpb3AtPnVpb19vZmZzZXQgKz0gZHAtPmRf
cmVjbGVuOwotCQkJdWlvX2lvdl9iYXNlX2FkZCh1aW9wLCBkcC0+ZF9yZWNsZW4pOwotCQkJdWlv
X2lvdl9sZW5fYWRkKHVpb3AsIC0oZHAtPmRfcmVjbGVuKSk7Ci0JCQlkcCA9IChzdHJ1Y3QgZGly
ZW50ICopIENBU1RfRE9XTihjYWRkcl90LCB1aW9faW92X2Jhc2UodWlvcCkpOwotCQkJZHAtPmRf
dHlwZSA9IERUX0RJUjsKKwkJCXVpb3AtPnVpb19yZXNpZCAtPSBkcC0+ZF9yZWNsZW47CisJCQl1
aW9wLT51aW9faW92LT5pb3ZfYmFzZSA9CisJCQkgICAgKGNoYXIgKil1aW9wLT51aW9faW92LT5p
b3ZfYmFzZSArIGRwLT5kX3JlY2xlbjsKKwkJCXVpb3AtPnVpb19pb3YtPmlvdl9sZW4gLT0gZHAt
PmRfcmVjbGVuOworCQkJZHAgPSAoc3RydWN0IGRpcmVudCAqKXVpb3AtPnVpb19pb3YtPmlvdl9i
YXNlOwogCQkJZHAtPmRfZmlsZW5vID0gZG90ZG90ZmlsZWlkOwogCQkJZHAtPmRfbmFtbGVuID0g
MjsKIAkJCWRwLT5kX25hbWVbMF0gPSAnLic7CiAJCQlkcC0+ZF9uYW1lWzFdID0gJy4nOwogCQkJ
ZHAtPmRfbmFtZVsyXSA9ICdcMCc7Ci0JCQlkcC0+ZF9yZWNsZW4gPSBESVJFTlRfU0laRShkcCkg
KyBORlNYX0hZUEVSOwotCQkJLyoKLQkJCSAqIEp1c3QgbWFrZSB0aGVzZSBvZmZzZXQgY29va2ll
IDAuCi0JCQkgKi8KLQkJCXRsID0gKHVfaW50MzJfdCAqKSZkcC0+ZF9uYW1lWzRdOwotCQkJKnRs
KysgPSAwOwotCQkJKnRsID0gMDsKKwkJCWRwLT5kX3JlY2xlbiA9IDQgKyBESVJIRFNJWjsKKwkJ
CWRwLT5kX3R5cGUgPSBEVF9ESVI7CiAJCQlibGtzaXogKz0gZHAtPmRfcmVjbGVuOwotCQkJdWlv
X3Vpb19yZXNpZF9hZGQodWlvcCwgLShkcC0+ZF9yZWNsZW4pKTsKIAkJCXVpb3AtPnVpb19vZmZz
ZXQgKz0gZHAtPmRfcmVjbGVuOwotCQkJdWlvX2lvdl9iYXNlX2FkZCh1aW9wLCBkcC0+ZF9yZWNs
ZW4pOwotCQkJdWlvX2lvdl9sZW5fYWRkKHVpb3AsIC0oZHAtPmRfcmVjbGVuKSk7CisJCQl1aW9w
LT51aW9fcmVzaWQgLT0gZHAtPmRfcmVjbGVuOworCQkJdWlvcC0+dWlvX2lvdi0+aW92X2Jhc2Ug
PQorCQkJICAgIChjaGFyICopdWlvcC0+dWlvX2lvdi0+aW92X2Jhc2UgKyBkcC0+ZF9yZWNsZW47
CisJCQl1aW9wLT51aW9faW92LT5pb3ZfbGVuIC09IGRwLT5kX3JlY2xlbjsKIAkJfQogCQlORlNT
RVRCSVRfQVRUUkJJVCgmYXR0cmJpdHMsIE5GU0FUVFJCSVRfUkRBVFRSRVJST1IpOwogCX0gZWxz
ZSB7CkBAIC0yODk1LDQwICsyODYwLDQxIEBAIG5mc3JwY19yZWFkZGlyKHZub2RlX3QgdnAsIHN0
cnVjdCB1aW8gKnUKIAkJCWlmICh0bGVuID09IGxlbikKIAkJCQl0bGVuICs9IDQ7ICAvKiBUbyBl
bnN1cmUgbnVsbCB0ZXJtaW5hdGlvbiAqLwogCQkJbGVmdCA9IERJUkJMS1NJWiAtIGJsa3NpejsK
LQkJCWlmICgoaW50KSh0bGVuICsgRElSSERTSVogKyBORlNYX0hZUEVSKSA+IGxlZnQpIHsKKwkJ
CWlmICgodGxlbiArIERJUkhEU0laKSA+IGxlZnQpIHsKIAkJCQlkcC0+ZF9yZWNsZW4gKz0gbGVm
dDsKLQkJCQl1aW9faW92X2Jhc2VfYWRkKHVpb3AsIGxlZnQpOwotCQkJCXVpb19pb3ZfbGVuX2Fk
ZCh1aW9wLCAtKGxlZnQpKTsKLQkJCQl1aW9fdWlvX3Jlc2lkX2FkZCh1aW9wLCAtKGxlZnQpKTsK
KwkJCQl1aW9wLT51aW9faW92LT5pb3ZfYmFzZSA9CisJCQkJICAgIChjaGFyICopdWlvcC0+dWlv
X2lvdi0+aW92X2Jhc2UgKyBsZWZ0OworCQkJCXVpb3AtPnVpb19pb3YtPmlvdl9sZW4gLT0gbGVm
dDsKIAkJCQl1aW9wLT51aW9fb2Zmc2V0ICs9IGxlZnQ7CisJCQkJdWlvcC0+dWlvX3Jlc2lkIC09
IGxlZnQ7CiAJCQkJYmxrc2l6ID0gMDsKIAkJCX0KLQkJCWlmICgoaW50KSh0bGVuICsgRElSSERT
SVogKyBORlNYX0hZUEVSKSA+IHVpb191aW9fcmVzaWQodWlvcCkpCisJCQlpZiAoKHRsZW4gKyBE
SVJIRFNJWikgPiB1aW9wLT51aW9fcmVzaWQpCiAJCQkJYmlnZW5vdWdoID0gMDsKIAkJCWlmIChi
aWdlbm91Z2gpIHsKLQkJCQlkcCA9IChzdHJ1Y3QgZGlyZW50ICopIENBU1RfRE9XTihjYWRkcl90
LCB1aW9faW92X2Jhc2UodWlvcCkpOworCQkJCWRwID0gKHN0cnVjdCBkaXJlbnQgKil1aW9wLT51
aW9faW92LT5pb3ZfYmFzZTsKIAkJCQlkcC0+ZF9uYW1sZW4gPSBsZW47Ci0JCQkJZHAtPmRfcmVj
bGVuID0gdGxlbiArIERJUkhEU0laICsgTkZTWF9IWVBFUjsKKwkJCQlkcC0+ZF9yZWNsZW4gPSB0
bGVuICsgRElSSERTSVo7CiAJCQkJZHAtPmRfdHlwZSA9IERUX1VOS05PV047CiAJCQkJYmxrc2l6
ICs9IGRwLT5kX3JlY2xlbjsKIAkJCQlpZiAoYmxrc2l6ID09IERJUkJMS1NJWikKIAkJCQkJYmxr
c2l6ID0gMDsKLQkJCQl1aW9fdWlvX3Jlc2lkX2FkZCh1aW9wLCAtKERJUkhEU0laKSk7CiAJCQkJ
dWlvcC0+dWlvX29mZnNldCArPSBESVJIRFNJWjsKLQkJCQl1aW9faW92X2Jhc2VfYWRkKHVpb3As
IERJUkhEU0laKTsKLQkJCQl1aW9faW92X2xlbl9hZGQodWlvcCwgLShESVJIRFNJWikpOworCQkJ
CXVpb3AtPnVpb19yZXNpZCAtPSBESVJIRFNJWjsKKwkJCQl1aW9wLT51aW9faW92LT5pb3ZfYmFz
ZSA9CisJCQkJICAgIChjaGFyICopdWlvcC0+dWlvX2lvdi0+aW92X2Jhc2UgKyBESVJIRFNJWjsK
KwkJCQl1aW9wLT51aW9faW92LT5pb3ZfbGVuIC09IERJUkhEU0laOwogCQkJCWVycm9yID0gbmZz
bV9tYnVmdWlvKG5kLCB1aW9wLCBsZW4pOwogCQkJCWlmIChlcnJvcikKIAkJCQkJZ290byBuZnNt
b3V0OwotCQkJCWNwID0gQ0FTVF9ET1dOKGNhZGRyX3QsIHVpb19pb3ZfYmFzZSh1aW9wKSk7CisJ
CQkJY3AgPSB1aW9wLT51aW9faW92LT5pb3ZfYmFzZTsKIAkJCQl0bGVuIC09IGxlbjsKIAkJCQkq
Y3AgPSAnXDAnOwkvKiBudWxsIHRlcm1pbmF0ZSAqLwotCQkJCWNwICs9IHRsZW47CS8qIHBvaW50
cyB0byBjb29raWUgc3RvcmFnZSAqLwotCQkJCXRsMiA9ICh1X2ludDMyX3QgKiljcDsKLQkJCQl1
aW9faW92X2Jhc2VfYWRkKHVpb3AsICh0bGVuICsgTkZTWF9IWVBFUikpOwotCQkJCXVpb19pb3Zf
bGVuX2FkZCh1aW9wLCAtKHRsZW4gKyBORlNYX0hZUEVSKSk7Ci0JCQkJdWlvX3Vpb19yZXNpZF9h
ZGQodWlvcCwgLSh0bGVuICsgTkZTWF9IWVBFUikpOwotCQkJCXVpb3AtPnVpb19vZmZzZXQgKz0g
KHRsZW4gKyBORlNYX0hZUEVSKTsKKwkJCQl1aW9wLT51aW9faW92LT5pb3ZfYmFzZSA9CisJCQkJ
ICAgIChjaGFyICopdWlvcC0+dWlvX2lvdi0+aW92X2Jhc2UgKyB0bGVuOworCQkJCXVpb3AtPnVp
b19pb3YtPmlvdl9sZW4gLT0gdGxlbjsKKwkJCQl1aW9wLT51aW9fb2Zmc2V0ICs9IHRsZW47CisJ
CQkJdWlvcC0+dWlvX3Jlc2lkIC09IHRsZW47CiAJCQl9IGVsc2UgewogCQkJCWVycm9yID0gbmZz
bV9hZHZhbmNlKG5kLCBORlNNX1JORFVQKGxlbiksIC0xKTsKIAkJCQlpZiAoZXJyb3IpCkBAIC0y
OTc5LDkgKzI5NDUsOSBAQCBuZnNycGNfcmVhZGRpcih2bm9kZV90IHZwLCBzdHJ1Y3QgdWlvICp1
CiAJCQkgICAgfSBlbHNlIHsKIAkJCQlkcC0+ZF9maWxlbm8gPSBuZnN2YS5uYV9maWxlaWQ7CiAJ
CQkgICAgfQotCQkJICAgICp0bDIrKyA9IGNvb2tpZXAtPm5mc3VxdWFkWzBdID0gY29va2llLmx2
YWxbMF0gPQorCQkJICAgIGNvb2tpZXAtPm5mc3VxdWFkWzBdID0gY29va2llLmx2YWxbMF0gPQog
CQkJCW5jb29raWUubHZhbFswXTsKLQkJCSAgICAqdGwyID0gY29va2llcC0+bmZzdXF1YWRbMV0g
PSBjb29raWUubHZhbFsxXSA9CisJCQkgICAgY29va2llcC0+bmZzdXF1YWRbMV0gPSBjb29raWUu
bHZhbFsxXSA9CiAJCQkJbmNvb2tpZS5sdmFsWzFdOwogCQkJfQogCQkJbW9yZV9kaXJzID0gZnhk
cl91bnNpZ25lZChpbnQsICp0bCk7CkBAIC0zMDExLDEwICsyOTc3LDExIEBAIG5mc3JwY19yZWFk
ZGlyKHZub2RlX3QgdnAsIHN0cnVjdCB1aW8gKnUKIAlpZiAoYmxrc2l6ID4gMCkgewogCQlsZWZ0
ID0gRElSQkxLU0laIC0gYmxrc2l6OwogCQlkcC0+ZF9yZWNsZW4gKz0gbGVmdDsKLQkJdWlvX2lv
dl9iYXNlX2FkZCh1aW9wLCBsZWZ0KTsKLQkJdWlvX2lvdl9sZW5fYWRkKHVpb3AsIC0obGVmdCkp
OwotCQl1aW9fdWlvX3Jlc2lkX2FkZCh1aW9wLCAtKGxlZnQpKTsKKwkJdWlvcC0+dWlvX2lvdi0+
aW92X2Jhc2UgPQorCQkgICAgKGNoYXIgKil1aW9wLT51aW9faW92LT5pb3ZfYmFzZSArIGxlZnQ7
CisJCXVpb3AtPnVpb19pb3YtPmlvdl9sZW4gLT0gbGVmdDsKIAkJdWlvcC0+dWlvX29mZnNldCAr
PSBsZWZ0OworCQl1aW9wLT51aW9fcmVzaWQgLT0gbGVmdDsKIAl9CiAKIAkvKgpAQCAtMzAyNCw3
ICsyOTkxLDcgQEAgbmZzcnBjX3JlYWRkaXIodm5vZGVfdCB2cCwgc3RydWN0IHVpbyAqdQogCSAq
IE90aGVyd2lzZSwgcmV0dXJuIHRoZSBlb2YgZmxhZyBmcm9tIHRoZSBzZXJ2ZXIuCiAJICovCiAJ
aWYgKGVvZnApIHsKLQkJaWYgKHRyZXNpZCA9PSAoKHNpemVfdCkodWlvX3Vpb19yZXNpZCh1aW9w
KSkpKQorCQlpZiAodHJlc2lkID09IHVpb3AtPnVpb19yZXNpZCkKIAkJCSplb2ZwID0gMTsKIAkJ
ZWxzZSBpZiAoIWJpZ2Vub3VnaCkKIAkJCSplb2ZwID0gMDsKQEAgLTMwMzIsMjUgKzI5OTksNiBA
QCBuZnNycGNfcmVhZGRpcih2bm9kZV90IHZwLCBzdHJ1Y3QgdWlvICp1CiAJCQkqZW9mcCA9IGVv
ZjsKIAl9CiAKLQkvKgotCSAqIEFkZCBleHRyYSBlbXB0eSByZWNvcmRzIHRvIGFueSByZW1haW5p
bmcgRElSQkxLU0laIGNodW5rcy4KLQkgKi8KLQl3aGlsZSAodWlvX3Vpb19yZXNpZCh1aW9wKSA+
IDAgJiYgKChzaXplX3QpKHVpb191aW9fcmVzaWQodWlvcCkpKSAhPSB0cmVzaWQpIHsKLQkJZHAg
PSAoc3RydWN0IGRpcmVudCAqKSBDQVNUX0RPV04oY2FkZHJfdCwgdWlvX2lvdl9iYXNlKHVpb3Ap
KTsKLQkJZHAtPmRfdHlwZSA9IERUX1VOS05PV047Ci0JCWRwLT5kX2ZpbGVubyA9IDA7Ci0JCWRw
LT5kX25hbWxlbiA9IDA7Ci0JCWRwLT5kX25hbWVbMF0gPSAnXDAnOwotCQl0bCA9ICh1X2ludDMy
X3QgKikmZHAtPmRfbmFtZVs0XTsKLQkJKnRsKysgPSBjb29raWUubHZhbFswXTsKLQkJKnRsID0g
Y29va2llLmx2YWxbMV07Ci0JCWRwLT5kX3JlY2xlbiA9IERJUkJMS1NJWjsKLQkJdWlvX2lvdl9i
YXNlX2FkZCh1aW9wLCBESVJCTEtTSVopOwotCQl1aW9faW92X2xlbl9hZGQodWlvcCwgLShESVJC
TEtTSVopKTsKLQkJdWlvX3Vpb19yZXNpZF9hZGQodWlvcCwgLShESVJCTEtTSVopKTsKLQkJdWlv
cC0+dWlvX29mZnNldCArPSBESVJCTEtTSVo7Ci0JfQotCiBuZnNtb3V0OgogCWlmIChuZC0+bmRf
bXJlcCAhPSBOVUxMKQogCQltYnVmX2ZyZWVtKG5kLT5uZF9tcmVwKTsK
------=_Part_290120_1668671246.1368323463785--



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