Page MenuHomeFreeBSD

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

Authored by mjg on Jul 6 2020, 7:34 PM.
Tags
None
Referenced Files
F157307371: D25579.id74910.diff
Wed, May 20, 4:56 AM
F157292029: D25579.diff
Wed, May 20, 2:04 AM
F157270160: D25579.id74910.diff
Tue, May 19, 9:56 PM
F157270124: D25579.id74910.diff
Tue, May 19, 9:56 PM
Unknown Object (File)
Mon, May 18, 2:31 PM
Unknown Object (File)
Sat, May 16, 5:36 PM
Unknown Object (File)
Tue, May 12, 4:03 PM
Unknown Object (File)
Sat, May 2, 4:43 PM
Subscribers

Details

Summary

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

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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
790 ↗(On Diff #74541)

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.

1088 ↗(On Diff #74541)

Same.

sys/ufs/ufs/ufs_vnops.c
1626 ↗(On Diff #74541)

is it _begin() or _end() ?

  • fix mismatched seqc on rename error
sys/ufs/ffs/ffs_vnops.c
790 ↗(On Diff #74541)

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.