在 FreeBSD 10.2 中读取或写入时从 nullfs 中获取 inode 编号
Get inode number from inside nullfs while reading or writing in FreeBSD 10.2
我正在尝试加密和解密文件,因为它们通过 nullfs 进行读取和写入,但我需要 inode 编号才能 encrypt/decrypt。我正在修改 /usr/src/sys/fs/nullfs/null_vnops.c 中的 null_open 并试图在结构 vop_open_args *ap 中找到索引节点号
但我找不到从结构中获取 inode 编号的方法。有什么办法吗?谢谢。
我知道怎么做了。我添加了'
MALLOC_DECLARE(M_ATTR);
MALLOC_DEFINE(M_ATTR,"vattr","attribute in null_open");
在包含和
之后到文件顶部
struct vattr *outStuff = malloc(sizeof(struct vattr), M_ATTR, M_ZERO);
VOP_GETATTR(vp,outStuff,ap->a_cred );
printf("uid = %d fileid = %ld \n", outStuff->va_uid,outStuff->va_fileid);
free(outStuff,M_ATTR);
在null_open中从函数参数访问inode。
我正在尝试加密和解密文件,因为它们通过 nullfs 进行读取和写入,但我需要 inode 编号才能 encrypt/decrypt。我正在修改 /usr/src/sys/fs/nullfs/null_vnops.c 中的 null_open 并试图在结构 vop_open_args *ap 中找到索引节点号 但我找不到从结构中获取 inode 编号的方法。有什么办法吗?谢谢。
我知道怎么做了。我添加了'
MALLOC_DECLARE(M_ATTR);
MALLOC_DEFINE(M_ATTR,"vattr","attribute in null_open");
在包含和
之后到文件顶部 struct vattr *outStuff = malloc(sizeof(struct vattr), M_ATTR, M_ZERO);
VOP_GETATTR(vp,outStuff,ap->a_cred );
printf("uid = %d fileid = %ld \n", outStuff->va_uid,outStuff->va_fileid);
free(outStuff,M_ATTR);
在null_open中从函数参数访问inode。