Date: Thu, 10 Sep 2009 20:00:07 GMT From: "Pedro F. Giffuni" <giffunip@tutopia.com> To: freebsd-fs@FreeBSD.org Subject: Re: kern/138109: [extfs] [patch] Minor cleanups to the sys/gnu/fs/ext2fs based on BSD Lite2 Message-ID: <200909102000.n8AK07Ua040311@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/138109; it has been noted by GNATS. From: "Pedro F. Giffuni" <giffunip@tutopia.com> To: bug-followup@FreeBSD.org Cc: Bruce Evans <brde@optusnet.com.au> Subject: Re: kern/138109: [extfs] [patch] Minor cleanups to the sys/gnu/fs/ext2fs based on BSD Lite2 Date: Thu, 10 Sep 2009 12:28:17 -0700 (PDT) --0-1580472039-1252610897=:7136 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello;=0A=0AI finally did a new sweep and attempted to clean the issues not= ed by Bruce. I also added a couple of patches of his authorship(issue with = a goal=3D=3D0 and the clustering cleanups).=0AI tried to make the BSD licen= sed code (in particular *fs_inode.c) similar to the PRE_SOFTUPDATE tag.=0A= =0AThe patch compiles on my system and a similar patch has been tested by A= ditya Sarawgi for his Google SoC project.=0A=0A=0A --0-1580472039-1252610897=:7136 Content-Type: application/octet-stream; name=patch-ext2fs Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch-ext2fs" ZGlmZiAtdSBleHQyZnMub3JpZy9leHQyX2FsbG9jLmMgZXh0MmZzL2V4dDJf YWxsb2MuYwotLS0gZXh0MmZzLm9yaWcvZXh0Ml9hbGxvYy5jCTIwMDktMDkt MTAgMTM6MDU6MzEuMDAwMDAwMDAwICswMDAwCisrKyBleHQyZnMvZXh0Ml9h bGxvYy5jCTIwMDktMDktMTAgMTM6NDE6MDkuMDAwMDAwMDAwICswMDAwCkBA IC00NDEsNyArNDQxLDcgQEAKIAkvKiBpZiB0aGUgbmV4dCBibG9jayBpcyBh Y3R1YWxseSB3aGF0IHdlIHRob3VnaHQgaXQgaXMsCiAJICAgdGhlbiBzZXQg dGhlIGdvYWwgdG8gd2hhdCB3ZSB0aG91Z2h0IGl0IHNob3VsZCBiZQogCSov Ci0JaWYoaXAtPmlfbmV4dF9hbGxvY19ibG9jayA9PSBsYm4pCisJaWYoaXAt PmlfbmV4dF9hbGxvY19ibG9jayA9PSBsYm4gJiYgaXAtPmlfbmV4dF9hbGxv Y19nb2FsICE9IDApCiAJCXJldHVybiBpcC0+aV9uZXh0X2FsbG9jX2dvYWw7 CiAKIAkvKiBub3cgY2hlY2sgd2hldGhlciB3ZSB3ZXJlIHByb3ZpZGVkIHdp dGggYW4gYXJyYXkgdGhhdCBiYXNpY2FsbHkKZGlmZiAtdSBleHQyZnMub3Jp Zy9leHQyX2lub2RlLmMgZXh0MmZzL2V4dDJfaW5vZGUuYwotLS0gZXh0MmZz Lm9yaWcvZXh0Ml9pbm9kZS5jCTIwMDktMDktMTAgMTM6MDU6MzEuMDAwMDAw MDAwICswMDAwCisrKyBleHQyZnMvZXh0Ml9pbm9kZS5jCTIwMDktMDktMTAg MTM6NDI6MjEuMDAwMDAwMDAwICswMDAwCkBAIC0xMjYsMTYgKzEyNiwxMSBA QAogCWxvbmcgY291bnQsIG5ibG9ja3MsIGJsb2Nrc3JlbGVhc2VkID0gMDsK IAlpbnQgYWZsYWdzLCBlcnJvciwgaSwgYWxsZXJyb3I7CiAJb2ZmX3Qgb3Np emU7Ci0vKgotcHJpbnRmKCJleHQyX3RydW5jYXRlIGNhbGxlZCAlZCB0byAl ZFxuIiwgVlRPSShvdnApLT5pX251bWJlciwgbGVuZ3RoKTsKLSovCS8qIAot CSAqIG5lZ2F0aXZlIGZpbGUgc2l6ZXMgd2lsbCB0b3RhbGx5IGJyZWFrIHRo ZSBjb2RlIGJlbG93IGFuZAotCSAqIGFyZSBub3QgbWVhbmluZ2Z1bCBhbnl3 YXlzLgotCSAqLworCisJb2lwID0gVlRPSShvdnApOwkgCiAJaWYgKGxlbmd0 aCA8IDApCi0JICAgIHJldHVybiBFRkJJRzsKKwkJcmV0dXJuIChFSU5WQUwp OwogCi0Jb2lwID0gVlRPSShvdnApOwogCWlmIChvdnAtPnZfdHlwZSA9PSBW TE5LICYmCiAJICAgIG9pcC0+aV9zaXplIDwgb3ZwLT52X21vdW50LT5tbnRf bWF4c3ltbGlua2xlbikgewogI2lmZGVmIERJQUdOT1NUSUMKQEAgLTE1Nywy MyArMTUyLDI5IEBACiAJLyoKIAkgKiBMZW5ndGhlbiB0aGUgc2l6ZSBvZiB0 aGUgZmlsZS4gV2UgbXVzdCBlbnN1cmUgdGhhdCB0aGUKIAkgKiBsYXN0IGJ5 dGUgb2YgdGhlIGZpbGUgaXMgYWxsb2NhdGVkLiBTaW5jZSB0aGUgc21hbGxl c3QKLQkgKiB2YWx1ZSBvZiBvc3ppZSBpcyAwLCBsZW5ndGggd2lsbCBiZSBh dCBsZWFzdCAxLgorCSAqIHZhbHVlIG9mIG9zaXplIGlzIDAsIGxlbmd0aCB3 aWxsIGJlIGF0IGxlYXN0IDEuCiAJICovCiAJaWYgKG9zaXplIDwgbGVuZ3Ro KSB7CiAJCWlmIChsZW5ndGggPiBvaXAtPmlfZTJmcy0+ZnNfbWF4ZmlsZXNp emUpCiAJCQlyZXR1cm4gKEVGQklHKTsKKwkJdm5vZGVfcGFnZXJfc2V0c2l6 ZShvdnAsIGxlbmd0aCk7CiAJCW9mZnNldCA9IGJsa29mZihmcywgbGVuZ3Ro IC0gMSk7CiAJCWxibiA9IGxibGtubyhmcywgbGVuZ3RoIC0gMSk7CiAJCWFm bGFncyA9IEJfQ0xSQlVGOwogCQlpZiAoZmxhZ3MgJiBJT19TWU5DKQogCQkJ YWZsYWdzIHw9IEJfU1lOQzsKLQkJdm5vZGVfcGFnZXJfc2V0c2l6ZShvdnAs IGxlbmd0aCk7Ci0JCWlmICgoZXJyb3IgPSBleHQyX2JhbGxvYyhvaXAsIGxi biwgb2Zmc2V0ICsgMSwgY3JlZCwgJmJwLAotCQkgICAgYWZsYWdzKSkgIT0g MCkKKwkJZXJyb3IgPSBleHQyX2JhbGxvYyhvaXAsIGxibiwgb2Zmc2V0ICsg MSwgY3JlZCwgJmJwLCBhZmxhZ3MpOworCQlpZiAoZXJyb3IpIHsKKwkJCXZu b2RlX3BhZ2VyX3NldHNpemUodnAsIG9zaXplKTsKIAkJCXJldHVybiAoZXJy b3IpOworCQl9CiAJCW9pcC0+aV9zaXplID0gbGVuZ3RoOwotCQlpZiAoYWZs YWdzICYgSU9fU1lOQykKKwkJaWYgKGJwLT5iX2J1ZnNpemUgPT0gZnMtPnNf YmxvY2tzaXplKQorCQkJYnAtPmJfZmxhZ3MgfD0gQl9DTFVTVEVST0s7CisJ CWlmIChhZmxhZ3MgJiBCX1NZTkMpCiAJCQlid3JpdGUoYnApOworCQllbHNl IGlmIChvdnAtPnZfbW91bnQtPm1udF9mbGFnICYgTU5UX0FTWU5DKQorCQkJ YmR3cml0ZShicCk7CiAJCWVsc2UKIAkJCWJhd3JpdGUoYnApOwogCQlvaXAt PmlfZmxhZyB8PSBJTl9DSEFOR0UgfCBJTl9VUERBVEU7CkBAIC0xOTUsMTUg KzE5NiwxOSBAQAogCQlhZmxhZ3MgPSBCX0NMUkJVRjsKIAkJaWYgKGZsYWdz ICYgSU9fU1lOQykKIAkJCWFmbGFncyB8PSBCX1NZTkM7Ci0JCWlmICgoZXJy b3IgPSBleHQyX2JhbGxvYyhvaXAsIGxibiwgb2Zmc2V0LCBjcmVkLCAmYnAs Ci0JCSAgICBhZmxhZ3MpKSAhPSAwKQorCQllcnJvciA9IGV4dDJfYmFsbG9j KG9pcCwgbGJuLCBvZmZzZXQsIGNyZWQsICZicCwgYWZsYWdzKTsKKwkJaWYg KGVycm9yKQogCQkJcmV0dXJuIChlcnJvcik7CiAJCW9pcC0+aV9zaXplID0g bGVuZ3RoOwogCQlzaXplID0gYmxrc2l6ZShmcywgb2lwLCBsYm4pOwogCQli emVybygoY2hhciAqKWJwLT5iX2RhdGEgKyBvZmZzZXQsICh1X2ludCkoc2l6 ZSAtIG9mZnNldCkpOwogCQlhbGxvY2J1ZihicCwgc2l6ZSk7Ci0JCWlmIChh ZmxhZ3MgJiBJT19TWU5DKQorCQlpZiAoYnAtPmJfYnVmc2l6ZSA9PSBmcy0+ c19ibG9ja3NpemUpCisJCQlicC0+Yl9mbGFncyB8PSBCX0NMVVNURVJPSzsK KwkJaWYgKGFmbGFncyAmIEJfU1lOQykKIAkJCWJ3cml0ZShicCk7CisJCWVs c2UgaWYgKG92cC0+dl9tb3VudC0+bW50X2ZsYWcgJiBNTlRfQVNZTkMpCisJ CQliZHdyaXRlKGJwKTsKIAkJZWxzZQogCQkJYmF3cml0ZShicCk7CiAJfQpA QCAtMjQ3LDYgKzI1Miw3IEBACiAJZXJyb3IgPSB2dHJ1bmNidWYob3ZwLCBj cmVkLCB0ZCwgbGVuZ3RoLCAoaW50KWZzLT5zX2Jsb2Nrc2l6ZSk7CiAJaWYg KGVycm9yICYmIChhbGxlcnJvciA9PSAwKSkKIAkJYWxsZXJyb3IgPSBlcnJv cjsKKwl2bm9kZV9wYWdlcl9zZXRzaXplKG92cCwgbGVuZ3RoKTsKIAogCS8q CiAJICogSW5kaXJlY3QgYmxvY2tzIGZpcnN0LgpkaWZmIC11IGV4dDJmcy5v cmlnL2V4dDJfcmVhZHdyaXRlLmMgZXh0MmZzL2V4dDJfcmVhZHdyaXRlLmMK LS0tIGV4dDJmcy5vcmlnL2V4dDJfcmVhZHdyaXRlLmMJMjAwOS0wOS0xMCAx MzowNTozMS4wMDAwMDAwMDAgKzAwMDAKKysrIGV4dDJmcy9leHQyX3JlYWR3 cml0ZS5jCTIwMDktMDktMTAgMTQ6MTM6NDEuMDAwMDAwMDAwICswMDAwCkBA IC0zNiw2ICszNiw3IEBACiAgKiAkRnJlZUJTRDogc3JjL3N5cy9nbnUvZnMv ZXh0MmZzL2V4dDJfcmVhZHdyaXRlLmMsdiAxLjMxLjIwLjEgMjAwOS8wNC8x NSAwMzoxNDoyNiBrZW5zbWl0aCBFeHAgJAogICovCiAKKy8qIFhYWCBUT0RP OiByZW1vdmUgdGhlc2Ugb2JmdXNjYXRpb25zIChhcyBpbiBmZnNfdm5vcHMu YykuICovCiAjZGVmaW5lCUJMS1NJWkUoYSwgYiwgYykJYmxrc2l6ZShhLCBi LCBjKQogI2RlZmluZQlGUwkJCXN0cnVjdCBleHQyX3NiX2luZm8KICNkZWZp bmUJSV9GUwkJCWlfZTJmcwpAQCAtNDcsNyArNDgsNiBAQAogLyoKICAqIFZu b2RlIG9wIGZvciByZWFkaW5nLgogICovCi0vKiBBUkdTVVNFRCAqLwogc3Rh dGljIGludAogUkVBRChhcCkKIAlzdHJ1Y3Qgdm9wX3JlYWRfYXJncyAvKiB7 CkBAIC02NSw4ICs2NSw4IEBACiAJZGFkZHJfdCBsYm4sIG5leHRsYm47CiAJ b2ZmX3QgYnl0ZXNpbmZpbGU7CiAJbG9uZyBzaXplLCB4ZmVyc2l6ZSwgYmxr b2Zmc2V0OwotCWludCBlcnJvciwgb3JpZ19yZXNpZDsKLQlpbnQgc2VxY291 bnQgPSBhcC0+YV9pb2ZsYWcgPj4gSU9fU0VRU0hJRlQ7CisJaW50IGVycm9y LCBvcmlnX3Jlc2lkLCBzZXFjb3VudDsKKwlzZXFjb3VudCA9IGFwLT5hX2lv ZmxhZyA+PiBJT19TRVFTSElGVDsKIAl1X3Nob3J0IG1vZGU7CiAKIAl2cCA9 IGFwLT5hX3ZwOwpAQCAtODQsMTEgKzg0LDE0IEBACiAJfSBlbHNlIGlmICh2 cC0+dl90eXBlICE9IFZSRUcgJiYgdnAtPnZfdHlwZSAhPSBWRElSKQogCQlw YW5pYygiJXM6IHR5cGUgJWQiLCBSRUFEX1MsIHZwLT52X3R5cGUpOwogI2Vu ZGlmCi0JZnMgPSBpcC0+SV9GUzsKLQlpZiAoKHVvZmZfdCl1aW8tPnVpb19v ZmZzZXQgPiBmcy0+ZnNfbWF4ZmlsZXNpemUpCi0JCXJldHVybiAoRUZCSUcp OwotCiAJb3JpZ19yZXNpZCA9IHVpby0+dWlvX3Jlc2lkOworCUtBU1NFUlQo b3JpZ19yZXNpZCA+PSAwLCAoImV4dDJfcmVhZDogdWlvLT51aW9fcmVzaWQg PCAwIikpOworCWlmIChvcmlnX3Jlc2lkID09IDApCisJCXJldHVybiAoMCk7 CisJS0FTU0VSVCh1aW8tPnVpb19vZmZzZXQgPj0gMCwgKCJleHQyX3JlYWQ6 IHVpby0+dWlvX29mZnNldCA8IDAiKSk7CisJZnMgPSBpcC0+SV9GUzsKKwlp ZiAodWlvLT51aW9fb2Zmc2V0IDwgaXAtPmlfc2l6ZSAmJiB1aW8tPnVpb19v ZmZzZXQgPj0gZnMtPmZzX21heGZpbGVzaXplKQorCQlyZXR1cm4gKEVPVkVS RkxPVyk7CiAJZm9yIChlcnJvciA9IDAsIGJwID0gTlVMTDsgdWlvLT51aW9f cmVzaWQgPiAwOyBicCA9IE5VTEwpIHsKIAkJaWYgKChieXRlc2luZmlsZSA9 IGlwLT5pX3NpemUgLSB1aW8tPnVpb19vZmZzZXQpIDw9IDApCiAJCQlicmVh azsKQEAgLTEwNiw5ICsxMDksOCBAQAogCQlpZiAobGJsa3Rvc2l6ZShmcywg bmV4dGxibikgPj0gaXAtPmlfc2l6ZSkKIAkJCWVycm9yID0gYnJlYWQodnAs IGxibiwgc2l6ZSwgTk9DUkVELCAmYnApOwogCQllbHNlIGlmICgodnAtPnZf bW91bnQtPm1udF9mbGFnICYgTU5UX05PQ0xVU1RFUlIpID09IDApCi0JCQll cnJvciA9IGNsdXN0ZXJfcmVhZCh2cCwKLQkJCSAgICBpcC0+aV9zaXplLCBs Ym4sIHNpemUsIE5PQ1JFRCwKLQkJCSAgICB1aW8tPnVpb19yZXNpZCwgKGFw LT5hX2lvZmxhZyA+PiBJT19TRVFTSElGVCksICZicCk7CisJCQllcnJvciA9 IGNsdXN0ZXJfcmVhZCh2cCwgaXAtPmlfc2l6ZSwgbGJuLCBzaXplLCBOT0NS RUQsCisJCQkgICAgYmxrb2Zmc2V0ICsgdWlvLT51aW9fcmVzaWQsIHNlcWNv dW50LCAmYnApOwogCQllbHNlIGlmIChzZXFjb3VudCA+IDEpIHsKIAkJCWlu dCBuZXh0c2l6ZSA9IEJMS1NJWkUoZnMsIGlwLCBuZXh0bGJuKTsKIAkJCWVy cm9yID0gYnJlYWRuKHZwLCBsYm4sCkBAIC0xMzQsOCArMTM2LDggQEAKIAkJ CQlicmVhazsKIAkJCXhmZXJzaXplID0gc2l6ZTsKIAkJfQotCQllcnJvciA9 Ci0JCSAgICB1aW9tb3ZlKChjaGFyICopYnAtPmJfZGF0YSArIGJsa29mZnNl dCwgKGludCl4ZmVyc2l6ZSwgdWlvKTsKKwkJZXJyb3IgPSB1aW9tb3ZlKChj aGFyICopYnAtPmJfZGF0YSArIGJsa29mZnNldCwKKwkJCShpbnQpeGZlcnNp emUsIHVpbyk7CiAJCWlmIChlcnJvcikKIAkJCWJyZWFrOwogCkBAIC0xNDMs NyArMTQ1LDcgQEAKIAl9CiAJaWYgKGJwICE9IE5VTEwpCiAJCWJxcmVsc2Uo YnApOwotCWlmIChvcmlnX3Jlc2lkID4gMCAmJiAoZXJyb3IgPT0gMCB8fCB1 aW8tPnVpb19yZXNpZCAhPSBvcmlnX3Jlc2lkKSAmJgorCWlmICgoZXJyb3Ig PT0gMCB8fCB1aW8tPnVpb19yZXNpZCAhPSBvcmlnX3Jlc2lkKSAmJgogCSAg ICAodnAtPnZfbW91bnQtPm1udF9mbGFnICYgTU5UX05PQVRJTUUpID09IDAp CiAJCWlwLT5pX2ZsYWcgfD0gSU5fQUNDRVNTOwogCXJldHVybiAoZXJyb3Ip OwpAQCAtMTY5LDExICsxNzEsMTAgQEAKIAlzdHJ1Y3QgdGhyZWFkICp0ZDsK IAlkYWRkcl90IGxibjsKIAlvZmZfdCBvc2l6ZTsKLQlpbnQgc2VxY291bnQ7 Ci0JaW50IGJsa29mZnNldCwgZXJyb3IsIGZsYWdzLCBpb2ZsYWcsIHJlc2lk LCBzaXplLCB4ZmVyc2l6ZTsKKwlpbnQgYmxrb2Zmc2V0LCBlcnJvciwgZmxh Z3MsIGlvZmxhZywgcmVzaWQsIHNpemUsIHNlcWNvdW50LCB4ZmVyc2l6ZTsK IAogCWlvZmxhZyA9IGFwLT5hX2lvZmxhZzsKLQlzZXFjb3VudCA9IGFwLT5h X2lvZmxhZyA+PiBJT19TRVFTSElGVDsKKwlzZXFjb3VudCA9IGlvZmxhZyA+ PiBJT19TRVFTSElGVDsKIAl1aW8gPSBhcC0+YV91aW87CiAJdnAgPSBhcC0+ YV92cDsKIAlpcCA9IFZUT0kodnApOwpAQCAtMTk0LDE1ICsxOTUsMTUgQEAK IAkJYnJlYWs7CiAJY2FzZSBWRElSOgogCQlpZiAoKGlvZmxhZyAmIElPX1NZ TkMpID09IDApCi0JCQlwYW5pYygiJXM6IG5vbnN5bmMgZGlyIHdyaXRlIiwg V1JJVEVfUyk7CisJCQlwYW5pYygiZXh0Ml93cml0ZTogbm9uc3luYyBkaXIg d3JpdGUiKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcGFuaWMoIiVzOiB0 eXBlIiwgV1JJVEVfUyk7CisJCXBhbmljKCJleHQyX3dyaXRlOiB0eXBlICVw ICVkICglamQsJWQpIiwgKHZvaWQgKil2cCwgdnAtPnZfdHlwZSwKKwkJCShp bnRtYXhfdCl1aW8tPnVpb19vZmZzZXQsIHVpby0+dWlvX3Jlc2lkKTsKIAl9 CiAKIAlmcyA9IGlwLT5JX0ZTOwotCWlmICh1aW8tPnVpb19vZmZzZXQgPCAw IHx8Ci0JICAgICh1b2ZmX3QpdWlvLT51aW9fb2Zmc2V0ICsgdWlvLT51aW9f cmVzaWQgPiBmcy0+ZnNfbWF4ZmlsZXNpemUpCisJaWYgKCh1b2ZmX3QpdWlv LT51aW9fb2Zmc2V0ICsgdWlvLT51aW9fcmVzaWQgPiBmcy0+ZnNfbWF4Zmls ZXNpemUpCiAJCXJldHVybiAoRUZCSUcpOwogCS8qCiAJICogTWF5YmUgdGhp cyBzaG91bGQgYmUgYWJvdmUgdGhlIHZub2RlIG9wIGNhbGwsIGJ1dCBzbyBs b25nIGFzCkBAIC0yMzYsMjYgKzIzNywxOSBAQAogCiAJCS8qCiAJCSAqIEF2 b2lkIGEgZGF0YS1jb25zaXN0ZW5jeSByYWNlIGJldHdlZW4gd3JpdGUoKSBh bmQgbW1hcCgpCi0JCSAqIGJ5IGVuc3VyaW5nIHRoYXQgbmV3bHkgYWxsb2Nh dGVkIGJsb2NrcyBhcmUgemVyb2QuICBUaGUKKwkJICogYnkgZW5zdXJpbmcg dGhhdCBuZXdseSBhbGxvY2F0ZWQgYmxvY2tzIGFyZSB6ZXJvZWQuICBUaGUK IAkJICogcmFjZSBjYW4gb2NjdXIgZXZlbiBpbiB0aGUgY2FzZSB3aGVyZSB0 aGUgd3JpdGUgY292ZXJzCiAJCSAqIHRoZSBlbnRpcmUgYmxvY2suCiAJCSAq LwogCQlmbGFncyB8PSBCX0NMUkJVRjsKLSNpZiAwCi0JCWlmIChmcy0+c19m cmFnX3NpemUgPiB4ZmVyc2l6ZSkKLQkJCWZsYWdzIHw9IEJfQ0xSQlVGOwot CQllbHNlCi0JCQlmbGFncyAmPSB+Ql9DTFJCVUY7Ci0jZW5kaWYKIAotCQll cnJvciA9IGV4dDJfYmFsbG9jKGlwLAotCQkgICAgbGJuLCBibGtvZmZzZXQg KyB4ZmVyc2l6ZSwgYXAtPmFfY3JlZCwgJmJwLCBmbGFncyk7CisJCWVycm9y ID0gZXh0Ml9iYWxsb2MoaXAsIGxibiwgYmxrb2Zmc2V0ICsgeGZlcnNpemUs CisJCSAgICBhcC0+YV9jcmVkLCAmYnAsIGZsYWdzKTsKIAkJaWYgKGVycm9y KQogCQkJYnJlYWs7CiAKLQkJaWYgKHVpby0+dWlvX29mZnNldCArIHhmZXJz aXplID4gaXAtPmlfc2l6ZSkgeworCQlpZiAodWlvLT51aW9fb2Zmc2V0ICsg eGZlcnNpemUgPiBpcC0+aV9zaXplKQogCQkJaXAtPmlfc2l6ZSA9IHVpby0+ dWlvX29mZnNldCArIHhmZXJzaXplOwotCQl9CiAKIAkJc2l6ZSA9IEJMS1NJ WkUoZnMsIGlwLCBsYm4pIC0gYnAtPmJfcmVzaWQ7CiAJCWlmIChzaXplIDwg eGZlcnNpemUpCkBAIC0yNjQsNyArMjU4LDcgQEAKIAkJZXJyb3IgPQogCQkg ICAgdWlvbW92ZSgoY2hhciAqKWJwLT5iX2RhdGEgKyBibGtvZmZzZXQsIChp bnQpeGZlcnNpemUsIHVpbyk7CiAJCWlmICgoaW9mbGFnICYgSU9fVk1JTykg JiYKLQkJICAgKExJU1RfRklSU1QoJmJwLT5iX2RlcCkgPT0gTlVMTCkpIC8q IGluIGV4dDJmcz8gKi8KKwkJICAgTElTVF9GSVJTVCgmYnAtPmJfZGVwKSA9 PSBOVUxMKSAvKiBpbiBleHQyZnM/ICovCiAJCQlicC0+Yl9mbGFncyB8PSBC X1JFTEJVRjsKIAogCQlpZiAoaW9mbGFnICYgSU9fU1lOQykgewpAQCAtMjgy LDEyICsyNzYsMTUgQEAKIAkJfQogCQlpZiAoZXJyb3IgfHwgeGZlcnNpemUg PT0gMCkKIAkJCWJyZWFrOwotCQlpcC0+aV9mbGFnIHw9IElOX0NIQU5HRSB8 IElOX1VQREFURTsKIAl9CiAJLyoKIAkgKiBJZiB3ZSBzdWNjZXNzZnVsbHkg d3JvdGUgYW55IGRhdGEsIGFuZCB3ZSBhcmUgbm90IHRoZSBzdXBlcnVzZXIK IAkgKiB3ZSBjbGVhciB0aGUgc2V0dWlkIGFuZCBzZXRnaWQgYml0cyBhcyBh IHByZWNhdXRpb24gYWdhaW5zdAogCSAqIHRhbXBlcmluZy4KKwkgKiBYWFgg dG9vIGxhdGUsIHRoZSB0YW1wZXJlciBtYXkgaGF2ZSBvcGVuZWQgdGhlIGZp bGUgd2hpbGUgd2UKKwkgKiB3ZXJlIHdyaXRpbmcgdGhlIGRhdGEgKG9yIGJl Zm9yZSkuCisJICogWFhYIHRvbyBlYXJseSwgaWYgKGVycm9yICYmIGlvZmxh ZyAmIElPX1VOSVQpIHRoZW4gd2Ugd2lsbAorCSAqIHVud3JpdGUgdGhlIGRh dGEuCiAJICovCiAJaWYgKHJlc2lkID4gdWlvLT51aW9fcmVzaWQgJiYgYXAt PmFfY3JlZCAmJiBhcC0+YV9jcmVkLT5jcl91aWQgIT0gMCkKIAkJaXAtPmlf bW9kZSAmPSB+KElTVUlEIHwgSVNHSUQpOwpAQCAtMjk4LDcgKzI5NSwxMSBA QAogCQkJdWlvLT51aW9fb2Zmc2V0IC09IHJlc2lkIC0gdWlvLT51aW9fcmVz aWQ7CiAJCQl1aW8tPnVpb19yZXNpZCA9IHJlc2lkOwogCQl9Ci0JfSBlbHNl IGlmIChyZXNpZCA+IHVpby0+dWlvX3Jlc2lkICYmIChpb2ZsYWcgJiBJT19T WU5DKSkKLQkJZXJyb3IgPSBleHQyX3VwZGF0ZSh2cCwgMSk7CisJfQorCWlm ICh1aW8tPnVpb19yZXNpZCAhPSByZXNpZCkgeworCQlpcC0+aV9mbGFnIHw9 IElOX0NIQU5HRSB8IElOX1VQREFURTsKKwkJaWYgKGlvZmxhZyAmIElPX1NZ TkMpCisJCQllcnJvciA9IGV4dDJfdXBkYXRlKHZwLCAxKTsKKwl9CiAJcmV0 dXJuIChlcnJvcik7CiB9CmRpZmYgLXUgZXh0MmZzLm9yaWcvZXh0Ml92ZnNv cHMuYyBleHQyZnMvZXh0Ml92ZnNvcHMuYwotLS0gZXh0MmZzLm9yaWcvZXh0 Ml92ZnNvcHMuYwkyMDA5LTA5LTEwIDEzOjA1OjMxLjAwMDAwMDAwMCArMDAw MAorKysgZXh0MmZzL2V4dDJfdmZzb3BzLmMJMjAwOS0wOS0xMCAxMzo0MTow OS4wMDAwMDAwMDAgKzAwMDAKQEAgLTE3MSw4ICsxNzEsNiBAQAogCQkJZmxh Z3MgPSBXUklURUNMT1NFOwogCQkJaWYgKG1wLT5tbnRfZmxhZyAmIE1OVF9G T1JDRSkKIAkJCQlmbGFncyB8PSBGT1JDRUNMT1NFOwotCQkJaWYgKHZmc19i dXN5KG1wLCBMS19OT1dBSVQsIDAsIHRkKSkKLQkJCQlyZXR1cm4gKEVCVVNZ KTsKIAkJCWVycm9yID0gZXh0Ml9mbHVzaGZpbGVzKG1wLCBmbGFncywgdGQp OwogCQkJdmZzX3VuYnVzeShtcCwgdGQpOwogCQkJaWYgKCFlcnJvciAmJiBm cy0+c193YXN2YWxpZCkgewpAQCAtNTAwLDYgKzQ5OCw3IEBACiAgKgk0KSBp bnZhbGlkYXRlIGFsbCBpbmFjdGl2ZSB2bm9kZXMuCiAgKgk1KSBpbnZhbGlk YXRlIGFsbCBjYWNoZWQgZmlsZSBkYXRhLgogICoJNikgcmUtcmVhZCBpbm9k ZSBkYXRhIGZvciBhbGwgYWN0aXZlIHZub2Rlcy4KKyAqIFhYWCB3ZSBhcmUg bWlzc2luZyBzb21lIHN0ZXBzLCBpbiBwYXJ0aWN1bGFyICMgMwogICovCiBz dGF0aWMgaW50CiBleHQyX3JlbG9hZChzdHJ1Y3QgbW91bnQgKm1wLCBzdHJ1 Y3QgdGhyZWFkICp0ZCkKQEAgLTEwMDcsOCArMTAwNiw4IEBACiAJCSAqIHN0 aWxsIHplcm8sIGl0IHdpbGwgYmUgdW5saW5rZWQgYW5kIHJldHVybmVkIHRv IHRoZSBmcmVlCiAJCSAqIGxpc3QgYnkgdnB1dCgpLgogCQkgKi8KLQkJdnB1 dCh2cCk7CiAJCWJyZWxzZShicCk7CisJCXZwdXQodnApOwogCQkqdnBwID0g TlVMTDsKIAkJcmV0dXJuIChlcnJvcik7CiAJfQpAQCAtMTAzMiw3ICsxMDMx LDcgQEAKIC8qCiAJZXh0Ml9wcmludF9pbm9kZShpcCk7CiAqLwotCWJyZWxz ZShicCk7CisJYnFyZWxzZShicCk7CiAKIAkvKgogCSAqIEluaXRpYWxpemUg dGhlIHZub2RlIGZyb20gdGhlIGlub2RlLCBjaGVjayBmb3IgYWxpYXNlcy4K --0-1580472039-1252610897=:7136--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909102000.n8AK07Ua040311>