|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0 |
|
| #
6bed0f65 |
| 18-Nov-2023 |
Konstantin Belousov <[email protected]> |
VFS: add VOP_GETLOWVNODE()
(cherry picked from commit 4cbe4c48a7e574ec1bb919351d7a57d252b00b62)
|
|
Revision tags: release/14.0.0 |
|
| #
031beb4e |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
fa1ac969 |
| 07-Aug-2022 |
Gordon Bergling <[email protected]> |
vnode(9): Fix a typo in a source code comment
- s/paramater/parameter/
MFC after: 3 days
|
|
Revision tags: release/13.1.0 |
|
| #
b214fcce |
| 14-Dec-2021 |
Alan Somers <[email protected]> |
Change VOP_READDIR's cookies argument to a **uint64_t
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 V
Change VOP_READDIR's cookies argument to a **uint64_t
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
show more ...
|
|
Revision tags: release/12.3.0 |
|
| #
47b248ac |
| 03-Nov-2021 |
Konstantin Belousov <[email protected]> |
Make locking assertions for VOP_FSYNC() and VOP_FDATASYNC() more correct
For devfs vnodes, it is fine to not lock vnodes for VOP_FSYNC(). Otherwise vnode must be locked exclusively, except for MNT_S
Make locking assertions for VOP_FSYNC() and VOP_FDATASYNC() more correct
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
show more ...
|
| #
f0c9847a |
| 06-Nov-2021 |
Rick Macklem <[email protected]> |
vfs: Add "ioflag" and "cred" arguments to VOP_ALLOCATE
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 w
vfs: Add "ioflag" and "cred" arguments to VOP_ALLOCATE
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
show more ...
|
| #
2b68eb8e |
| 01-Oct-2021 |
Mateusz Guzik <[email protected]> |
vfs: remove thread argument from VOP_STAT
and fo_stat.
|
| #
a638dc4e |
| 12-Aug-2021 |
Ka Ho Ng <[email protected]> |
vfs: Add ioflag to VOP_DEALLOCATE(9)
The addition of ioflag allows callers passing IO_SYNC/IO_DATASYNC/IO_DIRECT down to the file system implementation. The vop_stddeallocate fallback implementation
vfs: Add ioflag to VOP_DEALLOCATE(9)
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
show more ...
|
| #
0dc332bf |
| 05-Aug-2021 |
Ka Ho Ng <[email protected]> |
Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9).
fspacectl(2) is a system call to provide space management support to userspace applications. VOP_DEALLOCATE(9) is a VOP call to perform the
Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9).
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
show more ...
|
|
Revision tags: release/13.0.0 |
|
| #
49c117c1 |
| 28-Jan-2021 |
Konstantin Belousov <[email protected]> |
Add VOP_VPUT_PAIR() with trivial default implementation.
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
Add VOP_VPUT_PAIR() with trivial default implementation.
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
show more ...
|
| #
739ecbcf |
| 23-Jan-2021 |
Mateusz Guzik <[email protected]> |
cache: add symlink support to lockless lookup
Reviewed by: kib (previous version) Tested by: pho (previous version) Differential Revision: https://reviews.freebsd.org/D27488
|
|
Revision tags: release/12.2.0 |
|
| #
c7520caa |
| 22-Oct-2020 |
Mateusz Guzik <[email protected]> |
vfs: prevent avoidable evictions on mkdir of existing directories
mkdir -p /foo/bar/baz will mkdir each path component and ignore EEXIST.
The NOCACHE lookup will make the namecache unnecessarily ev
vfs: prevent avoidable evictions on mkdir of existing directories
mkdir -p /foo/bar/baz will mkdir each path component and ignore EEXIST.
The NOCACHE lookup will make the namecache unnecessarily evict the existing entry, and then fallback to the fs lookup routine eventually leading namei to return an error as the directory is already there.
For invocations like mkdir -p /usr/obj/usr/src/sys/GENERIC/modules this triggers fallbacks to the slowpath for concurrently executing lookups.
Tested by: pho Discussed with: kib
show more ...
|
| #
ab21ed17 |
| 20-Oct-2020 |
Mateusz Guzik <[email protected]> |
vfs: drop the de facto curthread argument from VOP_INACTIVE
|
| #
8ecd87a3 |
| 20-Oct-2020 |
Mateusz Guzik <[email protected]> |
vfs: drop spurious cred argument from VOP_VPTOCNP
|
| #
3c484f32 |
| 15-Sep-2020 |
Konstantin Belousov <[email protected]> |
Convert page cache read to VOP.
There are several negative side-effects of not calling into VOP layer at all for page cache reads. The biggest is the missed activation of EVFILT_READ knotes.
Also,
Convert page cache read to VOP.
There are several negative side-effects of not calling into VOP layer at all for page cache reads. The biggest is the missed activation of EVFILT_READ knotes.
Also, it allows filesystem to make more fine grained decision to refuse read from page cache.
Keep VIRF_PGREAD flag around, it is still useful for nullfs, and for asserts.
Reviewed by: markj Tested by: pho Discussed with: mjg Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D26346
show more ...
|
| #
8f226f4c |
| 19-Aug-2020 |
Mateusz Guzik <[email protected]> |
vfs: remove the always-curthread td argument from VOP_RECLAIM
|
| #
21d5af2b |
| 10-Aug-2020 |
Mateusz Guzik <[email protected]> |
vfs: drop the thread argumemnt from vfs_fplookup_vexec
It is guaranteed curthread.
Tested by: pho Sponsored by: The FreeBSD Foundation
|
| #
51ea7bea |
| 07-Aug-2020 |
Mateusz Guzik <[email protected]> |
vfs: add VOP_STAT
The current scheme of calling VOP_GETATTR adds avoidable overhead.
An example with tmpfs doing fstat (ops/s): before: 7488958 after: 7913833
Reviewed by: kib (previous version)
vfs: add VOP_STAT
The current scheme of calling VOP_GETATTR adds avoidable overhead.
An example with tmpfs doing fstat (ops/s): before: 7488958 after: 7913833
Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D25910
show more ...
|
| #
848f8eff |
| 30-Jul-2020 |
Mateusz Guzik <[email protected]> |
vfs: inline vops if there are no pre/post associated calls
This removes a level of indirection from frequently used methods, most notably VOP_LOCK1 and VOP_UNLOCK1.
Tested by: pho
|
| #
07d2145a |
| 25-Jul-2020 |
Mateusz Guzik <[email protected]> |
vfs: add the infrastructure for lockless lookup
Reviewed by: kib Tested by: pho (in a patchset) Differential Revision: https://reviews.freebsd.org/D25577
|
| #
0379ff6a |
| 25-Jul-2020 |
Mateusz Guzik <[email protected]> |
vfs: introduce vnode sequence counters
Modified on each permission change and link/unlink.
Reviewed by: kib Tested by: pho (in a patchset) Differential Revision: https://reviews.freebsd.org/D25573
|
|
Revision tags: release/11.4.0 |
|
| #
2782c00c |
| 23-Feb-2020 |
Ryan Libby <[email protected]> |
vfs: quiet -Wwrite-strings
Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D23797
|
| #
6698e11f |
| 02-Feb-2020 |
Mateusz Guzik <[email protected]> |
vfs: remove the now empty vop_unlock_post
|
| #
45757984 |
| 01-Feb-2020 |
Mateusz Guzik <[email protected]> |
vfs: consistently use size_t for buflen around VOP_VPTOCNP
|
| #
643656cf |
| 01-Feb-2020 |
Mateusz Guzik <[email protected]> |
vfs: replace VOP_MARKATIME with VOP_MMAPPED
The routine is only provided by ufs and is only used on mmap and exec.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23422
|