<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/xfs/libxfs, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-09-02T02:12:53Z</updated>
<entry>
<title>xfs: don't log inode unless extent shift makes extent modifications</title>
<updated>2014-09-02T02:12:53Z</updated>
<author>
<name>Brian Foster</name>
</author>
<published>2014-09-02T02:12:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca446d880c399bb31301e7d8eefbd7fe3c504c4e'/>
<id>urn:sha1:ca446d880c399bb31301e7d8eefbd7fe3c504c4e</id>
<content type='text'>
The file collapse mechanism uses xfs_bmap_shift_extents() to collapse
all subsequent extents down into the specified, previously punched out,
region. This function performs some validation, such as whether a
sufficient hole exists in the target region of the collapse, then shifts
the remaining exents downward.

The exit path of the function currently logs the inode unconditionally.
While we must log the inode (and abort) if an error occurs and the
transaction is dirty, the initial validation paths can generate errors
before the transaction has been dirtied. This creates an unnecessary
filesystem shutdown scenario, as the caller will cancel a transaction
that has been marked dirty.

Modify xfs_bmap_shift_extents() to OR the logflags bits as modifications
are made to the inode bmap. Only log the inode in the exit path if
logflags has been set. This ensures we only have to cancel a dirty
transaction if modifications have been made and prevents an unnecessary
filesystem shutdown otherwise.

Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-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>Merge branch 'xfs-misc-fixes-3.17-2' into for-next</title>
<updated>2014-08-04T03:55:27Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-08-04T03:55:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=645f9857213476407d8ed1b59619fdff7128d3e6'/>
<id>urn:sha1:645f9857213476407d8ed1b59619fdff7128d3e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'xfs-misc-fixes-3.17-1' into for-next</title>
<updated>2014-08-04T03:54:14Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-08-04T03:54:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d7eece2c0dad832c5f224629eba3cced3f2d6cd'/>
<id>urn:sha1:4d7eece2c0dad832c5f224629eba3cced3f2d6cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xfs: avoid false quotacheck after unclean shutdown</title>
<updated>2014-08-04T01:35:44Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2014-08-04T01:35:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ef828c4152726f56751c78ea844f08d2b2a4fa3'/>
<id>urn:sha1:5ef828c4152726f56751c78ea844f08d2b2a4fa3</id>
<content type='text'>
The commit

83e782e xfs: Remove incore use of XFS_OQUOTA_ENFD and XFS_OQUOTA_CHKD

added a new function xfs_sb_quota_from_disk() which swaps
on-disk XFS_OQUOTA_* flags for in-core XFS_GQUOTA_* and XFS_PQUOTA_*
flags after the superblock is read.

However, if log recovery is required, the superblock is read again,
and the modified in-core flags are re-read from disk, so we have
XFS_OQUOTA_* flags in memory again.  This causes the
XFS_QM_NEED_QUOTACHECK() test to be true, because the XFS_OQUOTA_CHKD
is still set, and not XFS_GQUOTA_CHKD or XFS_PQUOTA_CHKD.

Change xfs_sb_from_disk to call xfs_sb_quota_from disk and always
convert the disk flags to in-memory flags.

Add a lower-level function which can be called with "false" to
not convert the flags, so that the sb verifier can verify
exactly what was on disk, per Brian Foster's suggestion.

Reported-by: Cyril B. &lt;cbay@excellency.fr&gt;
Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;

</content>
</entry>
<entry>
<title>xfs: require 64-bit sector_t</title>
<updated>2014-07-29T23:12:05Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2014-07-29T23:12:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5cf09baced0ef3d2cc118865079f8b129e98e2f'/>
<id>urn:sha1:d5cf09baced0ef3d2cc118865079f8b129e98e2f</id>
<content type='text'>
Trying to support tiny disks only and saving a bit memory might have
made sense on an SGI O2 15 years ago, but is pretty pointless today.

Remove the rarely tested codepath that uses various smaller in-memory
types to reduce our test matrix and make the codebase a little bit
smaller and less complicated.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Ben Myers &lt;bpm@sgi.com&gt;
Signed-off-by: Dave Chinner &lt;david@fromorbit.com&gt;
</content>
</entry>
<entry>
<title>xfs: remove XFS_IS_OQUOTA_ON macros</title>
<updated>2014-07-24T11:27:16Z</updated>
<author>
<name>Jie Liu</name>
</author>
<published>2014-07-24T11:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b409a7d6f4080c37dba18e775d2977942e756fd'/>
<id>urn:sha1:7b409a7d6f4080c37dba18e775d2977942e756fd</id>
<content type='text'>
Remove the XFS_IS_OQUOTA_ON macros as it is obsoleted.

Signed-off-by: Jie Liu &lt;jeff.liu@oracle.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>Merge branch 'xfs-libxfs-restructure' into for-next</title>
<updated>2014-07-14T21:37:18Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-07-14T21:37:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7f8a058f6dc52219117bc2469b1fb816f7fa1a4b'/>
<id>urn:sha1:7f8a058f6dc52219117bc2469b1fb816f7fa1a4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xfs: global error sign conversion</title>
<updated>2014-06-25T04:58:08Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-06-25T04:58:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2451337dd043901b5270b7586942abe564443e3d'/>
<id>urn:sha1:2451337dd043901b5270b7586942abe564443e3d</id>
<content type='text'>
Convert all the errors the core XFs code to negative error signs
like the rest of the kernel and remove all the sign conversion we
do in the interface layers.

Errors for conversion (and comparison) found via searches like:

$ git grep " E" fs/xfs
$ git grep "return E" fs/xfs
$ git grep " E[A-Z].*;$" fs/xfs

Negation points found via searches like:

$ git grep "= -[a-z,A-Z]" fs/xfs
$ git grep "return -[a-z,A-D,F-Z]" fs/xfs
$ git grep " -[a-z].*;" fs/xfs

[ with some bits I missed from Brian Foster ]

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>libxfs: move source files</title>
<updated>2014-06-25T04:57:53Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-06-25T04:57:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30f712c9dd69348aa51351d5cb6d366bf4fae31d'/>
<id>urn:sha1:30f712c9dd69348aa51351d5cb6d366bf4fae31d</id>
<content type='text'>
Move all the source files that are shared with userspace into
libxfs/. This is done as one big chunk simpy to get it done
quickly

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>libxfs: move header files</title>
<updated>2014-06-25T04:57:36Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2014-06-25T04:57:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84be0ffc9043f7c56044294eb775a2200452c76d'/>
<id>urn:sha1:84be0ffc9043f7c56044294eb775a2200452c76d</id>
<content type='text'>
Move all the header files that are shared with userspace into
libxfs. This is done as one big chunk simpy to get it done quickly.

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>
</feed>
