在假定支持BTRFS文件系统的Linux系统上,如何使用C++在C++代码上使用copy on write复制文件?该解决方案是否适用于所有Unix系统?它也没有出现在Linux的文档中,也不是POSIX标准。事实上,即使GNU实用程序可以处理写入时复制,也不一定总是执行它,因为它需要一个参数,即--reflink=true来强制使用它
因此,使用CoW很可能需要使用低级原语,显然还没有为Linux或更广泛的POSIX准备文档。
man pipe将-s7文档写入到pipe中,写得非常好。对我来说重要的一点是,如果设置了O_NONBLOCK,并且写入长度大于PIPE_BUF,则只会部分完成写入。因为我的结构比PIPE_BUF小,所以read会一直读取整数个结构吗?常识告诉我,读取行为将反映文档中的写入行为,但如果指定这一点,我会更高兴。
我在Li