<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/xfs/xfs_rtalloc.c, branch linux-4.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-06-08T17:07:52Z</updated>
<entry>
<title>xfs: replace do_mod with native operations</title>
<updated>2018-06-08T17:07:52Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2018-06-08T16:54:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0703a8e1c17e2cba742eafe640be3b60f77352c4'/>
<id>urn:sha1:0703a8e1c17e2cba742eafe640be3b60f77352c4</id>
<content type='text'>
do_mod() is a hold-over from when we have different sizes for file
offsets and and other internal values for 40 bit XFS filesystems.
Hence depending on build flags variables passed to do_mod() could
change size. We no longer support those small format filesystems and
hence everything is of fixed size theses days, even on 32 bit
platforms.

As such, we can convert all the do_mod() callers to platform
optimised modulus operations as defined by linux/math64.h.
Individual conversions depend on the types of variables being used.

Signed-Off-By: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
</content>
</entry>
<entry>
<title>xfs: convert to SPDX license tags</title>
<updated>2018-06-06T21:17:53Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2018-06-06T02:42:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b61f8a4079d904b1b1d47946cca898313de8c26'/>
<id>urn:sha1:0b61f8a4079d904b1b1d47946cca898313de8c26</id>
<content type='text'>
Remove the verbose license text from XFS files and replace them
with SPDX tags. This does not change the license of any of the code,
merely refers to the common, up-to-date license files in LICENSES/

This change was mostly scripted. fs/xfs/Makefile and
fs/xfs/libxfs/xfs_fs.h were modified by hand, the rest were detected
and modified by the following command:

for f in `git grep -l "GNU General" fs/xfs/` ; do
	echo $f
	cat $f | awk -f hdr.awk &gt; $f.new
	mv -f $f.new $f
done

And the hdr.awk script that did the modification (including
detecting the difference between GPL-2.0 and GPL-2.0+ licenses)
is as follows:

$ cat hdr.awk
BEGIN {
	hdr = 1.0
	tag = "GPL-2.0"
	str = ""
}

/^ \* This program is free software/ {
	hdr = 2.0;
	next
}

/any later version./ {
	tag = "GPL-2.0+"
	next
}

/^ \*\// {
	if (hdr &gt; 0.0) {
		print "// SPDX-License-Identifier: " tag
		print str
		print $0
		str=""
		hdr = 0.0
		next
	}
	print $0
	next
}

/^ \* / {
	if (hdr &gt; 1.0)
		next
	if (hdr &gt; 0.0) {
		if (str != "")
			str = str "\n"
		str = str $0
		next
	}
	print $0
	next
}

/^ \*/ {
	if (hdr &gt; 0.0)
		next
	print $0
	next
}

// {
	if (hdr &gt; 0.0) {
		if (str != "")
			str = str "\n"
		str = str $0
		next
	}
	print $0
}

END { }
$

Signed-off-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
</content>
</entry>
<entry>
<title>xfs: remove the ip argument to xfs_defer_finish</title>
<updated>2017-09-01T17:55:30Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2017-08-28T17:21:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ad7c629b18695ec1ee8654fb27599864049862b'/>
<id>urn:sha1:8ad7c629b18695ec1ee8654fb27599864049862b</id>
<content type='text'>
And instead require callers to explicitly join the inode using
xfs_defer_ijoin.  Also consolidate the defer error handling in
a few places using a goto label.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
</content>
</entry>
<entry>
<title>xfs: remove double-underscore integer types</title>
<updated>2017-06-19T21:11:33Z</updated>
<author>
<name>Darrick J. Wong</name>
</author>
<published>2017-06-16T18:00:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8ce540db5f67d254aafb14b5d76422c62a906df'/>
<id>urn:sha1:c8ce540db5f67d254aafb14b5d76422c62a906df</id>
<content type='text'>
This is a purely mechanical patch that removes the private
__{u,}int{8,16,32,64}_t typedefs in favor of using the system
{u,}int{8,16,32,64}_t typedefs.  This is the sed script used to perform
the transformation and fix the resulting whitespace and indentation
errors:

