From: Eric Sandeen <sandeen@redhat.com>
To: ext4 development <linux-ext4@vger.kernel.org>
Subject: [PATCH 0/3] ext4: don't use quota reservation for speculative metadata blocks
Date: Wed, 07 Apr 2010 16:45:52 -0500 [thread overview]
Message-ID: <4BBCFD10.3030504@redhat.com> (raw)
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 series 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.
The first 2 patches are quota infrastructure changes,
to change __dquot_alloc/free_space to take a flags argument,
and then add a NOFAIL option, so that metadata writes which
tip us over quota can proceed.
The last patch makes the ext4 changes. The whole batch
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.
Thanks,
-Eric
next reply other threads:[~2010-04-07 21:45 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 21:45 Eric Sandeen [this message]
2010-04-07 21:49 ` [PATCH 1/3] quota: use flags interface for dquot alloc/free space Eric Sandeen
2010-04-12 13:22 ` Jan Kara
2010-05-20 22:29 ` tytso
2010-04-07 21:52 ` [PATCH 2/3] quota: add the option to not fail with EDQUOT in block allocation Eric Sandeen
2010-04-12 13:23 ` Jan Kara
2010-05-20 22:32 ` tytso
2010-04-07 21:55 ` [PATCH 3/3] ext4: don't use quota reservation for speculative metadata blocks Eric Sandeen
2010-04-12 13:36 ` Jan Kara
2010-05-20 23:10 ` tytso
2010-04-08 8:20 ` [PATCH 0/3] " Dmitry Monakhov
2010-04-08 15:28 ` Eric Sandeen
2010-04-11 9:37 ` Dmitry Monakhov
2010-04-12 13:15 ` Jan Kara
2010-04-12 13:22 ` Jan Kara
2010-04-12 13:40 ` Dmitry Monakhov
2010-04-12 13:33 ` Dmitry Monakhov
2010-04-12 13:37 ` Dmitry Monakhov
2010-04-12 13:42 ` tytso
2010-04-12 13:52 ` Dmitry Monakhov
2010-04-12 13:55 ` Jan Kara
2010-04-12 14:08 ` Dmitry Monakhov
2010-04-12 14:24 ` Jan Kara
2010-04-12 15:50 ` Eric Sandeen
2010-04-12 2:20 ` tytso
2010-04-12 14:03 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BBCFD10.3030504@redhat.com \
--to=sandeen@redhat.com \
--cc=linux-ext4@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).