Move the minfree=0 and optimization=space options to the global
NANO_MAKEFS variable.
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 73401 Build 70284: arc lint + arc unit
Event Timeline
So minfree=1 or =2 will avoid n^2 behavior in block allocations. If it's a read-only image, then that doesn't matter, but if the final image does a lot of that minfree=0 could be a problem and at least needs an note somewhere.
So on the whole, it's a good change, I think.
That is an interesting observation, my original motivation comes from:
https://github.com/freebsd/poudriere/commit/fd09f8b79b321f318794e5063eae11063e904e8f
where minfree=0 just removes the need to have an 8% free space. I'll look into it (mkimg/ffs code) before committing.
So on the whole, it's a good change, I think.
OK, good to know!
I have analyzed this change a little better. I will abandon it, and remove it from the stack.
Note to self:
By moving minfree=0,optimization=space to the global variable, the _populate_part() function will use this setting as well. _populate_part() is used to create /cfg and /data, which are not read-only, and runtime block allocation could go quadratic.