Page MenuHomeFreeBSD

(lookup 4) ufs: add support for lockless lookup
ClosedPublic

Authored by mjg on Jul 6 2020, 7:34 PM.

Details

Summary

ACLs are not supported, meaning their presence will force the use of the old lookup.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 32165

Event Timeline

mjg requested review of this revision.Jul 6 2020, 7:34 PM

I cannot speak to the correctness of the whole patch, but looking over D25577, D25578, and this one, D25579, I see nothing that looks incorrect.

  • add missing seqc to ffs_write for case of clearing suid/sgid
sys/ufs/ffs/ffs_vnops.c
788

I am not sure why clearing setuid/setgid bits on normal files (only normal files can be written to) requires blocking of lockless lookup. The bits do not affect permissions to do the lookup.

1077

Same.

sys/ufs/ufs/ufs_vnops.c
1623

is it _begin() or _end() ?

  • fix mismatched seqc on rename error
sys/ufs/ffs/ffs_vnops.c
788

This is not necessary. It alters i_mode and I think only modifying it within seqc is a good invariant to have. However, this can be pushed way down to wrap the actual modification, I have no strong opinion.

mjg marked an inline comment as done.
  • tighten seqc coverage in write/extwrite
In D25579#570728, @mjg wrote:
  • tighten seqc coverage in write/extwrite

I think even this reduced scope is not needed.

This revision is now accepted and ready to land.Jul 22 2020, 8:54 PM
This revision was automatically updated to reflect the committed changes.