I'm always wonder why do we have to allocate space for quota-file as normal file. Because of this we have to grab i_mutex on each quota write. And still getting in to risk of ENOSPC. The later is really annoying issue for me(when i run fsstress tests). Let's live the i_mutex's story for another day and consider the simplest one. Why don't we preallocate a space for quota file during creation. In fact we may imagine some reasonable quota-file size expectation (65538 * 64) = 4Mb, At least this may be sufficient for most use-cases.