Page MenuHomeFreeBSD

ffs_syncvnode(): avoid a LoR for SU
ClosedPublic

Authored by kib on Jan 9 2023, 8:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 12, 10:43 PM
Unknown Object (File)
Oct 29 2024, 11:30 PM
Unknown Object (File)
Oct 25 2024, 8:27 AM
Unknown Object (File)
Sep 25 2024, 2:52 AM
Unknown Object (File)
Sep 25 2024, 2:52 AM
Unknown Object (File)
Sep 25 2024, 2:52 AM
Unknown Object (File)
Sep 22 2024, 11:41 PM
Unknown Object (File)
Sep 22 2024, 10:51 AM
Subscribers

Details

Summary
There is another case where SU code does ffs_syncvnode(dvp) for the
parent directory dvp while the child vnode vp is locked.  Avoid the
issue by relocking and returning ERELOOKUP to indicate the need of
resync.

Reported by:    jkim
Tested by:      pho

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib requested review of this revision.Jan 9 2023, 8:34 PM

This change looks correct.

After rename, fsync when running with soft updates has to be the most complex code in the filesystem.

This revision is now accepted and ready to land.Jan 14 2023, 6:20 PM
This revision was automatically updated to reflect the committed changes.