<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/ext3_fs_i.h, branch tmp/leds/core</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=tmp%2Fleds%2Fcore</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=tmp%2Fleds%2Fcore'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2007-05-09T06:57:56Z</updated>
<entry>
<title>Fix occurrences of "the the "</title>
<updated>2007-05-09T06:57:56Z</updated>
<author>
<name>Michael Opdenacker</name>
<email>michael@free-electrons.com</email>
</author>
<published>2007-05-09T06:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=59c51591a0ac7568824f541f57de967e88adaa07'/>
<id>urn:sha1:59c51591a0ac7568824f541f57de967e88adaa07</id>
<content type='text'>
Signed-off-by: Michael Opdenacker &lt;michael@free-electrons.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3: More whitespace cleanups</title>
<updated>2006-09-27T15:26:10Z</updated>
<author>
<name>Dave Kleikamp</name>
<email>shaggy@austin.ibm.com</email>
</author>
<published>2006-09-27T08:49:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e9ad5620bfb901df8a7a2603c88689ededeecaf1'/>
<id>urn:sha1:e9ad5620bfb901df8a7a2603c88689ededeecaf1</id>
<content type='text'>
More white space cleanups in preparation of cloning ext4 from ext3.
Removing spaces that precede a tab.

Signed-off-by: Dave Kleikamp &lt;shaggy@austin.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3_fsblk_t: the rest of in-kernel filesystem blocks conversion</title>
<updated>2006-06-25T17:01:10Z</updated>
<author>
<name>Mingming Cao</name>
<email>cmm@us.ibm.com</email>
</author>
<published>2006-06-25T12:48:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=43d23f9039fc810ecd621f1e4f9d578eadce058a'/>
<id>urn:sha1:43d23f9039fc810ecd621f1e4f9d578eadce058a</id>
<content type='text'>
Convert the ext3 in-kernel filesystem blocks to ext3_fsblk_t.  Convert the
rest of all unsigned long type in-kernel filesystem blocks to ext3_fsblk_t,
and replace the printk format string respondingly.

Signed-off-by: Mingming Cao &lt;cmm@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3_fsblk_t: filesystem, group blocks and bug fixes</title>
<updated>2006-06-25T17:01:10Z</updated>
<author>
<name>Mingming Cao</name>
<email>cmm@us.ibm.com</email>
</author>
<published>2006-06-25T12:48:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2'/>
<id>urn:sha1:1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2</id>
<content type='text'>
Some of the in-kernel ext3 block variable type are treated as signed 4 bytes
int type, thus limited ext3 filesystem to 8TB (4kblock size based).  While
trying to fix them, it seems quite confusing in the ext3 code where some
blocks are filesystem-wide blocks, some are group relative offsets that need
to be signed value (as -1 has special meaning).  So it seem saner to define
two types of physical blocks: one is filesystem wide blocks, another is
group-relative blocks.  The following patches clarify these two types of
blocks in the ext3 code, and fix the type bugs which limit current 32 bit ext3
filesystem limit to 8TB.

With this series of patches and the percpu counter data type changes in the mm
tree, we are able to extend exts filesystem limit to 16TB.

This work is also a pre-request for the recent &gt;32 bit ext3 work, and makes
the kernel to able to address 48 bit ext3 block a lot easier: Simply redefine
ext3_fsblk_t from unsigned long to sector_t and redefine the format string for
ext3 filesystem block corresponding.

Two RFC with a series patches have been posted to ext2-devel list and have
been reviewed and discussed:
http://marc.theaimsgroup.com/?l=ext2-devel&amp;m=114722190816690&amp;w=2

http://marc.theaimsgroup.com/?l=ext2-devel&amp;m=114784919525942&amp;w=2

Patches are tested on both 32 bit machine and 64 bit machine, &lt;8TB ext3 and
&gt;8TB ext3 filesystem(with the latest to be released e2fsprogs-1.39).  Tests
includes overnight fsx, tiobench, dbench and fsstress.

This patch:

Defines ext3_fsblk_t and ext3_grpblk_t, and the printk format string for
filesystem wide blocks.

This patch classifies all block group relative blocks, and ext3_fsblk_t blocks
occurs in the same function where used to be confusing before.  Also include
kernel bug fixes for filesystem wide in-kernel block variables.  There are
some fileystem wide blocks are treated as int/unsigned int type in the kernel
currently, especially in ext3 block allocation and reservation code.  This
patch fixed those bugs by converting those variables to ext3_fsblk_t(unsigned
long) type.

Signed-off-by: Mingming Cao &lt;cmm@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] convert ext3's truncate_sem to a mutex</title>
<updated>2006-03-23T15:38:14Z</updated>
<author>
<name>Arjan van de Ven</name>
<email>arjan@infradead.org</email>
</author>
<published>2006-03-23T11:00:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=97461518610fb1679f67333bb699bb81136e49fe'/>
<id>urn:sha1:97461518610fb1679f67333bb699bb81136e49fe</id>
<content type='text'>
ext3's truncate_sem is always released in the same function it's taken
and it otherwise is a mutex as well..

