<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs, branch v2.6.18-rc7</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6</title>
<updated>2006-09-13T00:34:46+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2006-09-13T00:34:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=48c068e0f49b3c507cbd1c332f4acdd5fc193040'/>
<id>48c068e0f49b3c507cbd1c332f4acdd5fc193040</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] Fix CIFS readdir access denied when SE Linux enabled
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] Fix CIFS readdir access denied when SE Linux enabled
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://oss.sgi.com:8090/xfs/xfs-2.6</title>
<updated>2006-09-13T00:31:16+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2006-09-13T00:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=af84b99f22df115e7aec41d5dbe936e163ef4e2e'/>
<id>af84b99f22df115e7aec41d5dbe936e163ef4e2e</id>
<content type='text'>
* git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] Fix a bad pointer dereference in the quota statvfs handling.
  [XFS] Fix xfs_splice_write() so appended data gets to disk.
  [XFS] Fix ABBA deadlock between i_mutex and iolock. Avoid calling
  [XFS] Prevent free space oversubscription and xfssyncd looping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] Fix a bad pointer dereference in the quota statvfs handling.
  [XFS] Fix xfs_splice_write() so appended data gets to disk.
  [XFS] Fix ABBA deadlock between i_mutex and iolock. Avoid calling
  [XFS] Prevent free space oversubscription and xfssyncd looping.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] NFS: large non-page-aligned direct I/O clobbers memory</title>
<updated>2006-09-08T17:22:51+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-09-08T16:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e9f7bee1df223dcf83743b46cb06c08d95497ec0'/>
<id>e9f7bee1df223dcf83743b46cb06c08d95497ec0</id>
<content type='text'>
The logic in nfs_direct_read_schedule and nfs_direct_write_schedule can
allow data-&gt;npages to be one larger than rpages.  This causes a page
pointer to be written beyond the end of the pagevec in nfs_read_data (or
nfs_write_data).

Fix this by making nfs_(read|write)_alloc() calculate the size of the
pagevec array, and initialise data-&gt;npages.

Also get rid of the redundant argument to nfs_commit_alloc().

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The logic in nfs_direct_read_schedule and nfs_direct_write_schedule can
allow data-&gt;npages to be one larger than rpages.  This causes a page
pointer to be written beyond the end of the pagevec in nfs_read_data (or
nfs_write_data).

Fix this by making nfs_(read|write)_alloc() calculate the size of the
pagevec array, and initialise data-&gt;npages.

Also get rid of the redundant argument to nfs_commit_alloc().

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] ext3_getblk() should handle HOLE correctly</title>
<updated>2006-09-08T17:22:50+00:00</updated>
<author>
<name>Badari Pulavarty</name>
<email>pbadari@us.ibm.com</email>
</author>
<published>2006-09-08T16:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3665d0e58fa44f50c744f85c7e8ad21d5b10e206'/>
<id>3665d0e58fa44f50c744f85c7e8ad21d5b10e206</id>
<content type='text'>
It has been reported that ext3_getblk() is not doing the right thing and
triggering following WARN():

BUG: warning at fs/ext3/inode.c:1016/ext3_getblk()
 &lt;c01c5140&gt; ext3_getblk+0x98/0x2a6  &lt;c03b2806&gt; md_wakeup_thread+0x26/0x2a
 &lt;c01c536d&gt; ext3_bread+0x1f/0x88  &lt;c01cedf9&gt; ext3_quota_read+0x136/0x1ae
 &lt;c018b683&gt; v1_read_dqblk+0x61/0xac  &lt;c0188f32&gt; dquot_acquire+0xf6/0x107
 &lt;c01ceaba&gt; ext3_acquire_dquot+0x46/0x68  &lt;c01897d4&gt; dqget+0x155/0x1e7
 &lt;c018a97b&gt; dquot_transfer+0x3e0/0x3e9  &lt;c016fe52&gt; dput+0x23/0x13e
 &lt;c01c7986&gt; ext3_setattr+0xc3/0x240  &lt;c0120f66&gt; current_fs_time+0x52/0x6a
 &lt;c017320e&gt; notify_change+0x2bd/0x30d  &lt;c0159246&gt; chown_common+0x9c/0xc5
 &lt;c02a222c&gt; strncpy_from_user+0x3b/0x68  &lt;c0167fe6&gt; do_path_lookup+0xdf/0x266
 &lt;c016841b&gt; __user_walk_fd+0x44/0x5a  &lt;c01592b9&gt; sys_chown+0x4a/0x55
 &lt;c015a43c&gt; vfs_write+0xe7/0x13c  &lt;c01695d4&gt; sys_mkdir+0x1f/0x23
 &lt;c0102a97&gt; syscall_call+0x7/0xb

Looking at the code, it looks like it's not handle HOLE correctly.  It ends
up returning -EIO.  Here is the patch to fix it.

