1: void lookupInode()

   2: {

   3:     struct dentry* root_dentry;

   4:     struct vfsmount* root_mnt;

   5:     const char* filename;

   6:     struct nameidata data;

   7:     int err = 0;

   8:  

   9:     root_dentry = current->fs->root.dentry;

  10:     root_mnt = current->fs->root.mnt;

  11:     filename = "/mod/case/superblock/tmp";

  12:     //filename = "/boot/vmlinuz-3.0.0-12-generic";

  13:     //filename = "/";

  14:     filename = "/home/danie/filelist.c";

  15:     //filename = "/home/daniel";

  16:     //filename = "/mod/case/superblock/tmp";

  17:     err = vfs_path_lookup(root_dentry,root_mnt,filename,LOOKUP_EXCL,&data);

  18:     printk("lookup %s\n", filename);

  19:     if (err==0)

  20:     {

  21:         struct inode* nodei = data.inode;

  22:         struct address_space* mapping = nodei->i_mapping;

  23:         printk("mapping 0x%08x\n", mapping);

  24:         printk("nr_pages: %d\n", mapping->nrpages);

  25:         

  26:         //printk("Showing:\n");

  27:         printRawData(sizeof(struct inode),nodei);

  28:         

  29:     }

  30:     else

  31:         printk("err: %d\n", err);

  32:  

  33: }

vfs_path_lookup为什么读不到文件,但是能够读到目录?

vfs_path_lookup的更多相关文章

  1. systemtap 列出所有linux 内核模块与相关函数0

    diskiohttp://blog.163.com/digoal%40126/blog/static/16387704020131015105532435/ [root@localhost linux ...

随机推荐

  1. 性能测试基础 ---TCP通信过程的状态码与过程,以及出现错误码的分析(TIME_WAIT,CLOSE_WAIT)

    TCP通信过程 如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手).数据传输.断开TCP连接通道(四次挥手). 这里进一步探究TCP三路握手和四次挥手过程中的状态变迁以及数据传输过 ...

  2. 83、Tensorflow中的变量管理

    ''' Created on Apr 21, 2017 @author: P0079482 ''' #如何通过tf.variable_scope函数来控制tf.ger_variable函数获取已经创建 ...

  3. jquery实现的ajax

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEnco ...

  4. grub命令详解

    在grub下引导linux:其步骤如下;a 进入grub的命令模式.b 先熟悉一下grub 的一些命令 grub>help c 熟悉一下cat命令d root指令来指定/boot所在的分区e k ...

  5. Rust <6>:闭包

    单线程环境: 从宿主环境中捕获的变量,是引用,会改变原有的值,与 golang 的闭包行为一样: 以参数形式传入的变量,默认会发生 move:而 golang 的闭包参数,是宿主环境的副本,相当于在 ...

  6. 【Java多线程系列七】ExecutorService

    java.util.concurrent.ExecutorService接口提供了许多线程管理的方法 Method 说明 shutdown 拒绝接收新的任务,待已提交的任务执行后关闭,且宿主线程不阻塞 ...

  7. 通往大神之路,百度Java面试题前200页。

    基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie ...

  8. c# 关于DataTable

    1.DataRow数组 转DataTable using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;da ...

  9. __name__ 与 __main__解读

    在python脚本中我们经常看到如下的代码: # hello.py def hello(): print("hello world!") def test(): hello() i ...

  10. CVE-2010-4258漏洞分析

    Nelson Elhage最近发现了一个内核设计上的漏洞, 通过利用这个漏洞可以将一些以前只能dos的漏洞变成可以权限提升的漏洞. 当fork一个进程在的时候, copy_process执行如下操作: ...