#
739ecbcf |
| 23-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add symlink support to lockless lookup
Reviewed by: kib (previous version) Tested by: pho (previous version) Differential Revision: https://reviews.freebsd.org/D27488
|
#
70ba7770 |
| 12-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: extend vfs:namei:lookup:return probe with nameidata
|
#
cdb62ab7 |
| 12-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add NDFREE_NOTHING and convert several NDFREE_PNBUF callers
Check the comment above the routine for reasoning.
|
#
002e18eb |
| 28-Dec-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add FAILIFEXISTS flag
Both FreeBSD and Linux mkdir -p walk the tree up ignoring any EEXIST on the way and both are used a lot when building respective kernels.
This poses a problem as spurious
vfs: add FAILIFEXISTS flag
Both FreeBSD and Linux mkdir -p walk the tree up ignoring any EEXIST on the way and both are used a lot when building respective kernels.
This poses a problem as spurious locking avoidably interferes with concurrent operations like getdirentries on affected directories.
Work around the problem by adding FAILIFEXISTS flag. In case of lockless lookup this manages to avoid any work to begin with, there is no speed up for the locked case but perhaps this can be augmented later on.
For simplicity the only supported semantics are as used by mkdir.
Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D27789
show more ...
|
#
8fcfd0e2 |
| 06-Dec-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add cleanup on error missed in r368375
Noted by: jrtc27
|
#
60e2a0d9 |
| 06-Dec-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: factor buffer allocation/copyin out of namei
|
#
9c8c797c |
| 23-Nov-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Remove the 'wantparent' variable, unused since r145004.
Reviewed by: kib MFC after: 2 weeks Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D2
Remove the 'wantparent' variable, unused since r145004.
Reviewed by: kib MFC after: 2 weeks Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D27193
show more ...
|
#
2fbb45c6 |
| 05-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: change nt_zone into a malloc type
Elements are small in size and allocated for short periods.
|
#
62568e88 |
| 29-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add NAMEI_DBG_HADSTARTDIR handling lost in rewrite
Noted by: rpokala
|
#
eebc2e45 |
| 29-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add NDREINIT to facilitate repeated namei calls
struct nameidata mixes caller arguments, internal state and output, which can be quite error prone.
Recent addition of valdiating ni_resflags un
vfs: add NDREINIT to facilitate repeated namei calls
struct nameidata mixes caller arguments, internal state and output, which can be quite error prone.
Recent addition of valdiating ni_resflags uncovered a caller which could repeatedly call namei, effectively operating on partially populated state.
Add bare minimium validation this does not happen. The real fix would decouple aforementioned state.
Reported by: pho Tested by: pho (different variant)
show more ...
|
#
d681c51d |
| 26-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add missing NIRES_ABS handling
|
Revision tags: release/12.2.0 |
|
#
4ea49660 |
| 09-Oct-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Do not allow to use O_BENEATH as an oracle.
Specifically, if lookup() returned any error and the topping directory was not latched, which means that (non-existent) path did not returned to the toppi
Do not allow to use O_BENEATH as an oracle.
Specifically, if lookup() returned any error and the topping directory was not latched, which means that (non-existent) path did not returned to the topping location, give ENOTCAPABLE a priority over the lookup() error.
PR: 249960 Reviewed by: emaste, ngie Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26695
show more ...
|
#
1317da43 |
| 23-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Add O_RESOLVE_BENEATH and AT_RESOLVE_BENEATH to mimic Linux' RESOLVE_BENEATH.
It is like O_BENEATH, but disables to walk out of the subtree rooted in the starting directory. O_BENEATH does not care
Add O_RESOLVE_BENEATH and AT_RESOLVE_BENEATH to mimic Linux' RESOLVE_BENEATH.
It is like O_BENEATH, but disables to walk out of the subtree rooted in the starting directory. O_BENEATH does not care if path walks out if it returned.
Requested by: Dan Gohman <dev@sunfishcode.online> PR: 248335 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
6a9c72d9 |
| 23-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Change O_BENEATH to handle relative paths same as absolute.
Do not care if path walks out of the topping directory if it returns back.
Requested and reviewed by: markj Tested by: pho Sponsored by:
Change O_BENEATH to handle relative paths same as absolute.
Do not care if path walks out of the topping directory if it returns back.
Requested and reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
07e7ad2b |
| 23-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Only clear latch for BENEATH when we walk out of the startdir,
not unconditionally on any dotdot component.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
Only clear latch for BENEATH when we walk out of the startdir,
not unconditionally on any dotdot component.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
c7de3d6f |
| 23-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Add NIRES_STRICTREL.
Stop abusing internal namei flag NI_LCF_STRICTRELATIVE as indicator of cap-restricted lookup. Add designated returned flag NIRES_STRICTREL to inform kern_openat() that lookup w
Add NIRES_STRICTREL.
Stop abusing internal namei flag NI_LCF_STRICTRELATIVE as indicator of cap-restricted lookup. Add designated returned flag NIRES_STRICTREL to inform kern_openat() that lookup was restricted.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
f9e46c9b |
| 22-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
lookup: Track last lookup component if it is directory.
This makes open("/a/../a", O_BENEATH) with cwd == "/a" work.
Reviewed by: markj Reported and tested by: pho Sponsored by: The FreeBSD Foundat
lookup: Track last lookup component if it is directory.
This makes open("/a/../a", O_BENEATH) with cwd == "/a" work.
Reviewed by: markj Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
44619a5e |
| 22-Sep-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Improve comment above nameicap_check_dotdot().
Explain why tracker is needed at all.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision:
Improve comment above nameicap_check_dotdot().
Explain why tracker is needed at all.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886
show more ...
|
#
66ac5b2c |
| 28-Aug-2020 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add a comment to clarify when and why cached names are deleted during pathname lookup.
Reviewed by: kib MFC after: 3 days Sponsored by: Netflix
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
f0d9c77e |
| 23-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: validate ndp state after the lookup
The intent is to remove known-to-be-nops NDFREE calls after many lookups.
|
#
4b500119 |
| 23-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: convert nameiop into an enum
While here change the field size from long to int and move it into the gap next to cn_flags.
Shrinks struct componentname from 64 to 56 bytes on amd64.
|
#
de0fcd3a |
| 22-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: assert that HASBUF is only set with SAVENAME or SAVESTART
as requested by the caller. The intent is to eradicate the mostly spurious NDFREE_PNBUF calls.
|
#
760a430b |
| 22-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add a work around for vp_crossmp bug to realpath
The actual bug is not yet addressed as it will get much easier after other problems are addressed (most notably rename contract).
The only affe
vfs: add a work around for vp_crossmp bug to realpath
The actual bug is not yet addressed as it will get much easier after other problems are addressed (most notably rename contract).
The only affected in-tree consumer is realpath. Everyone else happens to be performing lookups within a mount point, having a side effect of ni_dvp being set to mount point's root vnode in the worst case.
Reported by: pho
show more ...
|
#
e81829d0 |
| 16-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r364264 through r364278.
|