Fixed a bunch more errors.
parent
2b8c659517
commit
7035b69b93
122
conversions.go
122
conversions.go
|
@ -43,19 +43,15 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.LookUpInodeOp{
|
o = &fuseops.LookUpInodeOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(buf[:n-1]),
|
Name: string(buf[:n-1]),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpGetattr:
|
case fusekernel.OpGetattr:
|
||||||
to := &fuseops.GetInodeAttributesOp{
|
o = &fuseops.GetInodeAttributesOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpSetattr:
|
case fusekernel.OpSetattr:
|
||||||
type input fusekernel.SetattrIn
|
type input fusekernel.SetattrIn
|
||||||
|
@ -68,6 +64,7 @@ func convertInMessage(
|
||||||
to := &fuseops.SetInodeAttributesOp{
|
to := &fuseops.SetInodeAttributesOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
|
o = to
|
||||||
|
|
||||||
valid := fusekernel.SetattrValid(in.Valid)
|
valid := fusekernel.SetattrValid(in.Valid)
|
||||||
if valid&fusekernel.SetattrSize != 0 {
|
if valid&fusekernel.SetattrSize != 0 {
|
||||||
|
@ -89,9 +86,6 @@ func convertInMessage(
|
||||||
to.Mtime = &t
|
to.Mtime = &t
|
||||||
}
|
}
|
||||||
|
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpForget:
|
case fusekernel.OpForget:
|
||||||
type input fusekernel.ForgetIn
|
type input fusekernel.ForgetIn
|
||||||
in := (*input)(m.Consume(unsafe.Sizeof(input{})))
|
in := (*input)(m.Consume(unsafe.Sizeof(input{})))
|
||||||
|
@ -100,12 +94,10 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.ForgetInodeOp{
|
o = &fuseops.ForgetInodeOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
N: in.Nlookup,
|
N: in.Nlookup,
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpMkdir:
|
case fusekernel.OpMkdir:
|
||||||
in := (*fusekernel.MkdirIn)(m.Consume(fusekernel.MkdirInSize(protocol)))
|
in := (*fusekernel.MkdirIn)(m.Consume(fusekernel.MkdirInSize(protocol)))
|
||||||
|
@ -122,7 +114,7 @@ func convertInMessage(
|
||||||
}
|
}
|
||||||
name = name[:i]
|
name = name[:i]
|
||||||
|
|
||||||
to := &fuseops.MkDirOp{
|
o = &fuseops.MkDirOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(name),
|
Name: string(name),
|
||||||
|
|
||||||
|
@ -135,9 +127,6 @@ func convertInMessage(
|
||||||
Mode: convertFileMode(in.Mode) | os.ModeDir,
|
Mode: convertFileMode(in.Mode) | os.ModeDir,
|
||||||
}
|
}
|
||||||
|
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpCreate:
|
case fusekernel.OpCreate:
|
||||||
in := (*fusekernel.CreateIn)(m.Consume(fusekernel.CreateInSize(protocol)))
|
in := (*fusekernel.CreateIn)(m.Consume(fusekernel.CreateInSize(protocol)))
|
||||||
if in == nil {
|
if in == nil {
|
||||||
|
@ -153,13 +142,11 @@ func convertInMessage(
|
||||||
}
|
}
|
||||||
name = name[:i]
|
name = name[:i]
|
||||||
|
|
||||||
to := &fuseops.CreateFileOp{
|
o = &fuseops.CreateFileOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(name),
|
Name: string(name),
|
||||||
Mode: convertFileMode(in.Mode),
|
Mode: convertFileMode(in.Mode),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpSymlink:
|
case fusekernel.OpSymlink:
|
||||||
// The message is "newName\0target\0".
|
// The message is "newName\0target\0".
|
||||||
|
@ -175,13 +162,11 @@ func convertInMessage(
|
||||||
}
|
}
|
||||||
newName, target := names[0:i], names[i+1:len(names)-1]
|
newName, target := names[0:i], names[i+1:len(names)-1]
|
||||||
|
|
||||||
to := &fuseops.CreateSymlinkOp{
|
o = &fuseops.CreateSymlinkOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(newName),
|
Name: string(newName),
|
||||||
Target: string(target),
|
Target: string(target),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpRename:
|
case fusekernel.OpRename:
|
||||||
type input fusekernel.RenameIn
|
type input fusekernel.RenameIn
|
||||||
|
@ -208,14 +193,12 @@ func convertInMessage(
|
||||||
}
|
}
|
||||||
oldName, newName := names[:i], names[i+1:len(names)-1]
|
oldName, newName := names[:i], names[i+1:len(names)-1]
|
||||||
|
|
||||||
to := &fuseops.RenameOp{
|
o = &fuseops.RenameOp{
|
||||||
OldParent: fuseops.InodeID(m.Header().Nodeid),
|
OldParent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
OldName: string(oldName),
|
OldName: string(oldName),
|
||||||
NewParent: fuseops.InodeID(in.Newdir),
|
NewParent: fuseops.InodeID(in.Newdir),
|
||||||
NewName: string(newName),
|
NewName: string(newName),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpUnlink:
|
case fusekernel.OpUnlink:
|
||||||
buf := m.ConsumeBytes(m.Len())
|
buf := m.ConsumeBytes(m.Len())
|
||||||
|
@ -225,12 +208,10 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.UnlinkOp{
|
o = &fuseops.UnlinkOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(buf[:n-1]),
|
Name: string(buf[:n-1]),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpRmdir:
|
case fusekernel.OpRmdir:
|
||||||
buf := m.ConsumeBytes(m.Len())
|
buf := m.ConsumeBytes(m.Len())
|
||||||
|
@ -240,26 +221,20 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.RmDirOp{
|
o = &fuseops.RmDirOp{
|
||||||
Parent: fuseops.InodeID(m.Header().Nodeid),
|
Parent: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Name: string(buf[:n-1]),
|
Name: string(buf[:n-1]),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpOpen:
|
case fusekernel.OpOpen:
|
||||||
to := &fuseops.OpenFileOp{
|
o = &fuseops.OpenFileOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpOpendir:
|
case fusekernel.OpOpendir:
|
||||||
to := &fuseops.OpenDirOp{
|
o = &fuseops.OpenDirOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpRead:
|
case fusekernel.OpRead:
|
||||||
in := (*fusekernel.ReadIn)(m.Consume(fusekernel.ReadInSize(protocol)))
|
in := (*fusekernel.ReadIn)(m.Consume(fusekernel.ReadInSize(protocol)))
|
||||||
|
@ -268,14 +243,12 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.ReadFileOp{
|
o = &fuseops.ReadFileOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
Offset: int64(in.Offset),
|
Offset: int64(in.Offset),
|
||||||
Size: int(in.Size),
|
Size: int(in.Size),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpReaddir:
|
case fusekernel.OpReaddir:
|
||||||
in := (*fusekernel.ReadIn)(m.Consume(fusekernel.ReadInSize(protocol)))
|
in := (*fusekernel.ReadIn)(m.Consume(fusekernel.ReadInSize(protocol)))
|
||||||
|
@ -284,14 +257,12 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.ReadDirOp{
|
o = &fuseops.ReadDirOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
Offset: DirOffset(in.Offset),
|
Offset: fuseops.DirOffset(in.Offset),
|
||||||
Size: int(in.Size),
|
Size: int(in.Size),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpRelease:
|
case fusekernel.OpRelease:
|
||||||
type input fusekernel.ReleaseIn
|
type input fusekernel.ReleaseIn
|
||||||
|
@ -301,11 +272,9 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.ReleaseFileHandleOp{
|
o = &fuseops.ReleaseFileHandleOp{
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpReleasedir:
|
case fusekernel.OpReleasedir:
|
||||||
type input fusekernel.ReleaseIn
|
type input fusekernel.ReleaseIn
|
||||||
|
@ -315,11 +284,9 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.ReleaseDirHandleOp{
|
o = &fuseops.ReleaseDirHandleOp{
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpWrite:
|
case fusekernel.OpWrite:
|
||||||
in := (*fusekernel.WriteIn)(m.Consume(fusekernel.WriteInSize(protocol)))
|
in := (*fusekernel.WriteIn)(m.Consume(fusekernel.WriteInSize(protocol)))
|
||||||
|
@ -334,14 +301,12 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.WriteFileOp{
|
o = &fuseops.WriteFileOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
Data: buf,
|
Data: buf,
|
||||||
Offset: int64(in.Offset),
|
Offset: int64(in.Offset),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpFsync:
|
case fusekernel.OpFsync:
|
||||||
type input fusekernel.FsyncIn
|
type input fusekernel.FsyncIn
|
||||||
|
@ -351,12 +316,10 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.SyncFileOp{
|
o = &fuseops.SyncFileOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpFlush:
|
case fusekernel.OpFlush:
|
||||||
type input fusekernel.FlushIn
|
type input fusekernel.FlushIn
|
||||||
|
@ -366,24 +329,18 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.FlushFileOp{
|
o = &fuseops.FlushFileOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
Handle: HandleID(in.Fh),
|
Handle: fuseops.HandleID(in.Fh),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpReadlink:
|
case fusekernel.OpReadlink:
|
||||||
to := &fuseops.ReadSymlinkOp{
|
o = &fuseops.ReadSymlinkOp{
|
||||||
Inode: fuseops.InodeID(m.Header().Nodeid),
|
Inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpStatfs:
|
case fusekernel.OpStatfs:
|
||||||
to := &fuseops.InternalStatFSOp{}
|
o = &internalStatFSOp{}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpInterrupt:
|
case fusekernel.OpInterrupt:
|
||||||
type input fusekernel.InterruptIn
|
type input fusekernel.InterruptIn
|
||||||
|
@ -393,11 +350,9 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.InternalInterruptOp{
|
o = &internalInterruptOp{
|
||||||
FuseID: in.Unique,
|
FuseID: in.Unique,
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
case fusekernel.OpInit:
|
case fusekernel.OpInit:
|
||||||
type input fusekernel.InitIn
|
type input fusekernel.InitIn
|
||||||
|
@ -407,32 +362,19 @@ func convertInMessage(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
to := &fuseops.InternalInitOp{
|
o = &internalInitOp{
|
||||||
Kernel: fusekernel.Protocol{in.Major, in.Minor},
|
Kernel: fusekernel.Protocol{in.Major, in.Minor},
|
||||||
MaxReadahead: in.MaxReadahead,
|
MaxReadahead: in.MaxReadahead,
|
||||||
Flags: fusekernel.InitFlags(in.Flags),
|
Flags: fusekernel.InitFlags(in.Flags),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
to := &unknownOp{
|
o = &unknownOp{
|
||||||
opCode: m.Header().Opcode,
|
opCode: m.Header().Opcode,
|
||||||
inode: fuseops.InodeID(m.Header().Nodeid),
|
inode: fuseops.InodeID(m.Header().Nodeid),
|
||||||
}
|
}
|
||||||
io = to
|
|
||||||
co = &to.commonOp
|
|
||||||
}
|
}
|
||||||
|
|
||||||
co.init(
|
|
||||||
opCtx,
|
|
||||||
io,
|
|
||||||
m.Header().Unique,
|
|
||||||
sendReply,
|
|
||||||
debugLogForOp,
|
|
||||||
errorLogger)
|
|
||||||
|
|
||||||
o = io
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue