• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/

Lines Matching refs:stat

2  *  linux/fs/stat.c
21 void generic_fillattr(struct inode *inode, struct kstat *stat)
23 stat->dev = inode->i_sb->s_dev;
24 stat->ino = inode->i_ino;
25 stat->mode = inode->i_mode;
26 stat->nlink = inode->i_nlink;
27 stat->uid = inode->i_uid;
28 stat->gid = inode->i_gid;
29 stat->rdev = inode->i_rdev;
30 stat->atime = inode->i_atime;
31 stat->mtime = inode->i_mtime;
32 stat->ctime = inode->i_ctime;
33 stat->size = i_size_read(inode);
34 stat->blocks = inode->i_blocks;
35 stat->blksize = (1 << inode->i_blkbits);
40 int vfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
50 return inode->i_op->getattr(mnt, dentry, stat);
52 generic_fillattr(inode, stat);
58 int vfs_fstat(unsigned int fd, struct kstat *stat)
64 error = vfs_getattr(f->f_path.mnt, f->f_path.dentry, stat);
71 int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
88 error = vfs_getattr(path.mnt, path.dentry, stat);
95 int vfs_stat(const char __user *name, struct kstat *stat)
97 return vfs_fstatat(AT_FDCWD, name, stat, 0);
101 int vfs_lstat(const char __user *name, struct kstat *stat)
103 return vfs_fstatat(AT_FDCWD, name, stat, AT_SYMLINK_NOFOLLOW);
114 static int cp_old_stat(struct kstat *stat, struct __old_kernel_stat __user * statbuf)
121 printk(KERN_WARNING "VFS: Warning: %s using old stat() call. Recompile your binary.\n",
129 tmp.st_dev = old_encode_dev(stat->dev);
130 tmp.st_ino = stat->ino;
131 if (sizeof(tmp.st_ino) < sizeof(stat->ino) && tmp.st_ino != stat->ino)
133 tmp.st_mode = stat->mode;
134 tmp.st_nlink = stat->nlink;
135 if (tmp.st_nlink != stat->nlink)
137 SET_UID(tmp.st_uid, stat->uid);
138 SET_GID(tmp.st_gid, stat->gid);
139 tmp.st_rdev = old_encode_dev(stat->rdev);
144 if (stat->size > MAX_NON_LFS)
149 tmp.st_size = stat->size;
150 tmp.st_atime = stat->atime.tv_sec;
151 tmp.st_mtime = stat->mtime.tv_sec;
152 tmp.st_ctime = stat->ctime.tv_sec;
156 SYSCALL_DEFINE2(stat, const char __user *, filename,
159 struct kstat stat;
162 error = vfs_stat(filename, &stat);
166 return cp_old_stat(&stat, statbuf);
172 struct kstat stat;
175 error = vfs_lstat(filename, &stat);
179 return cp_old_stat(&stat, statbuf);
184 struct kstat stat;
185 int error = vfs_fstat(fd, &stat);
188 error = cp_old_stat(&stat, statbuf);
195 static int cp_new_stat(struct kstat *stat, struct stat __user *statbuf)
197 struct stat tmp;
200 if (!old_valid_dev(stat->dev) || !old_valid_dev(stat->rdev))
203 if (!new_valid_dev(stat->dev) || !new_valid_dev(stat->rdev))
209 tmp.st_dev = old_encode_dev(stat->dev);
211 tmp.st_dev = new_encode_dev(stat->dev);
213 tmp.st_ino = stat->ino;
214 if (sizeof(tmp.st_ino) < sizeof(stat->ino) && tmp.st_ino != stat->ino)
216 tmp.st_mode = stat->mode;
217 tmp.st_nlink = stat->nlink;
218 if (tmp.st_nlink != stat->nlink)
220 SET_UID(tmp.st_uid, stat->uid);
221 SET_GID(tmp.st_gid, stat->gid);
223 tmp.st_rdev = old_encode_dev(stat->rdev);
225 tmp.st_rdev = new_encode_dev(stat->rdev);
231 if (stat->size > MAX_NON_LFS)
236 tmp.st_size = stat->size;
237 tmp.st_atime = stat->atime.tv_sec;
238 tmp.st_mtime = stat->mtime.tv_sec;
239 tmp.st_ctime = stat->ctime.tv_sec;
241 tmp.st_atime_nsec = stat->atime.tv_nsec;
242 tmp.st_mtime_nsec = stat->mtime.tv_nsec;
243 tmp.st_ctime_nsec = stat->ctime.tv_nsec;
245 tmp.st_blocks = stat->blocks;
246 tmp.st_blksize = stat->blksize;
251 struct stat __user *, statbuf)
253 struct kstat stat;
254 int error = vfs_stat(filename, &stat);
258 return cp_new_stat(&stat, statbuf);
262 struct stat __user *, statbuf)
264 struct kstat stat;
267 error = vfs_lstat(filename, &stat);
271 return cp_new_stat(&stat, statbuf);
276 struct stat __user *, statbuf, int, flag)
278 struct kstat stat;
281 error = vfs_fstatat(dfd, filename, &stat, flag);
284 return cp_new_stat(&stat, statbuf);
288 SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
290 struct kstat stat;
291 int error = vfs_fstat(fd, &stat);
294 error = cp_new_stat(&stat, statbuf);
336 static long cp_new_stat64(struct kstat *stat, struct stat64 __user *statbuf)
343 if (!new_valid_dev(stat->dev) || !new_valid_dev(stat->rdev))
345 tmp.st_dev = new_encode_dev(stat->dev);
346 tmp.st_rdev = new_encode_dev(stat->rdev);
348 tmp.st_dev = huge_encode_dev(stat->dev);
349 tmp.st_rdev = huge_encode_dev(stat->rdev);
351 tmp.st_ino = stat->ino;
352 if (sizeof(tmp.st_ino) < sizeof(stat->ino) && tmp.st_ino != stat->ino)
355 tmp.__st_ino = stat->ino;
357 tmp.st_mode = stat->mode;
358 tmp.st_nlink = stat->nlink;
359 tmp.st_uid = stat->uid;
360 tmp.st_gid = stat->gid;
361 tmp.st_atime = stat->atime.tv_sec;
362 tmp.st_atime_nsec = stat->atime.tv_nsec;
363 tmp.st_mtime = stat->mtime.tv_sec;
364 tmp.st_mtime_nsec = stat->mtime.tv_nsec;
365 tmp.st_ctime = stat->ctime.tv_sec;
366 tmp.st_ctime_nsec = stat->ctime.tv_nsec;
367 tmp.st_size = stat->size;
368 tmp.st_blocks = stat->blocks;
369 tmp.st_blksize = stat->blksize;
376 struct kstat stat;
377 int error = vfs_stat(filename, &stat);
380 error = cp_new_stat64(&stat, statbuf);
388 struct kstat stat;
389 int error = vfs_lstat(filename, &stat);
392 error = cp_new_stat64(&stat, statbuf);
399 struct kstat stat;
400 int error = vfs_fstat(fd, &stat);
403 error = cp_new_stat64(&stat, statbuf);
411 struct kstat stat;
414 error = vfs_fstatat(dfd, filename, &stat, flag);
417 return cp_new_stat64(&stat, statbuf);