public override int Write(ReadOnlySpan <byte> path, ulong off, ReadOnlySpan <byte> buffer, ref FuseFileInfo fi, Guid fileGuid) { path = base.TransformPath(path); if (debug) { Console.WriteLine($"NeoFS::Write()"); } if (fi.fh == 0) { var newFd = LibC.open(toBp(path), fi.flags); if (newFd > 0) { fi.fh = (ulong)newFd; } else { return(-LibC.errno); } } ssize_t res; fixed(void *vbuf = buffer) { res = LibC.pwrite((int)fi.fh, vbuf, buffer.Length, (long)off); } if (res < 0) { return(-LibC.errno); } return((int)res); }