On Fri, 28 Sep 2007 12:16:54 +0300 Artem Bityutskiy <dedekind@yandex.ru> wrote:This is precisely the problem which needs to be solved for delayed allocation on ext2/3/4. This is because it is infeasible to work out how much disk space an ext2 pagecache page will take to write out (it will require zero to three indirect blocks as well). When I did delalloc-for-ext2, umm, six years ago I did maximally-pessimistic in-memory space accounting and I think I just ran a superblock-wide sync operation when ENOSPC was about to happen. That caused all the pessimistic reservations to be collapsed into real ones, releasing space. So as the disk neared a real ENOSPC, the syncs becaome more frequent. But the overhead was small. I expect that a similar thing was done in the ext4 delayed allocation patches - you should take a look at that and see what can be shared/generalised/etc. ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/LATEST/broken-out/ Although, judging by the comment in here: ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/LATEST/broken-out/ext4... + * TODO: + * MUST: + * - flush dirty pages in -ENOSPC case in order to free reserved blocks things need a bit more work. Hopefully that's a dead comment. <looks> omigod, that thing has gone and done a clone-and-own on half the VFS. Anyway, I doubt if you'll be able to find a design description anyway but you should spend some time picking it apart. It is the same problem.. -
| Parag Warudkar | BUG: soft lockup - CPU#1 stuck for 15s! [swapper:0] |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 010/196] Chinese: add translation of Codingstyle |
| Andrew Morton | -mm merge plans for 2.6.23 |
git: | |
| Gerrit Renker | [PATCH 24/37] dccp: Processing Confirm options |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Alexey Dobriyan | Re: [GIT]: Networking |
| david | Re: iptables very slow after commit 784544739a25c30637397ace5489eeb6e15d7d49 |
