【ganesha】函数nfs4_op_open解析
函数nfs4_op_open解析
typedef enum {
CLAIM_NULL = 0,
CLAIM_PREVIOUS = 1,
CLAIM_DELEGATE_CUR = 2,
CLAIM_DELEGATE_PREV = 3,
CLAIM_FH = 4,
CLAIM_DELEG_PREV_FH = 5
} open_claim_type4;
各种 claim 类型说明
类型 | 含义 | NFS-Ganesha 处理方式 |
---|---|---|
CLAIM_NULL |
普通路径打开(当前文件句柄 + 文件名) | 最常见的,表示“在当前目录中创建/打开名字为 X 的文件” |
CLAIM_PREVIOUS |
客户端恢复旧状态 | 用于服务器重启后的 state recovery,客户端会告诉服务器:“我以前已经打开过这个文件” |
CLAIM_DELEGATE_CUR |
当前 delegation 代理打开 | 不常用,表示客户端有 delegation 权限 |
CLAIM_DELEGATE_PREV |
已释放 delegation 后的打开 | 更罕见,客户端希望基于之前的 delegation 再打开 |
CLAIM_FH |
打开当前句柄表示的文件 | 用于某些特殊场景,直接使用 file handle 打开 |
CLAIM_DELEG_PREV_FH |
更罕见的恢复型 claim | 很少实现,部分实现不支持 |