<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/gfs2/bmap.c, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-10-20T13:13:40Z</updated>
<entry>
<title>[GFS2] Fix bmap to map extents properly</title>
<updated>2006-10-20T13:13:40Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-10-13T21:25:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23591256d61354e20f12e98d7a496ad5c23de74c'/>
<id>urn:sha1:23591256d61354e20f12e98d7a496ad5c23de74c</id>
<content type='text'>
This fix means that bmap will map extents of the length requested
by the VFS rather than guessing at it, or just mapping one block
at a time. The other callers of gfs2_block_map are audited to ensure
they send the correct max extent lengths (i.e. set bh-&gt;b_size correctly).

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2] Remove uneeded endian conversion</title>
<updated>2006-10-02T16:39:19Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-10-02T16:39:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48516ced21e83a755ebae3d1ed03f1731befc391'/>
<id>urn:sha1:48516ced21e83a755ebae3d1ed03f1731befc391</id>
<content type='text'>
In many places GFS2 was calling the endian conversion routines
for an inode even when only a single field, or a few fields might
have changed. As a result we were copying lots of data needlessly.

This patch replaces those calls with conversion of just the
required fields in each case. This should be faster and easier
to understand. There are still other places which suffer from this
problem, but this is a start in the right direction.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2/DLM] Fix trailing whitespace</title>
<updated>2006-09-25T13:26:04Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-09-25T13:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=907b9bceb41fa46beae93f79cc4a2247df502c0f'/>
<id>urn:sha1:907b9bceb41fa46beae93f79cc4a2247df502c0f</id>
<content type='text'>
As per Andrew Morton's request, removed trailing whitespace.

Cc: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2] Tidy up meta_io code</title>
<updated>2006-09-21T21:05:23Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-09-21T21:05:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7276b3b0c77101f8b3f4e45e89a29cf9045e831a'/>
<id>urn:sha1:7276b3b0c77101f8b3f4e45e89a29cf9045e831a</id>
<content type='text'>
Fix a bug in the directory reading code, where we might have dereferenced
a NULL pointer in case of OOM. Updated the directory code to use the new
&amp; improved version of gfs2_meta_ra() which now returns the first block
that was being read. Previously it was releasing it requiring following
code to grab the block again at each point it was called.

Also turned off readahead on directory lookups since we are reading a
hash table, and therefore reading the entries in order is very
unlikely. Readahead is still used for all other calls to the
directory reading function (e.g. when growing the hash table).

Removed the DIO_START constant. Everywhere this was used, it was
used to unconditionally start i/o aside from a couple of places, so
I've removed it and made the couple of exceptions to this rule into
separate functions.

Also hunted through the other DIO flags and removed them as arguments
from functions which were always called with the same combination of
arguments.

Updated gfs2_meta_indirect_buffer to be a bit more efficient and
hopefully also be a bit easier to read.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2] Export lm_interface to kernel headers</title>
<updated>2006-09-19T12:45:18Z</updated>
<author>
<name>Fabio Massimo Di Nitto</name>
</author>
<published>2006-09-19T05:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d308590ae60d1f038a54a94e78a385c5c163452'/>
<id>urn:sha1:7d308590ae60d1f038a54a94e78a385c5c163452</id>
<content type='text'>
lm_interface.h has a few out of the tree clients such as GFS1
and userland tools.

Right now, these clients keeps a copy of the file in their build tree
that can go out of sync.

Move lm_interface.h to include/linux, export it to userland and
clean up fs/gfs2 to use the new location.

Signed-off-by: Fabio M. Di Nitto &lt;fabbione@ubuntu.com&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;

</content>
</entry>
<entry>
<title>[GFS2] inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-vs-gfs2</title>
<updated>2006-09-19T12:43:01Z</updated>
<author>
<name>akpm@osdl.org</name>
</author>
<published>2006-09-19T05:16:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f3b30912e0eab0e4160c7649a5f2b10be68027b9'/>
<id>urn:sha1:f3b30912e0eab0e4160c7649a5f2b10be68027b9</id>
<content type='text'>
i_blksize got removed in -mm.

Cc: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;

</content>
</entry>
<entry>
<title>[GFS2] Map multiple blocks at once where possible</title>
<updated>2006-09-18T21:18:23Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-09-18T21:18:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a6bbacbb8dec6fbd1242c959250388f907d429e'/>
<id>urn:sha1:7a6bbacbb8dec6fbd1242c959250388f907d429e</id>
<content type='text'>
This is a tidy up of the GFS2 bmap code. The main change is that the
bh is passed to gfs2_block_map allowing the flags to be set directly
rather than having to repeat that code several times in ops_address.c.

At the same time, the extent mapping code from gfs2_extent_map has
been moved into gfs2_block_map. This allows all calls to gfs2_block_map
to map extents in the case that no allocation is taking place. As a
result reads and non-allocating writes should be faster. A quick test
with postmark appears to support this.

There is a limit on the number of blocks mapped in a single bmap
call in that it will only ever map blocks which are pointed to
from a single pointer block. So in other words, it will never try
to do additional i/o in order to satisfy read-ahead. The maximum
number of blocks is thus somewhat less than 512 (the GFS2 4k block
size minus the header divided by sizeof(u64)). I've further limited
the mapping of "normal" blocks to 32 blocks (to avoid extra work)
since readpages() will currently read a maximum of 32 blocks ahead (128k).

Some further work will probably be needed to set a suitable value
for DIO as well, but for now thats left at the maximum 512 (see
ops_address.c:gfs2_get_block_direct).

There is probably a lot more that can be done to improve bmap for GFS2,
but this is a good first step.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2] More style changes</title>
<updated>2006-09-07T13:42:56Z</updated>
<author>
<name>Jan Engelhardt</name>
</author>
<published>2006-09-05T12:30:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c53921248c79197befa7caa4c17b1af5c077a2c2'/>
<id>urn:sha1:c53921248c79197befa7caa4c17b1af5c077a2c2</id>
<content type='text'>
Remove redundant brackets

Signed-off-by: Jan Engelhardt &lt;jengelh@linux01.gwdg.de&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;

</content>
</entry>
<entry>
<title>[GFS2] Remove a cast, tidy gfs2_inode_attr_in</title>
<updated>2006-09-04T17:55:48Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-09-04T17:55:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c26687113aea9a11c6f23ddf668f1fe43eca4ce7'/>
<id>urn:sha1:c26687113aea9a11c6f23ddf668f1fe43eca4ce7</id>
<content type='text'>
The remains of the changes for Jan Engelhardt's third email. Remove
a cast and tidy up gfs2_inode_attr_in.

Cc: Jan Engelhardt &lt;jengelh@linux01.gwdg.de&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>[GFS2] Change all types to uX style</title>
<updated>2006-09-04T16:49:07Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2006-09-04T16:49:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd915493fce912f1bd838ee1250737ecf33b8fae'/>
<id>urn:sha1:cd915493fce912f1bd838ee1250737ecf33b8fae</id>
<content type='text'>
This makes all fixed size types have consistent names.

Cc: Jan Engelhardt &lt;jengelh@linux01.gwdg.de&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
</feed>
