stat.c (292dd876ee765c478b27c93cc51e93a558ed58bf) stat.c (cff2b760096d1e6feaa31948e7af4abbefe47822)
1/*
2 * linux/fs/stat.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7#include <linux/config.h>
8#include <linux/module.h>

--- 247 unchanged lines hidden (view full) ---

256 int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
257
258 if (!error)
259 error = cp_new_stat(&stat, statbuf);
260
261 return error;
262}
263
1/*
2 * linux/fs/stat.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7#include <linux/config.h>
8#include <linux/module.h>

--- 247 unchanged lines hidden (view full) ---

256 int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
257
258 if (!error)
259 error = cp_new_stat(&stat, statbuf);
260
261 return error;
262}
263
264#ifndef __ARCH_WANT_STAT64
264asmlinkage long sys_newfstatat(int dfd, char __user *filename,
265 struct stat __user *statbuf, int flag)
266{
267 struct kstat stat;
268 int error = -EINVAL;
269
270 if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
271 goto out;

--- 4 unchanged lines hidden (view full) ---

276 error = vfs_stat_fd(dfd, filename, &stat);
277
278 if (!error)
279 error = cp_new_stat(&stat, statbuf);
280
281out:
282 return error;
283}
265asmlinkage long sys_newfstatat(int dfd, char __user *filename,
266 struct stat __user *statbuf, int flag)
267{
268 struct kstat stat;
269 int error = -EINVAL;
270
271 if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
272 goto out;

--- 4 unchanged lines hidden (view full) ---

277 error = vfs_stat_fd(dfd, filename, &stat);
278
279 if (!error)
280 error = cp_new_stat(&stat, statbuf);
281
282out:
283 return error;
284}
285#endif
284
285asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf)
286{
287 struct kstat stat;
288 int error = vfs_fstat(fd, &stat);
289
290 if (!error)
291 error = cp_new_stat(&stat, statbuf);

--- 98 unchanged lines hidden (view full) ---

390 int error = vfs_fstat(fd, &stat);
391
392 if (!error)
393 error = cp_new_stat64(&stat, statbuf);
394
395 return error;
396}
397
286
287asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf)
288{
289 struct kstat stat;
290 int error = vfs_fstat(fd, &stat);
291
292 if (!error)
293 error = cp_new_stat(&stat, statbuf);

--- 98 unchanged lines hidden (view full) ---

392 int error = vfs_fstat(fd, &stat);
393
394 if (!error)
395 error = cp_new_stat64(&stat, statbuf);
396
397 return error;
398}
399
400asmlinkage long sys_fstatat64(int dfd, char __user *filename,
401 struct stat64 __user *statbuf, int flag)
402{
403 struct kstat stat;
404 int error = -EINVAL;
405
406 if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
407 goto out;
408
409 if (flag & AT_SYMLINK_NOFOLLOW)
410 error = vfs_lstat_fd(dfd, filename, &stat);
411 else
412 error = vfs_stat_fd(dfd, filename, &stat);
413
414 if (!error)
415 error = cp_new_stat64(&stat, statbuf);
416
417out:
418 return error;
419}
398#endif /* __ARCH_WANT_STAT64 */
399
400void inode_add_bytes(struct inode *inode, loff_t bytes)
401{
402 spin_lock(&inode->i_lock);
403 inode->i_blocks += bytes >> 9;
404 bytes &= 511;
405 inode->i_bytes += bytes;

--- 45 unchanged lines hidden ---
420#endif /* __ARCH_WANT_STAT64 */
421
422void inode_add_bytes(struct inode *inode, loff_t bytes)
423{
424 spin_lock(&inode->i_lock);
425 inode->i_blocks += bytes >> 9;
426 bytes &= 511;
427 inode->i_bytes += bytes;

--- 45 unchanged lines hidden ---