内核态下删除文件操作函数问题

下面的一段代码有问题吗?
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.dentry, strlen(nd.last.name));
if (IS_ERR(dentry))
{
          path_release(&nd);
          return -EACCES;
}
vfs_unlink(nd.dentry->d_inode, dentry);

dput(dentry);
path_release(&nd);

return 0;
   
}


好像不能用,请教了

作者: wmiss414   发布时间: 2010-12-10

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.dentry, strlen(nd.last.name));
if (IS_ERR(dentry))
{
          path_release(&nd);
          return -EACCES;
}
vfs_unlink(nd.dentry->d_inode, dentry);

dput(dentry);
path_release(&nd);

return 0;
   
}

作者: chenzufei   发布时间: 2011-02-17