linux kernel CONFIG_FHANDLE解析

CONFIG_FHANDLE 是 Linux 内核的一个配置选项,用于启用 基于文件句柄 (file handle) 的系统调用

一、核心作用

启用此选项后,内核将提供两个关键系统调用:

  • name_to_handle_at(2): 将文件路径 转换为一个稳定的文件句柄 (f_handle)
  • open_by_handle_at(2): 通过文件句柄直接打开文件,无需路径。

二、主要特性与用途

  1. 文件稳定标识 文件句柄与文件的 inode 关联,不受文件名修改、移动或路径变化影响。即使文件被重命名或移动,只要文件系统未卸载,句柄始终有效。
  2. 用户态文件服务器 专为 NFS 等用户态文件服务器设计。服务器可通过句柄追踪文件,避免因路径变更导致的引用失效。
  3. 系统依赖 systemd 和 udev 强依赖此选项 。未启用 (=n) 时,systemd 虽能启动,但会无法启动终端 (getty) 及基础服务。

三、配置说明

  • 位置 : General setup -> open by fhandle syscalls
  • 类型: 布尔值 (Y/n)
  • 依赖 : CONFIG_EXPERT
  • 内核版本 : 自 Linux 2.6.39 起引入
  • 推荐设置 : Y (现代发行版默认开启)

四、总结

CONFIG_FHANDLE 提供了不依赖路径、稳定追踪文件 的能力,是现代 Linux 系统(尤其使用 systemd )的必选核心功能

相关推荐
zzzzzz31015 分钟前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode27 分钟前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207017 小时前
如何搭建本地yum源(上)
运维
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai