git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nfsd4: reshuffle lease-setting code to allow reuse
[safe/jmp/linux-2.6]
/
fs
/
utimes.c
diff --git
a/fs/utimes.c
b/fs/utimes.c
index
dad679d
..
e4c75db
100644
(file)
--- a/
fs/utimes.c
+++ b/
fs/utimes.c
@@
-24,7
+24,7
@@
* must be owner or have write permission.
* Else, update from *times, must be owner or super user.
*/
* must be owner or have write permission.
* Else, update from *times, must be owner or super user.
*/
-
asmlinkage long sys_utime(char __user *filename, struct utimbuf __user *
times)
+
SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *,
times)
{
struct timespec tv[2];
{
struct timespec tv[2];
@@
-96,7
+96,7
@@
static int utimes_common(struct path *path, struct timespec *times)
goto mnt_drop_write_and_out;
if (!is_owner_or_cap(inode)) {
goto mnt_drop_write_and_out;
if (!is_owner_or_cap(inode)) {
- error =
permission(inode, MAY_WRITE, NULL
);
+ error =
inode_permission(inode, MAY_WRITE
);
if (error)
goto mnt_drop_write_and_out;
}
if (error)
goto mnt_drop_write_and_out;
}
@@
-152,25
+152,26
@@
long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags
error = utimes_common(&file->f_path, times);
fput(file);
} else {
error = utimes_common(&file->f_path, times);
fput(file);
} else {
- struct
nameidata nd
;
+ struct
path path
;
int lookup_flags = 0;
if (!(flags & AT_SYMLINK_NOFOLLOW))
lookup_flags |= LOOKUP_FOLLOW;
int lookup_flags = 0;
if (!(flags & AT_SYMLINK_NOFOLLOW))
lookup_flags |= LOOKUP_FOLLOW;
- error =
__user_walk_fd(dfd, filename, lookup_flags, &nd
);
+ error =
user_path_at(dfd, filename, lookup_flags, &path
);
if (error)
goto out;
if (error)
goto out;
- error = utimes_common(&
nd.
path, times);
- path_put(&
nd.
path);
+ error = utimes_common(&path, times);
+ path_put(&path);
}
out:
return error;
}
}
out:
return error;
}
-asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __user *utimes, int flags)
+SYSCALL_DEFINE4(utimensat, int, dfd, char __user *, filename,
+ struct timespec __user *, utimes, int, flags)
{
struct timespec tstimes[2];
{
struct timespec tstimes[2];
@@
-187,7
+188,8
@@
asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __
return do_utimes(dfd, filename, utimes ? tstimes : NULL, flags);
}
return do_utimes(dfd, filename, utimes ? tstimes : NULL, flags);
}
-asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __user *utimes)
+SYSCALL_DEFINE3(futimesat, int, dfd, char __user *, filename,
+ struct timeval __user *, utimes)
{
struct timeval times[2];
struct timespec tstimes[2];
{
struct timeval times[2];
struct timespec tstimes[2];
@@
-214,7
+216,8
@@
asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __u
return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0);
}
return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0);
}
-asmlinkage long sys_utimes(char __user *filename, struct timeval __user *utimes)
+SYSCALL_DEFINE2(utimes, char __user *, filename,
+ struct timeval __user *, utimes)
{
return sys_futimesat(AT_FDCWD, filename, utimes);
}
{
return sys_futimesat(AT_FDCWD, filename, utimes);
}