vfs: make path_openat take a struct filename pointer
...and fix up the callers. For do_file_open_root, just declare a struct filename on the stack and fill out the .name field. For do_filp_open, make it also take a struct filename pointer, and fix up its callers to call it appropriately. For filp_open, add a variant that takes a struct filename pointer and turn filp_open into a wrapper around it. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
873f1eedc1
commit
669abf4e55
7 changed files with 42 additions and 21 deletions
|
@ -193,7 +193,7 @@ static void acct_file_reopen(struct bsd_acct_struct *acct, struct file *file,
|
|||
}
|
||||
}
|
||||
|
||||
static int acct_on(const char *name)
|
||||
static int acct_on(struct filename *pathname)
|
||||
{
|
||||
struct file *file;
|
||||
struct vfsmount *mnt;
|
||||
|
@ -201,7 +201,7 @@ static int acct_on(const char *name)
|
|||
struct bsd_acct_struct *acct = NULL;
|
||||
|
||||
/* Difference from BSD - they don't do O_APPEND */
|
||||
file = filp_open(name, O_WRONLY|O_APPEND|O_LARGEFILE, 0);
|
||||
file = file_open_name(pathname, O_WRONLY|O_APPEND|O_LARGEFILE, 0);
|
||||
if (IS_ERR(file))
|
||||
return PTR_ERR(file);
|
||||
|
||||
|
@ -263,7 +263,7 @@ SYSCALL_DEFINE1(acct, const char __user *, name)
|
|||
struct filename *tmp = getname(name);
|
||||
if (IS_ERR(tmp))
|
||||
return (PTR_ERR(tmp));
|
||||
error = acct_on(tmp->name);
|
||||
error = acct_on(tmp);
|
||||
putname(tmp);
|
||||
} else {
|
||||
struct bsd_acct_struct *acct;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue