kern/138109: [extfs] [patch] Minor cleanups to the sys/gnu/fs/ext2fs based on BSD Lite2

Pedro F. Giffuni giffunip at tutopia.com
Thu Sep 10 20:00:07 UTC 2009


The following reply was made to PR kern/138109; it has been noted by GNATS.

From: "Pedro F. Giffuni" <giffunip at tutopia.com>
To: bug-followup at FreeBSD.org
Cc: Bruce Evans <brde at 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--


More information about the freebsd-fs mailing list