文件系统 – Linux内核API is_bad_inode

is_bad_inode()函数的作用是判断传入的参数inode是否被标记为坏节点,如果节点是坏节点则结构体struct inode的i_op字段的值为系统定义的变量bad_inode_ops的值,定义见文件linux-3.19.3/fs/bad_inode.c,如下:

static const struct inode_operations bad_inode_ops =
{
.create         = bad_inode_create,
.lookup         = bad_inode_lookup,
.link           = bad_inode_link,
.unlink         = bad_inode_unlink,
.symlink       = bad_inode_symlink,
.mkdir          = bad_inode_mkdir,
.rmdir          = bad_inode_rmdir,
.mknod          = bad_inode_mknod,
.rename2       = bad_inode_rename2,
.readlink      = bad_inode_readlink,
.permission    = bad_inode_permission,
.getattr       = bad_inode_getattr,
.setattr       = bad_inode_setattr,
.setxattr      = bad_inode_setxattr,
.getxattr      = bad_inode_getxattr,
.listxattr     = bad_inode_listxattr,
.removexattr  = bad_inode_removexattr,
};

is_bad_inode文件包含

#include <linux/fs.h>

is_bad_inode函数定义

在内核源码中的位置:linux-3.19.3/fs/bad_inode.c

函数定义格式:

int is_bad_inode(struct inode *inode)

is_bad_inode输入参数说明

  • inode:输入要判断是否为坏节点的struct inode结构体变量,其定义及详细说明参考本教程中d_find_alias()函数的参数说明部分。

is_bad_inode返回参数说明

  • is_bad_inode()函数返回值是int型整数,只有0或1两种可能。若返回值为1,则说明该节点已经被标记为坏节点,若返回值为0,则说明该节点并没有被标记为坏节点。

is_bad_inode实例解析

is_bad_inode()函数的实例解析参见本教程中make_bad_inode()函数的实例解析。

以上是文件系统 – Linux内核API is_bad_inode的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>