filed
Job queue using FUSE
git clone git://mccd.space/filed
| Log | Files | Refs | README | LICENSE |
commit eb48a9bef8f67523d79bb32b171968172f35b397 parent 137d4c340bf0c859d1e450ccc0e9dedbb32d0839 Author: Marc Coquand <marc@coquand.email> Date: Wed, 17 Dec 2025 12:02:43 +0100 Job Diffstat:
| M | jobdir.go | | | 9 | +++++++++ |
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/jobdir.go b/jobdir.go
@@ -73,6 +73,15 @@ func (jd JobDir) ReadDirAll(ctx context.Context) (entries []fuse.Dirent, err err
func (jd JobDir) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
slog.Info("Removing job", "id", req.Name)
+ job, err := jd.manager.store.GetJob(req.Name)
+ if err != nil {
+ slog.Error("Could not get job")
+ return syscall.EIO
+ }
+ if job.State == store.StateRunning {
+ // XXX Delete the running job instead
+ return syscall.EPERM
+ }
return jd.manager.store.DeleteJob(req.Name)
}