So over-provisioning has to be done before any writes to the drive? What if I want to over-provision a used drive? Discard all blocks first?
The easiest way to achieve this is to create a partition with no filesystem, and use blkdiscard or similar to trim the LBAs corresponding to that partition.