Added server support for Unlink.

geesefs-0-30-9
Aaron Jacobs 2015-03-06 23:28:24 -06:00
parent a113de2e87
commit 731de36a27
1 changed files with 36 additions and 22 deletions

View File

@ -265,31 +265,45 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) {
typed.Respond(fuseResp) typed.Respond(fuseResp)
case *bazilfuse.RemoveRequest: case *bazilfuse.RemoveRequest:
// We don't yet support files. if typed.Dir {
if !typed.Dir { // Convert the request.
s.logger.Println("Not supported for files. Returning ENOSYS.") req := &RmDirRequest{
typed.RespondError(ENOSYS) Header: convertHeader(typed.Header),
return Parent: InodeID(typed.Header.Node),
} Name: typed.Name,
}
// Convert the request. // Call the file system.
req := &RmDirRequest{ _, err := s.fs.RmDir(ctx, req)
Header: convertHeader(typed.Header), if err != nil {
Parent: InodeID(typed.Header.Node), s.logger.Println("Responding:", err)
Name: typed.Name, typed.RespondError(err)
} return
}
// Call the file system. // Respond successfully.
_, err := s.fs.RmDir(ctx, req) s.logger.Println("Responding OK.")
if err != nil { typed.Respond()
s.logger.Println("Responding:", err) } else {
typed.RespondError(err) // Convert the request.
return req := &UnlinkRequest{
} Header: convertHeader(typed.Header),
Parent: InodeID(typed.Header.Node),
Name: typed.Name,
}
// Respond successfully. // Call the file system.
s.logger.Println("Responding OK.") _, err := s.fs.Unlink(ctx, req)
typed.Respond() if err != nil {
s.logger.Println("Responding:", err)
typed.RespondError(err)
return
}
// Respond successfully.
s.logger.Println("Responding OK.")
typed.Respond()
}
case *bazilfuse.OpenRequest: case *bazilfuse.OpenRequest:
// Directory or file? // Directory or file?