Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Oct 2009 16:20:01 -0700
From:      Artem Belevich <fbsdlist@src.cx>
To:        Alexander Shevchenko <pepelac@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ARC & L2ARC efficiency
Message-ID:  <ed91d4a80910011620y73f931c9ie1e41692d6fc46e3@mail.gmail.com>
In-Reply-To: <ed91d4a80910011600x3f3e855etd24694bde69a96c7@mail.gmail.com>
References:  <8c9ae7950910011322j1a6b66fcp73615cc17ae20328@mail.gmail.com> <ed91d4a80910011600x3f3e855etd24694bde69a96c7@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--00163628407a0040900474e7e3d9
Content-Type: text/plain; charset=ISO-8859-1

Here's another script:
http://www.solarisinternals.com/wiki/index.php/Arcstat

Attached hacked FreeBSD version.

--Artem



On Thu, Oct 1, 2009 at 4:00 PM, Artem Belevich <fbsdlist@src.cx> wrote:
> There's a pretty useful script to present ARC stats (alas, L2ARC info
> is not included) in a readable way:
> http://cuddletech.com/arc_summary/
>
> I've attaches somewhat hacked (and a bit outdated) version that runs on FreeBSD.
>
> --Artem
>
>
>
> On Thu, Oct 1, 2009 at 1:22 PM, Alexander Shevchenko <pepelac@gmail.com> wrote:
>> Good time of day!
>>
>> How could i check the efficiency of ARC?

--00163628407a0040900474e7e3d9
Content-Type: application/octet-stream; name="arcstat.pl"
Content-Disposition: attachment; filename="arcstat.pl"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g0a4la4q1

