vfs_path_lookup
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为什么读不到文件,但是能够读到目录?

浙公网安备 33010602011771号