Next version of
will have a proper understanding of machine's entire storage stack - lettered drives, simple, dynamic and virtual volumes, physical disks, their types, models, connection details, health data, etc.
This will allow the backup engine to automatically adapt its IO strategy to specific devices used in any given backup job. It will also let the program to keep an eye on the devices' health, which is not a bad thing to have either.
The storage stack scanner is adapted from another project of ours called
and the IO profiling logic is based on the data gathered through
While the scanner part is anything but trivial, the most time-consuming part, as per usual, was the UI.
There's a lot of information to be displayed - both the
of volumes and devices, and how they
to each other.
As you likely
, a device may host multiple volumes and a volume may span multiple devices. So in a most general case it's a full-mesh, which is the reason why we can't display volumes and devices as a simple hierarchy.
So, after going...
... through ...
... some ...
... options ...
... it became obvious that having
two lines per entry
was a way to go and that volumes and devices should be on
After a bit more sketching the lists arranged themselves into two columns and the scroll bar of the left list went to the
I must say that the idea of placing that damn scroll bar on the left took
too long to converge to. For whatever reason it's just a strangely
obvious thing to do...
In any case, the result is a layout where we can display relations between volumes and devices with literal, drawn
After that just needed to take care of smaller details like scrolling slits...
and connector points...
and, voilà, we now have something that is both usable and reasonably good-looking.
Still to be added is a separate pane for displaying further details - device hardware info, SMART data, etc. This pane will sit at the bottom of the window and will switch between showing volume and device details depending on what's selected above.
Stay tuned for the updates :)