Added server support for WriteFile.

geesefs-0-30-9
Aaron Jacobs 2015-03-04 15:18:09 +11:00
parent 0e4bdb538a
commit 5455e35b35
1 changed files with 26 additions and 0 deletions

View File

@ -355,6 +355,32 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) {
typed.Respond(fuseResp)
}
case *bazilfuse.WriteRequest:
// Convert the request.
req := &WriteFileRequest{
Header: convertHeader(typed.Header),
Inode: InodeID(typed.Header.Node),
Handle: HandleID(typed.Handle),
Data: typed.Data,
Offset: typed.Offset,
}
// Call the file system.
_, err := s.fs.WriteFile(ctx, req)
if err != nil {
s.logger.Println("Responding:", err)
typed.RespondError(err)
return
}
// Convert the response.
fuseResp := &bazilfuse.WriteResponse{
Size: len(typed.Data),
}
s.logger.Println("Responding:", fuseResp)
typed.Respond(fuseResp)
default:
s.logger.Println("Unhandled type. Returning ENOSYS.")
typed.RespondError(ENOSYS)