COMPAT_SYSCALL_DEFINE2(fstatfs, unsigned int, fd, struct compat_statfs __user *, buf) { struct kstatfs tmp; int error = fd_statfs(fd, &tmp); if (!error) error = put_compat_statfs(buf, &tmp); return error; }
asmlinkage long compat_sys_fstatfs(unsigned int fd, struct compat_statfs __user *buf) { struct kstatfs tmp; int error = fd_statfs(fd, &tmp); if (!error) error = put_compat_statfs(buf, &tmp); return error; }
SYSCALL_DEFINE2(fstatfs, unsigned int, fd, struct statfs __user *, buf) { struct kstatfs st; int error = fd_statfs(fd, &st); if (!error) error = do_statfs_native(&st, buf); return error; }
asmlinkage long hpux_fstatfs(unsigned int fd, struct hpux_statfs __user * buf) { struct kstatfs st; int error = fd_statfs(fd, &st); if (!error) error = do_statfs_hpux(&st, buf); return error; }
asmlinkage long compat_sys_fstatfs64(unsigned int fd, compat_size_t sz, struct compat_statfs64 __user *buf) { struct kstatfs tmp; int error; if (sz != sizeof(*buf)) return -EINVAL; error = fd_statfs(fd, &tmp); if (!error) error = put_compat_statfs64(buf, &tmp); return error; }
COMPAT_SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, compat_size_t, sz, struct compat_statfs64 __user *, buf) { struct kstatfs tmp; int error; if (sz != sizeof(*buf)) return -EINVAL; error = fd_statfs(fd, &tmp); if (!error) error = put_compat_statfs64(buf, &tmp); return error; }
SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, size_t, sz, struct statfs64 __user *, buf) { struct kstatfs st; int error; if (sz != sizeof(*buf)) return -EINVAL; error = fd_statfs(fd, &st); if (!error) error = do_statfs64(&st, buf); return error; }
int async_fsync(struct file *file, int fd) { struct inode *inode = file->f_mapping->host; struct super_block *sb = inode->i_sb; struct kstatfs st; if ((sb->fsync_flags & FLAG_ASYNC_FSYNC) == 0) return 0; if (!emmc_perf_degr()) return 0; if (fd_statfs(fd, &st)) return 0; if (st.f_bfree > LOW_STORAGE_THRESHOLD) return 0; return 1; }