#
29363fb4 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
3905309d |
| 11-Jul-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdescfs: add a mount option rdlnk
which changes /dev/fd/N files types to symbolic link with the behavior of symbolic links.
PR: 272127 Reported by: Peter Eriksson <pen@lysator.liu.se> Reviewed by:
fdescfs: add a mount option rdlnk
which changes /dev/fd/N files types to symbolic link with the behavior of symbolic links.
PR: 272127 Reported by: Peter Eriksson <pen@lysator.liu.se> Reviewed by: dchagin Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D40969
show more ...
|
#
9c3bfe2a |
| 11-Jul-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
Revert "VFS: Remove VV_READLINK flag" and "fdescfs: improve linrdlnk mount option"
This reverts commits 4a402dfe0bc44770c9eac6e58a501e4805e29413 and 3bffa2262328e4ff1737516f176107f607e7bc76.
The fi
Revert "VFS: Remove VV_READLINK flag" and "fdescfs: improve linrdlnk mount option"
This reverts commits 4a402dfe0bc44770c9eac6e58a501e4805e29413 and 3bffa2262328e4ff1737516f176107f607e7bc76.
The fix will be implemented in somewhat different manner. The semantic adjustment is incompatible with linuxolator expectations.
Reported and reviewed by: dchagin Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D40969
show more ...
|
#
3bffa226 |
| 22-Jun-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdescfs: improve linrdlnk mount option
Instead of using VV_READLINK vnode flag and checking it in one place, just assign VLNK type to the Fdesc vnodes for linrdlnk mounts. Then all places where sym
fdescfs: improve linrdlnk mount option
Instead of using VV_READLINK vnode flag and checking it in one place, just assign VLNK type to the Fdesc vnodes for linrdlnk mounts. Then all places where symlinks needs to be followed, e.g. lookup(), are handled.
PR: 272127 Reported by: Peter Eriksson <pen@lysator.liu.se> Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D40700
show more ...
|
Revision tags: release/13.2.0 |
|
#
13262b07 |
| 23-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdesc_lookup(): drop fdropped
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D39207
|
#
7dca8fd1 |
| 23-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdesc_lookup(): the condition to use vn_vget_ino() is always true
The ix number for the fdescfs root is 1, while any fd vnode has the ix value at least 3.
Reviewed by: markj Tested by: pho Sponsore
fdesc_lookup(): the condition to use vn_vget_ino() is always true
The ix number for the fdescfs root is 1, while any fd vnode has the ix value at least 3.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D39207
show more ...
|
#
8d97282a |
| 22-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdesc_lookup(): no need to vhold the dvp vnode
It is already referenced by the VOP_LOOKUP() caller, otherwise vdrop() after vn_lock() is invalid anyway.
Reviewed by: markj Tested by: pho Sponsored
fdesc_lookup(): no need to vhold the dvp vnode
It is already referenced by the VOP_LOOKUP() caller, otherwise vdrop() after vn_lock() is invalid anyway.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D39207
show more ...
|
#
51b8ffb9 |
| 21-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fdesc_allocvp(): fix potential use after free
Just owning the interlock is not enough for vget() to operate on the vnode race-free with vgone(), the vnode should be held. Use vget_prep()/vget_finis
fdesc_allocvp(): fix potential use after free
Just owning the interlock is not enough for vget() to operate on the vnode race-free with vgone(), the vnode should be held. Use vget_prep()/vget_finish() to avoid vholding the vnode explicitly, and drop LK_INTERLOCK.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D39207
show more ...
|
#
0f5b6f9a |
| 22-Mar-2023 |
Mark Johnston <markj@FreeBSD.org> |
fdescfs: Fix a file ref leak
In fdesc_lookup(), vn_vget_ino_gen() may fail without invoking the callback, in which case the ref on fp is leaked. This happens if the fdescfs mount is being concurren
fdescfs: Fix a file ref leak
In fdesc_lookup(), vn_vget_ino_gen() may fail without invoking the callback, in which case the ref on fp is leaked. This happens if the fdescfs mount is being concurrently unmounted. Moreover, we cannot safely drop the ref while the dvp is locked.
So: - Use a flag variable to indicate whether the ref is dropped. - Reorganize things to handle the leak.
Reported by: C Turt <ecturt@gmail.com> Reviewed by: mjg, kib Tested by: pho MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39189
show more ...
|
#
829f0bcb |
| 19-Dec-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add the concept of vnode state transitions
To quote from a comment above vput_final: <quote> * XXX Some filesystems pass in an exclusively locked vnode and strongly depend * on the lock being h
vfs: add the concept of vnode state transitions
To quote from a comment above vput_final: <quote> * XXX Some filesystems pass in an exclusively locked vnode and strongly depend * on the lock being held all the way until VOP_INACTIVE. This in particular * happens with UFS which adds half-constructed vnodes to the hash, where they * can be found by other code. </quote>
As is there is no mechanism which allows filesystems to denote that a vnode is fully initialized, consequently problems like the above are only found the hard way(tm).
Add rudimentary support for state transitions, which in particular allow to assert the vnode is not legally unlocked until its fate is decided (either construction finishes or vgone is called to abort it).
The new field lands in a 1-byte hole, thus it does not grow the struct.
Bump __FreeBSD_version to 1400077
Reviewed by: kib (previous version) Tested by: pho Differential Revision: https://reviews.freebsd.org/D37759
show more ...
|
Revision tags: release/12.4.0 |
|
#
a75d1ddd |
| 17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: introduce V_PCATCH to stop abusing PCATCH
|
#
156745b4 |
| 05-Jun-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
fdescfs: allow chown/utime etc on fdescfs fd for underlying files opened with O_PATH
Reported and tested by: dchagin Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differe
fdescfs: allow chown/utime etc on fdescfs fd for underlying files opened with O_PATH
Reported and tested by: dchagin Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D35410
show more ...
|
Revision tags: release/13.1.0 |
|
#
66c5fbca |
| 28-Jan-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
insmntque1(): remove useless arguments
Also remove once-used functions to clean up after failed insmntque1(), which were destructor callbacks in previous life.
Reviewed by: markj Tested by: pho Spo
insmntque1(): remove useless arguments
Also remove once-used functions to clean up after failed insmntque1(), which were destructor callbacks in previous life.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D34071
show more ...
|
#
2a7e4cf8 |
| 27-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
Revert b58ca5df0bb7 ("vfs: remove the now unused insmntque1")
I was somehow convinced that insmntque calls insmntque1 with a NULL destructor. Unfortunately this worked well enough to not immediately
Revert b58ca5df0bb7 ("vfs: remove the now unused insmntque1")
I was somehow convinced that insmntque calls insmntque1 with a NULL destructor. Unfortunately this worked well enough to not immediately blow up in simple testing.
Keep not using the destructor in previously patched filesystems though as it avoids unnecessary casts.
Noted by: kib Reported by: pho
show more ...
|
#
ade1367b |
| 27-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
fdescfs: stop using insmntque1
It adds nothing of value over insmntque.
|
Revision tags: release/12.3.0 |
|
#
35b12b87 |
| 24-Nov-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
fdescfs: plug a set-but-not-unused var
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
b4a58fbf |
| 01-Oct-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove cn_thread
It is always curthread.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D32453
|
#
f9b1e711 |
| 06-May-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
fdescfs: add an option to return underlying file vnode on lookup
The 'nodup' option forces fdescfs to return real vnode behind file descriptor instead of the fdescfs fd vnode, on lookup. The end res
fdescfs: add an option to return underlying file vnode on lookup
The 'nodup' option forces fdescfs to return real vnode behind file descriptor instead of the fdescfs fd vnode, on lookup. The end result is that e.g. stat("/dev/fd/3") returns the stat data for the underlying vnode, if any. Similarly, fchdir(2) works in the expected way.
For open(2), if applied over file descriptor opened with O_PATH, it effectively re-open that vnode into normal file descriptor which has the specified access mode, assuming the current vnode permissions allow it.
If the file descriptor does not reference vnode, the behavior is unchanged.
This is done by a mount option, because permission check on open(2) breaks established fdescfs open semantic of dup(2)-ing the descriptor. So it is not suitable for /dev/fd mount.
Tested by: Andrew Walker <awalker@ixsystems.com> Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D30140
show more ...
|
Revision tags: release/13.0.0 |
|
#
6b3a9a0f |
| 12-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
Convert remaining cap_rights_init users to cap_rights_init_one
semantic patch:
@@
expression rights, r;
@@
- cap_rights_init(&rights, r) + cap_rights_init_one(&rights, r)
|
Revision tags: release/12.2.0 |
|
#
586ee69f |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
fs: clean up empty lines in .c and .h files
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
feabaaf9 |
| 24-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: drop the always curthread argument from reverse lookup routines
Note VOP_VPTOCNP keeps getting it as temporary compatibility for zfs.
Tested by: pho
|
#
e81829d0 |
| 16-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r364264 through r364278.
|
#
a92a971b |
| 16-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the thread argument from vget
It was already asserted to be curthread.
Semantic patch:
@@
expression arg1, arg2, arg3;
@@
- vget(arg1, arg2, arg3) + vget(arg1, arg2)
|