<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ext4/namei.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-12-15T02:45:31Z</updated>
<entry>
<title>ext4: fix typo which broke '..' detection in ext4_find_entry()</title>
<updated>2010-12-15T02:45:31Z</updated>
<author>
<name>Aaro Koskinen</name>
</author>
<published>2010-12-15T02:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff'/>
<id>urn:sha1:6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff</id>
<content type='text'>
There should be a check for the NUL character instead of '0'.

Fortunately the only thing that cares about this is NFS serving, which
is why we didn't notice this in the merge window testing.

Reported-by: Phil Carmody &lt;ext-phil.2.carmody@nokia.com&gt;
Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@nokia.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'next' into upstream-merge</title>
<updated>2010-10-28T03:44:47Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a107e5a3a473a2ea62bd5af24e11b84adf1486ff'/>
<id>urn:sha1:a107e5a3a473a2ea62bd5af24e11b84adf1486ff</id>
<content type='text'>
Conflicts:
	fs/ext4/inode.c
	fs/ext4/mballoc.c
	include/trace/events/ext4.h
</content>
</entry>
<entry>
<title>ext4: use search_dirblock() in ext4_dx_find_entry()</title>
<updated>2010-10-28T01:30:08Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T01:30:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7845c0497536c566bfef08db1a38ae1ad2c25464'/>
<id>urn:sha1:7845c0497536c566bfef08db1a38ae1ad2c25464</id>
<content type='text'>
Use the search_dirblock() in ext4_dx_find_entry().  It makes the code
easier to read, and it takes advantage of common code.  It also saves
100 bytes or so of text space.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Brad Spengler &lt;spender@grsecurity.net&gt;
</content>
</entry>
<entry>
<title>ext4: avoid uninitialized memory references in ext3_htree_next_block()</title>
<updated>2010-10-28T01:30:08Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T01:30:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8941ec8bb6443d28d5c25311870aeaa809cf1538'/>
<id>urn:sha1:8941ec8bb6443d28d5c25311870aeaa809cf1538</id>
<content type='text'>
If the first block of htree directory is missing '.' or '..' but is
otherwise a valid directory, and we do a lookup for '.' or '..', it's
possible to dereference an uninitialized memory pointer in
ext4_htree_next_block().

We avoid this by moving the special case from ext4_dx_find_entry() to
ext4_find_entry(); this also means we can optimize ext4_find_entry()
slightly when NFS looks up "..".

Thanks to Brad Spengler for pointing a Clang warning that led me to
look more closely at this code.  The warning was harmless, but it was
useful in pointing out code that was too ugly to live.  This warning was
also reported by Roman Borisov.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Brad Spengler &lt;spender@grsecurity.net&gt;
</content>
</entry>
<entry>
<title>new helper: ihold()</title>
<updated>2010-10-26T01:26:11Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-10-23T15:11:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f'/>
<id>urn:sha1:7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f</id>
<content type='text'>
Clones an existing reference to inode; caller must already hold one.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: re-inline ext4_rec_len_(to|from)_disk functions</title>
<updated>2010-08-05T05:46:37Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2010-08-05T05:46:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0cfc9255a1efb0467de2162950197750570ecec0'/>
<id>urn:sha1:0cfc9255a1efb0467de2162950197750570ecec0</id>
<content type='text'>
commit 3d0518f4, "ext4: New rec_len encoding for very
large blocksizes" made several changes to this path, but from
a perf perspective, un-inlining ext4_rec_len_from_disk() seems
most significant.  This function is called from ext4_check_dir_entry(),
which on a file-creation workload is called extremely often.

I tested this with bonnie:

# bonnie++ -u root -s 0 -f -x 200 -d /mnt/test -n 32

(this does 200 iterations) and got this for the file creations:

ext4 stock:   Average =  21206.8 files/s
ext4 inlined: Average =  22346.7 files/s  (+5%)

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: Cleanup ext4_check_dir_entry so __func__ is now implicit</title>
<updated>2010-07-27T15:54:40Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-07-27T15:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=60fd4da34d55a9cc0d857fc76dc12cf8cab4ed02'/>
<id>urn:sha1:60fd4da34d55a9cc0d857fc76dc12cf8cab4ed02</id>
<content type='text'>
    
Also start passing the line number to ext4_check_dir since we're going
to need it in upcoming patch.
    
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: remove initialized but not read variables</title>
<updated>2010-06-14T17:28:03Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2010-06-14T17:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a0790c2c4a18435759a70e1562450035d778339'/>
<id>urn:sha1:5a0790c2c4a18435759a70e1562450035d778339</id>
<content type='text'>
No real bugs found, just removed some dead code.

Found by gcc 4.6's new warnings.

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Make fsync sync new parent directories in no-journal mode</title>
<updated>2010-05-17T12:00:00Z</updated>
<author>
<name>Frank Mayhar</name>
</author>
<published>2010-05-17T12:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=14ece1028b3ed53ffec1b1213ffc6acaf79ad77c'/>
<id>urn:sha1:14ece1028b3ed53ffec1b1213ffc6acaf79ad77c</id>
<content type='text'>
Add a new ext4 state to tell us when a file has been newly created; use
that state in ext4_sync_file in no-journal mode to tell us when we need
to sync the parent directory as well as the inode and data itself.  This
fixes a problem in which a panic or power failure may lose the entire
file even when using fsync, since the parent directory entry is lost.

Addresses-Google-Bug: #2480057

Signed-off-by: Frank Mayhar &lt;fmayhar@google.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Drop whitespace at end of lines</title>
<updated>2010-05-17T11:00:00Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-05-17T11:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=60e6679e28518ccd67169c4a539d8cc7490eb8a6'/>
<id>urn:sha1:60e6679e28518ccd67169c4a539d8cc7490eb8a6</id>
<content type='text'>
This patch was generated using:

#!/usr/bin/perl -i
while (&lt;&gt;) {
    s/[ 	]+$//;
    print;
}

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