gpt4 book ai didi

c - 什么 api 可用于创建到 ext2/3 上现有 inode 的硬链接(hard link)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:16 26 4
gpt4 key购买 nike

我大吃一惊,但该文件仍处于打开状态并正在使用中。

以下 ( Link to a specific inode ), 从 /proc/###/fd/### 复制到新文件没有用,因为:

  1. 文件正在改变
  2. 文件大小为 40G,磁盘已满(150MB 空闲)

我正在尝试将它重新链接到文件系统(取消删除它)。

    COMMAND    PID    USER   FD      TYPE             DEVICE        SIZE       NODE NAME
vmware-vm 4281 root 126u REG 253,0 40020664320 10928132 /var/mnt/partial.img

我用“wc/proc/4281/fd/126”打开文件,然后暂停它。

我使用 debugfs(灵感来自 dag wieers)在文件系统上创建了一个链接,然后编辑目录条目以将删除时间设置为 0,更新链接计数。重新启动并运行 fsck 一切正常。

This is a kernel mod to do it ,我还没有测试过。

最佳答案

我知道最好的方法是使用 gdb 并附加到仍然打开文件的进程,然后从 gdb 内部手动调用库函数来打开一个新的文件并将文件内容复制到新文件。

关于c - 什么 api 可用于创建到 ext2/3 上现有 inode 的硬链接(hard link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com