<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/tests, branch releng/12.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2021-10-12T05:57:38Z</updated>
<entry>
<title>fusefs: fix intermittency in the dev_fuse_poll test</title>
<updated>2021-10-12T05:57:38Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-09-25T16:16:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9381a9d8926005ef57a3e8add7fb21e42e01d08c'/>
<id>urn:sha1:9381a9d8926005ef57a3e8add7fb21e42e01d08c</id>
<content type='text'>
The DevFusePoll::access/select test would occasionally segfault.  The
cause was a file descriptor that was shared between two threads.  The
first thread would kill the second and close the file descriptor.  But
it was possible that the second would read the file descriptor before it
shut down.  That did not cause problems for kqueue, poll, or blocking
operation, but it triggered segfaults in select's macros.

Differential Revision: https://reviews.freebsd.org/D32142

(cherry picked from commit f44a448709d3b77508fd59ee28201ae1666387c2)
</content>
</entry>
<entry>
<title>fusefs: Fix a bug during VOP_STRATEGY when the server changes file size</title>
<updated>2021-10-12T05:41:25Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-10-03T17:51:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=955a418bd3036dc055d97cf98faec0be137b3b11'/>
<id>urn:sha1:955a418bd3036dc055d97cf98faec0be137b3b11</id>
<content type='text'>
If the FUSE server tells the kernel that a file's size has changed, then
the kernel must invalidate any portion of that file in cache.  But the
kernel can't do that during VOP_STRATEGY, because the file's buffers are
already locked.  Instead, proceed with the write.

PR:		256937
Reported by:	Agata &lt;chogata@moosefs.pro&gt;
Tested by:	Agata &lt;chogata@moosefs.pro&gt;
Reviewed by:	pfg
Differential Revision: https://reviews.freebsd.org/D32332

(cherry picked from commit 032a5bd55b3a003d3560435422a95f27f91685fe)
</content>
</entry>
<entry>
<title>fusefs: fix a recurse-on-non-recursive lockmgr panic</title>
<updated>2021-10-12T05:13:58Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-10-02T18:17:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2ccb87689fdf15b62e1a7d078ccd21db53a07e9f'/>
<id>urn:sha1:2ccb87689fdf15b62e1a7d078ccd21db53a07e9f</id>
<content type='text'>
fuse_vnop_bmap needs to know the file's size in order to calculate the
optimum amount of readahead.  If the file's size is unknown, it must ask
the FUSE server.  But if the file's data was previously cached and the
server reports that its size has shrunk, fusefs must invalidate the
cached data.  That's not possible during VOP_BMAP because the buffer
object is already locked.

Fix the panic by not querying the FUSE server for the file's size during
VOP_BMAP if we don't need it.  That's also a a slight performance
optimization.

PR:		256937
Reported by:	Agata &lt;chogata@moosefs.pro&gt;
Tested by:	Agata &lt;chogata@moosefs.pro&gt;

(cherry picked from commit 7430017b9978cae054ed99e5160f739e5ca021d5)
</content>
</entry>
<entry>
<title>fusefs: don't panic if FUSE_GETATTR fails durint VOP_GETPAGES</title>
<updated>2021-10-07T19:51:35Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-09-16T23:53:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c858f3d89b3c92cf3c0962c976dc6bd322ad8b9b'/>
<id>urn:sha1:c858f3d89b3c92cf3c0962c976dc6bd322ad8b9b</id>
<content type='text'>
During VOP_GETPAGES, fusefs needs to determine the file's length, which
could require a FUSE_GETATTR operation.  If that fails, it's better to
SIGBUS than panic.

Sponsored by:	Axcient
Reviewed by: 	markj, kib
Differential Revision: https://reviews.freebsd.org/D31994

(cherry picked from commit 4f917847c9037d9b76de188c03e13b81224431b2)

buffer pager: allow get_blksize method to return error

Reported and reviewed by:	asomers
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D31998

(cherry picked from commit 197a4f29f39e6ae6215a6dbd28ef449d305e6d49)
</content>
</entry>
<entry>
<title>vinvalbuf: do not panic if we were unable to flush dirty buffers</title>
<updated>2021-10-07T19:34:19Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-05-30T16:52:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7dcb5db451b66aa277bd59c61c18a5053c658915'/>
<id>urn:sha1:7dcb5db451b66aa277bd59c61c18a5053c658915</id>
<content type='text'>
Return EBUSY instead and let caller to handle the issue.

For vgone()/vnode reclamation, caller first does vinvalbuf(V_SAVE),
which return EBUSY in case dirty buffers where not flushed. Then caller
calls vinvalbuf(0) due to non-zero return, which gets rid of all dirty
buffers without dependencies.

PR:	238565
Reviewed by:	asomers, mckusick
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D30555

