如何使用vn_rdwr()API在osx内核扩展中组合两个文件

时间:2016-02-29 12:55:10

标签: c++ c macos kernel

我有两个文件test1和test2,每个大小为2 GB。我想将这两个文件合并到一个内核空间大小为4 GB的虚拟文件中。使用内核扩展。我去了API vn_rdwr()。但它将const char *作为文件路径。但是我将如何给出两个文件vnode名称并将它们组合成一个虚拟文件。单个文件存在,但我需要将它们组合成4 gb大小的虚拟文件..任何API建议?我不想使用任何用户空间库或命令。

1 个答案:

答案 0 :(得分:0)

这项练习的目的是什么?你不太可能有合理的理由去做。我不是特别了解OS X,但应该清楚这种hackery不会飞。你需要破解vfs层,这是一个坚实的禁忌。或者,您可以尝试以设备文件的形式完全离开,该设备文件可以适当地重定向i / o或专用的fuse文件系统。但如前所述,听起来你正试图做错事。