<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/ext3/dir.c, branch v3.10.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/ext3/dir.c?h=v3.10.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/ext3/dir.c?h=v3.10.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-02-23T04:31:31Z</updated>
<entry>
<title>new helper: file_inode(file)</title>
<updated>2013-02-23T04:31:31Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2013-01-23T22:07:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=496ad9aa8ef448058e36ca7a787c61f2e63f0f54'/>
<id>urn:sha1:496ad9aa8ef448058e36ca7a787c61f2e63f0f54</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>lseek: the "whence" argument is called "whence"</title>
<updated>2012-12-18T01:15:12Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@linux-foundation.org</email>
</author>
<published>2012-12-17T23:59:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=965c8e59cfcf845ecde2265a1d1bfee5f011d302'/>
<id>urn:sha1:965c8e59cfcf845ecde2265a1d1bfee5f011d302</id>
<content type='text'>
But the kernel decided to call it "origin" instead.  Fix most of the
sites.

Acked-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ext3: pass custom EOF to generic_file_llseek_size()</title>
<updated>2012-07-22T20:00:30Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2012-04-30T18:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=de9b9422026357c878a9fa3714936be0e1388e9c'/>
<id>urn:sha1:de9b9422026357c878a9fa3714936be0e1388e9c</id>
<content type='text'>
Use the new custom EOF argument to generic_file_llseek_size so
that SEEK_END will go to the max hash value for htree dirs
in ext3 rather than to i_size_read()

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: allow custom EOF in generic_file_llseek code</title>
<updated>2012-07-22T20:00:15Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2012-04-30T18:11:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e8b96eb5034a0ccebf36760f88e31ea3e3cdf1e4'/>
<id>urn:sha1:e8b96eb5034a0ccebf36760f88e31ea3e3cdf1e4</id>
<content type='text'>
For ext3/4 htree directories, using the vfs llseek function with
SEEK_END goes to i_size like for any other file, but in reality
we want the maximum possible hash value.  Recent changes
in ext4 have cut &amp; pasted generic_file_llseek() back into fs/ext4/dir.c,
but replicating this core code seems like a bad idea, especially
since the copy has already diverged from the vfs.

This patch updates generic_file_llseek_size to accept
both a custom maximum offset, and a custom EOF position.  With this
in place, ext4_dir_llseek can pass in the appropriate maximum hash
position for both maxsize and eof, and get what it wants.

As far as I know, this does not fix any bugs - nfs in the kernel
doesn't use SEEK_END, and I don't know of any user who does.  But
some ext4 folks seem keen on doing the right thing here, and I can't
really argue.

(Patch also fixes up some comments slightly)

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext3: return 32/64-bit dir name hash according to usage type</title>
<updated>2012-05-15T21:34:39Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2012-04-26T18:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d7dab39b6e16d5eea78ed3c705d2a2d0772b4f06'/>
<id>urn:sha1:d7dab39b6e16d5eea78ed3c705d2a2d0772b4f06</id>
<content type='text'>
This is based on commit d1f5273e9adb40724a85272f248f210dc4ce919a
ext4: return 32/64-bit dir name hash according to usage type
by Fan Yong &lt;yong.fan@whamcloud.com&gt;

Traditionally ext2/3/4 has returned a 32-bit hash value from llseek()
to appease NFSv2, which can only handle a 32-bit cookie for seekdir()
and telldir().  However, this causes problems if there are 32-bit hash
collisions, since the NFSv2 server can get stuck resending the same
entries from the directory repeatedly.

Allow ext3 to return a full 64-bit hash (both major and minor) for
telldir to decrease the chance of hash collisions.

This patch does implement a new ext3_dir_llseek op, because with 64-bit
hashes, nfs will attempt to seek to a hash "offset" which is much
larger than ext3's s_maxbytes.  So for dx dirs, we call
generic_file_llseek_size() with the appropriate max hash value as the
maximum seekable size.  Otherwise we just pass through to
generic_file_llseek().

Patch-updated-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
Patch-updated-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
(blame us if something is not correct)

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>ext3: move headers to fs/ext3/</title>
<updated>2012-03-31T20:03:16Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-03-30T02:30:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4613ad180d19082f99551477dcb13cb23d23661b'/>
<id>urn:sha1:4613ad180d19082f99551477dcb13cb23d23661b</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext3: speed up file creates by optimizing rec_len functions</title>
<updated>2011-01-10T18:04:07Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2010-12-07T17:55:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a4ae3094869f18e26ece25ad175bbe4cd740e60b'/>
<id>urn:sha1:a4ae3094869f18e26ece25ad175bbe4cd740e60b</id>
<content type='text'>
The addition of 64k block capability in the rec_len_from_disk
and rec_len_to_disk functions added a bit of math overhead which
slows down file create workloads needlessly when the architecture
cannot even support 64k blocks, thanks to page size limits.

Similar changes already exist in the ext4 codebase.

The directory entry checking can also be optimized a bit
by sprinkling in some unlikely() conditions to move the
error handling out of line.

bonnie++ sequential file creates on a 512MB ramdisk speeds up
from about 77,000/s to about 82,000/s, about a 6% improvement.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>ext3 uses rb_node = NULL; to zero rb_root.</title>
<updated>2010-05-27T15:39:36Z</updated>
<author>
<name>Venkatesh Pallipadi</name>
<email>venkatesh.pallipadi@intel.com</email>
</author>
<published>2010-05-25T14:03:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1513b02c8b537af275ea74fdfb380c618b9e6778'/>
<id>urn:sha1:1513b02c8b537af275ea74fdfb380c618b9e6778</id>
<content type='text'>
The problem with this is that 17d9ddc72fb8bba0d4f678 ("rbtree: Add support
for augmented rbtrees") in the linux-next tree adds a new field to that
struct which needs to be NULLas well.  This patch uses RB_ROOT as the
intializer so all of the relevant fields will be NULL'd.

Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;
Cc: Eric Paris &lt;eparis@redhat.com&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()</title>
<updated>2009-07-15T19:30:46Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2009-05-20T16:41:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=43237b5490e8f2f4679decd660064ff35ce490cc'/>
<id>urn:sha1:43237b5490e8f2f4679decd660064ff35ce490cc</id>
<content type='text'>
Get rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to
be a relict from some old days and setting disksize in this function does not
make much sence. Currently it was set only by ext3_getblk().  Since the
parameter has some effect only if create == 1, it is easy to check that the
three callers which end up calling ext3_getblk() with create == 1 (ext3_append,
ext3_quota_write, ext3_mkdir) do the right thing and set disksize themselves.

Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>ext3: remove the BKL in ext3/ioctl.c</title>
<updated>2009-04-03T02:04:52Z</updated>
<author>
<name>Cyrus Massoumi</name>
<email>cyrusm@gmx.net</email>
</author>
<published>2009-04-02T23:57:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=039fd8ce6258e01ec29f1637f9bf1868dd877c55'/>
<id>urn:sha1:039fd8ce6258e01ec29f1637f9bf1868dd877c55</id>
<content type='text'>
Reformat ext3/ioctl.c to make it look more like ext4/ioctl.c and remove
the BKL around ext3_ioctl().

Signed-off-by: Cyrus Massoumi &lt;cyrusm@gmx.net&gt;
Cc: &lt;linux-ext4@vger.kernel.org&gt;
Acked-by: Jan Kara &lt;jack@ucw.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