Signed-off-by: Arjan van de Ven &lt;arjan@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] mutex subsystem, semaphore to mutex: VFS, -&gt;i_sem</title>
<updated>2006-01-09T23:59:24Z</updated>
<author>
<name>Jes Sorensen</name>
<email>jes@sgi.com</email>
</author>
<published>2006-01-09T23:59:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1b1dcc1b57a49136f118a0f16367256ff9994a69'/>
<id>urn:sha1:1b1dcc1b57a49136f118a0f16367256ff9994a69</id>
<content type='text'>
This patch converts the inode semaphore to a mutex. I have tested it on
XFS and compiled as much as one can consider on an ia64. Anyway your
luck with it might be different.

Modified-by: Ingo Molnar &lt;mingo@elte.hu&gt;

(finished the conversion)

Signed-off-by: Jes Sorensen &lt;jes@sgi.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3: move goal logical block into block allocation info structure</title>
<updated>2005-04-04T00:39:47Z</updated>
<author>
<name>Mingming Cao</name>
<email>cmm@us.ibm.com</email>
</author>
<published>2005-04-04T00:39:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a9aab1ec2eaa11abc7d1b61276e840360bf39568'/>
<id>urn:sha1:a9aab1ec2eaa11abc7d1b61276e840360bf39568</id>
<content type='text'>
Moved i_next_alloc_block and i_next_goal_block out from ext3_inod_info, and
put it together with the reservation structure into the
ext3_block_alloc_info structure, and dynamically allocate that structure
whenever need to allocation a block.  This is also apply for noreservation
mount.  Also cleanup ext3_find_goal() code.

Signed-off-by: Mingming Cao &lt;cmm@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3: reservation info cleanup: remove rsv_seqlock</title>
<updated>2005-04-04T00:39:31Z</updated>
<author>
<name>Mingming Cao</name>
<email>cmm@us.ibm.com</email>
</author>
<published>2005-04-04T00:39:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3bc0a5f5c161254ccce512842627dab97a646a70'/>
<id>urn:sha1:3bc0a5f5c161254ccce512842627dab97a646a70</id>
<content type='text'>
Since now the ei-&gt;truncate_sem is guarding the concurrent allocation and
the deallocation, there is no need to use the the rsv_seqlock lock in the
ext3_reserve_window_node, which was there to protect using/allocating
reservation window race between two threads allocating blocks at the same
time.

Signed-off-by: Mingming Cao &lt;cmm@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3: dynamic allocation of block reservation info</title>
<updated>2005-04-04T00:39:16Z</updated>
<author>
<name>Mingming Cao</name>
<email>cmm@us.ibm.com</email>
</author>
<published>2005-04-04T00:39:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1f374d8cc10fd9932359bf5928ed04bdbeca97b1'/>
<id>urn:sha1:1f374d8cc10fd9932359bf5928ed04bdbeca97b1</id>
<content type='text'>
Right now the ext3 reservation structure(ext3_reserve_window_node) is part of
the ext3 inode itself.  This part of information is only needed for files that
need allocate blocks on disk.  So, the attached patches reduce the ext3 inode
size by dynamically allocating the block allocation/reservation info
structure(called struct ext3_block_alloc_info) when it is needed(i.e.  only
for files who need to allocate blocks)

The reservation structure is being allocated and linked to the ext3 inode at
  ext3_get_block_handle(), and being freed and unlinked at the
iput_final-&gt;ext3_clear_inode().

The ei-&gt;truncate_sem which is currently used to protect concurrent
ext3_get_block() and ext3_truncate is used to protect reservation structure
allocation and deallocation.

Signed-off-by: Mingming Cao &lt;cmm@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ext3: support for EA in inode</title>
<updated>2005-01-04T13:29:07Z</updated>
<author>
<name>Alex Tomas</name>
<email>alex@clusterfs.com</email>
</author>
<published>2005-01-04T13:29:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=78085a465d71ca7b1bb20941326b2abe995f1f8c'/>
<id>urn:sha1:78085a465d71ca7b1bb20941326b2abe995f1f8c</id>
<content type='text'>
1) intent of the patch is to get possibility to store EAs in the body of large
   inode. it saves space and improves performance in some cases

2) the patch is quite simple: it works the same way original xattr does, but
   using other storage (inode body). body has priority over separate block.
   original routines (ext3_xattr_get, ext3_xattr_list, ext3_xattr_set) are
   renamed to ext3_xattr_block_*. new routines that handle inode storate are
   added (ext3_xattr_ibody_get, ext3_xattr_ibody_list, ext3_xattr_ibody_set).
   routines ext3_xattr_get, ext3_xattr_list and ext3_xattr_set allow user to
   accesss both the storages transparently

3) the change makes sense on filesystem with inode size &gt;= 256 bytes only.
   2.4 kernels don't support such a filesystems, AFAIK. 2.6 kernels do support
   and ignore EAs stored in a body w/o the patch

4) debugfs and e2fsck need to be patched to deal with EAs in inode
   the patch will be sent later

5) testing results:
	a) Andrew Samba Master (tridge) has done successful tests
	b) we've been using ea-in-inode feature in Lustre for many months

Signed-off-by: Andreas Dilger &lt;adilger@clusterfs.com&gt;
Signed-off-by: Alex Tomas &lt;alex@clusterfs.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
