<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/fs/xfs, branch v2.6.18</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<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.tavy.me/linux.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.tavy.me/linux.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.tavy.me/linux.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.tavy.me/linux.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>[XFS] Fix char size overflow in bmap_alloc call for unwritten extent</title>
<updated>2006-08-30T03:41:58+00:00</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2006-08-30T03:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7288026b8671061aff7663b1766037b3f2573627'/>
<id>7288026b8671061aff7663b1766037b3f2573627</id>
<content type='text'>
conversion.

Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
always assigned zero. Spotted by the GNU C compiler (SVN version).

SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:26887a

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
conversion.

Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
always assigned zero. Spotted by the GNU C compiler (SVN version).

SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:26887a

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix xfs_free_extent related NULL pointer dereference.</title>
<updated>2006-08-10T04:40:41+00:00</updated>
<author>
<name>Nathan Scott</name>
<email>nathans@sgi.com</email>
</author>
<published>2006-08-10T04:40:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0e1edbd99994270023cea5afe593f972eb09a778'/>
<id>0e1edbd99994270023cea5afe593f972eb09a778</id>
<content type='text'>
We recently fixed an out-of-space deadlock in XFS, and part of that fix
involved the addition of the XFS_ALLOC_FLAG_FREEING flag to some of the
space allocator calls to indicate they're freeing space, not allocating
it. There was a missed xfs_alloc_fix_freelist condition test that did not
correctly test "flags". The same test would also test an uninitialised
structure field (args-&gt;userdata) and depending on its value either would
or would not return early with a critical buffer pointer set to NULL.

This fixes that up, adds asserts to several places to catch future botches
of this nature, and skips sections of xfs_alloc_fix_freelist that are
irrelevent for the space-freeing case.

SGI-PV: 955303
SGI-Modid: xfs-linux-melb:xfs-kern:26743a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We recently fixed an out-of-space deadlock in XFS, and part of that fix
involved the addition of the XFS_ALLOC_FLAG_FREEING flag to some of the
space allocator calls to indicate they're freeing space, not allocating
it. There was a missed xfs_alloc_fix_freelist condition test that did not
correctly test "flags". The same test would also test an uninitialised
structure field (args-&gt;userdata) and depending on its value either would
or would not return early with a critical buffer pointer set to NULL.

This fixes that up, adds asserts to several places to catch future botches
of this nature, and skips sections of xfs_alloc_fix_freelist that are
irrelevent for the space-freeing case.

SGI-PV: 955303
SGI-Modid: xfs-linux-melb:xfs-kern:26743a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Ensure bulkstat from an invalid inode number gets caught always with</title>
<updated>2006-07-28T07:05:51+00:00</updated>
<author>
<name>Nathan Scott</name>
<email>nathans@sgi.com</email>
</author>
<published>2006-07-28T07:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=41ff715abc49324fb2cb20e66bc4e0290cfdbe51'/>
<id>41ff715abc49324fb2cb20e66bc4e0290cfdbe51</id>
<content type='text'>
EINVAL.

SGI-PV: 953819
SGI-Modid: xfs-linux-melb:xfs-kern:26629a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
EINVAL.

SGI-PV: 953819
SGI-Modid: xfs-linux-melb:xfs-kern:26629a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix a barrier related forced shutdown on mounts with quota enabled.</title>
<updated>2006-07-28T07:05:13+00:00</updated>
<author>
<name>Nathan Scott</name>
<email>nathans@sgi.com</email>
</author>
<published>2006-07-28T07:05:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b2ea401bac39e75ebb64038609ed22efbc799905'/>
<id>b2ea401bac39e75ebb64038609ed22efbc799905</id>
<content type='text'>
SGI-PV: 912426
SGI-Modid: xfs-linux-melb:xfs-kern:26622a

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

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] Fix remount vs no/barrier options by ensuring we clear unwanted</title>
<updated>2006-07-28T07:04:44+00:00</updated>
<author>
<name>Nathan Scott</name>
<email>nathans@sgi.com</email>
</author>
<published>2006-07-28T07:04:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f5faad799475c4058416264f672bb33bf8b5ef41'/>
<id>f5faad799475c4058416264f672bb33bf8b5ef41</id>
<content type='text'>
flags from iclog buffers before submitting them for writing.

SGI-PV: 954772
SGI-Modid: xfs-linux-melb:xfs-kern:26605a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
flags from iclog buffers before submitting them for writing.

SGI-PV: 954772
SGI-Modid: xfs-linux-melb:xfs-kern:26605a

Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[XFS] All xfs_disk_dquot_t values are (as the name says) disk endian.</title>
<updated>2006-07-28T07:04:26+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2006-07-28T07:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2a293b7d5aa2f0d1e3d87b642f7ac263c2d664e3'/>
<id>2a293b7d5aa2f0d1e3d87b642f7ac263c2d664e3</id>
<content type='text'>
Before putting them into struct statfs they should be endian-swapped.

SGI-PV: 954580
SGI-Modid: xfs-linux-melb:xfs-kern:26550a

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before putting them into struct statfs they should be endian-swapped.

SGI-PV: 954580
SGI-Modid: xfs-linux-melb:xfs-kern:26550a

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nathan Scott &lt;nathans@sgi.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
