History log of /freebsd/sys/kern/vfs_lookup.c (Results 101 – 125 of 572)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 494c0f2a 16-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: mark HASBUF as an internal flag

There is no setter for cn_pnbuf.


# de6fc2e3 15-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r364082 through r364250.


# b38ad268 13-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: add missing pwd_drop on error in namei_setup

Reported by: pho


# 440cec3f 12-Aug-2020 Glen Barber <gjb@FreeBSD.org>

MFH

Sponsored by: Rubicon Communications, LLC (netgate.com)


# 2d0631dd 11-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: stricter validation for flags passed to namei in cn_flags

namei de facto expects that the naimeidata object is properly initialized,
but at the same time it mixes consumer-passable and internal

vfs: stricter validation for flags passed to namei in cn_flags

namei de facto expects that the naimeidata object is properly initialized,
but at the same time it mixes consumer-passable and internal flags, while
tolerating this part by explicitly clearing some of them.

Tighten the interface instead.

While here renumber the flags and denote the gap between the 2 variants.

Try to piggy back th renumber on the just bumped __FreeBSD_version.

show more ...


# 25e42ee2 10-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: drop the hello world stat probes from the vfs provider

Interested parties can get the same information by hoooking on vop_stat.


# 8460d754 10-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r364051 through r364081.


# 7f700801 10-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: disallow NOCACHE with LOOKUP

This means there is no expectation lookup will purge the terminal entry,
which simplifies lockless lookup.

Tested by: pho
Sponsored by: The FreeBSD Foundation


# e383ec74 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r363739 through r363986.


# 158ab70c 05-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: tidy up namei entry point

- predict for string copy errors
- reshuffle inititalistion of vars which are not needed


# 85cf3161 01-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: inline NDINIT_ALL

The routine takes more than 6 arguments, which on amd64 means some of
them have to be passed through the stack.


# 14576629 01-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: convert ni_rigthsneeded to a pointer

Shaves 8 bytes of struct nameidata on 64-bit platforms.


# 21c16260 01-Aug-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: make rights mandatory for NDINIT_ALL


# c7aa572c 31-Jul-2020 Glen Barber <gjb@FreeBSD.org>

MFH

Sponsored by: Rubicon Communications, LLC (netgate.com)


# 17996960 31-Jul-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r363583 through r363738.


# b1f910e0 30-Jul-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: short-circuit the common case NDFREE calls

Almost all consumers use the NDF_ONLY_PNBUF macro, making them avoidably branch
a lot in the NDFREE routine. Also note most of them should not need to

vfs: short-circuit the common case NDFREE calls

Almost all consumers use the NDF_ONLY_PNBUF macro, making them avoidably branch
a lot in the NDFREE routine. Also note most of them should not need to call
any cleanup anyway as they don't request HASBUF.

show more ...


# d3e63e8e 30-Jul-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: make sure startdir_used is always assigned to before use

CID: 1431070


# c42b77e6 25-Jul-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: lockless lookup

Provides full scalability as long as all visited filesystems support the
lookup and terminal vnodes are different.

Inner workings are explained in the comment above cache_fploo

vfs: lockless lookup

Provides full scalability as long as all visited filesystems support the
lookup and terminal vnodes are different.

Inner workings are explained in the comment above cache_fplookup.

Capabilities and fd-relative lookups are not supported and will result in
immediate fallback to regular code.

Symlinks, ".." in the path, mount points without support for lockless lookup
and mismatched counters will result in an attempt to get a reference to the
directory vnode and continue in regular lookup. If this fails, the entire
operation is aborted and regular lookup starts from scratch. However, care is
taken that data is not copied again from userspace.

Sample benchmark:
incremental -j 104 bzImage on tmpfs:
before: 142.96s user 1025.63s system 4924% cpu 23.731 total
after: 147.36s user 313.40s system 3216% cpu 14.326 total

Sample microbenchmark: access calls to separate files in /tmpfs, 104 workers, ops/s:
before: 2165816
after: 151216530

Reviewed by: kib
Tested by: pho (in a patchset)
Differential Revision: https://reviews.freebsd.org/D25578

show more ...


# 422f38d8 10-Jul-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: fix trivial whitespace issues which don't interefere with blame

.. even without the -w switch


Revision tags: release/11.4.0
# e43d33d2 05-Mar-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r358466 through r358677.


# 2f423bce 01-Mar-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: stop taking additional refs on root vnode during lookup

They are spurious since introduction of struct pwd, which provides them
implicitly.

Reviewed by: kib
Differential Revision: https://revi

vfs: stop taking additional refs on root vnode during lookup

They are spurious since introduction of struct pwd, which provides them
implicitly.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D23885

show more ...


# 8d03b99b 01-Mar-2020 Mateusz Guzik <mjg@FreeBSD.org>

fd: move vnodes out of filedesc into a dedicated structure

The new structure is copy-on-write. With the assumption that path lookups are
significantly more frequent than chdirs and chrooting this is

fd: move vnodes out of filedesc into a dedicated structure

The new structure is copy-on-write. With the assumption that path lookups are
significantly more frequent than chdirs and chrooting this is a win.

This provides stable root and jail root vnodes without the need to reference
them on lookup, which in turn means less work on globally shared structures.
Note this also happens to fix a bug where jail vnode was never referenced,
meaning subsequent access on lookup could run into use-after-free.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D23884

show more ...


# 24a22d1d 22-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge r358179 through r358238.

PR: 244251


# 721a81c3 21-Feb-2020 Mateusz Guzik <mjg@FreeBSD.org>

vfs: stop duplicating vnode work in audit during path lookup

Duplicating the work was putting an avoidable requirement that the filedesc
lock is held across the entire operation (otherwise by the ti

vfs: stop duplicating vnode work in audit during path lookup

Duplicating the work was putting an avoidable requirement that the filedesc
lock is held across the entire operation (otherwise by the time audit reads
vnode pointers another thread in the same process can chdir somewhere else,
making audit log things using different vnode than the one which will be
used for actual lookup).

Do the obvious thing and pass down vnodes which will be used.

show more ...


# dca7f66f 15-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r357931 through r357965.


12345678910>>...23