<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/kern/vnode_if.src, branch releng/14.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2023-12-05T00:43:27Z</updated>
<entry>
<title>VFS: add VOP_GETLOWVNODE()</title>
<updated>2023-12-05T00:43:27Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2023-11-18T08:55:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6bed0f65fb68f0f96bfbf5dcdbab26babdafc655'/>
<id>urn:sha1:6bed0f65fb68f0f96bfbf5dcdbab26babdafc655</id>
<content type='text'>
(cherry picked from commit 4cbe4c48a7e574ec1bb919351d7a57d252b00b62)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line sh pattern</title>
<updated>2023-08-16T17:54:58Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=031beb4e239bfce798af17f5fe8dba8bcaf13d99'/>
<id>urn:sha1:031beb4e239bfce798af17f5fe8dba8bcaf13d99</id>
<content type='text'>
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>vnode(9): Fix a typo in a source code comment</title>
<updated>2022-08-07T14:08:43Z</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-08-07T14:08:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fa1ac9693a6d9253edb139358f79cacdd45bc10a'/>
<id>urn:sha1:fa1ac9693a6d9253edb139358f79cacdd45bc10a</id>
<content type='text'>
- s/paramater/parameter/

MFC after:	3 days
</content>
</entry>
<entry>
<title>Change VOP_READDIR's cookies argument to a **uint64_t</title>
<updated>2021-12-16T03:54:57Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-12-14T02:37:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b214fcceacad6b842545150664bd2695c1c2b34f'/>
<id>urn:sha1:b214fcceacad6b842545150664bd2695c1c2b34f</id>
<content type='text'>
The cookies argument is only used by the NFS server.  NFSv2 defines the
cookie as 32 bits on the wire, but NFSv3 increased it to 64 bits.  Our
VOP_READDIR, however, has always defined it as u_long, which is 32 bits
on some architectures.  Change it to 64 bits on all architectures.  This
doesn't matter for any in-tree file systems, but it matters for some
FUSE file systems that use 64-bit directory cookies.

PR:             260375
Reviewed by:    rmacklem
Differential Revision: https://reviews.freebsd.org/D33404
</content>
</entry>
<entry>
<title>Make locking assertions for VOP_FSYNC() and VOP_FDATASYNC() more correct</title>
<updated>2021-11-12T23:02:13Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-11-03T22:28:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=47b248ac651683650f7852485c594e76ca375573'/>
<id>urn:sha1:47b248ac651683650f7852485c594e76ca375573</id>
<content type='text'>
For devfs vnodes, it is fine to not lock vnodes for VOP_FSYNC().
Otherwise vnode must be locked exclusively, except for MNT_SHARED_WRITES()
where the shared lock is enough.

Reported and tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D32761
</content>
</entry>
<entry>
<title>vfs: Add "ioflag" and "cred" arguments to VOP_ALLOCATE</title>
<updated>2021-11-06T20:26:43Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2021-11-06T20:26:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f0c9847a6c477430d6fff647b12e9e9e2b461f2a'/>
<id>urn:sha1:f0c9847a6c477430d6fff647b12e9e9e2b461f2a</id>
<content type='text'>
When the NFSv4.2 server does a VOP_ALLOCATE(), it needs
the operation to be done for the RPC's credential and not
td_ucred. It also needs the writing to be done synchronously.

This patch adds "ioflag" and "cred" arguments to VOP_ALLOCATE()
and modifies vop_stdallocate() to use these arguments.

The VOP_ALLOCATE.9 man page will be patched separately.

Reviewed by:	khng, kib
Differential Revision:	https://reviews.freebsd.org/D32865
</content>
</entry>
<entry>
<title>vfs: remove thread argument from VOP_STAT</title>
<updated>2021-10-11T13:22:32Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2021-10-01T22:25:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2b68eb8e1dbbdaf6a0df1c83b26f5403ca52d4c3'/>
<id>urn:sha1:2b68eb8e1dbbdaf6a0df1c83b26f5403ca52d4c3</id>
<content type='text'>
and fo_stat.
</content>
</entry>
<entry>
<title>vfs: Add ioflag to VOP_DEALLOCATE(9)</title>
<updated>2021-08-12T15:03:49Z</updated>
<author>
<name>Ka Ho Ng</name>
<email>khng@FreeBSD.org</email>
</author>
<published>2021-08-12T14:58:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a638dc4ebc8eaa90a87ee053b7104ee4511f4491'/>
<id>urn:sha1:a638dc4ebc8eaa90a87ee053b7104ee4511f4491</id>
<content type='text'>
The addition of ioflag allows callers passing
IO_SYNC/IO_DATASYNC/IO_DIRECT down to the file system implementation.
The vop_stddeallocate fallback implementation is updated to pass the
ioflag to the file system implementation. vn_deallocate(9) internally is
also changed to pass ioflag to the VOP_DEALLOCATE call.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D31500
</content>
</entry>
<entry>
<title>Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9).</title>
<updated>2021-08-05T15:20:42Z</updated>
<author>
<name>Ka Ho Ng</name>
<email>khng@FreeBSD.org</email>
</author>
<published>2021-08-05T15:20:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0dc332bff200c940edc36c4715b629a2e1e9f9ae'/>
<id>urn:sha1:0dc332bff200c940edc36c4715b629a2e1e9f9ae</id>
<content type='text'>
fspacectl(2) is a system call to provide space management support to
userspace applications. VOP_DEALLOCATE(9) is a VOP call to perform the
deallocation. vn_deallocate(9) is a public KPI for kmods' use.

The purpose of proposing a new system call, a KPI and a VOP call is to
allow bhyve or other hypervisor monitors to emulate the behavior of SCSI
UNMAP/NVMe DEALLOCATE on a plain file.

fspacectl(2) comprises of cmd and flags parameters to specify the
space management operation to be performed. Currently cmd has to be
SPACECTL_DEALLOC, and flags has to be 0.

fo_fspacectl is added to fileops.
VOP_DEALLOCATE(9) is added as a new VOP call. A trivial implementation
of VOP_DEALLOCATE(9) is provided.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D28347
</content>
</entry>
<entry>
<title>Add VOP_VPUT_PAIR() with trivial default implementation.</title>
<updated>2021-02-12T01:02:20Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-01-28T22:30:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=49c117c193768b10f5fb1c5e4d6b88300cfbcdd6'/>
<id>urn:sha1:49c117c193768b10f5fb1c5e4d6b88300cfbcdd6</id>
<content type='text'>
The VOP is intended to be used in situations where VFS has two
referenced locked vnodes, typically a directory vnode dvp and a vnode
vp that is linked from the directory, and at least dvp is vput(9)ed.
The child vnode can be also vput-ed, but optionally left referenced and
locked.

There, at least UFS may need to do some actions with dvp which cannot be
done while vp is also locked, so its lock might be dropped temporary.
For instance, in some cases UFS needs to sync dvp to avoid filesystem
state that is currently not handled by either kernel nor fsck. Having
such VOP provides the neccessary context for filesystem which can do
correct locking and handle potential reclamation of vp after relock.

Trivial implementation does vput(dvp) and optionally vput(vp).

Reviewed by:	chs, mckusick
Tested by:	pho
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
</feed>
