The behavior of storage space is not so bad on this point. When you add files, it fill disk by step of 10%.
What can be an idea is to be able to configure the step (1%, 5%, etc...).
Currently i'm adding files to my pool, they are added to "J:". Balancer will be rised after that, and move them on G, I or F. H is not allowed on file placement to receive this folder with a lot of day usage, so balancer will only move other files on it. I think in a couple of days/weeks, balancer will end to move other files on H and is usage will grow with my "legacy" files.
What i expect in my dream, when i add a file, the pool will set the file on the disk with the less % of disk usage (if disk free space is enough, and if file placement rules allow it), and evaluate this for each file. If I add 10 files of 2Go, the pool will dispatch them on all disks in real time.
Then the balancer can be rise after (every day, or if files placement is too bad) to reequilibrate if required because the real time can sometime result of not optimal placement.
My goal is to equilibrate the load for write and after for read by balancing it on multiple disks, instead if for now i'm limited with the single USB interface, it's enough to work on 2 or 3 disks are the same time. And in background, i work to optimize that to add more interface for disks in the pool.
I checked the plugin wiki but it seems that plugin can only balancer file after, not be able to be invoked for real time. Another good idea can be to add a way for us to develop our real time plugin. I'm a c# developer and very interested if this can be done to give it a try to create it