<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/tests, branch upstream/11.0.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-08-05T22:23:04Z</updated>
<entry>
<title>MFC 303406,303501: Fix panic when using aio_fsync().</title>
<updated>2016-08-05T22:23:04Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-08-05T22:23:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d9b7b9d1f6a16d58efdf6dc76a3b6bdfb7ca9726'/>
<id>urn:sha1:d9b7b9d1f6a16d58efdf6dc76a3b6bdfb7ca9726</id>
<content type='text'>
303406:
Adjust tests in fsync job scheduling loop to reduce indentation.

303501:
Fix locking issues with aio_fsync().

- Use correct lock in aio_cancel_sync when dequeueing job.
- Add _locked variants of aio_set/clear_cancel_function and use those
  to avoid lock recursion when adding and removing fsync jobs to the
  per-process sync queue.
- While here, add a basic test for aio_fsync().

PR:		211390
Approved by:	re (kib)
</content>
</entry>
<entry>
<title>Fix bitstring allocation on 32-bit platforms</title>
<updated>2016-06-24T21:44:46Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2016-06-24T21:44:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=39ba705baff6e89a31e6a649e20d2b2fef3eea64'/>
<id>urn:sha1:39ba705baff6e89a31e6a649e20d2b2fef3eea64</id>
<content type='text'>
sys/sys/bitstring.h
	Fix a rounding calculation that could undersize a bitstring on
	32-bit platforms.

tests/sys/sys/bitstring_test.h
	Add a test for bitstr_size

PR:		210260
Reported by:	Mark Millard
Reviewed by:	gibbs
Approved by:	re (marius)
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6848
</content>
</entry>
<entry>
<title>Account for AIO socket operations in thread/process resource usage.</title>
<updated>2016-06-21T22:19:06Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-06-21T22:19:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b1012d8036ca7175147f72004bb0f71153fd93f1'/>
<id>urn:sha1:b1012d8036ca7175147f72004bb0f71153fd93f1</id>
<content type='text'>
File and disk-backed I/O requests store counts of read/written disk
blocks in each AIO job so that they can be charged to the thread that
completes an AIO request via aio_return() or aio_waitcomplete().  This
change extends AIO jobs to store counts of received/sent messages and
updates socket backends to set these counts accordingly.  Note that
the socket backends are careful to only charge a single messages for
each AIO request even though a single request on a blocking socket might
invoke sosend or soreceive multiple times.  This is to mimic the
resource accounting of synchronous read/write.

Adjust the UNIX socketpair AIO test to verify that the message resource
usage counts update accordingly for aio_read and aio_write.

Approved by:	re (hrs)
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D6911
</content>
</entry>
<entry>
<title>Skip sys/acl tests on systems lacking perl</title>
<updated>2016-06-20T23:17:00Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2016-06-20T23:17:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1fe8c3077f04e1c570ad12ea120e15b9c9acbb93'/>
<id>urn:sha1:1fe8c3077f04e1c570ad12ea120e15b9c9acbb93</id>
<content type='text'>
tests/sys/acl/Makefile
	add perl to the required_programs for all tests in this directory

Reviewed by:	ngie
Approved by:	re (gjb)
MFC after:	4 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6870
</content>
</entry>
<entry>
<title>Always create loopback routes on every fib</title>
<updated>2016-05-27T22:40:40Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2016-05-27T22:40:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=30da6877944eb2add9424fe1c65db9f8d6198416'/>
<id>urn:sha1:30da6877944eb2add9424fe1c65db9f8d6198416</id>
<content type='text'>
Always create loopback routes on every fib, for both IPv4 and IPv6

etc/rc.d/routing
	Create loopback IPv4 and IPv6 routes on every fib at boot. Revert
	278302; now that all FIBs have IPv6 loopback routes, the
	"route add -reject" commands won't fail.

