There are some points that should be kept in mind:
* this error is (quite possibly) a result of a race; the tests we usually conduct are stress tests -- in this case, we try to allocate a few hundreds of volumes in one single sweep -- we are requesting volume creation faster than volumes can be created, so we are more prone to the race condition(s).
* files are allocated in *sparse* mode -- so a newly-created 1Gbytes file will actually use just a few tens of Kbytes. This means it is much more difficult to run out of space (by at least two orders of magnitude).
* if the loop device is not unallocated, then there is a (perhaps higher) chance of running out of loop devices -- we have the system preset to allocate 512 such devices --. But, still, there is an easy bypass: just create more loop devices.
There are some points that should be kept in mind:
* this error is (quite possibly) a result of a race; the tests we usually conduct are stress tests -- in this case, we try to allocate a few hundreds of volumes in one single sweep -- we are requesting volume creation faster than volumes can be created, so we are more prone to the race condition(s).
* files are allocated in *sparse* mode -- so a newly-created 1Gbytes file will actually use just a few tens of Kbytes. This means it is much more difficult to run out of space (by at least two orders of magnitude).
* if the loop device is not unallocated, then there is a (perhaps higher) chance of running out of loop devices -- we have the system preset to allocate 512 such devices --. But, still, there is an easy bypass: just create more loop devices.