freebsd-nq/usr.bin/truss
Mateusz Guzik 0573d0a9b8 vfs: add realpathat syscall
realpath(3) is used a lot e.g., by clang and is a major source of getcwd
and fstatat calls. This can be done more efficiently in the kernel.

This works by performing a regular lookup while saving the name and found
parent directory. If the terminal vnode is a directory we can resolve it using
usual means. Otherwise we can use the name saved by lookup and resolve the
parent.

See the review for sample syscall counts.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D23574
2020-02-20 16:58:19 +00:00
..
extern.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
main.c Validate the string size parameter passed to -s. 2018-12-10 21:47:19 +00:00
Makefile Use PT_GET_SC_ARGS and PT_GET_SC_RET in truss. 2019-07-16 22:59:15 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
setup.c Use PT_GET_SC_ARGS and PT_GET_SC_RET in truss. 2019-07-16 22:59:15 +00:00
syscall.h truss: decode shm_open2 2020-02-19 14:54:33 +00:00
syscalls.c vfs: add realpathat syscall 2020-02-20 16:58:19 +00:00
truss.1 Make truss(1) cross-reference dtrace(1) and bump .Dd. 2017-07-21 13:58:51 +00:00
truss.h Use PT_GET_SC_ARGS and PT_GET_SC_RET in truss. 2019-07-16 22:59:15 +00:00