WIP fixes
fixed leak, trying to determine cause of deadlock/freeze
WIP - optimization
Subclassed IOCommand as a vdev IO context that can be reused rather than allocated for each IO.
Using two IOCommandPools, one for in and out. One pool works as well, originally implemented that way but split to two for the memory descriptors-
Attempted to re-use the IOBufferMemoryDescriptors without reallocation, however they must be allocated with the correct transfer size anyway. Perhaps there’s another way to do this.
In the meantime, 8 in contexts and 8 out contexts are allocated per vdev, and each will allocate and release a memory descriptor per transfer.