(cherry picked from commit 27006229f7a40a18a61a0e8fd270bc583326b690)

fusefs: reenable the WriteCluster.cluster_write_err test

The underlying panic was just fixed by
revision 27006229f7a40a18a61a0e8fd270bc583326b690

PR:		238565
(cherry picked from commit 425bbe9e64f7af6bdb30a099bd90a32885de1ab8)
</content>
</entry>
<entry>
<title>gmultipath: make physpath distinct from the underlying providers'</title>
<updated>2021-10-07T19:27:13Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-04-22T21:09:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=09be14a7b80d75e39faf01596583ad4ed18e3232'/>
<id>urn:sha1:09be14a7b80d75e39faf01596583ad4ed18e3232</id>
<content type='text'>
zfsd uses a device's physical path attribute to automatically replace a
missing ZFS disk when a blank disk is inserted into the same physical
slot.  Currently gmultipath passes through its underlying providers'
physical path attribute.  That may cause zfsd to replace a missing
gmultipath provider with a newly arrived, single-path disk.  That would
be bad.

This commit fixes that problem by simply appending "/mp" to the
underlying providers' physical path, in a manner similar to what geli
already does.

Sponsored by:	Axcient
Differential Revision: https://reviews.freebsd.org/D29941

(cherry picked from commit 420dbe763f15b076751443edfeeb4f676deb3c44)
</content>
</entry>
<entry>
<title>tests: kqueue: CLOCK_BOOTTIME is an alias of CLOCK_UPTIME</title>
<updated>2021-10-06T14:50:32Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2021-10-06T14:50:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fb49012ca448f3c7a9ae38ceaf700b8cd39be836'/>
<id>urn:sha1:fb49012ca448f3c7a9ae38ceaf700b8cd39be836</id>
<content type='text'>
Build-test should be done a buildenv from a newer branch. =-( We don't
have this alias in stable/12, so just provide it locally in a way that
won't break should 155f15118a77 find its way here.

Reported by:	Jenkins, naddy
Fixes:	f9765c9c1acb ("kqueue: don't arbitrarily restrict ...")
</content>
</entry>
<entry>
<title>pf tests: Basic adaptive mode syncookie test</title>
<updated>2021-10-06T08:46:58Z</updated>
<author>
<name>Kristof Provost</name>
<email>kp@FreeBSD.org</email>
</author>
<published>2021-09-25T13:05:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f7e56b48260646f8b1d5d619a92ca1b2c2d26efc'/>
<id>urn:sha1:f7e56b48260646f8b1d5d619a92ca1b2c2d26efc</id>
<content type='text'>
MFC after:	1 week
Sponsored by:	Modirum MDPay
Differential Revision:	https://reviews.freebsd.org/D32139

(cherry picked from commit 2f20d80692ceb584842a7642562fc9f610a5b661)
</content>
</entry>
<entry>
<title>pf tests: Basic syncookie test</title>
<updated>2021-10-06T08:46:58Z</updated>
<author>
<name>Kristof Provost</name>
<email>kp@FreeBSD.org</email>
</author>
<published>2021-07-10T11:20:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=18fe461d67c7626a266369cbdb862de986a85d5b'/>
<id>urn:sha1:18fe461d67c7626a266369cbdb862de986a85d5b</id>
<content type='text'>
MFC after:	1 week
Sponsored by:	Modirum MDPay
Differential Revision:	https://reviews.freebsd.org/D32138

(cherry picked from commit dc0636636bb1937283d4f218732ac2357f4ec4f1)
</content>
</entry>
<entry>
<title>kqueue: don't arbitrarily restrict long-past values for NOTE_ABSTIME</title>
<updated>2021-10-06T07:07:07Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2021-09-29T19:55:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f9765c9c1acbd42c074841c96c0e84d32ad1b1a1'/>
<id>urn:sha1:f9765c9c1acbd42c074841c96c0e84d32ad1b1a1</id>
<content type='text'>
NOTE_ABSTIME values are converted to values relative to boottime in
filt_timervalidate(), and negative values are currently rejected.  We
don't reject times in the past in general, so clamp this up to 0 as
needed such that the timer fires immediately rather than imposing what
looks like an arbitrary restriction.

Another possible scenario is that the system clock had to be adjusted
by ~minutes or ~hours and we have less than that in terms of uptime,
making a reasonable short-timeout suddenly invalid. Firing it is still
a valid choice in this scenario so that applications can at least
expect a consistent behavior.

(cherry picked from commit 9c999a259f00b35f0467acd351fea9157ed7e1e4)
(cherry picked from commit 2f4dbe279f6b5eb87ec493d96f6943ffdb603ba0)
</content>
</entry>
</feed>
