HomeFreeBSD

Allow some VOPs to return ERELOOKUP to indicate VFS operation restart at top…

Description

Allow some VOPs to return ERELOOKUP to indicate VFS operation restart at top level.

Restart syscalls and some sync operations when filesystem indicated
ERELOOKUP condition, mostly for VOPs operating on metdata. In
particular, lookup results cached in the inode/v_data is no longer
valid and needs recalculating. Right now this should be nop.

Assert that ERELOOKUP is catched everywhere and not returned to
userspace, by asserting that td_errno != ERELOOKUP on syscall return
path.

In collaboration with: pho
Reviewed by: mckusick (previous version), markj
Tested by: markj (syzkaller), pho
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D26136

Details

Provenance
kibAuthored on Nov 13 2020, 9:42 AM
Parents
rG7cde2ec4fdb2: Implement vn_lock_pair().
Branches
Unknown
Tags
Unknown

Event Timeline