Added server support for CreateFile.

geesefs-0-30-9
Aaron Jacobs 2015-03-04 14:57:53 +11:00
parent 1aba7cb8a8
commit bdefba3822
1 changed files with 29 additions and 0 deletions

View File

@ -195,6 +195,35 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) {
s.logger.Println("Responding:", fuseResp)
typed.Respond(fuseResp)
case *bazilfuse.CreateRequest:
// Convert the request.
req := &CreateFileRequest{
Header: convertHeader(typed.Header),
Parent: InodeID(typed.Header.Node),
Name: typed.Name,
Mode: typed.Mode,
Flags: typed.Flags,
}
// Call the file system.
resp, err := s.fs.CreateFile(ctx, req)
if err != nil {
s.logger.Println("Responding:", err)
typed.RespondError(err)
return
}
// Convert the response.
fuseResp := &bazilfuse.CreateResponse{
OpenResponse: bazilfuse.OpenResponse{
Handle: bazilfuse.HandleID(resp.Handle),
},
}
convertChildInodeEntry(s.clock, &resp.Entry, &fuseResp.LookupResponse)
s.logger.Println("Responding:", fuseResp)
typed.Respond(fuseResp)
case *bazilfuse.RemoveRequest:
// We don't yet support files.
if !typed.Dir {