All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/3] Block reservation for ext3
@ 2010-10-09  0:12 Jan Kara
  2010-10-09  0:12 ` [PATCH 1/3] vfs: Unmap underlying metadata of new data buffers only when buffer is mapped Jan Kara
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Jan Kara @ 2010-10-09  0:12 UTC (permalink / raw)
  To: linux-ext4; +Cc: Andrew Morton


  Hi,

  currently, when mmapped write is done to a file backed by ext3, the
filesystem does nothing to make sure blocks will be available when we need
to write them out. This has two nasty consequences:
  1) When flusher thread does writeback of the mmapped data, allocation
     happens in the context of flusher thread (i.e., as root). Thus user
     can effectively arbitrarily exceed quota limits or use space reserved
     only for sysadmin.
  2) When a filesystem runs out of space, we just silently drop data on the
     floor (the same happens when writeout is performed in the context of
     the user and he hits his quota limit).

  I think these problems are serious enough (especially (1) about which I was
notified lately) so that we try to fix them in ext3. The trouble is that the
fix in non-trivial. We have to basically implement delayed allocation for ext3
- block reservation happens on page_mkwrite() time and we convert the
reservation into a real allocation during writeout. Note: Of course, we could
use a much simpler solution and just do block allocation directly at
page_mkwrite() time but that really cripples performance for loads that do
random writes via mmap - I've tried that some time ago.
  The patches in this series (against 2.6.26-rc7) implement this. They
survived some testing with fsx-linux, I'll do more and also some performance
testing.
  So I'd like to hear what other people think about this. Reviews or
testing are welcome ;)

								Honza

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-10-14 15:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-09  0:12 [PATCH RFC 0/3] Block reservation for ext3 Jan Kara
2010-10-09  0:12 ` [PATCH 1/3] vfs: Unmap underlying metadata of new data buffers only when buffer is mapped Jan Kara
2010-10-09  0:12 ` [PATCH 2/3] vfs: Implement generic per-cpu counters for delayed allocation Jan Kara
2010-10-09  7:44   ` Christoph Hellwig
2010-10-09  0:12 ` [PATCH 3/3] ext3: Implement delayed allocation on page_mkwrite time Jan Kara
2010-10-09 18:03 ` [PATCH RFC 0/3] Block reservation for ext3 Ted Ts'o
2010-10-11 14:28   ` Jan Kara
2010-10-11 21:59     ` Andrew Morton
2010-10-12 23:14       ` Jan Kara
2010-10-13  0:17         ` Ted Ts'o
     [not found]         ` <AANLkTimqbW7+wsXVoLa1Tx0K3VaDfrYKUE8owyD1VUxO@mail.gmail.com>
2010-10-13  8:49           ` Amir G.
2010-10-13 16:14             ` Amir G.
2010-10-14 15:57               ` Jan Kara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.