<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ext4/balloc.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-28T01:30:15Z</updated>
<entry>
<title>ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()</title>
<updated>2010-10-28T01:30:15Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T01:30:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61d08673de1fe68bfba86203258377bf39f234b6'/>
<id>urn:sha1:61d08673de1fe68bfba86203258377bf39f234b6</id>
<content type='text'>
Fix a namespace leak from fs/ext4

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;


</content>
</entry>
<entry>
<title>ext4: make various ext4 functions be static</title>
<updated>2010-10-28T01:30:14Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T01:30:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f109d5a17b438c4a54cbf6fd87a249e3d72fb21'/>
<id>urn:sha1:1f109d5a17b438c4a54cbf6fd87a249e3d72fb21</id>
<content type='text'>
These functions have no need to be exported beyond file context.

No functions needed to be moved for this commit; just some function
declarations changed to be static and removed from header files.

(A similar patch was submitted by Eric Sandeen, but I wanted to handle
code movement in separate patches to make sure code changes didn't
accidentally get dropped.)

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Clean up s_dirt handling</title>
<updated>2010-06-12T03:14:04Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-06-12T03:14:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0375156ca1041574b5d47cc7e32f10b891151b0'/>
<id>urn:sha1:a0375156ca1041574b5d47cc7e32f10b891151b0</id>
<content type='text'>
We don't need to set s_dirt in most of the ext4 code when journaling
is enabled.  In ext3/4 some of the summary statistics for # of free
inodes, blocks, and directories are calculated from the per-block
group statistics when the file system is mounted or unmounted.  As a
result the superblock doesn't have to be updated, either via the
journal or by setting s_dirt.  There are a few exceptions, most
notably when resizing the file system, where the superblock needs to
be modified --- and in that case it should be done as a journalled
operation if possible, and s_dirt set only in no-journal mode.

This patch will optimize out some unneeded disk writes when using ext4
with a journal.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: don't use quota reservation for speculative metadata</title>
<updated>2010-05-16T15:00:00Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2010-05-16T15:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72b8ab9dde211ea518ff27e631b2046ef90c29a2'/>
<id>urn:sha1:72b8ab9dde211ea518ff27e631b2046ef90c29a2</id>
<content type='text'>
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 &amp; 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 &lt;sandeen@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: consolidate in_range() definitions</title>
<updated>2010-03-04T04:55:01Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2010-03-04T04:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=731eb1a03a8445cde2cb23ecfb3580c6fa7bb690'/>
<id>urn:sha1:731eb1a03a8445cde2cb23ecfb3580c6fa7bb690</id>
<content type='text'>
There are duplicate macro definitions of in_range() in mballoc.h and
balloc.c.  This consolidates these two definitions into ext4.h, and
changes extents.c to use in_range() as well.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Andreas Dilger &lt;adilger@sun.com&gt;
</content>
</entry>
<entry>
<title>ext4: cleanup to use ext4_group_first_block_no()</title>
<updated>2010-03-04T04:53:39Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2010-03-04T04:53:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5661bd6861b7490394e29aaf74dca812188272e4'/>
<id>urn:sha1:5661bd6861b7490394e29aaf74dca812188272e4</id>
<content type='text'>
This is a cleanup and simplification patch which takes some open-coded
calculations to calculate the first block number of a group and
converts them to use the (already defined) ext4_group_first_block_no()
function.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Andreas Dilger &lt;adilger@sun.com&gt;
</content>
</entry>
<entry>
<title>ext4: move __func__ into a macro for ext4_warning, ext4_error</title>
<updated>2010-02-15T19:19:27Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2010-02-15T19:19:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12062dddda450976b129dcb1bacd91acaf4d8030'/>
<id>urn:sha1:12062dddda450976b129dcb1bacd91acaf4d8030</id>
<content type='text'>
Just a pet peeve of mine; we had a mishash of calls with either __func__
or "function_name" and the latter tends to get out of sync.

I think it's easier to just hide the __func__ in a macro, and it'll
be consistent from then on.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: fold ext4_free_blocks() and ext4_mb_free_blocks()</title>
<updated>2009-11-22T12:44:56Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-11-22T12:44:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4433871130f36585fde38e7dd817433296648945'/>
<id>urn:sha1:4433871130f36585fde38e7dd817433296648945</id>
<content type='text'>
ext4_mb_free_blocks() is only called by ext4_free_blocks(), and the
latter function doesn't really do much.  So merge the two functions
together, such that ext4_free_blocks() is now found in
fs/ext4/mballoc.c.  This saves about 200 bytes of compiled text space.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: fix uninit block bitmap initialization when s_meta_first_bg is non-zero</title>
<updated>2009-11-23T12:24:38Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-11-23T12:24:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8dadb198cb70ef811916668fe67eeec82e8858dd'/>
<id>urn:sha1:8dadb198cb70ef811916668fe67eeec82e8858dd</id>
<content type='text'>
The number of old-style block group descriptor blocks is
s_meta_first_bg when the meta_bg feature flag is set.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: stable@kernel.org
</content>
</entry>
<entry>
<title>ext4: open-code ext4_mb_update_group_info</title>
<updated>2009-08-18T03:51:29Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2009-08-18T03:51:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0373130d5bc783751c1fbad948886916a21d4559'/>
<id>urn:sha1:0373130d5bc783751c1fbad948886916a21d4559</id>
<content type='text'>
ext4_mb_update_group_info is only called in one place, and it's
extremely simple.  There's no reason to have it in a separate function
in a separate file as far as I can tell, it just obfuscates what's
really going on.

Perhaps it was intended to keep the grp-&gt;bb_* manipulation local to
mballoc.c but we're already accessing other grp-&gt; fields in balloc.c
directly so this seems ok.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
</feed>
