From ebcb21811028cc81aeab6b9762364cd8b4458f82 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 3 Mar 2015 09:20:55 +1100 Subject: [PATCH] Added server support for mkdir. --- server.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/server.go b/server.go index 9b8b1f3..5f048b8 100644 --- a/server.go +++ b/server.go @@ -152,6 +152,29 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) { s.logger.Print("Responding:", fuseResp) typed.Respond(fuseResp) + case *bazilfuse.MkdirRequest: + // Convert the request. + req := &MkDirRequest{ + Parent: InodeID(typed.Header.Node), + Name: typed.Name, + Mode: typed.Mode, + } + + // Call the file system. + resp, err := s.fs.MkDir(ctx, req) + if err != nil { + s.logger.Print("Responding:", err) + typed.RespondError(err) + return + } + + // Convert the response. + fuseResp := &bazilfuse.MkdirResponse{} + convertChildInodeEntry(s.clock, &resp.Entry, &fuseResp.LookupResponse) + + s.logger.Print("Responding:", fuseResp) + typed.Respond(fuseResp) + case *bazilfuse.OpenRequest: // Directory or file? if typed.Dir {