s/typedef\t__uint8_t/typedef __uint8_t\t/g
s/typedef\t__uint/typedef __uint/g
s/typedef\t__int\([0-9]*\)_t/typedef int\1_t\t/g
s/__uint8_t\t/__uint8_t\t\t/g
s/__uint/uint/g
s/__int\([0-9]*\)_t\t/__int\1_t\t\t/g
s/__int/int/g
/^typedef.*int[0-9]*_t;$/d

Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>xfs: simplify xfs_rtallocate_extent</title>
<updated>2017-02-18T00:52:52Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2017-02-17T16:21:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=089ec2f87578b9740f0c27bcea9cc6be59c1ddb0'/>
<id>urn:sha1:089ec2f87578b9740f0c27bcea9cc6be59c1ddb0</id>
<content type='text'>
We can deduce the allocation type from the bno argument, and do the
return without prod much simpler internally.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
[darrick: fix the macro for the non-rt build]
Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.com&gt;
</content>
</entry>
<entry>
<title>xfs: rename flist/free_list to dfops</title>
<updated>2016-08-03T01:19:29Z</updated>
<author>
<name>Darrick J. Wong</name>
</author>
<published>2016-08-03T01:19:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c3234d1ef53030ff6a79d55ba1fb291098467c2'/>
<id>urn:sha1:2c3234d1ef53030ff6a79d55ba1fb291098467c2</id>
<content type='text'>
Mechanical change of flist/free_list to dfops, since they're now
deferred ops, not just a freeing list.

Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.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: change xfs_bmap_{finish,cancel,init,free} -&gt; xfs_defer_*</title>
<updated>2016-08-03T01:18:10Z</updated>
<author>
<name>Darrick J. Wong</name>
</author>
<published>2016-08-03T01:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=310a75a3c6c747857ad53dd25f2ede3de13612c9'/>
<id>urn:sha1:310a75a3c6c747857ad53dd25f2ede3de13612c9</id>
<content type='text'>
Drop the compatibility shims that we were using to integrate the new
deferred operation mechanism into the existing code.  No new code.

Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.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: rework xfs_bmap_free callers to use xfs_defer_ops</title>
<updated>2016-08-03T01:15:38Z</updated>
<author>
<name>Darrick J. Wong</name>
</author>
<published>2016-08-03T01:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ab78df2a59a485f479d26852a060acfd8c4ecd7'/>
<id>urn:sha1:3ab78df2a59a485f479d26852a060acfd8c4ecd7</id>
<content type='text'>
Restructure everything that used xfs_bmap_free to use xfs_defer_ops
instead.  For now we'll just remove the old symbols and play some
cpp magic to make it work; in the next patch we'll actually rename
everything.

Signed-off-by: Darrick J. Wong &lt;darrick.wong@oracle.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: better xfs_trans_alloc interface</title>
<updated>2016-04-05T23:19:55Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2016-04-05T23:19:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=253f4911f297b83745938b7f2c5649b94730b002'/>
<id>urn:sha1:253f4911f297b83745938b7f2c5649b94730b002</id>
<content type='text'>
Merge xfs_trans_reserve and xfs_trans_alloc into a single function call
that returns a transaction with all the required log and block reservations,
and which allows passing transaction flags directly to avoid the cumbersome
_xfs_trans_alloc interface.

While we're at it we also get rid of the transaction type argument that has
been superflous since we stopped supporting the non-CIL logging mode.  The
guts of it will be removed in another patch.

[dchinner: fixed transaction leak in error path in xfs_setattr_nonsize]

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

</content>
</entry>
<entry>
<title>xfs: remove timestamps from incore inode</title>
<updated>2016-02-09T05:54:58Z</updated>
<author>
<name>Dave Chinner</name>
</author>
<published>2016-02-09T05:54:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3987848c7c2be112e03c82d03821b044f1c0edec'/>
<id>urn:sha1:3987848c7c2be112e03c82d03821b044f1c0edec</id>
<content type='text'>
The struct xfs_inode has two copies of the current timestamps in it,
one in the vfs inode and one in the struct xfs_icdinode. Now that we
no longer log the struct xfs_icdinode directly, we don't need to
keep the timestamps in this structure. instead we can copy them
straight out of the VFS inode when formatting the inode log item or
the on-disk inode.

This reduces the struct xfs_inode in size by 24 bytes.

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

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