tests/etc/rc.d/routing_test.sh
	Greatly simplify static_ipv6_loopback_route_for_each_fib. It was
	written under the assumption that loopback routes would be added to
	a given fib by the kernel as soon as an interface is configured on
	that fib. However, the logic can be much simpler now that we simply
	add loopback routes to all fibs at boot. This also removes the need
	to run the test as root, removes the restriction that
	net.add_addr_allfibs=0, and removes the need to configure fibs in
	kyua.conf.

	Also, add a test case for IPv4 loopback routes

Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6582
</content>
</entry>
<entry>
<title>Return the correct status when a partially completed request is cancelled.</title>
<updated>2016-05-24T21:09:05Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-05-24T21:09:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=778ce4f297a5adb6fea606b95acfaa4b4b318651'/>
<id>urn:sha1:778ce4f297a5adb6fea606b95acfaa4b4b318651</id>
<content type='text'>
After the previous changes to fix requests on blocking sockets to complete
across multiple operations, an edge case exists where a request can be
cancelled after it has partially completed.  POSIX doesn't appear to
dictate exactly how to handle this case, but in general I feel that
aio_cancel() should arrange to cancel any request it can, but that any
partially completed requests should return a partial completion rather
than ECANCELED.  To that end, fix the socket AIO cancellation routine to
return a short read/write if a partially completed request is cancelled
rather than ECANCELED.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>Don't prematurely return short completions on blocking sockets.</title>
<updated>2016-05-24T03:13:27Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-05-24T03:13:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1717b68af1b34154ccbbc72a7fe07210464ceef3'/>
<id>urn:sha1:1717b68af1b34154ccbbc72a7fe07210464ceef3</id>
<content type='text'>
Always requeue an AIO job at the head of the socket buffer's queue if
sosend() or soreceive() returns EWOULDBLOCK on a blocking socket.
Previously, requests were only requeued if they returned EWOULDBLOCK
and completed no data.  Now after a partial completion on a blocking
socket the request is queued and the remaining request is retried when
the socket is ready.  This allows writes larger than the currently
available space on a blocking socket to fully complete.  Reads on a
blocking socket that satifsy the low watermark can still return a short
read (same as read()).

In order to track previously completed data, the internal 'status'
field of the AIO job is used to store the amount of previously
computed data.

Non-blocking sockets continue to return short completions for both
reads and writes.

Add a test for a "large" AIO write on a blocking socket that writes
twice the socket buffer size to a UNIX domain socket.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>Add bit_count to the bitstring(3) api</title>
<updated>2016-05-23T20:29:18Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2016-05-23T20:29:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1b82e02f4d91dc0942e754fa6c08042537f13980'/>
<id>urn:sha1:1b82e02f4d91dc0942e754fa6c08042537f13980</id>
<content type='text'>
Add a bit_count function, which efficiently counts the number of bits set in
a bitstring.

sys/sys/bitstring.h
tests/sys/sys/bitstring_test.c
share/man/man3/bitstring.3
	Add bit_alloc

sys/kern/subr_unit.c
	Use bit_count instead of a naive counting loop in check_unrhdr, used
	when INVARIANTS are enabled. The userland test runs about 6x faster
	in a generic build, or 8.5x faster when built for Nehalem, which has
	the POPCNT instruction.

sys/sys/param.h
	Bump __FreeBSD_version due to the addition of bit_alloc

UPDATING
	Add a note about the ABI incompatibility of the bitstring(3)
	changes, as suggested by lidl.

Suggested by:	gibbs
Reviewed by:	gibbs, ngie
MFC after:	9 days
X-MFC-With:	299090, 300538
Relnotes:	yes
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6255
</content>
</entry>
<entry>
<title>Commit a missing change from 299090</title>
<updated>2016-05-23T20:19:07Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2016-05-23T20:19:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fc13dfc8e2bc8797356e7d85bf71183d356824e8'/>
<id>urn:sha1:fc13dfc8e2bc8797356e7d85bf71183d356824e8</id>
<content type='text'>
tests/sys/kern/Makefile
	Reenable a disabled compiler warning, the need for which was
	eliminated by r299090.

Reviewed by:	ngie
MFC after:	4 weeks
X-MFC-With:	299090
Sponsored by:	Spectra Logic Corp
</content>
</entry>
<entry>
<title>kern_descrip_test: Fix trivial buffer overrun with readlink(2)</title>
<updated>2016-05-12T03:44:29Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2016-05-12T03:44:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=079375d12b46e5ced7ac96618f4a6a0c13055eae'/>
<id>urn:sha1:079375d12b46e5ced7ac96618f4a6a0c13055eae</id>
<content type='text'>
Reported by:	Coverity
CID:		1229965, 1229972
Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
</feed>
