Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325017
  • 博文数量: 78
  • 博客积分: 1322
  • 博客等级: 中尉
  • 技术积分: 680
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-14 13:24
文章分类
文章存档

2012年(20)

2011年(55)

2010年(3)

分类: LINUX

2010-12-10 14:52:49

int remove_file(char *filename)
{
char *filename = NULL;
int ret = 0;
struct nameidata nd;
struct dentry *dentry;

ret = path_lookup(filename, LOOKUP_PARENT, &nd);
if (ret != 0)
{
         return -ENOENT;
}
dentry = lookup_one_len(nd.last.name, nd.path.dentry, strlen(nd.last.name));
if (IS_ERR(dentry))
{
          path_release(&nd);
          return -EACCES;
}
vfs_unlink(nd.path.dentry->d_inode, dentry);

dput(dentry);
//path_release(&nd);

return 0;
   
}

同理可调用vfs_rmdir删除空目录
阅读(5050) | 评论(1) | 转发(0) |
0

上一篇:文件系统

下一篇:内核态下实现mv文件

给主人留下些什么吧!~~

chinaunix网友2010-12-13 15:24:57

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com