Date: Sun, 7 May 2006 20:29:08 +0400 (MSD) From: Dmitry Morozovsky <marck@rinet.ru> To: Konstantin Belousov <kostikbel@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: quota deadlock on 6.1-RC1 Message-ID: <20060507202808.P19670@woozle.rinet.ru> In-Reply-To: <20060507160820.GB12655@deviant.kiev.zoral.com.ua> References: <35c231bf0605051049t2761281ar97b9634b8279b1fd@mail.gmail.com> <445B991F.3050600@rogers.com> <6.2.3.4.0.20060505145259.10d8dca0@64.7.153.2> <3aaaa3a0605061238ib77bb38x6f61eb6cc1c1c6c1@mail.gmail.com> <20060506204720.S46997@fledge.watson.org> <20060506233525.GA52731@xor.obsecurity.org> <20060507104355.K92932@woozle.rinet.ru> <20060507175330.H19670@woozle.rinet.ru> <20060507154029.GA12655@deviant.kiev.zoral.com.ua> <20060507195831.A19670@woozle.rinet.ru> <20060507160820.GB12655@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1037833276-1147019348=:19670 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 7 May 2006, Konstantin Belousov wrote: KB> > I'm running RELENG_6 with hand-merged sys/ufs/ffs changes from 1 to 7 May. KB> It would be great to show the patchset. Also note that relevant changes are KB> not limited to ufs/ffs. For instance, rev. 1.671 of kern/vfs_subr.c is KB> also important, as well as rev. 1.82 of ufs/ufs/ufs_quota.c, that KB> deals explicitely with combination of snapshots and quotas. Actually I did (see attachment) ;-) Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ --0-1037833276-1147019348=:19670 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=ffs-releng6-20060506.patch Content-Transfer-Encoding: BASE64 Content-ID: <20060507202908.J19670@woozle.rinet.ru> Content-Description: Content-Disposition: attachment; filename=ffs-releng6-20060506.patch SW5kZXg6IGtlcm4vdmZzX3N1YnIuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL3Zmc19zdWJy LmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjYzNS4yLjE2LjIuMQ0KZGlm ZiAtdSAtcjEuNjM1LjIuMTYuMi4xIHZmc19zdWJyLmMNCi0tLSBrZXJuL3Zm c19zdWJyLmMJNCBNYXkgMjAwNiAwNzo0MjoxMCAtMDAwMAkxLjYzNS4yLjE2 LjIuMQ0KKysrIGtlcm4vdmZzX3N1YnIuYwk3IE1heSAyMDA2IDE2OjI3OjUy IC0wMDAwDQpAQCAtMjgzOSw3ICsyODM5LDYgQEANCiAJc3RydWN0IHZub2Rl ICp2cCwgKm12cDsNCiAJc3RydWN0IHZtX29iamVjdCAqb2JqOw0KIA0KLQko dm9pZCkgdm5fc3RhcnRfd3JpdGUoTlVMTCwgJm1wLCBWX1dBSVQpOw0KIAlN TlRfSUxPQ0sobXApOw0KIAlNTlRfVk5PREVfRk9SRUFDSCh2cCwgbXAsIG12 cCkgew0KIAkJVklfTE9DSyh2cCk7DQpAQCAtMjg3MCw3ICsyODY5LDYgQEAN CiAJCQlWSV9VTkxPQ0sodnApOw0KIAl9DQogCU1OVF9JVU5MT0NLKG1wKTsN Ci0Jdm5fZmluaXNoZWRfd3JpdGUobXApOw0KIH0NCiANCiAvKg0KSW5kZXg6 IHVmcy9mZnMvZmZzX3Jhd3JlYWQuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy91ZnMvZmZzL2Zmc19y YXdyZWFkLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjI1LjIuMg0KZGlm ZiAtdSAtcjEuMjUuMi4yIGZmc19yYXdyZWFkLmMNCi0tLSB1ZnMvZmZzL2Zm c19yYXdyZWFkLmMJOSBNYXIgMjAwNiAwMDoxODo0NSAtMDAwMAkxLjI1LjIu Mg0KKysrIHVmcy9mZnMvZmZzX3Jhd3JlYWQuYwk3IE1heSAyMDA2IDE2OjI3 OjU2IC0wMDAwDQpAQCAtMTI5LDggKzEyOSwxNiBAQA0KIAkJCXVwZ3JhZGVk ID0gMDsNCiAJCQkNCiAJCQ0KLQkJLyogQXR0ZW1wdCB0byBtc3luYyBtbWFw KCkgcmVnaW9ucyB0byBjbGVhbiBkaXJ0eSBtbWFwICovIA0KIAkJVklfTE9D Syh2cCk7DQorCQkvKiBDaGVjayBpZiB2bm9kZSB3YXMgcmVjbGFpbWVkIHdo aWxlIHVubG9ja2VkLiAqLw0KKwkJaWYgKCh2cC0+dl9pZmxhZyAmIFZJX0RP T01FRCkgIT0gMCkgew0KKwkJCVZJX1VOTE9DSyh2cCk7DQorCQkJaWYgKHVw Z3JhZGVkICE9IDApDQorCQkJCVZPUF9MT0NLKHZwLCBMS19ET1dOR1JBREUs IHRkKTsNCisJCQl2bl9maW5pc2hlZF93cml0ZShtcCk7DQorCQkJcmV0dXJu IChFSU8pOw0KKwkJfQ0KKwkJLyogQXR0ZW1wdCB0byBtc3luYyBtbWFwKCkg cmVnaW9ucyB0byBjbGVhbiBkaXJ0eSBtbWFwICovIA0KIAkJaWYgKCh2cC0+ dl9pZmxhZyAmIFZJX09CSkRJUlRZKSAhPSAwKSB7DQogCQkJVklfVU5MT0NL KHZwKTsNCiAJCQlpZiAodnAtPnZfb2JqZWN0ICE9IE5VTEwpIHsNCkBAIC0x NTAsNiArMTU4LDcgQEANCiAJCQlWSV9VTkxPQ0sodnApOw0KIAkJCWlmICh1 cGdyYWRlZCAhPSAwKQ0KIAkJCQlWT1BfTE9DSyh2cCwgTEtfRE9XTkdSQURF LCB0ZCk7DQorCQkJdm5fZmluaXNoZWRfd3JpdGUobXApOw0KIAkJCXJldHVy biAoZXJyb3IpOw0KIAkJfQ0KIAkJLyogRmx1c2ggZGlydHkgYnVmZmVycyAq Lw0KQEAgLTE1OSw2ICsxNjgsNyBAQA0KIAkJCWlmICgoZXJyb3IgPSBmZnNf c3luY3Zub2RlKHZwLCBNTlRfV0FJVCkpICE9IDApIHsNCiAJCQkJaWYgKHVw Z3JhZGVkICE9IDApDQogCQkJCQlWT1BfTE9DSyh2cCwgTEtfRE9XTkdSQURF LCB0ZCk7DQorCQkJCXZuX2ZpbmlzaGVkX3dyaXRlKG1wKTsNCiAJCQkJcmV0 dXJuIChlcnJvcik7DQogCQkJfQ0KIAkJCVZJX0xPQ0sodnApOw0KSW5kZXg6 IHVmcy9mZnMvZmZzX3NuYXBzaG90LmMNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvdWZzL2Zmcy9mZnNf c25hcHNob3QuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAzLjIuNQ0K ZGlmZiAtdSAtcjEuMTAzLjIuNSBmZnNfc25hcHNob3QuYw0KLS0tIHVmcy9m ZnMvZmZzX3NuYXBzaG90LmMJMjIgTWFyIDIwMDYgMTc6NDI6MzEgLTAwMDAJ MS4xMDMuMi41DQorKysgdWZzL2Zmcy9mZnNfc25hcHNob3QuYwk3IE1heSAy MDA2IDE2OjI3OjU2IC0wMDAwDQpAQCAtMzYsNiArMzYsOCBAQA0KICNpbmNs dWRlIDxzeXMvY2RlZnMuaD4NCiBfX0ZCU0RJRCgiJEZyZWVCU0Q6IHNyYy9z eXMvdWZzL2Zmcy9mZnNfc25hcHNob3QuYyx2IDEuMTAzLjIuNSAyMDA2LzAz LzIyIDE3OjQyOjMxIHRlZ2dlIEV4cCAkIik7DQogDQorI2luY2x1ZGUgIm9w dF9xdW90YS5oIg0KKw0KICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4NCiAjaW5j bHVkZSA8c3lzL2tlcm5lbC5oPg0KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4N CkBAIC0xMDQsNiArMTA2LDcgQEANCiAgICAgc3RydWN0IGZzICosIHVmc19s Ym5fdCwgaW50KTsNCiBzdGF0aWMgaW50IHJlYWRibG9jayhzdHJ1Y3Qgdm5v ZGUgKnZwLCBzdHJ1Y3QgYnVmICosIHVmczJfZGFkZHJfdCk7DQogc3RhdGlj IHZvaWQgcHJvY2Vzc19kZWZlcnJlZF9pbmFjdGl2ZShzdHJ1Y3QgbW91bnQg Kik7DQorc3RhdGljIHZvaWQgdHJ5X2ZyZWVfc25hcGRhdGEoc3RydWN0IHZu b2RlICpkZXZ2cCwgc3RydWN0IHRocmVhZCAqdGQpOw0KIA0KIC8qDQogICog VG8gZW5zdXJlIHRoZSBjb25zaXN0ZW5jeSBvZiBzbmFwc2hvdHMgYWNyb3Nz IGNyYXNoZXMsIHdlIG11c3QNCkBAIC0zMDYsNiArMzA5LDE4IEBADQogCQlp ZiAoZXJyb3IpDQogCQkJZ290byBvdXQ7DQogCX0NCisjaWZkZWYgUVVPVEEN CisJLyoNCisJICogVHVybiBvZmYgZGlzayBxdW90YXMgZm9yIHNuYXBzaG90 IGZpbGUuDQorCSAqLw0KKwkodm9pZCkgY2hrZHEoaXAsIC1ESVAoaXAsIGlf YmxvY2tzKSwgS0VSTkNSRUQsIEZPUkNFKTsNCisJZm9yIChpID0gMDsgaSA8 IE1BWFFVT1RBUzsgaSsrKSB7DQorCQlpZiAoaXAtPmlfZHF1b3RbaV0gIT0g Tk9EUVVPVCkgew0KKwkJCWRxcmVsZSh2cCwgaXAtPmlfZHF1b3RbaV0pOw0K KwkJCWlwLT5pX2RxdW90W2ldID0gTk9EUVVPVDsNCisJCX0NCisJfQ0KKyNl bmRpZg0KIAkvKg0KIAkgKiBDaGFuZ2UgaW5vZGUgdG8gc25hcHNob3QgdHlw ZSBmaWxlLg0KIAkgKi8NCkBAIC0zNDgsNiArMzYzLDExIEBADQogCQl2bl9z dGFydF93cml0ZShOVUxMLCAmd3J0bXAsIFZfV0FJVCk7DQogCX0NCiAJdm5f bG9jayh2cCwgTEtfRVhDTFVTSVZFIHwgTEtfUkVUUlksIHRkKTsNCisJaWYg KGlwLT5pX2VmZm5saW5rID09IDApIHsNCisJCWVycm9yID0gRU5PRU5UOwkJ LyogU25hcHNob3QgZmlsZSB1bmxpbmtlZCAqLw0KKwkJc24gPSBOVUxMOw0K KwkJZ290byBvdXQxOw0KKwl9DQogCWlmIChjb2xsZWN0c25hcHN0YXRzKQ0K IAkJbmFub3RpbWUoJnN0YXJ0dGltZSk7DQogCS8qDQpAQCAtNTUxLDcgKzU3 MSw2IEBADQogCX0NCiAJbG9ja21ncih2cC0+dl92bmxvY2ssIExLX0lOVEVS TE9DSyB8IExLX0VYQ0xVU0lWRSB8IExLX1JFVFJZLA0KIAkgICAgVklfTVRY KHZwKSwgdGQpOw0KLQl0cmFuc2ZlcmxvY2tlcnMoJnZwLT52X2xvY2ssIHZw LT52X3ZubG9jayk7DQogCWxvY2ttZ3IoJnZwLT52X2xvY2ssIExLX1JFTEVB U0UsIE5VTEwsIHRkKTsNCiAJLyoNCiAJICogSWYgdGhpcyBpcyB0aGUgZmly c3Qgc25hcHNob3Qgb24gdGhpcyBmaWxlc3lzdGVtLCB0aGVuIHdlIG5lZWQN CkBAIC03MDcsMTIgKzcyNiwxNyBAQA0KIAkgKiB0aGUgaW5vZGUgZm9yIHRo aXMgc25hcHNob3QgdGhlbiBhIGRlYWRsb2NrIGNhbiBvY2N1ci4gRHJvcA0K IAkgKiB0aGUgc25hcHNob3QgbG9jayB1bnRpbCB0aGUgYnVmZmVyIGhhcyBi ZWVuIHdyaXR0ZW4uDQogCSAqLw0KKwlWUkVGKHZwKTsJLyogUHJvdGVjdCBh Z2FpbnN0IGZmc19zbmFwZ29uZSgpICovDQogCVZPUF9VTkxPQ0sodnAsIDAs IHRkKTsNCiAJKHZvaWQpIGJyZWFkKGlwLT5pX2RldnZwLA0KIAkJICAgICBm c2J0b2RiKGZzLCBpbm9fdG9fZnNiYShmcywgaXAtPmlfbnVtYmVyKSksDQog CQkgICAgIChpbnQpIGZzLT5mc19ic2l6ZSwgTk9DUkVELCAmbmJwKTsNCiAJ YnJlbHNlKG5icCk7DQogCXZuX2xvY2sodnAsIExLX0VYQ0xVU0lWRSB8IExL X1JFVFJZLCB0ZCk7DQorCWlmIChpcC0+aV9lZmZubGluayA9PSAwKQ0KKwkJ ZXJyb3IgPSBFTk9FTlQ7CQkvKiBTbmFwc2hvdCBmaWxlIHVubGlua2VkICov DQorCWVsc2UNCisJCXZyZWxlKHZwKTsJCS8qIERyb3AgZXh0cmEgcmVmZXJl bmNlICovDQogZG9uZToNCiAJRlJFRShjb3B5X2ZzLT5mc19jc3AsIE1fVUZT TU5UKTsNCiAJYmF3cml0ZShzYnApOw0KQEAgLTE0NjksMTggKzE0OTMsMTYg QEANCiB7DQogCXN0cnVjdCBpbm9kZSAqaXA7DQogCXN0cnVjdCB2bm9kZSAq ZGV2dnA7DQotCXN0cnVjdCBsb2NrICpsa3A7DQogCXN0cnVjdCBidWYgKmli cDsNCiAJc3RydWN0IGZzICpmczsNCiAJc3RydWN0IHRocmVhZCAqdGQgPSBj dXJ0aHJlYWQ7DQotCXVmczJfZGFkZHJfdCBudW1ibGtzLCBibGtubywgZGJs aywgKnNuYXBibGtsaXN0Ow0KKwl1ZnMyX2RhZGRyX3QgbnVtYmxrcywgYmxr bm8sIGRibGs7DQogCWludCBlcnJvciwgbG9jLCBsYXN0Ow0KIAlzdHJ1Y3Qg c25hcGRhdGEgKnNuOw0KIA0KIAlpcCA9IFZUT0kodnApOw0KIAlmcyA9IGlw LT5pX2ZzOw0KIAlkZXZ2cCA9IGlwLT5pX2RldnZwOw0KLQlzbiA9IGRldnZw LT52X3JkZXYtPnNpX3NuYXBkYXRhOw0KIAkvKg0KIAkgKiBJZiBhY3RpdmUs IGRlbGV0ZSBmcm9tIGluY29yZSBsaXN0ICh0aGlzIHNuYXBzaG90IG1heQ0K IAkgKiBhbHJlYWR5IGhhdmUgYmVlbiBpbiB0aGUgcHJvY2VzcyBvZiBiZWlu ZyBkZWxldGVkLCBzbw0KQEAgLTE0ODgsMjkgKzE1MTAsMjMgQEANCiAJICoN CiAJICogQ2xlYXIgY29weS1vbi13cml0ZSBmbGFnIGlmIGxhc3Qgc25hcHNo b3QuDQogCSAqLw0KKwlWSV9MT0NLKGRldnZwKTsNCiAJaWYgKGlwLT5pX25l eHRzbmFwLnRxZV9wcmV2ICE9IDApIHsNCi0JCWxvY2ttZ3IoJnZwLT52X2xv Y2ssIExLX0VYQ0xVU0lWRSwgTlVMTCwgdGQpOw0KLQkJVklfTE9DSyhkZXZ2 cCk7DQorCQlzbiA9IGRldnZwLT52X3JkZXYtPnNpX3NuYXBkYXRhOw0KIAkJ VEFJTFFfUkVNT1ZFKCZzbi0+c25faGVhZCwgaXAsIGlfbmV4dHNuYXApOw0K IAkJaXAtPmlfbmV4dHNuYXAudHFlX3ByZXYgPSAwOw0KLQkJbGtwID0gdnAt PnZfdm5sb2NrOw0KKwkJVklfVU5MT0NLKGRldnZwKTsNCisJCWxvY2ttZ3Io JnZwLT52X2xvY2ssIExLX0VYQ0xVU0lWRSwgTlVMTCwgdGQpOw0KKwkJVklf TE9DSyh2cCk7DQorCQlLQVNTRVJUKHZwLT52X3ZubG9jayA9PSAmc24tPnNu X2xvY2ssDQorCQkJKCJmZnNfc25hcHJlbW92ZTogbG9zdCBsb2NrIG11dGF0 aW9uIikpOyANCiAJCXZwLT52X3ZubG9jayA9ICZ2cC0+dl9sb2NrOw0KLQkJ bG9ja21ncihsa3AsIExLX1JFTEVBU0UsIE5VTEwsIHRkKTsNCi0JCWlmIChU QUlMUV9GSVJTVCgmc24tPnNuX2hlYWQpICE9IDApIHsNCi0JCQlWSV9VTkxP Q0soZGV2dnApOw0KLQkJfSBlbHNlIHsNCi0JCQlzbmFwYmxrbGlzdCA9IHNu LT5zbl9ibGtsaXN0Ow0KLQkJCXNuLT5zbl9ibGtsaXN0ID0gMDsNCi0JCQlz bi0+c25fbGlzdHNpemUgPSAwOw0KLQkJCWRldnZwLT52X3JkZXYtPnNpX3Nu YXBkYXRhID0gTlVMTDsNCi0JCQlkZXZ2cC0+dl92ZmxhZyAmPSB+VlZfQ09Q WU9OV1JJVEU7DQotCQkJbG9ja21ncihsa3AsIExLX0RSQUlOfExLX0lOVEVS TE9DSywgVklfTVRYKGRldnZwKSwgdGQpOw0KLQkJCWxvY2ttZ3IobGtwLCBM S19SRUxFQVNFLCBOVUxMLCB0ZCk7DQotCQkJbG9ja2Rlc3Ryb3kobGtwKTsN Ci0JCQlmcmVlKHNuLCBNX1VGU01OVCk7DQotCQkJRlJFRShzbmFwYmxrbGlz dCwgTV9VRlNNTlQpOw0KLQkJfQ0KLQl9DQorCQlWSV9VTkxPQ0sodnApOw0K KwkJVklfTE9DSyhkZXZ2cCk7DQorCQlsb2NrbWdyKCZzbi0+c25fbG9jaywg TEtfUkVMRUFTRSwgTlVMTCwgdGQpOw0KKwkJdHJ5X2ZyZWVfc25hcGRhdGEo ZGV2dnAsIHRkKTsNCisJfSBlbHNlDQorCQlWSV9VTkxPQ0soZGV2dnApOw0K IAkvKg0KIAkgKiBDbGVhciBhbGwgQkxLX05PQ09QWSBmaWVsZHMuIFBhc3Mg YW55IGJsb2NrIGNsYWltcyB0byBvdGhlcg0KIAkgKiBzbmFwc2hvdHMgdGhh dCB3YW50IHRoZW0gKHNlZSBmZnNfc25hcGJsa2ZyZWUgYmVsb3cpLg0KQEAg LTE1NzUsNiArMTU5MSwxMyBAQA0KIAlpcC0+aV9mbGFncyAmPSB+U0ZfU05B UFNIT1Q7DQogCURJUF9TRVQoaXAsIGlfZmxhZ3MsIGlwLT5pX2ZsYWdzKTsN CiAJaXAtPmlfZmxhZyB8PSBJTl9DSEFOR0UgfCBJTl9VUERBVEU7DQorI2lm ZGVmIFFVT1RBDQorCS8qDQorCSAqIFJlZW5hYmxlIGRpc2sgcXVvdGFzIGZv ciBleC1zbmFwc2hvdCBmaWxlLg0KKwkgKi8NCisJaWYgKCFnZXRpbm9xdW90 YShpcCkpDQorCQkodm9pZCkgY2hrZHEoaXAsIERJUChpcCwgaV9ibG9ja3Mp LCBLRVJOQ1JFRCwgRk9SQ0UpOw0KKyNlbmRpZg0KIH0NCiANCiAvKg0KQEAg LTE4NjYsNyArMTg4OSw2IEBADQogCQl9DQogCQlsb2NrbWdyKHZwLT52X3Zu bG9jaywgTEtfSU5URVJMT0NLIHwgTEtfRVhDTFVTSVZFIHwgTEtfUkVUUlks DQogCQkgICAgVklfTVRYKHZwKSwgdGQpOw0KLQkJdHJhbnNmZXJsb2NrZXJz KCZ2cC0+dl9sb2NrLCB2cC0+dl92bmxvY2spOw0KIAkJbG9ja21ncigmdnAt PnZfbG9jaywgTEtfUkVMRUFTRSwgTlVMTCwgdGQpOw0KIAkJLyoNCiAJCSAq IExpbmsgaXQgb250byB0aGUgYWN0aXZlIHNuYXBzaG90IGxpc3QuDQpAQCAt MTkzOSwzMCArMTk2MSwzNSBAQA0KIAlzdHJ1Y3Qgc25hcGRhdGEgKnNuOw0K IAlzdHJ1Y3QgaW5vZGUgKnhwOw0KIAlzdHJ1Y3Qgdm5vZGUgKnZwOw0KKwlz dHJ1Y3QgdGhyZWFkICp0ZCA9IGN1cnRocmVhZDsNCiANCi0Jc24gPSBkZXZ2 cC0+dl9yZGV2LT5zaV9zbmFwZGF0YTsNCiAJVklfTE9DSyhkZXZ2cCk7DQot CXdoaWxlICgoeHAgPSBUQUlMUV9GSVJTVCgmc24tPnNuX2hlYWQpKSAhPSAw KSB7DQorCXNuID0gZGV2dnAtPnZfcmRldi0+c2lfc25hcGRhdGE7DQorCXdo aWxlIChzbiAhPSBOVUxMICYmICh4cCA9IFRBSUxRX0ZJUlNUKCZzbi0+c25f aGVhZCkpICE9IE5VTEwpIHsNCiAJCXZwID0gSVRPVih4cCk7DQotCQl2cC0+ dl92bmxvY2sgPSAmdnAtPnZfbG9jazsNCiAJCVRBSUxRX1JFTU9WRSgmc24t PnNuX2hlYWQsIHhwLCBpX25leHRzbmFwKTsNCiAJCXhwLT5pX25leHRzbmFw LnRxZV9wcmV2ID0gMDsNCi0JCWlmICh4cC0+aV9lZmZubGluayA+IDApIHsN Ci0JCQlWSV9VTkxPQ0soZGV2dnApOw0KKwkJbG9ja21ncigmc24tPnNuX2xv Y2ssIA0KKwkJCUxLX0lOVEVSTE9DSyB8IExLX0VYQ0xVU0lWRSwNCisJCQlW SV9NVFgoZGV2dnApLA0KKwkJCXRkKTsNCisJCVZJX0xPQ0sodnApOw0KKwkJ bG9ja21ncigmdnAtPnZfbG9jaywNCisJCQlMS19JTlRFUkxPQ0sgfCBMS19F WENMVVNJVkUsDQorCQkJVklfTVRYKHZwKSwgdGQpOw0KKwkJVklfTE9DSyh2 cCk7DQorCQlLQVNTRVJUKHZwLT52X3ZubG9jayA9PSAmc24tPnNuX2xvY2ss DQorCQkoImZmc19zbmFwc2hvdF91bm1vdW50OiBsb3N0IGxvY2sgbXV0YXRp b24iKSk7IA0KKwkJdnAtPnZfdm5sb2NrID0gJnZwLT52X2xvY2s7DQorCQlW SV9VTkxPQ0sodnApOw0KKwkJbG9ja21ncigmdnAtPnZfbG9jaywgTEtfUkVM RUFTRSwgTlVMTCwgdGQpOw0KKwkJbG9ja21ncigmc24tPnNuX2xvY2ssIExL X1JFTEVBU0UsIE5VTEwsIHRkKTsNCisJCWlmICh4cC0+aV9lZmZubGluayA+ IDApDQogCQkJdnJlbGUodnApOw0KLQkJCVZJX0xPQ0soZGV2dnApOw0KLQkJ fQ0KLQl9DQotCWRldnZwLT52X3JkZXYtPnNpX3NuYXBkYXRhID0gTlVMTDsN Ci0JZGV2dnAtPnZfdmZsYWcgJj0gflZWX0NPUFlPTldSSVRFOw0KLQlWSV9V TkxPQ0soZGV2dnApOw0KLQlpZiAoc24tPnNuX2Jsa2xpc3QgIT0gTlVMTCkg ew0KLQkJRlJFRShzbi0+c25fYmxrbGlzdCwgTV9VRlNNTlQpOw0KLQkJc24t PnNuX2Jsa2xpc3QgPSBOVUxMOw0KLQkJc24tPnNuX2xpc3RzaXplID0gMDsN CisJCVZJX0xPQ0soZGV2dnApOw0KKwkJc24gPSBkZXZ2cC0+dl9yZGV2LT5z aV9zbmFwZGF0YTsNCiAJfQ0KLQlsb2NrZGVzdHJveSgmc24tPnNuX2xvY2sp Ow0KLQlmcmVlKHNuLCBNX1VGU01OVCk7DQorCXRyeV9mcmVlX3NuYXBkYXRh KGRldnZwLCB0ZCk7DQogCUFTU0VSVF9WT1BfTE9DS0VEKGRldnZwLCAiZmZz X3NuYXBzaG90X3VubW91bnQiKTsNCiB9DQogDQpAQCAtMTk4NCw2ICsyMDEx LDcgQEANCiAJdWZzMl9kYWRkcl90IGxibiwgYmxrbm8sICpzbmFwYmxrbGlz dDsNCiAJaW50IGxvd2VyLCB1cHBlciwgbWlkLCBpbmRpcm9mZiwgZXJyb3Ig PSAwOw0KIAlpbnQgbGF1bmNoZWRfYXN5bmNfaW8sIHByZXZfbm9ydW5uaW5n YnVmOw0KKwlsb25nIHNhdmVkX3J1bm5pbmdidWZzcGFjZTsNCiANCiAJaWYg KChWVE9JKGJwLT5iX3ZwKS0+aV9mbGFncyAmIFNGX1NOQVBTSE9UKSAhPSAw KQ0KIAkJcmV0dXJuICgwKTsJCS8qIFVwZGF0ZSBvbiBhIHNuYXBzaG90IGZp bGUgKi8NCkBAIC0yMDI2LDcgKzIwNTQsOSBAQA0KIAkgKiBmb3IgYSBsb25n IHRpbWUgd2FpdGluZyBvbiBzbmFwbGssIGJhY2sgaXQgb3V0IG9mDQogCSAq IHJ1bm5pbmdidWZzcGFjZSwgcG9zc2libHkgd2FraW5nIG90aGVyIHRocmVh ZHMgd2FpdGluZyBmb3Igc3BhY2UuDQogCSAqLw0KLQlydW5uaW5nYnVmd2Fr ZXVwKGJwKTsNCisJc2F2ZWRfcnVubmluZ2J1ZnNwYWNlID0gYnAtPmJfcnVu bmluZ2J1ZnNwYWNlOw0KKwlpZiAoc2F2ZWRfcnVubmluZ2J1ZnNwYWNlICE9 IDApDQorCQlydW5uaW5nYnVmd2FrZXVwKGJwKTsNCiAJLyoNCiAJICogTm90 IGluIHRoZSBwcmVjb21wdXRlZCBsaXN0LCBzbyBjaGVjayB0aGUgc25hcHNo b3RzLg0KIAkgKi8NCkBAIC0yMDM4LDkgKzIwNjgsMTEgQEANCiAJCWlmIChz biA9PSBOVUxMIHx8DQogCQkgICAgVEFJTFFfRklSU1QoJnNuLT5zbl9oZWFk KSA9PSBOVUxMKSB7DQogCQkJVklfVU5MT0NLKGRldnZwKTsNCi0JCQlpZiAo YnAtPmJfcnVubmluZ2J1ZnNwYWNlKQ0KKwkJCWlmIChzYXZlZF9ydW5uaW5n YnVmc3BhY2UgIT0gMCkgew0KKwkJCQlicC0+Yl9ydW5uaW5nYnVmc3BhY2Ug PSBzYXZlZF9ydW5uaW5nYnVmc3BhY2U7DQogCQkJCWF0b21pY19hZGRfaW50 KCZydW5uaW5nYnVmc3BhY2UsDQogCQkJCQkgICAgICAgYnAtPmJfcnVubmlu Z2J1ZnNwYWNlKTsNCisJCQl9DQogCQkJcmV0dXJuICgwKTsJCS8qIFNuYXBz aG90IGdvbmUgKi8NCiAJCX0NCiAJfQ0KQEAgLTIxNjEsOCArMjE5MywxMCBA QA0KIAkvKg0KIAkgKiBJL08gb24gYnAgd2lsbCBub3cgYmUgc3RhcnRlZCwg c28gY291bnQgaXQgaW4gcnVubmluZ2J1ZnNwYWNlLg0KIAkgKi8NCi0JaWYg KGJwLT5iX3J1bm5pbmdidWZzcGFjZSkNCisJaWYgKHNhdmVkX3J1bm5pbmdi dWZzcGFjZSAhPSAwKSB7DQorCQlicC0+Yl9ydW5uaW5nYnVmc3BhY2UgPSBz YXZlZF9ydW5uaW5nYnVmc3BhY2U7DQogCQlhdG9taWNfYWRkX2ludCgmcnVu bmluZ2J1ZnNwYWNlLCBicC0+Yl9ydW5uaW5nYnVmc3BhY2UpOw0KKwl9DQog CXJldHVybiAoZXJyb3IpOw0KIH0NCiANCkBAIC0yMTg0LDEzICsyMjE4LDEw IEBADQogCWJpcC0+YmlvX29mZnNldCA9IGRidG9iKGZzYnRvZGIoaXAtPmlf ZnMsIGJsa3N0b2ZyYWdzKGlwLT5pX2ZzLCBsYm4pKSk7DQogCWJpcC0+Ymlv X2RhdGEgPSBicC0+Yl9kYXRhOw0KIAliaXAtPmJpb19sZW5ndGggPSBicC0+ Yl9iY291bnQ7DQorCWJpcC0+YmlvX2RvbmUgPSBOVUxMOw0KIA0KIAlnX2lv X3JlcXVlc3QoYmlwLCBpcC0+aV9kZXZ2cC0+dl9idWZvYmouYm9fcHJpdmF0 ZSk7DQotDQotCWRvIA0KLQkJbXNsZWVwKGJpcCwgTlVMTCwgUFJJQklPLCAi c25hcHJkYiIsIGh6LzEwKTsNCi0Jd2hpbGUgKCEoYmlwLT5iaW9fZmxhZ3Mg JiBCSU9fRE9ORSkpOw0KLQlicC0+Yl9lcnJvciA9IGJpcC0+YmlvX2Vycm9y Ow0KKwlicC0+Yl9lcnJvciA9IGJpb3dhaXQoYmlwLCAic25hcHJkYiIpOw0K IAlnX2Rlc3Ryb3lfYmlvKGJpcCk7DQogCXJldHVybiAoYnAtPmJfZXJyb3Ip Ow0KIH0NCkBAIC0yMjU5LDMgKzIyOTAsMzIgQEANCiAJTU5UX0lVTkxPQ0so bXApOw0KIAl2bl9maW5pc2hlZF9zZWNvbmRhcnlfd3JpdGUobXApOw0KIH0N CisNCisvKiBUcnkgdG8gZnJlZSBzbmFwZGF0YSBhc3NvY2lhdGVkIHdpdGgg ZGV2dnAgKi8NCitzdGF0aWMgdm9pZA0KK3RyeV9mcmVlX3NuYXBkYXRhKHN0 cnVjdCB2bm9kZSAqZGV2dnAsDQorCQkgIHN0cnVjdCB0aHJlYWQgKnRkKQ0K K3sNCisJc3RydWN0IHNuYXBkYXRhICpzbjsNCisJdWZzMl9kYWRkcl90ICpz bmFwYmxrbGlzdDsNCisNCisJc24gPSBkZXZ2cC0+dl9yZGV2LT5zaV9zbmFw ZGF0YTsNCisNCisJaWYgKHNuID09IE5VTEwgfHwgVEFJTFFfRklSU1QoJnNu LT5zbl9oZWFkKSAhPSBOVUxMIHx8DQorCSAgICAoZGV2dnAtPnZfdmZsYWcg JiBWVl9DT1BZT05XUklURSkgPT0gMCkgew0KKwkJVklfVU5MT0NLKGRldnZw KTsNCisJCXJldHVybjsNCisJfQ0KKw0KKwlkZXZ2cC0+dl9yZGV2LT5zaV9z bmFwZGF0YSA9IE5VTEw7DQorCWRldnZwLT52X3ZmbGFnICY9IH5WVl9DT1BZ T05XUklURTsNCisJc25hcGJsa2xpc3QgPSBzbi0+c25fYmxrbGlzdDsNCisJ c24tPnNuX2Jsa2xpc3QgPSBOVUxMOw0KKwlzbi0+c25fbGlzdHNpemUgPSAw Ow0KKwlsb2NrbWdyKCZzbi0+c25fbG9jaywgTEtfRFJBSU58TEtfSU5URVJM T0NLLCBWSV9NVFgoZGV2dnApLCB0ZCk7DQorCWxvY2ttZ3IoJnNuLT5zbl9s b2NrLCBMS19SRUxFQVNFLCBOVUxMLCB0ZCk7DQorCWxvY2tkZXN0cm95KCZz bi0+c25fbG9jayk7DQorCWZyZWUoc24sIE1fVUZTTU5UKTsNCisJaWYgKHNu YXBibGtsaXN0ICE9IE5VTEwpDQorCQlGUkVFKHNuYXBibGtsaXN0LCBNX1VG U01OVCk7DQorfQ0KSW5kZXg6IHVmcy9mZnMvZmZzX3Zmc29wcy5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMv c3lzL3Vmcy9mZnMvZmZzX3Zmc29wcy5jLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4yOTAuMi45DQpkaWZmIC11IC1yMS4yOTAuMi45IGZmc192ZnNvcHMu Yw0KLS0tIHVmcy9mZnMvZmZzX3Zmc29wcy5jCTIyIE1hciAyMDA2IDE3OjU0 OjUwIC0wMDAwCTEuMjkwLjIuOQ0KKysrIHVmcy9mZnMvZmZzX3Zmc29wcy5j CTcgTWF5IDIwMDYgMTY6Mjc6NTYgLTAwMDANCkBAIC0xNzI4LDYgKzE3Mjgs NyBAQA0KIAkJaWYgKCh2cC0+dl92ZmxhZyAmIFZWX0NPUFlPTldSSVRFKSAm Jg0KIAkJICAgIHZwLT52X3JkZXYtPnNpX3NuYXBkYXRhICE9IE5VTEwpIHsN CiAJCQlpZiAoKGJwLT5iX2ZsYWdzICYgQl9DTFVTVEVSKSAhPSAwKSB7DQor CQkJCXJ1bm5pbmdidWZ3YWtldXAoYnApOw0KIAkJCQlUQUlMUV9GT1JFQUNI KHRicCwgJmJwLT5iX2NsdXN0ZXIuY2x1c3Rlcl9oZWFkLA0KIAkJCQkJICAg ICAgYl9jbHVzdGVyLmNsdXN0ZXJfZW50cnkpIHsNCiAJCQkJCWVycm9yID0g ZmZzX2NvcHlvbndyaXRlKHZwLCB0YnApOw0KQEAgLTE3MzksNiArMTc0MCw5 IEBADQogCQkJCQkJcmV0dXJuOw0KIAkJCQkJfQ0KIAkJCQl9DQorCQkJCWJw LT5iX3J1bm5pbmdidWZzcGFjZSA9IGJwLT5iX2J1ZnNpemU7DQorCQkJCWF0 b21pY19hZGRfaW50KCZydW5uaW5nYnVmc3BhY2UsDQorCQkJCQkgICAgICAg YnAtPmJfcnVubmluZ2J1ZnNwYWNlKTsNCiAJCQl9IGVsc2Ugew0KIAkJCQll cnJvciA9IGZmc19jb3B5b253cml0ZSh2cCwgYnApOw0KIAkJCQlpZiAoZXJy b3IgIT0gMCAmJiBlcnJvciAhPSBFT1BOT1RTVVBQKSB7DQpJbmRleDogdWZz L2Zmcy9mZnNfdm5vcHMuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy91ZnMvZmZzL2Zmc192bm9wcy5j LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNTcuMi4xDQpkaWZmIC11IC1y MS4xNTcuMi4xIGZmc192bm9wcy5jDQotLS0gdWZzL2Zmcy9mZnNfdm5vcHMu YwkyOSBPY3QgMjAwNSAwNjo0Mzo1NSAtMDAwMAkxLjE1Ny4yLjENCisrKyB1 ZnMvZmZzL2Zmc192bm9wcy5jCTcgTWF5IDIwMDYgMTY6Mjc6NTYgLTAwMDAN CkBAIC0zMzgsNyArMzM4LDU0IEBADQogCQlzdHJ1Y3QgdGhyZWFkICphX3Rk Ow0KIAl9ICovICphcDsNCiB7DQorI2lmbmRlZiBOT19GRlNfU05BUFNIT1QN CisJc3RydWN0IHZub2RlICp2cDsNCisJaW50IGZsYWdzOw0KKwlzdHJ1Y3Qg bG9jayAqbGtwOw0KKwlpbnQgcmVzdWx0Ow0KKwkNCisJc3dpdGNoIChhcC0+ YV9mbGFncyAmIExLX1RZUEVfTUFTSykgew0KKwljYXNlIExLX1NIQVJFRDoN CisJY2FzZSBMS19VUEdSQURFOg0KKwljYXNlIExLX0VYQ0xVU0lWRToNCisJ CXZwID0gYXAtPmFfdnA7DQorCQlmbGFncyA9IGFwLT5hX2ZsYWdzOw0KKwkJ Zm9yICg7Oykgew0KKwkJCS8qDQorCQkJICogdm5vZGUgaW50ZXJsb2NrIG11 c3QgYmUgaGVsZCB0byBlbnN1cmUgdGhhdA0KKwkJCSAqIHRoZSBwb3NzaWJs eSBleHRlcm5hbCBsb2NrIGlzbid0IGZyZWVkLA0KKwkJCSAqIGUuZy4gd2hl biBtdXRhdGluZyBmcm9tIHNuYXBzaG90IGZpbGUgdm5vZGUNCisJCQkgKiB0 byByZWd1bGFyIGZpbGUgdm5vZGUuDQorCQkJICovDQorCQkJaWYgKChmbGFn cyAmIExLX0lOVEVSTE9DSykgPT0gMCkgew0KKwkJCQlWSV9MT0NLKHZwKTsN CisJCQkJZmxhZ3MgfD0gTEtfSU5URVJMT0NLOw0KKwkJCX0NCisJCQlsa3Ag PSB2cC0+dl92bmxvY2s7DQorCQkJcmVzdWx0ID0gbG9ja21ncihsa3AsIGZs YWdzLCBWSV9NVFgodnApLCBhcC0+YV90ZCk7DQorCQkJaWYgKGxrcCA9PSB2 cC0+dl92bmxvY2sgfHwgcmVzdWx0ICE9IDApDQorCQkJCWJyZWFrOw0KKwkJ CS8qDQorCQkJICogQXBwYXJlbnQgc3VjY2VzcywgZXhjZXB0IHRoYXQgdGhl IHZub2RlDQorCQkJICogbXV0YXRlZCBiZXR3ZWVuIHNuYXBzaG90IGZpbGUg dm5vZGUgYW5kDQorCQkJICogcmVndWxhciBmaWxlIHZub2RlIHdoaWxlIHRo aXMgcHJvY2Vzcw0KKwkJCSAqIHNsZXB0LiAgVGhlIGxvY2sgY3VycmVudGx5 IGhlbGQgaXMgbm90IHRoZQ0KKwkJCSAqIHJpZ2h0IGxvY2suICBSZWxlYXNl IGl0LCBhbmQgdHJ5IHRvIGdldCB0aGUNCisJCQkgKiBuZXcgbG9jay4NCisJ CQkgKi8NCisJCQkodm9pZCkgbG9ja21ncihsa3AsIExLX1JFTEVBU0UsIFZJ X01UWCh2cCksIGFwLT5hX3RkKTsNCisJCQlpZiAoKGZsYWdzICYgTEtfVFlQ RV9NQVNLKSA9PSBMS19VUEdSQURFKQ0KKwkJCQlmbGFncyA9IChmbGFncyAm IH5MS19UWVBFX01BU0spIHwgTEtfRVhDTFVTSVZFOw0KKwkJCWZsYWdzICY9 IH5MS19JTlRFUkxPQ0s7DQorCQl9DQorCQlicmVhazsNCisJZGVmYXVsdDoN CisJCXJlc3VsdCA9IFZPUF9MT0NLX0FQVigmdWZzX3Zub2Rlb3BzLCBhcCk7 DQorCX0NCisJcmV0dXJuIChyZXN1bHQpOw0KKyNlbHNlDQogCXJldHVybiAo Vk9QX0xPQ0tfQVBWKCZ1ZnNfdm5vZGVvcHMsIGFwKSk7DQorI2VuZGlmDQog fQ0KIA0KIC8qDQpJbmRleDogdWZzL3Vmcy91ZnNfcXVvdGEuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5 cy91ZnMvdWZzL3Vmc19xdW90YS5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS43NC4yLjIuMi4xDQpkaWZmIC11IC1yMS43NC4yLjIuMi4xIHVmc19xdW90 YS5jDQotLS0gdWZzL3Vmcy91ZnNfcXVvdGEuYwkyNiBBcHIgMjAwNiAwMToy Mzo1OSAtMDAwMAkxLjc0LjIuMi4yLjENCisrKyB1ZnMvdWZzL3Vmc19xdW90 YS5jCTcgTWF5IDIwMDYgMTY6Mjc6NTYgLTAwMDANCkBAIC0zNSw2ICszNSw4 IEBADQogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPg0KIF9fRkJTRElEKCIkRnJl ZUJTRCQiKTsNCiANCisjaW5jbHVkZSAib3B0X2Zmcy5oIg0KKw0KICNpbmNs dWRlIDxzeXMvcGFyYW0uaD4NCiAjaW5jbHVkZSA8c3lzL3N5c3RtLmg+DQog I2luY2x1ZGUgPHN5cy9mY250bC5oPg0KQEAgLTQ2LDYgKzQ4LDcgQEANCiAj aW5jbHVkZSA8c3lzL25hbWVpLmg+DQogI2luY2x1ZGUgPHN5cy9wcm9jLmg+ DQogI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCisjaW5jbHVkZSA8c3lzL3N0 YXQuaD4NCiAjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPg0KICNpbmNsdWRlIDxz eXMvdm5vZGUuaD4NCiANCkBAIC05Nyw2ICsxMDAsMTMgQEANCiAJc3RydWN0 IHZub2RlICp2cCA9IElUT1YoaXApOw0KIAlpbnQgZXJyb3I7DQogDQorI2lm bmRlZiBOT19GRlNfU05BUFNIT1QNCisJLyoNCisJICogRGlzayBxdW90YXMg bXVzdCBiZSB0dXJuZWQgb2ZmIGZvciBzbmFwc2hvdCBmaWxlcy4NCisJICov DQorCWlmICgoaXAtPmlfZmxhZ3MgJiBTRl9TTkFQU0hPVCkgIT0gMCkNCisJ CXJldHVybiAoMCk7DQorI2VuZGlmDQogCXVtcCA9IFZGU1RPVUZTKHZwLT52 X21vdW50KTsNCiAJLyoNCiAJICogU2V0IHVwIHRoZSB1c2VyIHF1b3RhIGJh c2VkIG9uIGZpbGUgdWlkLg0KQEAgLTM3NSw2ICszODUsMTMgQEANCiAJc3Ry dWN0IHVmc21vdW50ICp1bXAgPSBWRlNUT1VGUyhJVE9WKGlwKS0+dl9tb3Vu dCk7DQogCWludCBpOw0KIA0KKyNpZm5kZWYgTk9fRkZTX1NOQVBTSE9UDQor CS8qDQorCSAqIERpc2sgcXVvdGFzIG11c3QgYmUgdHVybmVkIG9mZiBmb3Ig c25hcHNob3QgZmlsZXMuDQorCSAqLw0KKwlpZiAoKGlwLT5pX2ZsYWdzICYg U0ZfU05BUFNIT1QpICE9IDApDQorCQlyZXR1cm47DQorI2VuZGlmDQogCWZv ciAoaSA9IDA7IGkgPCBNQVhRVU9UQVM7IGkrKykgew0KIAkJaWYgKHVtcC0+ dW1fcXVvdGFzW2ldID09IE5VTExWUCB8fA0KIAkJICAgICh1bXAtPnVtX3Fm bGFnc1tpXSAmIChRVEZfT1BFTklOR3xRVEZfQ0xPU0lORykpKQ0K --0-1037833276-1147019348=:19670--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060507202808.P19670>