starnix_sync

Trait LockAfter

Source
pub trait LockAfter<A> { }
Expand description

Marker trait that indicates that Self can be locked after A.

This should be implemented for lock types to specify that, in the lock ordering graph, A comes before Self. So if B: LockAfter<A>, lock type B can be acquired after A but A cannot be acquired after B.

Note, though, that it’s preferred to use the [lock_ordering] macro instead of writing trait impls directly to avoid the possibility of lock ordering cycles.

Implementors§

Source§

impl LockAfter<BeforeFsNodeAppend> for BpfHelperOps

Source§

impl LockAfter<BeforeFsNodeAppend> for BpfMapEntries

Source§

impl LockAfter<BeforeFsNodeAppend> for FileOpsCore

Source§

impl LockAfter<BeforeFsNodeAppend> for FsNodeAppend

Source§

impl LockAfter<BeforeFsNodeAppend> for KernelIpTables

Source§

impl LockAfter<BeforeFsNodeAppend> for KernelSwapFiles

Source§

impl LockAfter<BeforeFsNodeAppend> for MmDumpable

Source§

impl LockAfter<BeforeFsNodeAppend> for ProcessGroupState

Source§

impl LockAfter<BeforeFsNodeAppend> for UninterruptibleLock

Source§

impl LockAfter<BpfHelperOps> for BpfMapEntries

Source§

impl LockAfter<DeviceOpen> for BpfHelperOps

Source§

impl LockAfter<DeviceOpen> for BpfMapEntries

Source§

impl LockAfter<DeviceOpen> for FileOpsCore

Source§

impl LockAfter<DeviceOpen> for KernelIpTables

Source§

impl LockAfter<DeviceOpen> for KernelSwapFiles

Source§

impl LockAfter<DeviceOpen> for MmDumpable

Source§

impl LockAfter<DeviceOpen> for ProcessGroupState

Source§

impl LockAfter<DeviceOpen> for UninterruptibleLock

Source§

impl LockAfter<FileOpsCore> for BpfHelperOps

Source§

impl LockAfter<FileOpsCore> for BpfMapEntries

Source§

impl LockAfter<FileOpsCore> for KernelIpTables

Source§

impl LockAfter<FileOpsCore> for KernelSwapFiles

Source§

impl LockAfter<FileOpsCore> for MmDumpable

Source§

impl LockAfter<FileOpsCore> for ProcessGroupState

Source§

impl LockAfter<FileOpsCore> for UninterruptibleLock

Source§

impl LockAfter<FsNodeAppend> for BpfHelperOps

Source§

impl LockAfter<FsNodeAppend> for BpfMapEntries

Source§

impl LockAfter<FsNodeAppend> for FileOpsCore

Source§

impl LockAfter<FsNodeAppend> for KernelIpTables

Source§

impl LockAfter<FsNodeAppend> for KernelSwapFiles

Source§

impl LockAfter<FsNodeAppend> for MmDumpable

Source§

impl LockAfter<FsNodeAppend> for ProcessGroupState

Source§

impl LockAfter<FsNodeAppend> for UninterruptibleLock

Source§

impl LockAfter<ResourceAccessorAddFile> for BpfHelperOps

Source§

impl LockAfter<ResourceAccessorAddFile> for BpfMapEntries

Source§

impl LockAfter<ResourceAccessorAddFile> for DeviceOpen

Source§

impl LockAfter<ResourceAccessorAddFile> for FileOpsCore

Source§

impl LockAfter<ResourceAccessorAddFile> for KernelIpTables

Source§

impl LockAfter<ResourceAccessorAddFile> for KernelSwapFiles

Source§

impl LockAfter<ResourceAccessorAddFile> for MmDumpable

Source§

impl LockAfter<ResourceAccessorAddFile> for ProcessGroupState

Source§

impl LockAfter<ResourceAccessorAddFile> for UninterruptibleLock

Source§

impl LockAfter<TaskRelease> for BpfHelperOps

Source§

impl LockAfter<TaskRelease> for BpfMapEntries

Source§

impl LockAfter<TaskRelease> for FileOpsCore

Source§

impl LockAfter<TaskRelease> for KernelIpTables

Source§

impl LockAfter<TaskRelease> for KernelSwapFiles

Source§

impl LockAfter<TaskRelease> for MmDumpable

Source§

impl LockAfter<TaskRelease> for ProcessGroupState

Source§

impl LockAfter<TaskRelease> for UninterruptibleLock

Source§

impl LockAfter<UninterruptibleLock> for BpfMapEntries

Source§

impl LockAfter<UninterruptibleLock> for KernelIpTables

Source§

impl LockAfter<UninterruptibleLock> for KernelSwapFiles

Source§

impl LockAfter<UninterruptibleLock> for MmDumpable

Source§

impl LockAfter<UninterruptibleLock> for ProcessGroupState

Source§

impl LockAfter<Unlocked> for BeforeFsNodeAppend

Source§

impl LockAfter<Unlocked> for BpfHelperOps

Source§

impl LockAfter<Unlocked> for BpfMapEntries

Source§

impl LockAfter<Unlocked> for DeviceOpen

Source§

impl LockAfter<Unlocked> for FileOpsCore

Source§

impl LockAfter<Unlocked> for FsNodeAppend

Source§

impl LockAfter<Unlocked> for KernelIpTables

Source§

impl LockAfter<Unlocked> for KernelSwapFiles

Source§

impl LockAfter<Unlocked> for MmDumpable

Source§

impl LockAfter<Unlocked> for ProcessGroupState

Source§

impl LockAfter<Unlocked> for ResourceAccessorAddFile

Source§

impl LockAfter<Unlocked> for TaskRelease

Source§

impl LockAfter<Unlocked> for UninterruptibleLock