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)
case *bazilfuse.RemoveRequest:
// We don't yet support files.
if !typed.Dir {
s.logger.Println("Not supported for files. Returning ENOSYS.")
typed.RespondError(ENOSYS)
return
}
if typed.Dir {
// Convert the request.
req := &RmDirRequest{
Header: convertHeader(typed.Header),
Parent: InodeID(typed.Header.Node),
Name: typed.Name,
}
// Convert the request.
req := &RmDirRequest{
Header: convertHeader(typed.Header),
Parent: InodeID(typed.Header.Node),
Name: typed.Name,
}
// Call the file system.
_, err := s.fs.RmDir(ctx, req)
if err != nil {
s.logger.Println("Responding:", err)
typed.RespondError(err)
return
}
// Call the file system.
_, err := s.fs.RmDir(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 := &UnlinkRequest{
Header: convertHeader(typed.Header),
Parent: InodeID(typed.Header.Node),
Name: typed.Name,
}
// Respond successfully.
s.logger.Println("Responding OK.")
typed.Respond()
// Call the file system.
_, err := s.fs.Unlink(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.OpenRequest:
// Directory or file?