diff --git a/fuseops/ops.go b/fuseops/ops.go index b487ac8..5115a34 100644 --- a/fuseops/ops.go +++ b/fuseops/ops.go @@ -18,8 +18,6 @@ import ( "fmt" "os" "time" - - "github.com/jacobsa/fuse/internal/fusekernel" ) //////////////////////////////////////////////////////////////////////// @@ -29,9 +27,6 @@ import ( // Look up a child by name within a parent directory. The kernel sends this // when resolving user paths to dentry structs, which are then cached. type LookUpInodeOp struct { - commonOp - protocol fusekernel.Protocol - // The ID of the directory inode to which the child belongs. Parent InodeID @@ -63,9 +58,6 @@ func (o *LookUpInodeOp) ShortDesc() (desc string) { // inode attributes is stale. This is controlled by the AttributesExpiration // field of ChildInodeEntry, etc. type GetInodeAttributesOp struct { - commonOp - protocol fusekernel.Protocol - // The inode of interest. Inode InodeID @@ -89,9 +81,6 @@ func (o *GetInodeAttributesOp) DebugString() string { // The kernel sends this for obvious cases like chmod(2), and for less obvious // cases like ftrunctate(2). type SetInodeAttributesOp struct { - commonOp - protocol fusekernel.Protocol - // The inode of interest. Inode InodeID @@ -148,8 +137,6 @@ type SetInodeAttributesOp struct { // Rather they should take fuse.Connection.ReadOp returning io.EOF as // implicitly decrementing all lookup counts to zero. type ForgetInodeOp struct { - commonOp - // The inode whose reference count should be decremented. Inode InodeID @@ -173,9 +160,6 @@ type ForgetInodeOp struct { // // Therefore the file system should return EEXIST if the name already exists. type MkDirOp struct { - commonOp - protocol fusekernel.Protocol - // The ID of parent directory inode within which to create the child. Parent InodeID @@ -206,9 +190,6 @@ func (o *MkDirOp) ShortDesc() (desc string) { // // Therefore the file system should return EEXIST if the name already exists. type CreateFileOp struct { - commonOp - protocol fusekernel.Protocol - // The ID of parent directory inode within which to create the child file. Parent InodeID @@ -241,9 +222,6 @@ func (o *CreateFileOp) ShortDesc() (desc string) { // Create a symlink inode. If the name already exists, the file system should // return EEXIST (cf. the notes on CreateFileOp and MkDirOp). type CreateSymlinkOp struct { - commonOp - protocol fusekernel.Protocol - // The ID of parent directory inode within which to create the child symlink. Parent InodeID @@ -310,8 +288,6 @@ func (o *CreateSymlinkOp) ShortDesc() (desc string) { // about this. // type RenameOp struct { - commonOp - // The old parent directory, and the name of the entry within it to be // relocated. OldParent InodeID @@ -331,8 +307,6 @@ type RenameOp struct { // // Sample implementation in ext2: ext2_rmdir (http://goo.gl/B9QmFf) type RmDirOp struct { - commonOp - // The ID of parent directory inode, and the name of the directory being // removed within it. Parent InodeID @@ -346,8 +320,6 @@ type RmDirOp struct { // // Sample implementation in ext2: ext2_unlink (http://goo.gl/hY6r6C) type UnlinkOp struct { - commonOp - // The ID of parent directory inode, and the name of the entry being removed // within it. Parent InodeID @@ -365,8 +337,6 @@ type UnlinkOp struct { // user-space process. On OS X it may not be sent for every open(2) (cf. // https://github.com/osxfuse/osxfuse/issues/199). type OpenDirOp struct { - commonOp - // The ID of the inode to be opened. Inode InodeID @@ -383,8 +353,6 @@ type OpenDirOp struct { // Read entries from a directory previously opened with OpenDir. type ReadDirOp struct { - commonOp - // The directory inode that we are reading, and the handle previously // returned by OpenDir when opening that inode. Inode InodeID @@ -480,8 +448,6 @@ type ReadDirOp struct { // // Errors from this op are ignored by the kernel (cf. http://goo.gl/RL38Do). type ReleaseDirHandleOp struct { - commonOp - // The handle ID to be released. The kernel guarantees that this ID will not // be used in further calls to the file system (unless it is reissued by the // file system). @@ -499,8 +465,6 @@ type ReleaseDirHandleOp struct { // process. On OS X it may not be sent for every open(2) // (cf.https://github.com/osxfuse/osxfuse/issues/199). type OpenFileOp struct { - commonOp - // The ID of the inode to be opened. Inode InodeID @@ -520,8 +484,6 @@ type OpenFileOp struct { // some reads may be served by the page cache. See notes on WriteFileOp for // more. type ReadFileOp struct { - commonOp - // The file inode that we are reading, and the handle previously returned by // CreateFile or OpenFile when opening that inode. Inode InodeID @@ -575,8 +537,6 @@ type ReadFileOp struct { // (See also http://goo.gl/ocdTdM, fuse-devel thread "Fuse guarantees on // concurrent requests".) type WriteFileOp struct { - commonOp - // The file inode that we are modifying, and the handle previously returned // by CreateFile or OpenFile when opening that inode. Inode InodeID @@ -630,8 +590,6 @@ type WriteFileOp struct { // See also: FlushFileOp, which may perform a similar function when closing a // file (but which is not used in "real" file systems). type SyncFileOp struct { - commonOp - // The file and handle being sync'd. Inode InodeID Handle HandleID @@ -685,8 +643,6 @@ type SyncFileOp struct { // to at least schedule a real flush, and maybe do it immediately in order to // return any errors that occur. type FlushFileOp struct { - commonOp - // The file and handle being flushed. Inode InodeID Handle HandleID @@ -701,35 +657,18 @@ type FlushFileOp struct { // // Errors from this op are ignored by the kernel (cf. http://goo.gl/RL38Do). type ReleaseFileHandleOp struct { - commonOp - // The handle ID to be released. The kernel guarantees that this ID will not // be used in further calls to the file system (unless it is reissued by the // file system). Handle HandleID } -// A sentinel used for unknown ops. The user is expected to respond with a -// non-nil error. -type unknownOp struct { - commonOp - opCode uint32 - inode InodeID -} - -func (o *unknownOp) ShortDesc() (desc string) { - desc = fmt.Sprintf("(inode=%v)", o.opCode, o.inode) - return -} - //////////////////////////////////////////////////////////////////////// // Reading symlinks //////////////////////////////////////////////////////////////////////// // Read the target of a symlink inode. type ReadSymlinkOp struct { - commonOp - // The symlink inode that we are reading. Inode InodeID