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);
        }