package mqfs
import "gvisor.dev/gvisor/pkg/sentry/fsimpl/mqfs"
Package mqfs provides a filesystem implementation to back POSIX message queues.
Index ¶
- Constants
- type FilesystemType
- func (ft FilesystemType) GetFilesystem(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials, source string, opts vfs.GetFilesystemOptions) (*vfs.Filesystem, *vfs.Dentry, error)
- func (FilesystemType) Name() string
- func (FilesystemType) Release(ctx context.Context)
- type RegistryImpl
- func NewRegistryImpl(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials) (*RegistryImpl, error)
- func (r *RegistryImpl) Destroy(ctx context.Context)
- func (r *RegistryImpl) Get(ctx context.Context, name string, access mq.AccessType, block bool, flags uint32) (*vfs.FileDescription, bool, error)
- func (r *RegistryImpl) New(ctx context.Context, name string, q *mq.Queue, access mq.AccessType, block bool, perm linux.FileMode, flags uint32) (*vfs.FileDescription, error)
- func (r *RegistryImpl) Unlink(ctx context.Context, name string) error
Constants ¶
const ( // Name is the user-visible filesystem name. Name = "mqueue" )
Types ¶
type FilesystemType ¶
type FilesystemType struct{}
FilesystemType implements vfs.FilesystemType.
+stateify savable
func (FilesystemType) GetFilesystem ¶
func (ft FilesystemType) GetFilesystem(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials, source string, opts vfs.GetFilesystemOptions) (*vfs.Filesystem, *vfs.Dentry, error)
GetFilesystem implements vfs.FilesystemType.GetFilesystem.
func (FilesystemType) Name ¶
func (FilesystemType) Name() string
Name implements vfs.FilesystemType.Name.
func (FilesystemType) Release ¶
func (FilesystemType) Release(ctx context.Context)
Release implements vfs.FilesystemType.Release.
type RegistryImpl ¶
type RegistryImpl struct {
// contains filtered or unexported fields
}
RegistryImpl implements mq.RegistryImpl. It implements the interface using the message queue filesystem, and is provided to mq.Registry at initialization.
RegistryImpl is not thread-safe, so it is the responsibility of the user (the containing mq.Registry) to protect using a lock.
+stateify savable
func NewRegistryImpl ¶
func NewRegistryImpl(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials) (*RegistryImpl, error)
NewRegistryImpl returns a new, initialized RegistryImpl, and takes a reference on root.
func (*RegistryImpl) Destroy ¶
func (r *RegistryImpl) Destroy(ctx context.Context)
Destroy implements mq.RegistryImpl.Destroy.
func (*RegistryImpl) Get ¶
func (r *RegistryImpl) Get(ctx context.Context, name string, access mq.AccessType, block bool, flags uint32) (*vfs.FileDescription, bool, error)
Get implements mq.RegistryImpl.Get.
func (*RegistryImpl) New ¶
func (r *RegistryImpl) New(ctx context.Context, name string, q *mq.Queue, access mq.AccessType, block bool, perm linux.FileMode, flags uint32) (*vfs.FileDescription, error)
New implements mq.RegistryImpl.New.
func (*RegistryImpl) Unlink ¶
func (r *RegistryImpl) Unlink(ctx context.Context, name string) error
Unlink implements mq.RegistryImpl.Unlink.
Source Files ¶
mqfs.go queue.go registry.go root.go
- Version
- v0.0.0-20250605235530-a6711d1e1dc6 (latest)
- Published
- Jun 5, 2025
- Platform
- linux/amd64
- Imports
- 11 packages
- Last checked
- 4 hours ago –
Tools for package owners.