diff --git a/cmd/cmount/fs.go b/cmd/cmount/fs.go index b0a5e511e..335bfb39e 100644 --- a/cmd/cmount/fs.go +++ b/cmd/cmount/fs.go @@ -388,7 +388,11 @@ func (fsys *FS) Release(path string, fh uint64) (errc int) { return errc } _ = fsys.closeHandle(fh) - return translateError(handle.Release()) + // Run the Release asynchronously, ignoring errors + go func() { + _ = handle.Release() + }() + return 0 } // Unlink removes a file. diff --git a/cmd/mount/handle.go b/cmd/mount/handle.go index 2c049abc9..815f15d77 100644 --- a/cmd/mount/handle.go +++ b/cmd/mount/handle.go @@ -80,5 +80,9 @@ var _ fusefs.HandleReleaser = (*FileHandle)(nil) // the kernel func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) (err error) { defer log.Trace(fh, "")("err=%v", &err) - return translateError(fh.Handle.Release()) + // Run the Release asynchronously, ignoring errors + go func() { + _ = fh.Handle.Release() + }() + return nil }