Use internalOp.

geesefs-0-30-9
Aaron Jacobs 2015-05-05 10:21:21 +10:00
parent 6c38037b11
commit ee8c1f0357
2 changed files with 24 additions and 21 deletions

View File

@ -53,7 +53,7 @@ type commonOp struct {
ctx context.Context ctx context.Context
// The op in which this struct is embedded. // The op in which this struct is embedded.
op Op op internalOp
// The underlying bazilfuse request for this op. // The underlying bazilfuse request for this op.
bazilReq bazilfuse.Request bazilReq bazilfuse.Request
@ -164,7 +164,7 @@ func (o *commonOp) ShortDesc() (desc string) {
func (o *commonOp) init( func (o *commonOp) init(
ctx context.Context, ctx context.Context,
op Op, op internalOp,
bazilReq bazilfuse.Request, bazilReq bazilfuse.Request,
log func(int, string, ...interface{}), log func(int, string, ...interface{}),
finished func(error)) { finished func(error)) {

View File

@ -35,13 +35,14 @@ func Convert(
finished func(error)) (o Op) { finished func(error)) (o Op) {
var co *commonOp var co *commonOp
var io internalOp
switch typed := r.(type) { switch typed := r.(type) {
case *bazilfuse.InitRequest: case *bazilfuse.InitRequest:
to := &InitOp{ to := &InitOp{
maxReadahead: typed.MaxReadahead, maxReadahead: typed.MaxReadahead,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.LookupRequest: case *bazilfuse.LookupRequest:
@ -49,14 +50,14 @@ func Convert(
Parent: InodeID(typed.Header.Node), Parent: InodeID(typed.Header.Node),
Name: typed.Name, Name: typed.Name,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.GetattrRequest: case *bazilfuse.GetattrRequest:
to := &GetInodeAttributesOp{ to := &GetInodeAttributesOp{
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.SetattrRequest: case *bazilfuse.SetattrRequest:
@ -80,7 +81,7 @@ func Convert(
to.Mtime = &typed.Mtime to.Mtime = &typed.Mtime
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.ForgetRequest: case *bazilfuse.ForgetRequest:
@ -88,7 +89,7 @@ func Convert(
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
N: typed.N, N: typed.N,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.MkdirRequest: case *bazilfuse.MkdirRequest:
@ -97,7 +98,7 @@ func Convert(
Name: typed.Name, Name: typed.Name,
Mode: typed.Mode, Mode: typed.Mode,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.CreateRequest: case *bazilfuse.CreateRequest:
@ -107,7 +108,7 @@ func Convert(
Mode: typed.Mode, Mode: typed.Mode,
Flags: typed.Flags, Flags: typed.Flags,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.RemoveRequest: case *bazilfuse.RemoveRequest:
@ -116,14 +117,14 @@ func Convert(
Parent: InodeID(typed.Header.Node), Parent: InodeID(typed.Header.Node),
Name: typed.Name, Name: typed.Name,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} else { } else {
to := &UnlinkOp{ to := &UnlinkOp{
Parent: InodeID(typed.Header.Node), Parent: InodeID(typed.Header.Node),
Name: typed.Name, Name: typed.Name,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} }
@ -133,14 +134,14 @@ func Convert(
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
Flags: typed.Flags, Flags: typed.Flags,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} else { } else {
to := &OpenFileOp{ to := &OpenFileOp{
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
Flags: typed.Flags, Flags: typed.Flags,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} }
@ -152,7 +153,7 @@ func Convert(
Offset: DirOffset(typed.Offset), Offset: DirOffset(typed.Offset),
Size: typed.Size, Size: typed.Size,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} else { } else {
to := &ReadFileOp{ to := &ReadFileOp{
@ -161,7 +162,7 @@ func Convert(
Offset: typed.Offset, Offset: typed.Offset,
Size: typed.Size, Size: typed.Size,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} }
@ -170,13 +171,13 @@ func Convert(
to := &ReleaseDirHandleOp{ to := &ReleaseDirHandleOp{
Handle: HandleID(typed.Handle), Handle: HandleID(typed.Handle),
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} else { } else {
to := &ReleaseFileHandleOp{ to := &ReleaseFileHandleOp{
Handle: HandleID(typed.Handle), Handle: HandleID(typed.Handle),
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
} }
@ -187,7 +188,7 @@ func Convert(
Data: typed.Data, Data: typed.Data,
Offset: typed.Offset, Offset: typed.Offset,
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.FsyncRequest: case *bazilfuse.FsyncRequest:
@ -200,7 +201,7 @@ func Convert(
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
Handle: HandleID(typed.Handle), Handle: HandleID(typed.Handle),
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
case *bazilfuse.FlushRequest: case *bazilfuse.FlushRequest:
@ -208,14 +209,16 @@ func Convert(
Inode: InodeID(typed.Header.Node), Inode: InodeID(typed.Header.Node),
Handle: HandleID(typed.Handle), Handle: HandleID(typed.Handle),
} }
o = to io = to
co = &to.commonOp co = &to.commonOp
default: default:
return return
} }
co.init(opCtx, o, r, logForOp, finished) co.init(opCtx, io, r, logForOp, finished)
o = io
return return
} }