Documentation ¶
Overview ¶
Package fuse implements fusefs.
Index ¶
- Constants
- Variables
- func Register(vfsObj *vfs.VirtualFilesystem) error
- func SeqAtomicLoadTime(seq *sync.SeqCount, ptr *__generics_imported0.Time) __generics_imported0.Time
- func SeqAtomicStoreSeqedTime(ptr *__generics_imported0.Time, val __generics_imported0.Time)
- func SeqAtomicStoreTime(seq *sync.SeqCount, ptr *__generics_imported0.Time, ...)
- func SeqAtomicTryLoadTime(seq *sync.SeqCount, epoch sync.SeqCountEpoch, ptr *__generics_imported0.Time) (val __generics_imported0.Time, ok bool)
- type DeviceFD
- func (fd *DeviceFD) Epollable() bool
- func (fd *DeviceFD) EventRegister(e *waiter.Entry) error
- func (fd *DeviceFD) EventUnregister(e *waiter.Entry)
- func (fd *DeviceFD) PRead(ctx context.Context, dst usermem.IOSequence, offset int64, ...) (int64, error)
- func (fd *DeviceFD) PWrite(ctx context.Context, src usermem.IOSequence, offset int64, ...) (int64, error)
- func (fd *DeviceFD) Read(ctx context.Context, dst usermem.IOSequence, opts vfs.ReadOptions) (int64, error)
- func (fd *DeviceFD) Readiness(mask waiter.EventMask) waiter.EventMask
- func (fd *DeviceFD) Release(ctx context.Context)
- func (fd *DeviceFD) Seek(ctx context.Context, offset int64, whence int32) (int64, error)
- func (fd *DeviceFD) StateFields() []string
- func (fd *DeviceFD) StateLoad(ctx context.Context, stateSourceObject state.Source)
- func (fd *DeviceFD) StateSave(stateSinkObject state.Sink)
- func (fd *DeviceFD) StateTypeName() string
- func (fd *DeviceFD) Write(ctx context.Context, src usermem.IOSequence, opts vfs.WriteOptions) (int64, error)
- type FilesystemType
- func (fsType FilesystemType) GetFilesystem(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials, ...) (*vfs.Filesystem, *vfs.Dentry, error)
- func (FilesystemType) Name() string
- func (FilesystemType) Release(ctx context.Context)
- func (fsType *FilesystemType) StateFields() []string
- func (fsType *FilesystemType) StateLoad(ctx context.Context, stateSourceObject state.Source)
- func (fsType *FilesystemType) StateSave(stateSinkObject state.Sink)
- func (fsType *FilesystemType) StateTypeName() string
- type Request
- func (e *Request) Next() *Request
- func (e *Request) Prev() *Request
- func (e *Request) SetNext(elem *Request)
- func (e *Request) SetPrev(elem *Request)
- func (r *Request) StateFields() []string
- func (r *Request) StateLoad(ctx context.Context, stateSourceObject state.Source)
- func (r *Request) StateSave(stateSinkObject state.Sink)
- func (r *Request) StateTypeName() string
- type Response
- func (r *Response) DataLen() uint32
- func (r *Response) Error() error
- func (r *Response) StateFields() []string
- func (r *Response) StateLoad(ctx context.Context, stateSourceObject state.Source)
- func (r *Response) StateSave(stateSinkObject state.Sink)
- func (r *Response) StateTypeName() string
- func (r *Response) UnmarshalPayload(m marshal.Marshallable) error
Constants ¶
const Name = "fuse"
Name is the default filesystem name.
Variables ¶
var ( MaxUserBackgroundRequest uint16 = fuseDefaultMaxBackground MaxUserCongestionThreshold uint16 = fuseDefaultCongestionThreshold )
Adjustable maximums for Connection's cogestion control parameters. Used as the upperbound of the config values. Currently we do not support adjustment to them.
Functions ¶
func Register ¶
func Register(vfsObj *vfs.VirtualFilesystem) error
Register registers the FUSE device with vfsObj.
func SeqAtomicLoadTime ¶
func SeqAtomicLoadTime(seq *sync.SeqCount, ptr *__generics_imported0.Time) __generics_imported0.Time
SeqAtomicLoad returns a copy of *ptr, ensuring that the read does not race with any writer critical sections in seq.
func SeqAtomicStoreSeqedTime ¶
func SeqAtomicStoreSeqedTime(ptr *__generics_imported0.Time, val __generics_imported0.Time)
SeqAtomicStoreSeqed sets *ptr to a copy of val.
Preconditions: ptr is protected by a SeqCount that will be in a writer critical section throughout the call to SeqAtomicStore.
func SeqAtomicStoreTime ¶
func SeqAtomicStoreTime(seq *sync.SeqCount, ptr *__generics_imported0.Time, val __generics_imported0.Time)
SeqAtomicStore sets *ptr to a copy of val, ensuring that any racing reader critical sections are forced to retry.
func SeqAtomicTryLoadTime ¶
func SeqAtomicTryLoadTime(seq *sync.SeqCount, epoch sync.SeqCountEpoch, ptr *__generics_imported0.Time) (val __generics_imported0.Time, ok bool)
SeqAtomicTryLoad returns a copy of *ptr while in a reader critical section in seq initiated by a call to seq.BeginRead() that returned epoch. If the read would race with a writer critical section, SeqAtomicTryLoad returns (unspecified, false).
Types ¶
type DeviceFD ¶
type DeviceFD struct { vfs.FileDescriptionDefaultImpl vfs.DentryMetadataFileDescriptionImpl vfs.NoLockFD // contains filtered or unexported fields }
DeviceFD implements vfs.FileDescriptionImpl for /dev/fuse.
+stateify savable
func (*DeviceFD) EventRegister ¶
EventRegister implements waiter.Waitable.EventRegister.
func (*DeviceFD) EventUnregister ¶
EventUnregister implements waiter.Waitable.EventUnregister.
func (*DeviceFD) PRead ¶
func (fd *DeviceFD) PRead(ctx context.Context, dst usermem.IOSequence, offset int64, opts vfs.ReadOptions) (int64, error)
PRead implements vfs.FileDescriptionImpl.PRead.
func (*DeviceFD) PWrite ¶
func (fd *DeviceFD) PWrite(ctx context.Context, src usermem.IOSequence, offset int64, opts vfs.WriteOptions) (int64, error)
PWrite implements vfs.FileDescriptionImpl.PWrite.
func (*DeviceFD) Read ¶
func (fd *DeviceFD) Read(ctx context.Context, dst usermem.IOSequence, opts vfs.ReadOptions) (int64, error)
Read implements vfs.FileDescriptionImpl.Read.
func (*DeviceFD) StateFields ¶
func (*DeviceFD) StateTypeName ¶
type FilesystemType ¶
type FilesystemType struct{}
FilesystemType implements vfs.FilesystemType.
+stateify savable
func (FilesystemType) GetFilesystem ¶
func (fsType 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.
func (*FilesystemType) StateFields ¶
func (fsType *FilesystemType) StateFields() []string
func (*FilesystemType) StateLoad ¶
func (fsType *FilesystemType) StateLoad(ctx context.Context, stateSourceObject state.Source)
+checklocksignore
func (*FilesystemType) StateSave ¶
func (fsType *FilesystemType) StateSave(stateSinkObject state.Sink)
+checklocksignore
func (*FilesystemType) StateTypeName ¶
func (fsType *FilesystemType) StateTypeName() string
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request represents a FUSE operation request that hasn't been sent to the server yet.
+stateify savable
func (*Request) Next ¶
func (e *Request) Next() *Request
Next returns the entry that follows e in the list.
func (*Request) Prev ¶
func (e *Request) Prev() *Request
Prev returns the entry that precedes e in the list.
func (*Request) SetNext ¶
func (e *Request) SetNext(elem *Request)
SetNext assigns 'entry' as the entry that follows e in the list.
func (*Request) SetPrev ¶
func (e *Request) SetPrev(elem *Request)
SetPrev assigns 'entry' as the entry that precedes e in the list.
func (*Request) StateFields ¶
func (*Request) StateTypeName ¶
type Response ¶
type Response struct {
// contains filtered or unexported fields
}
Response represents an actual response from the server, including the response payload.
+stateify savable
func (*Response) StateFields ¶
func (*Response) StateTypeName ¶
func (*Response) UnmarshalPayload ¶
func (r *Response) UnmarshalPayload(m marshal.Marshallable) error
UnmarshalPayload unmarshals the response data into m.
Source Files ¶
- connection.go
- connection_control.go
- dev.go
- dev_state.go
- directory.go
- file.go
- fuse_abi_autogen_unsafe.go
- fuse_state_autogen.go
- fuse_unsafe_abi_autogen_unsafe.go
- fuse_unsafe_state_autogen.go
- fusefs.go
- inode.go
- inode_refs.go
- read_write.go
- register.go
- regular_file.go
- request_list.go
- request_response.go
- save_restore.go
- seqatomic_time_unsafe.go