Linux 内核文件系统与设备操作流程分析(9) // 如果是连接的话,也要区别对待,使用 ext3_symlink_xxx 函数集 // if (ext3_inode_is_fast_symlink(inode)) inode->i_op = &ext3_fast_symlink_inode_operations; else { inode->i_op = &ext3_symlink_inode_operations; ext3_set_aops(inode); } } else { // // 如果以上三种情况都排除了,那么我们则认为他是一个设备驱动 // 注意:这里的仅对 inode->i_op 函数集进行了直接赋值。对于 // inode->i_fop 函数集使用的是 init_special_inode() 函数 // 进行的赋值 // inode->i_op = &ext3_special_inode_operations; if (raw_inode->i_block[0]) init_special_inode(inode, inode->i_mode, old_decode_dev(le32_to_cpu(raw_inode->i_block[0])));