If we really want to be paranoid, we can allow return values 0 (HOLE), 1
(we asked for one block) and return -EIO for more than 1 block.  But I
really don't see a reason for doing it - all we need is the block# here.
(doesn't matter how many blocks are mapped).

ext3_get_blocks_handle() returns number of blocks it mapped.  It returns 0
in case of HOLE.  ext3_getblk() should handle HOLE properly (currently its
dumping warning stack and returning -EIO).

Signed-off-by: Badari Pulavarty &lt;pbadari@us.ibm.com&gt;
Acked-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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It has been reported that ext3_getblk() is not doing the right thing and
triggering following WARN():

BUG: warning at fs/ext3/inode.c:1016/ext3_getblk()
 &lt;c01c5140&gt; ext3_getblk+0x98/0x2a6  &lt;c03b2806&gt; md_wakeup_thread+0x26/0x2a
 &lt;c01c536d&gt; ext3_bread+0x1f/0x88  &lt;c01cedf9&gt; ext3_quota_read+0x136/0x1ae
 &lt;c018b683&gt; v1_read_dqblk+0x61/0xac  &lt;c0188f32&gt; dquot_acquire+0xf6/0x107
 &lt;c01ceaba&gt; ext3_acquire_dquot+0x46/0x68  &lt;c01897d4&gt; dqget+0x155/0x1e7
 &lt;c018a97b&gt; dquot_transfer+0x3e0/0x3e9  &lt;c016fe52&gt; dput+0x23/0x13e
 &lt;c01c7986&gt; ext3_setattr+0xc3/0x240  &lt;c0120f66&gt; current_fs_time+0x52/0x6a
 &lt;c017320e&gt; notify_change+0x2bd/0x30d  &lt;c0159246&gt; chown_common+0x9c/0xc5
 &lt;c02a222c&gt; strncpy_from_user+0x3b/0x68  &lt;c0167fe6&gt; do_path_lookup+0xdf/0x266
 &lt;c016841b&gt; __user_walk_fd+0x44/0x5a  &lt;c01592b9&gt; sys_chown+0x4a/0x55
 &lt;c015a43c&gt; vfs_write+0xe7/0x13c  &lt;c01695d4&gt; sys_mkdir+0x1f/0x23
 &lt;c0102a97&gt; syscall_call+0x7/0xb

Looking at the code, it looks like it's not handle HOLE correctly.  It ends
up returning -EIO.  Here is the patch to fix it.

If we really want to be paranoid, we can allow return values 0 (HOLE), 1
(we asked for one block) and return -EIO for more than 1 block.  But I
really don't see a reason for doing it - all we need is the block# here.
(doesn't matter how many blocks are mapped).

ext3_get_blocks_handle() returns number of blocks it mapped.  It returns 0
in case of HOLE.  ext3_getblk() should handle HOLE properly (currently its
dumping warning stack and returning -EIO).

Signed-off-by: Badari Pulavarty &lt;pbadari@us.ibm.com&gt;
Acked-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;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix a bad pointer dereference in the quota statvfs handling.</title>
<updated>2006-09-07T04:27:23+00:00</updated>
<author>
<name>Nathan Scott</name>
<email>nathans@sgi.com</email>
</author>
<published>2006-09-07T04:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0edc7d0f3709e8c3bb7e69c4df614218a753361e'/>
<id>0edc7d0f3709e8c3bb7e69c4df614218a753361e</id>
<content type='text'>
SGI-PV: 955993
SGI-Modid: xfs-linux-melb:xfs-kern:26934a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SGI-PV: 955993
SGI-Modid: xfs-linux-melb:xfs-kern:26934a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix xfs_splice_write() so appended data gets to disk.</title>
<updated>2006-09-07T04:27:15+00:00</updated>
<author>
<name>David Chinner</name>
<email>dgc@sgi.com</email>
</author>
<published>2006-09-07T04:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0a8d17d090a4939643a52194b7d4a4001b9b2d93'/>
<id>0a8d17d090a4939643a52194b7d4a4001b9b2d93</id>
<content type='text'>
xfs_splice_write() failed to update the on disk inode size when extending
the so when the file was closed the range extended by splice was truncated
off. Hence any region of a file written to by splice would end up as a
hole full of zeros.

SGI-PV: 955939
SGI-Modid: xfs-linux-melb:xfs-kern:26920a

Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
xfs_splice_write() failed to update the on disk inode size when extending
the so when the file was closed the range extended by splice was truncated
off. Hence any region of a file written to by splice would end up as a
hole full of zeros.

SGI-PV: 955939
SGI-Modid: xfs-linux-melb:xfs-kern:26920a

Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix ABBA deadlock between i_mutex and iolock. Avoid calling</title>
<updated>2006-09-07T04:27:05+00:00</updated>
<author>
<name>Lachlan McIlroy</name>
<email>lachlan@sgi.com</email>
</author>
<published>2006-09-07T04:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=721259bce2851893155c6cb88a3f8ecb106b348c'/>
<id>721259bce2851893155c6cb88a3f8ecb106b348c</id>
<content type='text'>
__blockdev_direct_IO for the DIO_OWN_LOCKING case for direct I/O reads
since it drops and reacquires the i_mutex while holding the iolock and
this violates the locking order.

SGI-PV: 955696
SGI-Modid: xfs-linux-melb:xfs-kern:26898a

Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
__blockdev_direct_IO for the DIO_OWN_LOCKING case for direct I/O reads
since it drops and reacquires the i_mutex while holding the iolock and
this violates the locking order.

SGI-PV: 955696
SGI-Modid: xfs-linux-melb:xfs-kern:26898a

Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Prevent free space oversubscription and xfssyncd looping.</title>
<updated>2006-09-07T04:26:50+00:00</updated>
<author>
<name>David Chinner</name>
<email>dgc@sgi.com</email>
</author>
<published>2006-09-07T04:26:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4be536debe3f7b0c62283e77fd6bd8bdb9f83c6f'/>
<id>4be536debe3f7b0c62283e77fd6bd8bdb9f83c6f</id>
<content type='text'>
The fix for recent ENOSPC deadlocks introduced certain limitations on
allocations. The fix could cause xfssyncd to loop endlessly if we did not
leave some space free for the allocator to work correctly. Basically, we
needed to ensure that we had at least 4 blocks free for an AG free list
and a block for the inode bmap btree at all times.

However, this did not take into account the fact that each AG has a free
list that needs 4 blocks. Hence any filesystem with more than one AG could
cause oversubscription of free space and make xfssyncd spin forever trying
to allocate space needed for AG freelists that was not available in the
AG.

The following patch reserves space for the free lists in all AGs plus the
inode bmap btree which prevents oversubscription. It also prevents those
blocks from being reported as free space (as they can never be used) and
makes the SMP in-core superblock accounting code and the reserved block
ioctl respect this requirement.

SGI-PV: 955674
SGI-Modid: xfs-linux-melb:xfs-kern:26894a

Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fix for recent ENOSPC deadlocks introduced certain limitations on
allocations. The fix could cause xfssyncd to loop endlessly if we did not
leave some space free for the allocator to work correctly. Basically, we
needed to ensure that we had at least 4 blocks free for an AG free list
and a block for the inode bmap btree at all times.

However, this did not take into account the fact that each AG has a free
list that needs 4 blocks. Hence any filesystem with more than one AG could
cause oversubscription of free space and make xfssyncd spin forever trying
to allocate space needed for AG freelists that was not available in the
AG.

The following patch reserves space for the free lists in all AGs plus the
inode bmap btree which prevents oversubscription. It also prevents those
blocks from being reported as free space (as they can never be used) and
makes the SMP in-core superblock accounting code and the reserved block
ioctl respect this requirement.

SGI-PV: 955674
SGI-Modid: xfs-linux-melb:xfs-kern:26894a

Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: David Chatterton &lt;chatz@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[CIFS] Fix CIFS readdir access denied when SE Linux enabled</title>
<updated>2006-09-06T22:02:22+00:00</updated>
<author>
<name>Steve French</name>
<email>sfrench@us.ibm.com</email>
</author>
<published>2006-09-06T22:02:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b835bebe95608c81270636a78b70333afb011925'/>
<id>b835bebe95608c81270636a78b70333afb011925</id>
<content type='text'>
CIFS had one path in which dentry was instantiated before the corresponding
inode metadata was filled in.

Fixes Redhat bugzilla bug #163493

Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Acked-by: Eric Paris &lt;eparis@redhat.com&gt;
Acked-by: Dave Kleikamp &lt;shaggy@austin.ibm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CIFS had one path in which dentry was instantiated before the corresponding
inode metadata was filled in.

Fixes Redhat bugzilla bug #163493

Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Acked-by: Eric Paris &lt;eparis@redhat.com&gt;
Acked-by: Dave Kleikamp &lt;shaggy@austin.ibm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] add missing desctiption in super.c</title>
<updated>2006-09-06T18:00:01+00:00</updated>
<author>
<name>Henrik Kretzschmar</name>
<email>henne@nachtwindheim.de</email>
</author>
<published>2006-09-06T07:03:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fe2bbc4832659b7ffc867cac03e0a92ae81e11e4'/>
<id>fe2bbc4832659b7ffc867cac03e0a92ae81e11e4</id>
<content type='text'>
Adds kernel-doc for alloc_super() type in fs/super.c.

Signed-off-by: Henrik Kretzschmar &lt;henne@nachtwindheim.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds kernel-doc for alloc_super() type in fs/super.c.

Signed-off-by: Henrik Kretzschmar &lt;henne@nachtwindheim.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
