Documentation ¶
Overview ¶
System permissions-related code.
Index ¶
- Constants
- Variables
- func ConvertBytesToIEC(size int64) string
- func Dup(value []byte) []byte
- func GetTgid(pid uint32) (tgid *int32, err error)
- func IsADLv1Endpoint(endpoint string) bool
- func IsADLv2Endpoint(endpoint string) bool
- func MassageMountFlags(args []string) (ret []string)
- func MaxInt(a, b int) int
- func MaxInt64(a, b int64) int64
- func MaxUInt32(a, b uint32) uint32
- func MaxUInt64(a, b uint64) uint64
- func MinInt(a, b int) int
- func MinInt64(a, b int64) int64
- func MinUInt32(a, b uint32) uint32
- func MinUInt64(a, b uint64) uint64
- func MyUserAndGroup() (int, int)
- func NewApp() (app *cli.App)
- func NilInt64(v *int64) int64
- func NilMetadata(m map[string]*string) map[string]string
- func NilStr(v *string) string
- func NilUint32(v *uint32) uint32
- func NilUint64(v *uint64) uint64
- func PBool(v bool) *bool
- func PInt32(v int32) *int32
- func PInt64(v int64) *int64
- func PMetadata(m map[string]string) map[string]*string
- func PString(v string) *string
- func PTime(v time.Time) *time.Time
- func PUInt32(v uint32) *uint32
- func PUInt64(v uint64) *uint64
- func PopulateFlags(c *cli.Context) (ret *FlagStorage)
- func RandStringBytesMaskImprSrc(n int) string
- func SignV2(req *request.Request)
- func TryUnmount(mountPoint string) (err error)
- type ADL2Error
- type ADLv1
- func (b *ADLv1) Bucket() string
- func (b *ADLv1) Capabilities() *Capabilities
- func (b *ADLv1) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (b *ADLv1) Delegate() interface{}
- func (b *ADLv1) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (b *ADLv1) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (b *ADLv1) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (b *ADLv1) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (b *ADLv1) Init(key string) error
- func (b *ADLv1) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (b *ADLv1) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (b *ADLv1) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (b *ADLv1) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (b *ADLv1) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (b *ADLv1) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (b *ADLv1) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (b *ADLv1) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (b *ADLv1) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (b *ADLv1) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type ADLv1Err
- type ADLv1MultipartBlobCommitInput
- type ADLv2
- func (b *ADLv2) Bucket() string
- func (b *ADLv2) Capabilities() *Capabilities
- func (b *ADLv2) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (b *ADLv2) Delegate() interface{}
- func (b *ADLv2) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (b *ADLv2) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (b *ADLv2) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (b *ADLv2) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (b *ADLv2) Init(key string) (err error)
- func (b *ADLv2) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (b *ADLv2) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (b *ADLv2) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (b *ADLv2) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (b *ADLv2) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (b *ADLv2) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (b *ADLv2) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (b *ADLv2) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (b *ADLv2) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (b *ADLv2) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type ADLv2MultipartBlobCommitInput
- type AZBlob
- func (b *AZBlob) Bucket() string
- func (b *AZBlob) Capabilities() *Capabilities
- func (b *AZBlob) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (b *AZBlob) Delegate() interface{}
- func (b *AZBlob) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (b *AZBlob) DeleteBlobs(param *DeleteBlobsInput) (ret *DeleteBlobsOutput, deleteError error)
- func (b *AZBlob) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (b *AZBlob) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (b *AZBlob) Init(key string) error
- func (b *AZBlob) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (b *AZBlob) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (b *AZBlob) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (b *AZBlob) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (b *AZBlob) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (b *AZBlob) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (b *AZBlob) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (b *AZBlob) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (b *AZBlob) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (b *AZBlob) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type BlobItemOutput
- type BlobPrefixOutput
- type BucketSpec
- type Buffer
- type BufferPool
- type Capabilities
- type CopyBlobInput
- type CopyBlobOutput
- type Delegator
- type DeleteBlobInput
- type DeleteBlobOutput
- type DeleteBlobsInput
- type DeleteBlobsOutput
- type DirHandle
- type DirHandleEntry
- type DirInodeData
- type FileHandle
- type GCS3
- func (s *GCS3) Delegate() interface{}
- func (s *GCS3) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (s *GCS3) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (s *GCS3) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (s *GCS3) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- type GCS3MultipartBlobCommitInput
- type GCSBackend
- func (g *GCSBackend) Bucket() string
- func (g *GCSBackend) Capabilities() *Capabilities
- func (g *GCSBackend) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (g *GCSBackend) Delegate() interface{}
- func (g *GCSBackend) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (g *GCSBackend) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (g *GCSBackend) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (g *GCSBackend) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (g *GCSBackend) Init(key string) error
- func (g *GCSBackend) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (g *GCSBackend) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (g *GCSBackend) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (g *GCSBackend) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (g *GCSBackend) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (g *GCSBackend) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (g *GCSBackend) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (g *GCSBackend) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (g *GCSBackend) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (g *GCSBackend) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type GCSMultipartBlobCommitInput
- type GetBlobInput
- type GetBlobOutput
- type Goofys
- func (fs *Goofys) CreateFile(ctx context.Context, op *fuseops.CreateFileOp) (err error)
- func (fs *Goofys) FlushFile(ctx context.Context, op *fuseops.FlushFileOp) (err error)
- func (fs *Goofys) ForgetInode(ctx context.Context, op *fuseops.ForgetInodeOp) (err error)
- func (fs *Goofys) GetInodeAttributes(ctx context.Context, op *fuseops.GetInodeAttributesOp) (err error)
- func (fs *Goofys) GetXattr(ctx context.Context, op *fuseops.GetXattrOp) (err error)
- func (fs *Goofys) ListXattr(ctx context.Context, op *fuseops.ListXattrOp) (err error)
- func (fs *Goofys) LookUpInode(ctx context.Context, op *fuseops.LookUpInodeOp) (err error)
- func (fs *Goofys) MkDir(ctx context.Context, op *fuseops.MkDirOp) (err error)
- func (fs *Goofys) Mount(mount *Mount)
- func (fs *Goofys) MountAll(mounts []*Mount)
- func (fs *Goofys) OpenDir(ctx context.Context, op *fuseops.OpenDirOp) (err error)
- func (fs *Goofys) OpenFile(ctx context.Context, op *fuseops.OpenFileOp) (err error)
- func (fs *Goofys) ReadDir(ctx context.Context, op *fuseops.ReadDirOp) (err error)
- func (fs *Goofys) ReadFile(ctx context.Context, op *fuseops.ReadFileOp) (err error)
- func (fs *Goofys) ReleaseDirHandle(ctx context.Context, op *fuseops.ReleaseDirHandleOp) (err error)
- func (fs *Goofys) ReleaseFileHandle(ctx context.Context, op *fuseops.ReleaseFileHandleOp) (err error)
- func (fs *Goofys) RemoveXattr(ctx context.Context, op *fuseops.RemoveXattrOp) (err error)
- func (fs *Goofys) Rename(ctx context.Context, op *fuseops.RenameOp) (err error)
- func (fs *Goofys) RmDir(ctx context.Context, op *fuseops.RmDirOp) (err error)
- func (fs *Goofys) SetInodeAttributes(ctx context.Context, op *fuseops.SetInodeAttributesOp) (err error)
- func (fs *Goofys) SetXattr(ctx context.Context, op *fuseops.SetXattrOp) (err error)
- func (fs *Goofys) SigUsr1()
- func (fs *Goofys) StatFS(ctx context.Context, op *fuseops.StatFSOp) (err error)
- func (fs *Goofys) SyncFile(ctx context.Context, op *fuseops.SyncFileOp) (err error)
- func (fs *Goofys) Unlink(ctx context.Context, op *fuseops.UnlinkOp) (err error)
- func (fs *Goofys) Unmount(mountPoint string)
- func (fs *Goofys) WriteFile(ctx context.Context, op *fuseops.WriteFileOp) (err error)
- type HeadBlobInput
- type HeadBlobOutput
- type Inode
- func (parent *Inode) Create(name string, metadata fuseops.OpMetadata) (inode *Inode, fh *FileHandle)
- func (inode *Inode) DeRef(n uint64) (stale bool)
- func (inode *Inode) FullName() *string
- func (inode *Inode) GetAttributes() (*fuseops.InodeAttributes, error)
- func (inode *Inode) GetXattr(name string) ([]byte, error)
- func (inode *Inode) InflateAttributes() (attr fuseops.InodeAttributes)
- func (inode *Inode) ListXattr() ([]string, error)
- func (parent *Inode) LookUp(name string) (inode *Inode, err error)
- func (parent *Inode) LookUpInodeDir(name string, c chan ListBlobsOutput, errc chan error)
- func (parent *Inode) LookUpInodeMaybeDir(name string, fullName string) (inode *Inode, err error)
- func (parent *Inode) LookUpInodeNotDir(name string, c chan HeadBlobOutput, errc chan error)
- func (parent *Inode) MkDir(name string) (inode *Inode, err error)
- func (inode *Inode) OpenDir() (dh *DirHandle)
- func (inode *Inode) OpenFile(metadata fuseops.OpMetadata) (fh *FileHandle, err error)
- func (inode *Inode) Ref()
- func (inode *Inode) RemoveXattr(name string) error
- func (parent *Inode) Rename(from string, newParent *Inode, to string) (err error)
- func (inode *Inode) ResetForUnmount()
- func (parent *Inode) RmDir(name string) (err error)
- func (inode *Inode) SetFromBlobItem(item *BlobItemOutput)
- func (inode *Inode) SetXattr(name string, value []byte, flags uint32) error
- func (inode *Inode) ToDir()
- func (parent *Inode) Unlink(name string) (err error)
- type InodeAttributes
- type ListBlobsInput
- type ListBlobsOutput
- type MBuf
- func (mb *MBuf) Close() error
- func (mb *MBuf) Free()
- func (mb *MBuf) Full() bool
- func (mb MBuf) Init(h *BufferPool, size uint64, block bool) *MBuf
- func (mb *MBuf) Len() (length int)
- func (mb *MBuf) Read(p []byte) (n int, err error)
- func (mb *MBuf) Reset()
- func (mb *MBuf) Seek(offset int64, whence int) (int64, error)
- func (mb *MBuf) Write(p []byte) (n int, err error)
- func (mb *MBuf) WriteFrom(r io.Reader) (n int, err error)
- type MakeBucketInput
- type MakeBucketOutput
- type Mount
- type MultipartBlobAbortOutput
- type MultipartBlobAddInput
- type MultipartBlobAddOutput
- type MultipartBlobBeginInput
- type MultipartBlobCommitInput
- type MultipartBlobCommitOutput
- type MultipartExpireInput
- type MultipartExpireOutput
- type PutBlobInput
- type PutBlobOutput
- type ReadSeekerCloser
- type ReaderProvider
- type RemoveBucketInput
- type RemoveBucketOutput
- type RenameBlobInput
- type RenameBlobOutput
- type S3Backend
- func (s *S3Backend) Bucket() string
- func (s *S3Backend) Capabilities() *Capabilities
- func (s *S3Backend) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (s *S3Backend) Delegate() interface{}
- func (s *S3Backend) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (s *S3Backend) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (s *S3Backend) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (s *S3Backend) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (s *S3Backend) Init(key string) error
- func (s *S3Backend) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (s *S3Backend) ListObjectsV2(params *s3.ListObjectsV2Input) (*s3.ListObjectsV2Output, string, error)
- func (s *S3Backend) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (s *S3Backend) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (s *S3Backend) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (s *S3Backend) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (s *S3Backend) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (s *S3Backend) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (s *S3Backend) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (s *S3Backend) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (s *S3Backend) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type S3ReadBuffer
- type StorageBackend
- type StorageBackendInitError
- func (s StorageBackendInitError) Bucket() string
- func (e StorageBackendInitError) Capabilities() *Capabilities
- func (e StorageBackendInitError) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (e StorageBackendInitError) Delegate() interface{}
- func (e StorageBackendInitError) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (e StorageBackendInitError) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (e StorageBackendInitError) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (e StorageBackendInitError) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (e StorageBackendInitError) Init(key string) error
- func (e StorageBackendInitError) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (e StorageBackendInitError) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (e StorageBackendInitError) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (e StorageBackendInitError) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (e StorageBackendInitError) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (e StorageBackendInitError) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (e StorageBackendInitError) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (e StorageBackendInitError) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (e StorageBackendInitError) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (e StorageBackendInitError) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type StorageBackendInitWrapper
- func (s *StorageBackendInitWrapper) Bucket() string
- func (s *StorageBackendInitWrapper) Capabilities() *Capabilities
- func (s *StorageBackendInitWrapper) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
- func (s *StorageBackendInitWrapper) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
- func (s *StorageBackendInitWrapper) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
- func (s *StorageBackendInitWrapper) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
- func (s *StorageBackendInitWrapper) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
- func (s *StorageBackendInitWrapper) Init(key string) error
- func (s *StorageBackendInitWrapper) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
- func (s *StorageBackendInitWrapper) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
- func (s *StorageBackendInitWrapper) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
- func (s *StorageBackendInitWrapper) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
- func (s *StorageBackendInitWrapper) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
- func (s *StorageBackendInitWrapper) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
- func (s *StorageBackendInitWrapper) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
- func (s *StorageBackendInitWrapper) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
- func (s *StorageBackendInitWrapper) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
- func (s *StorageBackendInitWrapper) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
- type Ticket
Constants ¶
const ADL1_REQUEST_ID = "X-Ms-Request-Id"
const ADL2_CLIENT_REQUEST_ID = "X-Ms-Client-Request-Id"
const ADL2_REQUEST_ID = "X-Ms-Request-Id"
const AzureBlobMetaDataHeaderPrefix = "x-ms-meta-"
const AzureDirBlobMetadataKey = "hdi_isfolder"
const AzuriteEndpoint = "http://127.0.0.1:8080/devstoreaccount1/"
const BUF_SIZE = 5 * 1024 * 1024
const CGROUP_FOLDER_PREFIX = "/sys/fs/cgroup/memory"
const CGROUP_PATH = "/proc/self/cgroup"
const INIT_ERR_BLOB = "mount.err"
const MAX_READAHEAD = uint32(400 * 1024 * 1024)
const MEM_LIMIT_FILE_SUFFIX = "/memory.limit_in_bytes"
const MEM_USAGE_FILE_SUFFIX = "/memory.usage_in_bytes"
const READAHEAD_CHUNK = uint32(20 * 1024 * 1024)
Variables ¶
var SmallActionsGate = Ticket{Total: 100}.Init()
var TIME_MAX = time.Unix(1<<63-62135596801, 999999999)
var VersionHash string
Functions ¶
func ConvertBytesToIEC ¶ added in v0.24.2
The following functions are useful to debug byte sizes
func IsADLv1Endpoint ¶ added in v0.21.0
func IsADLv2Endpoint ¶ added in v0.21.0
func MassageMountFlags ¶ added in v0.0.3
func MyUserAndGroup ¶
MyUserAndGroup returns the UID and GID of this process.
func PopulateFlags ¶
PopulateFlags adds the flags accepted by run to the supplied flag set, returning the variables into which the flags will parse.
func RandStringBytesMaskImprSrc ¶ added in v0.0.8
func SignV2 ¶ added in v0.0.4
Sign requests with signature version 2.
Will sign the requests with the service config's Credentials object Signing is skipped if the credentials is the credentials.AnonymousCredentials object.
func TryUnmount ¶ added in v0.0.18
Types ¶
type ADL2Error ¶ added in v0.21.0
type ADL2Error struct {
adl2.DataLakeStorageError
}
type ADLv1 ¶ added in v0.21.0
type ADLv1 struct {
// contains filtered or unexported fields
}
func (*ADLv1) Capabilities ¶ added in v0.21.0
func (b *ADLv1) Capabilities() *Capabilities
func (*ADLv1) CopyBlob ¶ added in v0.21.0
func (b *ADLv1) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (*ADLv1) DeleteBlob ¶ added in v0.21.0
func (b *ADLv1) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*ADLv1) DeleteBlobs ¶ added in v0.21.0
func (b *ADLv1) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (*ADLv1) GetBlob ¶ added in v0.21.0
func (b *ADLv1) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (*ADLv1) HeadBlob ¶ added in v0.21.0
func (b *ADLv1) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (*ADLv1) ListBlobs ¶ added in v0.21.0
func (b *ADLv1) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*ADLv1) MakeBucket ¶ added in v0.21.0
func (b *ADLv1) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*ADLv1) MultipartBlobAbort ¶ added in v0.21.0
func (b *ADLv1) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*ADLv1) MultipartBlobAdd ¶ added in v0.21.0
func (b *ADLv1) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*ADLv1) MultipartBlobBegin ¶ added in v0.21.0
func (b *ADLv1) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (*ADLv1) MultipartBlobCommit ¶ added in v0.21.0
func (b *ADLv1) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*ADLv1) MultipartExpire ¶ added in v0.21.0
func (b *ADLv1) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*ADLv1) PutBlob ¶ added in v0.21.0
func (b *ADLv1) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (*ADLv1) RemoveBucket ¶ added in v0.21.0
func (b *ADLv1) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*ADLv1) RenameBlob ¶ added in v0.21.0
func (b *ADLv1) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
type ADLv1Err ¶ added in v0.21.0
type ADLv1MultipartBlobCommitInput ¶ added in v0.21.0
type ADLv1MultipartBlobCommitInput struct {
Size uint64
}
type ADLv2 ¶ added in v0.21.0
type ADLv2 struct {
// contains filtered or unexported fields
}
func (*ADLv2) Capabilities ¶ added in v0.21.0
func (b *ADLv2) Capabilities() *Capabilities
func (*ADLv2) CopyBlob ¶ added in v0.21.0
func (b *ADLv2) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (*ADLv2) DeleteBlob ¶ added in v0.21.0
func (b *ADLv2) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*ADLv2) DeleteBlobs ¶ added in v0.21.0
func (b *ADLv2) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (*ADLv2) GetBlob ¶ added in v0.21.0
func (b *ADLv2) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (*ADLv2) HeadBlob ¶ added in v0.21.0
func (b *ADLv2) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (*ADLv2) ListBlobs ¶ added in v0.21.0
func (b *ADLv2) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*ADLv2) MakeBucket ¶ added in v0.21.0
func (b *ADLv2) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*ADLv2) MultipartBlobAbort ¶ added in v0.21.0
func (b *ADLv2) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*ADLv2) MultipartBlobAdd ¶ added in v0.21.0
func (b *ADLv2) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*ADLv2) MultipartBlobBegin ¶ added in v0.21.0
func (b *ADLv2) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
adlv2 doesn't have atomic multipart upload, instead we will hold a lease, replace the object, then release the lease
func (*ADLv2) MultipartBlobCommit ¶ added in v0.21.0
func (b *ADLv2) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*ADLv2) MultipartExpire ¶ added in v0.21.0
func (b *ADLv2) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*ADLv2) PutBlob ¶ added in v0.21.0
func (b *ADLv2) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (*ADLv2) RemoveBucket ¶ added in v0.21.0
func (b *ADLv2) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*ADLv2) RenameBlob ¶ added in v0.21.0
func (b *ADLv2) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
type ADLv2MultipartBlobCommitInput ¶ added in v0.21.0
type AZBlob ¶ added in v0.21.0
type AZBlob struct {
// contains filtered or unexported fields
}
func (*AZBlob) Capabilities ¶ added in v0.21.0
func (b *AZBlob) Capabilities() *Capabilities
func (*AZBlob) CopyBlob ¶ added in v0.21.0
func (b *AZBlob) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (*AZBlob) DeleteBlob ¶ added in v0.21.0
func (b *AZBlob) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*AZBlob) DeleteBlobs ¶ added in v0.21.0
func (b *AZBlob) DeleteBlobs(param *DeleteBlobsInput) (ret *DeleteBlobsOutput, deleteError error)
func (*AZBlob) GetBlob ¶ added in v0.21.0
func (b *AZBlob) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (*AZBlob) HeadBlob ¶ added in v0.21.0
func (b *AZBlob) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (*AZBlob) ListBlobs ¶ added in v0.21.0
func (b *AZBlob) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*AZBlob) MakeBucket ¶ added in v0.21.0
func (b *AZBlob) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*AZBlob) MultipartBlobAbort ¶ added in v0.21.0
func (b *AZBlob) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*AZBlob) MultipartBlobAdd ¶ added in v0.21.0
func (b *AZBlob) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*AZBlob) MultipartBlobBegin ¶ added in v0.21.0
func (b *AZBlob) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (*AZBlob) MultipartBlobCommit ¶ added in v0.21.0
func (b *AZBlob) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*AZBlob) MultipartExpire ¶ added in v0.21.0
func (b *AZBlob) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*AZBlob) PutBlob ¶ added in v0.21.0
func (b *AZBlob) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (*AZBlob) RemoveBucket ¶ added in v0.21.0
func (b *AZBlob) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*AZBlob) RenameBlob ¶ added in v0.21.0
func (b *AZBlob) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
type BlobItemOutput ¶ added in v0.21.0
type BlobItemOutput struct { Key *string ETag *string LastModified *time.Time Size uint64 StorageClass *string }
func (BlobItemOutput) String ¶ added in v0.21.0
func (b BlobItemOutput) String() string
type BlobPrefixOutput ¶ added in v0.21.0
type BlobPrefixOutput struct {
Prefix *string
}
func (BlobPrefixOutput) String ¶ added in v0.21.0
func (b BlobPrefixOutput) String() string
type BucketSpec ¶ added in v0.21.0
func ParseBucketSpec ¶ added in v0.21.0
func ParseBucketSpec(bucket string) (spec BucketSpec, err error)
type Buffer ¶ added in v0.0.4
type Buffer struct {
// contains filtered or unexported fields
}
func (*Buffer) ReInit ¶ added in v0.23.0
func (b *Buffer) ReInit(r ReaderProvider)
type BufferPool ¶
type BufferPool struct {
// contains filtered or unexported fields
}
func (*BufferPool) Free ¶ added in v0.0.7
func (pool *BufferPool) Free(buf []byte)
func (BufferPool) Init ¶ added in v0.0.4
func (pool BufferPool) Init() *BufferPool
func (*BufferPool) MaybeGC ¶ added in v0.0.6
func (pool *BufferPool) MaybeGC()
func (*BufferPool) RequestBuffer ¶ added in v0.0.7
func (pool *BufferPool) RequestBuffer() (buf []byte)
func (*BufferPool) RequestMultiple ¶ added in v0.0.7
func (pool *BufferPool) RequestMultiple(size uint64, block bool) (buffers [][]byte)
type Capabilities ¶ added in v0.21.0
type CopyBlobInput ¶ added in v0.21.0
type CopyBlobInput struct { Source string Destination string Size *uint64 ETag *string // if non-nil, do conditional copy Metadata map[string]*string // if nil, copy from Source StorageClass *string // if nil, copy from Source }
func (CopyBlobInput) String ¶ added in v0.24.2
func (b CopyBlobInput) String() string
type CopyBlobOutput ¶ added in v0.21.0
type CopyBlobOutput struct {
RequestId string
}
type DeleteBlobInput ¶ added in v0.21.0
type DeleteBlobInput struct {
Key string
}
type DeleteBlobOutput ¶ added in v0.21.0
type DeleteBlobOutput struct {
RequestId string
}
type DeleteBlobsInput ¶ added in v0.21.0
type DeleteBlobsInput struct {
Items []string
}
type DeleteBlobsOutput ¶ added in v0.21.0
type DeleteBlobsOutput struct {
RequestId string
}
type DirHandle ¶
type DirHandle struct { Marker *string // contains filtered or unexported fields }
func NewDirHandle ¶
type DirHandleEntry ¶ added in v0.0.14
type DirInodeData ¶ added in v0.0.17
type FileHandle ¶
type FileHandle struct { // User space PID. All threads created by a process will have the same TGID, // but different PIDs[1]. // This value can be nil if we fail to get TGID from PID[2]. // [1] : https://godoc.org/github.com/shirou/gopsutil/process#Process.Tgid // [2] : https://github.com/shirou/gopsutil#process-class Tgid *int32 // contains filtered or unexported fields }
func NewFileHandle ¶
func NewFileHandle(inode *Inode, opMetadata fuseops.OpMetadata) *FileHandle
NewFileHandle returns a new file handle for the given `inode` triggered by fuse operation with the given `opMetadata`
func (*FileHandle) FlushFile ¶
func (fh *FileHandle) FlushFile() (err error)
func (*FileHandle) ReadFile ¶
func (fh *FileHandle) ReadFile(offset int64, buf []byte) (bytesRead int, err error)
func (*FileHandle) Release ¶ added in v0.0.4
func (fh *FileHandle) Release()
type GCS3 ¶ added in v0.21.0
type GCS3 struct {
*S3Backend
}
GCS variant of S3
func (*GCS3) DeleteBlobs ¶ added in v0.21.0
func (s *GCS3) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (*GCS3) MultipartBlobAdd ¶ added in v0.21.0
func (s *GCS3) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*GCS3) MultipartBlobBegin ¶ added in v0.21.0
func (s *GCS3) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (*GCS3) MultipartBlobCommit ¶ added in v0.21.0
func (s *GCS3) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
type GCS3MultipartBlobCommitInput ¶ added in v0.24.2
type GCS3MultipartBlobCommitInput struct { Size uint64 ETag *string Prev *MultipartBlobAddInput }
type GCSBackend ¶ added in v0.24.2
type GCSBackend struct {
// contains filtered or unexported fields
}
func NewGCS ¶ added in v0.24.2
func NewGCS(bucket string, config *common.GCSConfig) (*GCSBackend, error)
NewGCS initializes a GCS Backend. It creates an authenticated client or unauthenticated client based on existing credentials in the environment.
func (*GCSBackend) Bucket ¶ added in v0.24.2
func (g *GCSBackend) Bucket() string
Bucket returns the GCSBackend's bucket name.
func (*GCSBackend) Capabilities ¶ added in v0.24.2
func (g *GCSBackend) Capabilities() *Capabilities
func (*GCSBackend) CopyBlob ¶ added in v0.24.2
func (g *GCSBackend) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
CopyBlob copies a source object to another destination object under the same bucket.
func (*GCSBackend) Delegate ¶ added in v0.24.2
func (g *GCSBackend) Delegate() interface{}
func (*GCSBackend) DeleteBlob ¶ added in v0.24.2
func (g *GCSBackend) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*GCSBackend) DeleteBlobs ¶ added in v0.24.2
func (g *GCSBackend) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
DeleteBlobs deletes multiple GCS blobs.
func (*GCSBackend) GetBlob ¶ added in v0.24.2
func (g *GCSBackend) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
GetBlob returns a file reader for a GCS object.
func (*GCSBackend) HeadBlob ¶ added in v0.24.2
func (g *GCSBackend) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
HeadBlob gets the file object metadata.
func (*GCSBackend) Init ¶ added in v0.24.2
func (g *GCSBackend) Init(key string) error
Init checks user's access to bucket.
func (*GCSBackend) ListBlobs ¶ added in v0.24.2
func (g *GCSBackend) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*GCSBackend) MakeBucket ¶ added in v0.24.2
func (g *GCSBackend) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*GCSBackend) MultipartBlobAbort ¶ added in v0.24.2
func (g *GCSBackend) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*GCSBackend) MultipartBlobAdd ¶ added in v0.24.2
func (g *GCSBackend) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
MultipartBlobAdd adds part of blob to the upload request. Under GCS backend, we'll write that blob part into the gcsWriter. TODO(deka): This is a temporary implementation to allow most tests to run. We might change this implementation in the future.
func (*GCSBackend) MultipartBlobBegin ¶ added in v0.24.2
func (g *GCSBackend) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
MultipartBlobBegin begins a multi part blob request. Under GCS backend, we'll initialize the gcsWriter object and the context for the multipart blob request here.
func (*GCSBackend) MultipartBlobCommit ¶ added in v0.24.2
func (g *GCSBackend) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*GCSBackend) MultipartExpire ¶ added in v0.24.2
func (g *GCSBackend) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*GCSBackend) PutBlob ¶ added in v0.24.2
func (g *GCSBackend) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
PutBlob writes a file to GCS.
func (*GCSBackend) RemoveBucket ¶ added in v0.24.2
func (g *GCSBackend) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*GCSBackend) RenameBlob ¶ added in v0.24.2
func (g *GCSBackend) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
RenameBlob is not supported for GCS backend. So Goofys will do a CopyBlob followed by DeleteBlob for renames.
type GCSMultipartBlobCommitInput ¶ added in v0.21.0
type GCSMultipartBlobCommitInput struct {
// contains filtered or unexported fields
}
type GetBlobInput ¶ added in v0.21.0
func (GetBlobInput) String ¶ added in v0.24.2
func (b GetBlobInput) String() string
type GetBlobOutput ¶ added in v0.21.0
type GetBlobOutput struct { HeadBlobOutput Body io.ReadCloser RequestId string }
type Goofys ¶
type Goofys struct { fuseutil.NotImplementedFileSystem // contains filtered or unexported fields }
func (*Goofys) CreateFile ¶
func (*Goofys) ForgetInode ¶
func (*Goofys) GetInodeAttributes ¶
func (*Goofys) LookUpInode ¶
func (*Goofys) ReleaseDirHandle ¶
func (*Goofys) ReleaseFileHandle ¶
func (*Goofys) RemoveXattr ¶ added in v0.0.14
func (*Goofys) Rename ¶
rename("from", "to") causes the kernel to send lookup of "from" and "to" prior to sending rename to us
func (*Goofys) SetInodeAttributes ¶
type HeadBlobInput ¶ added in v0.21.0
type HeadBlobInput struct {
Key string
}
type HeadBlobOutput ¶ added in v0.21.0
type Inode ¶
type Inode struct { Id fuseops.InodeID Name *string Attributes InodeAttributes KnownSize *uint64 // It is generally safe to read `AttrTime` without locking because if some other // operation is modifying `AttrTime`, in most cases the reader is okay with working with // stale data. But Time is a struct and modifying it is not atomic. However // in practice (until the year 2157) we should be okay because // - Almost all uses of AttrTime will be about comparisions (AttrTime < x, AttrTime > x) // - Time object will have Time::monotonic bit set (until the year 2157) => the time // comparision just compares Time::ext field // Ref: https://github.com/golang/go/blob/e42ae65a8507/src/time/time.go#L12:L56 AttrTime time.Time // We are not very consistent about enforcing locks for `Parent` because, the // parent field very very rarely changes and it is generally fine to operate on // stale parent informaiton Parent *Inode Invalid bool ImplicitDir bool // contains filtered or unexported fields }
func (*Inode) Create ¶
func (parent *Inode) Create( name string, metadata fuseops.OpMetadata) (inode *Inode, fh *FileHandle)
func (*Inode) GetAttributes ¶
func (inode *Inode) GetAttributes() (*fuseops.InodeAttributes, error)
func (*Inode) InflateAttributes ¶ added in v0.0.17
func (inode *Inode) InflateAttributes() (attr fuseops.InodeAttributes)
func (*Inode) LookUpInodeDir ¶ added in v0.0.17
func (parent *Inode) LookUpInodeDir(name string, c chan ListBlobsOutput, errc chan error)
func (*Inode) LookUpInodeMaybeDir ¶ added in v0.0.17
returned inode has nil Id
func (*Inode) LookUpInodeNotDir ¶ added in v0.0.17
func (parent *Inode) LookUpInodeNotDir(name string, c chan HeadBlobOutput, errc chan error)
func (*Inode) OpenFile ¶
func (inode *Inode) OpenFile(metadata fuseops.OpMetadata) (fh *FileHandle, err error)
func (*Inode) Ref ¶
func (inode *Inode) Ref()
LOCKS_REQUIRED(fs.mu) XXX why did I put lock required? This used to return a resurrect bool which no long does anything, need to look into that to see if that was legacy
func (*Inode) RemoveXattr ¶ added in v0.0.14
func (*Inode) Rename ¶
semantic of rename: rename("any", "not_exists") = ok rename("file1", "file2") = ok rename("empty_dir1", "empty_dir2") = ok rename("nonempty_dir1", "empty_dir2") = ok rename("nonempty_dir1", "nonempty_dir2") = ENOTEMPTY rename("file", "dir") = EISDIR rename("dir", "file") = ENOTDIR
func (*Inode) ResetForUnmount ¶ added in v0.21.0
func (inode *Inode) ResetForUnmount()
ResetForUnmount resets the Inode as part of unmounting a storage backend mounted at the given inode. ACQUIRES_LOCK(inode.mu)
func (*Inode) SetFromBlobItem ¶ added in v0.21.0
func (inode *Inode) SetFromBlobItem(item *BlobItemOutput)
type InodeAttributes ¶ added in v0.0.17
func (InodeAttributes) Equal ¶ added in v0.24.0
func (i InodeAttributes) Equal(other InodeAttributes) bool
type ListBlobsInput ¶ added in v0.21.0
type ListBlobsInput struct { Prefix *string Delimiter *string MaxKeys *uint32 StartAfter *string // XXX: not supported by Azure ContinuationToken *string }
func (ListBlobsInput) String ¶ added in v0.24.2
func (l ListBlobsInput) String() string
type ListBlobsOutput ¶ added in v0.21.0
type ListBlobsOutput struct { Prefixes []BlobPrefixOutput Items []BlobItemOutput NextContinuationToken *string IsTruncated bool RequestId string }
type MBuf ¶ added in v0.0.4
type MBuf struct {
// contains filtered or unexported fields
}
func (MBuf) Init ¶ added in v0.0.4
func (mb MBuf) Init(h *BufferPool, size uint64, block bool) *MBuf
type MakeBucketInput ¶ added in v0.21.0
type MakeBucketInput struct { }
type MakeBucketOutput ¶ added in v0.21.0
type MakeBucketOutput struct {
RequestId string
}
type MultipartBlobAbortOutput ¶ added in v0.21.0
type MultipartBlobAbortOutput struct {
RequestId string
}
type MultipartBlobAddInput ¶ added in v0.21.0
type MultipartBlobAddInput struct { Commit *MultipartBlobCommitInput PartNumber uint32 Body io.ReadSeeker Size uint64 // GCS wants to know part size Last bool // GCS needs to know if this part is the last one Offset uint64 // ADLv2 needs to know offset }
func (MultipartBlobAddInput) String ¶ added in v0.24.2
func (b MultipartBlobAddInput) String() string
type MultipartBlobAddOutput ¶ added in v0.21.0
type MultipartBlobAddOutput struct {
RequestId string
}
type MultipartBlobBeginInput ¶ added in v0.21.0
func (MultipartBlobBeginInput) String ¶ added in v0.24.2
func (b MultipartBlobBeginInput) String() string
type MultipartBlobCommitInput ¶ added in v0.21.0
type MultipartBlobCommitOutput ¶ added in v0.21.0
type MultipartExpireInput ¶ added in v0.21.0
type MultipartExpireInput struct { }
type MultipartExpireOutput ¶ added in v0.21.0
type MultipartExpireOutput struct {
RequestId string
}
type PutBlobInput ¶ added in v0.21.0
type PutBlobInput struct { Key string Metadata map[string]*string ContentType *string DirBlob bool Body io.ReadSeeker Size *uint64 }
func (PutBlobInput) String ¶ added in v0.24.2
func (b PutBlobInput) String() string
type PutBlobOutput ¶ added in v0.21.0
type ReadSeekerCloser ¶ added in v0.21.0
type ReadSeekerCloser struct {
io.ReadSeeker
}
func (*ReadSeekerCloser) Close ¶ added in v0.21.0
func (r *ReadSeekerCloser) Close() error
type ReaderProvider ¶ added in v0.0.4
type ReaderProvider func() (io.ReadCloser, error)
type RemoveBucketInput ¶ added in v0.21.0
type RemoveBucketInput struct { }
type RemoveBucketOutput ¶ added in v0.21.0
type RemoveBucketOutput struct {
RequestId string
}
type RenameBlobInput ¶ added in v0.21.0
type RenameBlobOutput ¶ added in v0.21.0
type RenameBlobOutput struct {
RequestId string
}
type S3Backend ¶ added in v0.20.0
func (*S3Backend) Capabilities ¶ added in v0.21.0
func (s *S3Backend) Capabilities() *Capabilities
func (*S3Backend) CopyBlob ¶ added in v0.21.0
func (s *S3Backend) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (*S3Backend) DeleteBlob ¶ added in v0.21.0
func (s *S3Backend) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*S3Backend) DeleteBlobs ¶ added in v0.21.0
func (s *S3Backend) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (*S3Backend) GetBlob ¶ added in v0.21.0
func (s *S3Backend) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (*S3Backend) HeadBlob ¶ added in v0.21.0
func (s *S3Backend) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (*S3Backend) ListBlobs ¶ added in v0.21.0
func (s *S3Backend) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*S3Backend) ListObjectsV2 ¶ added in v0.20.0
func (s *S3Backend) ListObjectsV2(params *s3.ListObjectsV2Input) (*s3.ListObjectsV2Output, string, error)
func (*S3Backend) MakeBucket ¶ added in v0.21.0
func (s *S3Backend) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*S3Backend) MultipartBlobAbort ¶ added in v0.21.0
func (s *S3Backend) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*S3Backend) MultipartBlobAdd ¶ added in v0.21.0
func (s *S3Backend) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*S3Backend) MultipartBlobBegin ¶ added in v0.21.0
func (s *S3Backend) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (*S3Backend) MultipartBlobCommit ¶ added in v0.21.0
func (s *S3Backend) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*S3Backend) MultipartExpire ¶ added in v0.21.0
func (s *S3Backend) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*S3Backend) PutBlob ¶ added in v0.21.0
func (s *S3Backend) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (*S3Backend) RemoveBucket ¶ added in v0.21.0
func (s *S3Backend) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*S3Backend) RenameBlob ¶ added in v0.21.0
func (s *S3Backend) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
type S3ReadBuffer ¶ added in v0.0.4
type S3ReadBuffer struct {
// contains filtered or unexported fields
}
func (S3ReadBuffer) Init ¶ added in v0.0.4
func (b S3ReadBuffer) Init(fh *FileHandle, offset uint64, size uint32) *S3ReadBuffer
type StorageBackend ¶ added in v0.21.0
type StorageBackend interface { Init(key string) error Capabilities() *Capabilities // typically this would return bucket/prefix Bucket() string HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error) GetBlob(param *GetBlobInput) (*GetBlobOutput, error) PutBlob(param *PutBlobInput) (*PutBlobOutput, error) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error) Delegate() interface{} }
/ Implementations of all the functions here are expected to be / concurrency-safe, except for / / Init() is called exactly once before any other functions are / called. / / Capabilities()/Bucket() are expected to be const
func NewBackend ¶ added in v0.21.0
func NewBackend(bucket string, flags *FlagStorage) (cloud StorageBackend, err error)
type StorageBackendInitError ¶ added in v0.21.0
type StorageBackendInitError struct {
// contains filtered or unexported fields
}
func (StorageBackendInitError) Bucket ¶ added in v0.21.0
func (s StorageBackendInitError) Bucket() string
func (StorageBackendInitError) Capabilities ¶ added in v0.21.0
func (e StorageBackendInitError) Capabilities() *Capabilities
func (StorageBackendInitError) CopyBlob ¶ added in v0.21.0
func (e StorageBackendInitError) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (StorageBackendInitError) Delegate ¶ added in v0.23.0
func (e StorageBackendInitError) Delegate() interface{}
func (StorageBackendInitError) DeleteBlob ¶ added in v0.21.0
func (e StorageBackendInitError) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (StorageBackendInitError) DeleteBlobs ¶ added in v0.21.0
func (e StorageBackendInitError) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (StorageBackendInitError) GetBlob ¶ added in v0.21.0
func (e StorageBackendInitError) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (StorageBackendInitError) HeadBlob ¶ added in v0.21.0
func (e StorageBackendInitError) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (StorageBackendInitError) Init ¶ added in v0.21.0
func (e StorageBackendInitError) Init(key string) error
func (StorageBackendInitError) ListBlobs ¶ added in v0.21.0
func (e StorageBackendInitError) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (StorageBackendInitError) MakeBucket ¶ added in v0.21.0
func (e StorageBackendInitError) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (StorageBackendInitError) MultipartBlobAbort ¶ added in v0.21.0
func (e StorageBackendInitError) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (StorageBackendInitError) MultipartBlobAdd ¶ added in v0.21.0
func (e StorageBackendInitError) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (StorageBackendInitError) MultipartBlobBegin ¶ added in v0.21.0
func (e StorageBackendInitError) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (StorageBackendInitError) MultipartBlobCommit ¶ added in v0.21.0
func (e StorageBackendInitError) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (StorageBackendInitError) MultipartExpire ¶ added in v0.21.0
func (e StorageBackendInitError) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (StorageBackendInitError) PutBlob ¶ added in v0.21.0
func (e StorageBackendInitError) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (StorageBackendInitError) RemoveBucket ¶ added in v0.21.0
func (e StorageBackendInitError) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (StorageBackendInitError) RenameBlob ¶ added in v0.21.0
func (e StorageBackendInitError) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)
type StorageBackendInitWrapper ¶ added in v0.21.0
type StorageBackendInitWrapper struct { StorageBackend // contains filtered or unexported fields }
func (*StorageBackendInitWrapper) Bucket ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) Bucket() string
func (*StorageBackendInitWrapper) Capabilities ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) Capabilities() *Capabilities
func (*StorageBackendInitWrapper) CopyBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) CopyBlob(param *CopyBlobInput) (*CopyBlobOutput, error)
func (*StorageBackendInitWrapper) DeleteBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) DeleteBlob(param *DeleteBlobInput) (*DeleteBlobOutput, error)
func (*StorageBackendInitWrapper) DeleteBlobs ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) DeleteBlobs(param *DeleteBlobsInput) (*DeleteBlobsOutput, error)
func (*StorageBackendInitWrapper) GetBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) GetBlob(param *GetBlobInput) (*GetBlobOutput, error)
func (*StorageBackendInitWrapper) HeadBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) HeadBlob(param *HeadBlobInput) (*HeadBlobOutput, error)
func (*StorageBackendInitWrapper) Init ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) Init(key string) error
func (*StorageBackendInitWrapper) ListBlobs ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) ListBlobs(param *ListBlobsInput) (*ListBlobsOutput, error)
func (*StorageBackendInitWrapper) MakeBucket ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MakeBucket(param *MakeBucketInput) (*MakeBucketOutput, error)
func (*StorageBackendInitWrapper) MultipartBlobAbort ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MultipartBlobAbort(param *MultipartBlobCommitInput) (*MultipartBlobAbortOutput, error)
func (*StorageBackendInitWrapper) MultipartBlobAdd ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MultipartBlobAdd(param *MultipartBlobAddInput) (*MultipartBlobAddOutput, error)
func (*StorageBackendInitWrapper) MultipartBlobBegin ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MultipartBlobBegin(param *MultipartBlobBeginInput) (*MultipartBlobCommitInput, error)
func (*StorageBackendInitWrapper) MultipartBlobCommit ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MultipartBlobCommit(param *MultipartBlobCommitInput) (*MultipartBlobCommitOutput, error)
func (*StorageBackendInitWrapper) MultipartExpire ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) MultipartExpire(param *MultipartExpireInput) (*MultipartExpireOutput, error)
func (*StorageBackendInitWrapper) PutBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) PutBlob(param *PutBlobInput) (*PutBlobOutput, error)
func (*StorageBackendInitWrapper) RemoveBucket ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) RemoveBucket(param *RemoveBucketInput) (*RemoveBucketOutput, error)
func (*StorageBackendInitWrapper) RenameBlob ¶ added in v0.21.0
func (s *StorageBackendInitWrapper) RenameBlob(param *RenameBlobInput) (*RenameBlobOutput, error)