summaryrefslogtreecommitdiff
path: root/arch/um/Kconfig.char
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2010-05-16 11:00:00 -0400
committerTheodore Ts'o <tytso@mit.edu>2010-05-16 11:00:00 -0400
commit72b8ab9dde211ea518ff27e631b2046ef90c29a2 (patch)
treef63fc1894bcc39c81060e2fd8b21bedd07a1e958 /arch/um/Kconfig.char
parent0e05842bc117ea70ceb979cca798fd026879951b (diff)
ext4: don't use quota reservation for speculative metadata
Because we can badly over-reserve metadata when we calculate worst-case, it complicates things for quota, since we must reserve and then claim later, retry on EDQUOT, etc. Quota is also a generally smaller pool than fs free blocks, so this over-reservation hurts more, and more often. I'm of the opinion that it's not the worst thing to allow metadata to push a user slightly over quota. This simplifies the code and avoids the false quota rejections that result from worst-case speculation. This patch stops the speculative quota-charging for worst-case metadata requirements, and just charges quota when the blocks are allocated at writeout. It also is able to remove the try-again loop on EDQUOT. This patch has been tested indirectly by running the xfstests suite with a hack to mount & enable quota prior to the test. I also did a more specific test of fragmenting freespace and then doing a large delalloc write under quota; quota stopped me at the right amount of file IO, and then the writeout generated enough metadata (due to the fragmentation) that it put me slightly over quota, as expected. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'arch/um/Kconfig.char')
0 files changed, 0 insertions, 0 deletions