From 1d3cb2493edfcd487200d1f0916c9e55ee811ce4 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Sun, 8 Mar 2015 21:42:22 -0500 Subject: [PATCH] Added server support for Release. --- server.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/server.go b/server.go index a286327..8e63280 100644 --- a/server.go +++ b/server.go @@ -409,6 +409,46 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) { typed.Respond(fuseResp) } + case *bazilfuse.ReleaseRequest: + // Directory or file? + if typed.Dir { + // Convert the request. + req := &ReleaseDirHandleRequest{ + Header: convertHeader(typed.Header), + Handle: HandleID(typed.Handle), + } + + // Call the file system. + _, err := s.fs.ReleaseDirHandle(ctx, req) + if err != nil { + s.logger.Println("Responding:", err) + typed.RespondError(err) + return + } + + // Respond successfully. + s.logger.Println("Responding OK.") + typed.Respond() + } else { + // Convert the request. + req := &ReleaseFileHandleRequest{ + Header: convertHeader(typed.Header), + Handle: HandleID(typed.Handle), + } + + // Call the file system. + _, err := s.fs.ReleaseFileHandle(ctx, req) + if err != nil { + s.logger.Println("Responding:", err) + typed.RespondError(err) + return + } + + // Respond successfully. + s.logger.Println("Responding OK.") + typed.Respond() + } + case *bazilfuse.WriteRequest: // Convert the request. req := &WriteFileRequest{