From 4690e804b6cbf8f57021b253601a24fbd4d56255 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys <hanwen@google.com> Date: Mon, 25 Apr 2011 13:34:38 -0300 Subject: [PATCH] Dump GETATTR results too. --- fuse/opcode.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/fuse/opcode.go b/fuse/opcode.go index c896969..5c4db39 100644 --- a/fuse/opcode.go +++ b/fuse/opcode.go @@ -221,14 +221,15 @@ func doRename(state *MountState, req *request) { //////////////////////////////////////////////////////////////// type operationFunc func(*MountState, *request) +type castPointerFunc func(unsafe.Pointer) interface{} type operationHandler struct { Name string Func operationFunc InputSize int OutputSize int - DecodeIn func(unsafe.Pointer) interface{} - DecodeOut func(unsafe.Pointer) interface{} + DecodeIn castPointerFunc + DecodeOut castPointerFunc } var operationHandlers []*operationHandler @@ -386,11 +387,12 @@ func init() { operationHandlers[op].Func = v } - operationHandlers[FUSE_LOOKUP].DecodeOut = func(ptr unsafe.Pointer) interface{} { - return (*EntryOut)(ptr) - } - operationHandlers[FUSE_OPEN].DecodeOut = func(ptr unsafe.Pointer) interface{} { - return (*EntryOut)(ptr) + for op, f := range map[Opcode]castPointerFunc{ + FUSE_LOOKUP: func(ptr unsafe.Pointer) interface{} { return (*EntryOut)(ptr) }, + FUSE_OPEN: func(ptr unsafe.Pointer) interface{} { return (*EntryOut)(ptr) }, + FUSE_GETATTR: func(ptr unsafe.Pointer) interface{} { return (*AttrOut)(ptr) }, + } { + operationHandlers[op].DecodeOut = f } } -- 2.30.9