<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/xfs/libxfs, branch linux-3.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-03-06T22:57:16Z</updated>
<entry>
<title>xfs: set buf types when converting extent formats</title>
<updated>2015-03-06T22:57:16Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2015-01-21T22:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf631816ecc657cf7b616fd0b6ce56fbab91f086'/>
<id>urn:sha1:cf631816ecc657cf7b616fd0b6ce56fbab91f086</id>
<content type='text'>
commit fe22d552b82d7cc7de1851233ae8bef579198637 upstream.

Conversion from local to extent format does not set the buffer type
correctly on the new extent buffer when a symlink data is moved out
of line.

Fix the symlink code and leave a comment in the generic bmap code
reminding us that the format-specific data copy needs to set the
destination buffer type appropriately.

Tested-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'xfs-misc-fixes-for-3.19-2' into for-next</title>
<updated>2014-12-03T22:46:17Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6044e4386cd51dece882ea42352cdaaab0f24cad'/>
<id>urn:sha1:6044e4386cd51dece882ea42352cdaaab0f24cad</id>
<content type='text'>
Conflicts:
	fs/xfs/xfs_iops.c
</content>
</entry>
<entry>
<title>xfs: fix set-but-unused warnings</title>
<updated>2014-12-03T22:43:17Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:43:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32296f865e8d41ff8c337ce6f0b97eeda08988a3'/>
<id>urn:sha1:32296f865e8d41ff8c337ce6f0b97eeda08988a3</id>
<content type='text'>
The kernel compile doesn't turn on these checks by default, so it's
only when I do a kernel-user sync that I find that there are lots of
compiler warnings waiting to be fixed. Fix up these set-but-unused
warnings.

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>xfs: move type conversion functions to xfs_dir.h</title>
<updated>2014-12-03T22:43:17Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:43:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a2cc41cda189bea1fb9c41ef64d19949d3b2bcd'/>
<id>urn:sha1:9a2cc41cda189bea1fb9c41ef64d19949d3b2bcd</id>
<content type='text'>
These are currently considered private to libxfs, but they are
widely used by the userspace code to decode, walk and check
directory structures. Hence they really form part of the external
API and as such need to bemoved to xfs_dir2.h.

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>xfs: move ftype conversion functions to libxfs</title>
<updated>2014-12-03T22:43:17Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:43:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b767ee386c5f58660ca9be70d3076f2b6484e72'/>
<id>urn:sha1:1b767ee386c5f58660ca9be70d3076f2b6484e72</id>
<content type='text'>
These functions are needed in userspace for repair and mkfs to
do the right thing. Move them to libxfs so they can be easily
shared.

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>xfs: cleanup xfs_bmse_merge returns</title>
<updated>2014-12-03T22:42:40Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4db431f57be2d32f35f46023b0c0d9f8b6e06e26'/>
<id>urn:sha1:4db431f57be2d32f35f46023b0c0d9f8b6e06e26</id>
<content type='text'>
Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;

xfs_bmse_merge() has a jump label for return that just returns the
error value. Convert all the code to just return the error directly
and use XFS_WANT_CORRUPTED_RETURN. This also allows the final call
to xfs_bmbt_update() to return directly.

Noticed while reviewing coccinelle return cleanup patches and
wondering why the same return pattern as in xfs_bmse_shift_one()
wasn't picked up by the checker pattern...

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>xfs: cleanup xfs_bmse_shift_one goto mess</title>
<updated>2014-12-03T22:42:24Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b11bd671ba8a0268753db25684115acde57d3d32'/>
<id>urn:sha1:b11bd671ba8a0268753db25684115acde57d3d32</id>
<content type='text'>
xfs_bmse_shift_one() jumps around determining whether to shift or
merge, making the code flow difficult to follow. Clean it up and
use direct error returns (including XFS_WANT_CORRUPTED_RETURN) to
make the code flow better and be easier to read.

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>xfs: fix premature enospc on inode allocation</title>
<updated>2014-12-03T22:42:21Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-12-03T22:42:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a1df1561609c14ac457d65d9a4a2b6c0f4204ad'/>
<id>urn:sha1:7a1df1561609c14ac457d65d9a4a2b6c0f4204ad</id>
<content type='text'>
After growing a filesystem, XFS can fail to allocate inodes even
though there is a large amount of space available in the filesystem
for inodes. The issue is caused by a nearly full allocation group
having enough free space in it to be considered for inode
allocation, but not enough contiguous free space to actually
allocation inodes.  This situation results in successful selection
of the AG for allocation, then failure of the allocation resulting
in ENOSPC being reported to the caller.

It is caused by two possible issues. Firstly, we only consider the
lognest free extent and whether it would fit an inode chunk. If the
extent is not correctly aligned, then we can't allocate an inode
chunk in it regardless of the fact that it is large enough. This
tends to be a permanent error until space in the AG is freed.

The second issue is that we don't actually lock the AGI or AGF when
we are doing these checks, and so by the time we get to actually
allocating the inode chunk the space we thought we had in the AG may
have been allocated. This tends to be a spurious error as it
requires a race to trigger. Hence this case is ignored in this patch
as the reported problem is for permanent errors.

The first issue could be addressed by simply taking into account the
alignment when checking the longest extent. This, however, would
prevent allocation in AGs that have aligned, exact sized extents
free. However, this case should be fairly rare compared to the
number of allocations that occur near ENOSPC that would trigger this
condition.

Hence, when selecting the inode AG, take into account the inode
cluster alignment when checking the lognest free extent in the AG.
If we can't find any AGs with a contiguous free space large
enough to be aligned, drop the alignment addition and just try for
an AG that has enough contiguous free space available for an inode
chunk. This won't prevent issues from occurring, but should avoid
situations where other AGs have lots of free space but the selected
AG can't allocate due to alignment constraints.

Reported-by: Arkadiusz Miskiewicz &lt;arekm@maven.pl&gt;
Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;

</content>
</entry>
<entry>
<title>Merge branch 'xfs-coccinelle-cleanups' into for-next</title>
<updated>2014-11-30T22:03:02Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-11-30T22:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c14fc01340dd0afe58d8671acc3ea5e907e707ae'/>
<id>urn:sha1:c14fc01340dd0afe58d8671acc3ea5e907e707ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xfs: fix simple_return.cocci warning in xfs_bmse_shift_one</title>
<updated>2014-11-30T21:42:52Z</updated>
<author>
<name>kbuild test robot</name>
</author>
<published>2014-11-30T21:42:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d254aaec5d1aa2997dad035db340c298eaa8d089'/>
<id>urn:sha1:d254aaec5d1aa2997dad035db340c298eaa8d089</id>
<content type='text'>
fs/xfs/libxfs/xfs_bmap.c:5591:1-6: WARNING: end returns can be simpified

 Simplify a trivial if-return sequence.  Possibly combine with a
 preceding function call.
Generated by: scripts/coccinelle/misc/simple_return.cocci

CC: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;

</content>
</entry>
</feed>
