Page MenuHomeFreeBSD

vfs: Validate the vop vectors after the default vops applied
AbandonedPublic

Authored by dchagin on Aug 6 2023, 4:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 18 2024, 6:14 PM
Unknown Object (File)
Oct 28 2024, 9:55 PM
Unknown Object (File)
Oct 28 2024, 9:40 AM
Unknown Object (File)
Oct 2 2024, 6:05 PM
Unknown Object (File)
Sep 3 2024, 2:18 AM
Unknown Object (File)
Aug 10 2024, 12:15 PM
Unknown Object (File)
Aug 9 2024, 5:04 AM
Unknown Object (File)
Jul 5 2024, 9:23 AM
Subscribers

Details

Reviewers
kib
mjg

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 52996
Build 49887: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Aug 6 2023, 5:24 PM

my bad, the entire point was for validation to happen prior any automagic assignment so filesystems are forced to explicitly state their position on fplookup for given vop vector

what would make more sense is to perform cache_vop_vector_register in the spot you are doing now and call cache_vop_vector_prevalidate or similar prior to the for (name in funcarr) { loop

mjg requested changes to this revision.Aug 6 2023, 7:09 PM
This revision now requires changes to proceed.Aug 6 2023, 7:09 PM
In D41337#941279, @mjg wrote:

my bad, the entire point was for validation to happen prior any automagic assignment so filesystems are forced to explicitly state their position on fplookup for given vop vector

I disagree, it’s not an automagic, it is a long lived well known stable code, and, of course, the fix doesn't change the purpose you wanted

what would make more sense is to perform cache_vop_vector_register in the spot you are doing now and call cache_vop_vector_prevalidate or similar prior to the for (name in funcarr) { loop

In D41337#941279, @mjg wrote:

my bad, the entire point was for validation to happen prior any automagic assignment so filesystems are forced to explicitly state their position on fplookup for given vop vector

I disagree, it’s not an automagic, it is a long lived well known stable code, and, of course, the fix doesn't change the purpose you wanted

It does change the purpose because after the possibly intentionally missing fplookup vops get populated, it is impossible to check if the person implementing given vop_vector wanted them to begin with.