Linux内核 is_bad_inode()

函数: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,
};

文件包含:

#include <linux/fs.h>

函数定义:

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

函数定义格式:

int is_bad_inode(struct inode *inode)

输入参数说明:

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

返回参数说明:

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

实例解析:

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

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!