Shame…
- Flickr 與香港政府攜手共毀香港自由 運動貼紙,聯署
- Hong Kong: the Flickr’d photo that got blogger Oiwan in trouble 上 boing boing 了
- 香港沒有成人?—flickr過澽與淫審 全球四地區被過濾,香港佔一席位
- 紙皮饅頭與China-Free Quote: 中國的問題食品不但毒害國內人民健康,在海
I've been experimenting with AoE lately, and as a resultI've been looking at the protocol more than I did in my earlierexposure . Unfortunately, the more I look at the AoEprotocol, the more uncomfortable I get.
The AoE protocol is quite simple; requests and replies are simpleEthernet frames, and a request's result must fit in a single replypacket. This means that the maximum read and write sizes per request arebounded by the size of the Ethernet frame, and thus on
Shame…
I've been considering writing a fully asynchronous ATA over Ethernettarget driver (I'm not entirely happy with the current one and itsperformance). If Linux asynchronous IO worked on sockets (specificallyraw network sockets), there is a nice simple design where you just setup a pool of buffers and then cycle each one through a little statemachine (network in to disk IO to network out).
(This works especially great for AOE because the protocol is both basedon raw packets and completely unordered,
In an aside in a recent entry , I wrote:
With sufficient cleverness, you can construct a version of
capture()that is passedstore's name and puts the result in it directly,without needing you to make it an array and usestore[0].
I'm wrong. In Python, no outside power can change a function's localvariables (more precisely, no outside power can change the namebindings , doing the equivalent of ' localvar =something '). While you can
First I'll show you the symptoms, then I'll explain what I did to shootmyself in the foot:
# zpool create tank01 c0t38d0# zpool create tank02 c0t39d0# zpool replace tank01 c0t38d0 c0t42d0
(Time passes, the resilver finishes, and zpool status tank01 shows nouse of c0t38d0.)
# zpool attach