IyEvYmluL3BlcmwgLXcKIwojIFByaW50IG91dCBaRlMgQVJDIFN0YXRpc3RpY3MgZXhwb3J0ZWQg
dmlhIGtzdGF0KDEpCiMgRm9yIGEgZGVmaW5pdGlvbiBvZiBmaWVsZHMsIG9yIHVzYWdlLCB1c2Ug
YXJjdHN0YXQucGwgLXYKIwojIEF1dGhvcjogTmVlbGFrYW50aCBOYWRnaXIgaHR0cDovL2Jsb2dz
LnN1bi5jb20vcmVhbG5lZWwKIyBDb21tZW50cy9RdWVzdGlvbnMvRmVlZGJhY2sgdG8gbmVlbF9z
dW4uY29tIG9yIG5lZWxfZ251Lm9yZwojCiMgQ0RETCBIRUFERVIgU1RBUlQKIyAKIyBUaGUgY29u
dGVudHMgb2YgdGhpcyBmaWxlIGFyZSBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUKIyBDb21t
b24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMCBvbmx5
CiMgKHRoZSAiTGljZW5zZSIpLiAgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZQojIHdpdGggdGhlIExpY2Vuc2UuCiMgCiMgWW91IGNhbiBvYnRhaW4gYSBjb3B5
IG9mIHRoZSBsaWNlbnNlIGF0IHVzci9zcmMvT1BFTlNPTEFSSVMuTElDRU5TRQojIG9yIGh0dHA6
Ly93d3cub3BlbnNvbGFyaXMub3JnL29zL2xpY2Vuc2luZy4KIyBTZWUgdGhlIExpY2Vuc2UgZm9y
IHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMKIyBhbmQgbGltaXRh
dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiMgCiMgV2hlbiBkaXN0cmlidXRpbmcgQ292ZXJlZCBD
b2RlLCBpbmNsdWRlIHRoaXMgQ0RETCBIRUFERVIgaW4gZWFjaAojIGZpbGUgYW5kIGluY2x1ZGUg
dGhlIExpY2Vuc2UgZmlsZSBhdCB1c3Ivc3JjL09QRU5TT0xBUklTLkxJQ0VOU0UuCiMgSWYgYXBw
bGljYWJsZSwgYWRkIHRoZSBmb2xsb3dpbmcgYmVsb3cgdGhpcyBDRERMIEhFQURFUiwgd2l0aCB0
aGUKIyBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIiByZXBsYWNlZCB3aXRoIHlvdXIg
b3duIGlkZW50aWZ5aW5nCiMgaW5mb3JtYXRpb246IFBvcnRpb25zIENvcHlyaWdodCBbeXl5eV0g
W25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQojIAojIENEREwgSEVBREVSIEVORAojCiMKIyBGaWVs
ZHMgaGF2ZSBhIGZpeGVkIHdpZHRoLiBFdmVyeSBpbnRlcnZhbCwgd2UgZmlsbCB0aGUgInYiCiMg
aGFzaCB3aXRoIGl0cyBjb3JyZXNwb25kaW5nIHZhbHVlICh2W2ZpZWxkXT12YWx1ZSkgdXNpbmcg
Y2FsY3VsYXRlKCkuIAojIEBoZHIgaXMgdGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IG5lZWRzIHRv
IGJlIHByaW50ZWQsIHNvIHdlCiMganVzdCBpdGVyYXRlIG92ZXIgdGhpcyBhcnJheSBhbmQgcHJp
bnQgdGhlIHZhbHVlcyB1c2luZyBvdXIgcHJldHR5IHByaW50ZXIuCgp1c2Ugc3RyaWN0Owp1c2Ug
UE9TSVggcXcoc3RyZnRpbWUpOwojdXNlIFN1bjo6U29sYXJpczo6S3N0YXQ7CnVzZSBHZXRvcHQ6
Okxvbmc7CnVzZSBJTzo6SGFuZGxlOwoKbXkgJWNvbHMgPSAoIyBIRFIgPT4gW1NpemUsIERlc2Ny
aXB0aW9uXQoJIlRpbWUiCT0+WzgsICJUaW1lIl0sCgkiaGl0cyIJPT5bNCwgIkFyYyByZWFkcyBw
ZXIgc2Vjb25kIl0sCgkibWlzcyIJPT5bNCwgIkFyYyBtaXNzZXMgcGVyIHNlY29uZCJdLAoJInJl
YWQiCT0+WzQsICJUb3RhbCBBcmMgYWNjZXNzZXMgcGVyIHNlY29uZCJdLAoJIkhpdCUiCT0+WzQs
ICJBcmMgSGl0IHBlcmNlbnRhZ2UiXSwKCSJtaXNzJSIJPT5bNSwgIkFyYyBtaXNzIHBlcmNlbnRh
Z2UiXSwKCSJkaGl0Igk9Pls0LCAiRGVtYW5kIERhdGEgaGl0cyBwZXIgc2Vjb25kIl0sCgkiZG1p
cyIJPT5bNCwgIkRlbWFuZCBEYXRhIG1pc3NlcyBwZXIgc2Vjb25kIl0sCgkiZGglIgk9PlszLCAi
RGVtYW5kIERhdGEgaGl0IHBlcmNlbnRhZ2UiXSwKCSJkbSUiCT0+WzMsICJEZW1hbmQgRGF0YSBt
aXNzIHBlcmNlbnRhZ2UiXSwKCSJwaGl0Igk9Pls0LCAiUHJlZmV0Y2ggaGl0cyBwZXIgc2Vjb25k
Il0sCgkicG1pcyIJPT5bNCwgIlByZWZldGNoIG1pc3NlcyBwZXIgc2Vjb25kIl0sCgkicGglIgk9
PlszLCAiUHJlZmV0Y2ggaGl0cyBwZXJjZW50YWdlIl0sCgkicG0lIgk9PlszLCAiUHJlZmV0Y2gg
bWlzcyBwZXJjZW50YWdlIl0sCgkibWhpdCIJPT5bNCwgIk1ldGFkYXRhIGhpdHMgcGVyIHNlY29u
ZCJdLAoJIm1taXMiCT0+WzQsICJNZXRhZGF0YSBtaXNzZXMgcGVyIHNlY29uZCJdLAoJIm1yZWFk
Igk9Pls1LCAiTWV0YWRhdGEgYWNjZXNzZXMgcGVyIHNlY29uZCJdLAoJIm1oJSIJPT5bMywgIk1l
dGFkYXRhIGhpdCBwZXJjZW50YWdlIl0sCgkibW0lIgk9PlszLCAiTWV0YWRhdGEgbWlzcyBwZXJj
ZW50YWdlIl0sCgkiYXJjc3oiCT0+WzUsICJBcmMgU2l6ZSJdLAoJImMiIAk9Pls0LCAiQXJjIFRh
cmdldCBTaXplIl0sCgkibWZ1IiAJPT5bNCwgIk1GVSBMaXN0IGhpdHMgcGVyIHNlY29uZCJdLAoJ
Im1ydSIgCT0+WzQsICJNUlUgTGlzdCBoaXRzIHBlciBzZWNvbmQiXSwKCSJtZnVnIiAJPT5bNCwg
Ik1GVSBHaG9zdCBMaXN0IGhpdHMgcGVyIHNlY29uZCJdLAoJIm1ydWciIAk9Pls0LCAiTVJVIEdo
b3N0IExpc3QgaGl0cyBwZXIgc2Vjb25kIl0sCgkiZXNraXAiCT0+WzUsICJldmljdF9za2lwIHBl
ciBzZWNvbmQiXSwKCSJtdHhtaXMiPT5bNiwgIm11dGV4X21pc3MgcGVyIHNlY29uZCJdLAoJInJt
aXMiCT0+WzQsICJyZWN5Y2xlX21pc3MgcGVyIHNlY29uZCJdLAoJImRyZWFkIgk9Pls1LCAiRGVt
YW5kIGRhdGEgYWNjZXNzZXMgcGVyIHNlY29uZCJdLAoJInByZWFkIgk9Pls1LCAiUHJlZmV0Y2gg
YWNjZXNzZXMgcGVyIHNlY29uZCJdLAopOwpteSAldj0oKTsKbXkgQGhkciA9IHF3KFRpbWUgcmVh
ZCBtaXNzIG1pc3MlIGRtaXMgZG0lIHBtaXMgcG0lIG1taXMgbW0lIGFyY3N6IGMpOwpteSBAeGhk
ciA9IHF3KFRpbWUgbWZ1IG1ydSBtZnVnIG1ydWcgZXNraXAgbXR4bWlzIHJtaXMgZHJlYWQgcHJl
YWQgcmVhZCk7Cm15ICRpbnQgPSAxOwkJIyBQcmludCBzdGF0cyBldmVyeSAxIHNlY29uZCBieSBk
ZWZhdWx0Cm15ICRjb3VudCA9IDA7CQkjIFByaW50IHN0YXRzIGZvcmV2ZXIKbXkgJGhkcl9pbnRy
ID0gMjA7CSMgUHJpbnQgaGVhZGVyIGV2ZXJ5IDIwIGxpbmVzIG9mIG91dHB1dApteSAkb3BmaWxl
ID0gIiI7Cm15ICRzZXAgPSAiICAiOwkJIyBEZWZhdWx0IHNlcGVyYXRvciBpcyAyIHNwYWNlcwpt
eSAkdmVyc2lvbiA9ICIwLjEiOwpteSAkY21kID0gIlVzYWdlOiBhcmNzdGF0LnBsIFstaHZ4XSBb
LWYgZmllbGRzXSBbLW8gZmlsZV0gW2ludGVydmFsIFtjb3VudF1dXG4iOwpteSAlY3VyOwpteSAl
ZDsKbXkgJG91dDsKbXkgJGtzdGF0OyAjID0gU3VuOjpTb2xhcmlzOjpLc3RhdC0+bmV3KCk7ClNU
RE9VVC0+YXV0b2ZsdXNoOwoKc3ViIGtzdGF0X3VwZGF0ZSB7CglteSBAayA9IGBzeXNjdGwgJ2tz
dGF0Lnpmcy5taXNjLmFyY3N0YXRzJ2A7CgoJdW5kZWYgJGtzdGF0OwoKCWZvcmVhY2ggbXkgJGsg
KEBrKSB7CgkgIGNob21wICRrOwoJICBteSAoJG5hbWUsJHZhbHVlKSA9IHNwbGl0IC86LywgJGs7
CgkgIG15IEB6ID0gc3BsaXQgL1wuLywgJG5hbWU7CgkgIG15ICRuID0gcG9wIEB6OwoJICAke2tz
dGF0fS0+e3pmc30tPnswfS0+e2FyY3N0YXRzfS0+eyRufSA9ICR2YWx1ZTsKCX0KfQoKc3ViIGRl
dGFpbGVkX3VzYWdlIHsKCXByaW50IFNUREVSUiAiQXJjc3RhdCB2ZXJzaW9uICR2ZXJzaW9uXG4k
Y21kIjsKCXByaW50IFNUREVSUiAiRmllbGQgZGVmaW5pdGlvbnMgYXJlIGFzIGZvbGxvd3NcbiI7
Cglmb3JlYWNoIG15ICRoZHIgKGtleXMgJWNvbHMpIHsKCQlwcmludCBTVERFUlIgc3ByaW50Zigi
JTZzIDogJXNcbiIsICRoZHIsICRjb2xzeyRoZHJ9WzFdKTsKCX0KCXByaW50IFNUREVSUiAiXG5O
b3RlOiBLPTEwXjMgTT0xMF42IEc9MTBeOSBhbmQgc28gb25cbiI7CglleGl0KDEpOwoKfQoKc3Vi
IHVzYWdlIHsKCXByaW50IFNUREVSUiAiQXJjc3RhdCB2ZXJzaW9uICR2ZXJzaW9uXG4kY21kIjsK
CXByaW50IFNUREVSUiAiXHQgLXggOiBQcmludCBleHRlbmRlZCBzdGF0c1xuIjsKCXByaW50IFNU
REVSUiAiXHQgLWYgOiBTcGVjaWZ5IHNwZWNpZmljIGZpZWxkcyB0byBwcmludCAoc2VlIC12KVxu
IjsKCXByaW50IFNUREVSUiAiXHQgLW8gOiBQcmludCBzdGF0cyB0byBmaWxlXG4iOwoJcHJpbnQg
U1RERVJSICJcdCAtcyA6IFNwZWNpZnkgYSBzZXBlcmF0b3JcblxuRXhhbXBsZXM6XG4iOwoJcHJp
bnQgU1RERVJSICJcdGFyY3N0YXQgLW8gL3RtcC9hLmxvZyAyIDEwXG4iOwoJcHJpbnQgU1RERVJS
ICJcdGFyY3N0YXQgLXMgLCAtbyAvdG1wL2EubG9nIDIgMTBcbiI7CglwcmludCBTVERFUlIgIlx0
YXJjc3RhdCAtdlxuIjsKCXByaW50IFNUREVSUiAiXHRhcmNzdGF0IC1mIFRpbWUsSGl0JSxkaCUs
cGglLG1oJVxuIjsKCWV4aXQoMSk7Cn0KCnN1YiBpbml0IHsKCW15ICRkZXNpcmVkX2NvbHM7Cglt
eSAkeGZsYWcgPSAnJzsKCW15ICRoZmxhZyA9ICcnOwoJbXkgJHZmbGFnOwoJbXkgJHJlcyA9IEdl
dE9wdGlvbnMoJ3gnID0+IFwkeGZsYWcsCgkJJ289cycgPT4gXCRvcGZpbGUsCgkJJ2hlbHB8aHw/
JyA9PiBcJGhmbGFnLAoJCSd2JyA9PiBcJHZmbGFnLAoJCSdzPXMnID0+IFwkc2VwLAoJCSdmPXMn
ID0+IFwkZGVzaXJlZF9jb2xzKTsKCSRpbnQgPSAkQVJHVlswXSB8fCAkaW50OwoJJGNvdW50ID0g
JEFSR1ZbMV0gfHwgJGNvdW50OwoJdXNhZ2UoKSBpZiAhJHJlcyBvciAkaGZsYWcgb3IgKCR4Zmxh
ZyBhbmQgJGRlc2lyZWRfY29scyk7CglkZXRhaWxlZF91c2FnZSgpIGlmICR2ZmxhZzsKCUBoZHIg
PSBAeGhkciBpZiAkeGZsYWc7CQkjcmVzZXQgaGVhZGVycyB0byB4aGRyCglpZiAoJGRlc2lyZWRf
Y29scykgewoJCUBoZHIgPSBzcGxpdCgvWyAsXSsvLCAkZGVzaXJlZF9jb2xzKTsKCQkjIE5vdyBj
aGVjayBpZiB0aGV5IGFyZSB2YWxpZCBmaWVsZHMKCQlteSBAaW52YWxpZCA9ICgpOwoJCWZvcmVh
Y2ggbXkgJGVsZSAoQGhkcikgewoJCQlwdXNoKEBpbnZhbGlkLCAkZWxlKSBpZiBub3QgZXhpc3Rz
KCRjb2xzeyRlbGV9KTsKCQl9CgkJaWYgKHNjYWxhciBAaW52YWxpZCA+IDApIHsKCQkJcHJpbnQg
U1RERVJSICJJbnZhbGlkIGNvbHVtbiBkZWZpbml0aW9uISAtLSAiCgkJCQkuICJAaW52YWxpZFxu
XG4iOwoJCQl1c2FnZSgpOwoJCX0KCX0KCWlmICgkb3BmaWxlKSB7CgkJb3Blbigkb3V0LCAiPiRv
cGZpbGUiKSB8fGRpZSAiQ2Fubm90IG9wZW4gJG9wZmlsZSBmb3Igd3JpdGluZyI7CgkJJG91dC0+
YXV0b2ZsdXNoOwoJCXNlbGVjdCAkb3V0OwoJfQp9CgojIENhcHR1cmUga3N0YXQgc3RhdGlzdGlj
cy4gV2UgbWFpbnRhaW4gMyBoYXNoZXMsIHByZXYsIGN1ciwgYW5kCiMgZCAoZGVsdGEpLiBBcyB0
aGVpciBuYW1lcyBpbXBseSB0aGV5IG1haW50YWluIHRoZSBwcmV2aW91cywgY3VycmVudCwKIyBh
bmQgZGVsdGEgKGN1ciAtIHByZXYpIHN0YXRpc3RpY3MuCnN1YiBzbmFwX3N0YXRzIHsKCW15ICVw
cmV2ID0gJWN1cjsKCWtzdGF0X3VwZGF0ZSgpOwoKCW15ICRoYXNocmVmX2N1ciA9ICRrc3RhdC0+
eyJ6ZnMifXswfXsiYXJjc3RhdHMifTsKCSVjdXIgPSAlJGhhc2hyZWZfY3VyOwoJZm9yZWFjaCBt
eSAka2V5IChrZXlzICVjdXIpIHsKCQluZXh0IGlmICRrZXkgPX4gL2NsYXNzLzsKCQlpZiAoZGVm
aW5lZCAkcHJldnska2V5fSkgewoJCQkkZHska2V5fSA9ICRjdXJ7JGtleX0gLSAkcHJldnska2V5
fTsKCQl9IGVsc2UgewoJCQkkZHska2V5fSA9ICRjdXJ7JGtleX07CgkJfQoJfQp9CgojIFByZXR0
eSBwcmludCBudW0uIEFyZ3VtZW50cyBhcmUgd2lkdGggYW5kIG51bQpzdWIgcHJldHR5bnVtIHsK
CW15IEBzdWZmaXg9KCcgJywnSycsICdNJywgJ0cnLCAnVCcsICdQJywgJ0UnLCAnWicpOwoJbXkg
JG51bSA9ICRfWzFdIHx8IDA7CglteSAkc3ogPSAkX1swXTsKCW15ICRpbmRleCA9IDA7CglyZXR1
cm4gc3ByaW50ZigiJXMiLCAkbnVtKSBpZiBub3QgJG51bSA9fiAvXlswLTlcLl0rJC87Cgl3aGls
ZSAoJG51bSA+IDEwMDAgYW5kICRpbmRleCA8IDgpIHsKCQkkbnVtID0gJG51bS8xMDAwOwoJCSRp
bmRleCsrOwoJfQoJcmV0dXJuIHNwcmludGYoIiUqZCIsICRzeiwgJG51bSkgaWYgKCRpbmRleCA9
PSAwKTsKCXJldHVybiBzcHJpbnRmKCIlKmQlcyIsICRzeiAtIDEsICRudW0sJHN1ZmZpeFskaW5k
ZXhdKTsKfQoKc3ViIHByaW50X3ZhbHVlcyB7Cglmb3JlYWNoIG15ICRjb2wgKEBoZHIpIHsKCQlw
cmludGYoIiVzJXMiLCBwcmV0dHludW0oJGNvbHN7JGNvbH1bMF0sICR2eyRjb2x9KSwgJHNlcCk7
Cgl9CglwcmludGYoIlxuIik7Cn0KCnN1YiBwcmludF9oZWFkZXIgewoJZm9yZWFjaCBteSAkY29s
IChAaGRyKSB7CgkJcHJpbnRmKCIlKnMlcyIsICRjb2xzeyRjb2x9WzBdLCAkY29sLCAkc2VwKTsK
CX0KCXByaW50ZigiXG4iKTsKfQoKc3ViIGNhbGN1bGF0ZSB7Cgkldj0oKTsKCSR2eyJUaW1lIn0g
PSBzdHJmdGltZSgiJUg6JU06JVMiLCBsb2NhbHRpbWUpOwoJJHZ7ImhpdHMifSA9ICRkeyJoaXRz
In0vJGludDsKCSR2eyJtaXNzIn0gPSAkZHsibWlzc2VzIn0vJGludDsKCSR2eyJyZWFkIn0gPSAk
dnsiaGl0cyJ9ICsgJHZ7Im1pc3MifTsKCSR2eyJIaXQlIn0gPSAxMDAqJHZ7ImhpdHMifS8kdnsi
cmVhZCJ9IGlmICR2eyJyZWFkIn0gPiAwOwoJJHZ7Im1pc3MlIn0gPSAxMDAgLSAkdnsiSGl0JSJ9
IGlmICR2eyJyZWFkIn0gPiAwOwoKCSR2eyJkaGl0In0gPSAoJGR7ImRlbWFuZF9kYXRhX2hpdHMi
fSArICRkeyJkZW1hbmRfbWV0YWRhdGFfaGl0cyJ9KS8kaW50OwoJJHZ7ImRtaXMifSA9ICgkZHsi
ZGVtYW5kX2RhdGFfbWlzc2VzIn0rJGR7ImRlbWFuZF9tZXRhZGF0YV9taXNzZXMifSkvJGludDsK
CSR2eyJkcmVhZCJ9ID0gJHZ7ImRoaXQifSArICR2eyJkbWlzIn07CgkkdnsiZGglIn0gPSAxMDAq
JHZ7ImRoaXQifS8kdnsiZHJlYWQifSBpZiAkdnsiZHJlYWQifSA+IDA7CgkkdnsiZG0lIn0gPSAx
MDAgLSAkdnsiZGglIn0gaWYgJHZ7ImRyZWFkIn0gPiAwOwoKCSR2eyJwaGl0In09KCRkeyJwcmVm
ZXRjaF9kYXRhX2hpdHMifSArICRkeyJwcmVmZXRjaF9tZXRhZGF0YV9oaXRzIn0pLyRpbnQ7Cgkk
dnsicG1pcyJ9PSgkZHsicHJlZmV0Y2hfZGF0YV9taXNzZXMifQoJCSskZHsicHJlZmV0Y2hfbWV0
YWRhdGFfbWlzc2VzIn0pLyRpbnQ7CgkkdnsicHJlYWQifSA9ICR2eyJwaGl0In0gKyAkdnsicG1p
cyJ9OwoJJHZ7InBoJSJ9ID0gMTAwKiR2eyJwaGl0In0vJHZ7InByZWFkIn0gaWYgJHZ7InByZWFk
In0gPiAwOwoJJHZ7InBtJSJ9ID0gMTAwIC0gJHZ7InBoJSJ9IGlmICR2eyJwcmVhZCJ9ID4gMDsK
CgkkdnsibWhpdCJ9PSgkZHsicHJlZmV0Y2hfbWV0YWRhdGFfaGl0cyJ9KyRkeyJkZW1hbmRfbWV0
YWRhdGFfaGl0cyJ9KS8kaW50OwoJJHZ7Im1taXMifT0oJGR7InByZWZldGNoX21ldGFkYXRhX21p
c3NlcyJ9CgkJKyRkeyJkZW1hbmRfbWV0YWRhdGFfbWlzc2VzIn0pLyRpbnQ7CgkkdnsibXJlYWQi
fSA9ICR2eyJtaGl0In0gKyAkdnsibW1pcyJ9OwoJJHZ7Im1oJSJ9ID0gMTAwKiR2eyJtaGl0In0v
JHZ7Im1yZWFkIn0gaWYgJHZ7Im1yZWFkIn0gPiAwOwoJJHZ7Im1tJSJ9ID0gMTAwIC0gJHZ7Im1o
JSJ9IGlmICR2eyJtcmVhZCJ9ID4gMDsKCgkkdnsiYXJjc3oifSA9ICRjdXJ7InNpemUifTsKCSR2
eyJjIn0gPSAkY3VyeyJjIn07CgkkdnsibWZ1In0gPSAkZHsiaGl0cyJ9LyRpbnQ7CgkkdnsibXJ1
In0gPSAkZHsibXJ1X2hpdHMifS8kaW50OwoJJHZ7Im1ydWcifSA9ICRkeyJtcnVfZ2hvc3RfaGl0
cyJ9LyRpbnQ7CgkkdnsibWZ1ZyJ9ID0gJGR7Im1ydV9naG9zdF9oaXRzIn0vJGludDsKCSR2eyJl
c2tpcCJ9ID0gJGR7ImV2aWN0X3NraXAifS8kaW50OwoJJHZ7InJtaXNzIn0gPSAkZHsicmVjeWNs
ZV9taXNzIn0vJGludDsKCSR2eyJtdHhtaXMifSA9ICRkeyJtdXRleF9taXNzIn0vJGludDsKfQoK
c3ViIG1haW4gewoJbXkgJGkgPSAwOwoJbXkgJGNvdW50X2ZsYWcgPSAwOwoKCWluaXQoKTsKCWlm
ICgkY291bnQgPiAwKSB7ICRjb3VudF9mbGFnID0gMTsgfQoJd2hpbGUgKDEpIHsKCQlwcmludF9o
ZWFkZXIoKSBpZiAoJGkgPT0gMCk7CgkJc25hcF9zdGF0cygpOwoJCWNhbGN1bGF0ZSgpOwoJCXBy
aW50X3ZhbHVlcygpOwoJCWxhc3QgaWYgKCRjb3VudF9mbGFnID09IDEgJiYgJGNvdW50LS0gPD0g
MSk7CgkJJGkgPSAoJGkgPT0gJGhkcl9pbnRyKSA/IDAgOiAkaSsxOwoJCXNsZWVwKCRpbnQpOwoJ
fQoJY2xvc2UoJG91dCkgaWYgZGVmaW5lZCAkb3V0Owp9CgombWFpbjsK
--00163628407a0040900474e7e3d9--



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