Added old_encode_dev() to assorted stat() variants.
Fixed bug in s390 emulation on s390x: stat64() should never truncate
UID and GID.
Ditto for i386 emulation on x86_64.
Replaced dev_t in various struct stat with explicit integer type.
Replaced __kernel_dev_t with __old_kernel_dev_t in dm-ioctl-v1.h
Now we are free to change dev_t in any way we want - on all boundaries
we have explicit conversions.
Took __kernel_dev_t definition to linux/types.h and changed it with
__u16. We are ready to proceed to 32bit now.
if (clear_user(ubuf, sizeof(*ubuf)))
return -EFAULT;
- err = __put_user(stat->dev, &ubuf->st_dev);
+ err = __put_user(old_encode_dev(stat->dev), &ubuf->st_dev);
err |= __put_user(stat->ino, &ubuf->st_ino);
err |= __put_user(stat->mode, &ubuf->st_mode);
err |= __put_user(stat->nlink, &ubuf->st_nlink);
err |= __put_user(high2lowuid(stat->uid), &ubuf->st_uid);
err |= __put_user(high2lowgid(stat->gid), &ubuf->st_gid);
- err |= __put_user(stat->rdev, &ubuf->st_rdev);
+ err |= __put_user(old_encode_dev(stat->rdev), &ubuf->st_rdev);
err |= __put_user(stat->size, &ubuf->st_size);
err |= __put_user(stat->atime.tv_sec, &ubuf->st_atime);
err |= __put_user(stat->atime.tv_nsec, &ubuf->st_atime_nsec);
if (clear_user(ubuf, sizeof(*ubuf)))
return -EFAULT;
- err = __put_user(kbuf->dev, &ubuf->st_dev);
+ err = __put_user(old_encode_dev(kbuf->dev), &ubuf->st_dev);
err |= __put_user(kbuf->ino, &ubuf->__st_ino);
err |= __put_user(kbuf->ino, &ubuf->st_ino_lo);
err |= __put_user(kbuf->ino >> 32, &ubuf->st_ino_hi);
err |= __put_user(kbuf->nlink, &ubuf->st_nlink);
err |= __put_user(kbuf->uid, &ubuf->st_uid);
err |= __put_user(kbuf->gid, &ubuf->st_gid);
- err |= __put_user(kbuf->rdev, &ubuf->st_rdev);
+ err |= __put_user(old_encode_dev(kbuf->rdev), &ubuf->st_rdev);
err |= __put_user(kbuf->size, &ubuf->st_size_lo);
err |= __put_user((kbuf->size >> 32), &ubuf->st_size_hi);
err |= __put_user(kbuf->atime.tv_sec, &ubuf->st_atime);
struct compat_stat tmp;
memset(&tmp, 0, sizeof(tmp));
- tmp.st_dev = stat->dev;
+ tmp.st_dev = old_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
SET_STAT_UID(tmp, stat->uid);
SET_STAT_GID(tmp, stat->gid);
- tmp.st_rdev = stat->rdev;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
tmp.st_size = stat->size;
tmp.st_atime = stat->atime.tv_sec;
tmp.st_mtime = stat->mtime.tv_sec;
struct hpux_stat64 tmp;
memset(&tmp, 0, sizeof(tmp));
- tmp.st_dev = stat->dev;
+ tmp.st_dev = old_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
tmp.st_uid = stat->uid;
tmp.st_gid = stat->gid;
- tmp.st_rdev = stat->rdev;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
tmp.st_size = stat->size;
tmp.st_atime = stat->atime.tv_sec;
tmp.st_mtime = stat->mtime.tv_sec;
if (stat->size > MAX_NON_LFS)
return -EOVERFLOW;
- err = put_user(stat->dev, &statbuf->st_dev);
+ err = put_user(old_encode_dev(stat->dev), &statbuf->st_dev);
err |= put_user(stat->ino, &statbuf->st_ino);
err |= put_user(stat->mode, &statbuf->st_mode);
err |= put_user(stat->nlink, &statbuf->st_nlink);
err |= put_user(0, &statbuf->st_reserved1);
err |= put_user(0, &statbuf->st_reserved2);
- err |= put_user(stat->rdev, &statbuf->st_rdev);
+ err |= put_user(old_encode_dev(stat->rdev), &statbuf->st_rdev);
err |= put_user(stat->size, &statbuf->st_size);
err |= put_user(stat->atime.tv_sec, &statbuf->st_atime);
err |= put_user(stat->atime.tv_nsec, &statbuf->st_atime_nsec);
if (stat->size > MAX_NON_LFS)
return -EOVERFLOW;
- err = put_user(stat->dev, &statbuf->st_dev);
+ err = put_user(old_encode_dev(stat->dev), &statbuf->st_dev);
err |= put_user(stat->ino, &statbuf->st_ino);
err |= put_user(stat->mode, &statbuf->st_mode);
err |= put_user(stat->nlink, &statbuf->st_nlink);
err |= put_user(stat->uid, &statbuf->st_uid);
err |= put_user(stat->gid, &statbuf->st_gid);
- err |= put_user(stat->rdev, &statbuf->st_rdev);
+ err |= put_user(old_encode_dev(stat->rdev), &statbuf->st_rdev);
err |= put_user(stat->size, &statbuf->st_size);
err |= put_user(stat->atime.tv_sec, &statbuf->st_atime);
err |= put_user(0, &statbuf->__unused1);
{
int err;
- err = put_user(stat->dev, &statbuf->st_dev);
+ err = put_user(old_encode_dev(stat->dev), &statbuf->st_dev);
err |= put_user(stat->ino, &statbuf->st_ino);
err |= put_user(stat->mode, &statbuf->st_mode);
err |= put_user(stat->nlink, &statbuf->st_nlink);
err |= put_user(high2lowuid(stat->uid), &statbuf->st_uid);
err |= put_user(high2lowgid(stat->gid), &statbuf->st_gid);
- err |= put_user(stat->rdev, &statbuf->st_rdev);
+ err |= put_user(old_encode_dev(stat->rdev), &statbuf->st_rdev);
err |= put_user(stat->size, &statbuf->st_size);
err |= put_user(stat->atime.tv_sec, &statbuf->st_atime);
err |= put_user(stat->atime.tv_nsec, &statbuf->st_atime_nsec);
}
struct stat64_emu31 {
- unsigned char __pad0[6];
- unsigned short st_dev;
+ unsigned long long st_dev;
unsigned int __pad1;
#define STAT64_HAS_BROKEN_ST_INO 1
u32 __st_ino;
unsigned int st_nlink;
u32 st_uid;
u32 st_gid;
- unsigned char __pad2[6];
- unsigned short st_rdev;
+ unsigned long long st_rdev;
unsigned int __pad3;
long st_size;
u32 st_blksize;
unsigned long st_ino;
};
-static inline int
-putstat64 (struct stat64_emu31 *ubuf, struct stat *kbuf)
+static int cp_stat64(struct stat64_emu31 *ubuf, struct kstat *stat)
{
- struct stat64_emu31 tmp;
-
- memset(&tmp, 0, sizeof(tmp));
+ struct stat64_emu31 tmp;
- tmp.st_dev = (unsigned short)kbuf->st_dev;
- tmp.st_ino = kbuf->st_ino;
- tmp.__st_ino = (u32)kbuf->st_ino;
- tmp.st_mode = kbuf->st_mode;
- tmp.st_nlink = (unsigned int)kbuf->st_nlink;
- tmp.st_uid = kbuf->st_uid;
- tmp.st_gid = kbuf->st_gid;
- tmp.st_rdev = (unsigned short)kbuf->st_rdev;
- tmp.st_size = kbuf->st_size;
- tmp.st_blksize = (u32)kbuf->st_blksize;
- tmp.st_blocks = (u32)kbuf->st_blocks;
- tmp.st_atime = (u32)kbuf->st_atime;
- tmp.st_mtime = (u32)kbuf->st_mtime;
- tmp.st_ctime = (u32)kbuf->st_ctime;
+ memset(&tmp, 0, sizeof(tmp));
- return copy_to_user(ubuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
-}
+ tmp.st_dev = old_encode_dev(stat->dev);
+ tmp.st_ino = stat->ino;
+ tmp.__st_ino = (u32)stat->ino;
+ tmp.st_mode = stat->mode;
+ tmp.st_nlink = (unsigned int)stat->nlink;
+ tmp.uid = stat->uid;
+ tmp.gid = stat->gid;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
+ tmp.st_size = stat->st_size;
+ tmp.st_blksize = (u32)stat->blksize;
+ tmp.st_blocks = (u32)stat->blocks;
+ tmp.st_atime = (u32)stat->atime.tv_sec;
+ tmp.st_mtime = (u32)stat->mtime.tv_sec;
+ tmp.st_ctime = (u32)stat->ctime.tv_sec;
-extern asmlinkage long sys_newstat(char * filename, struct stat * statbuf);
+ return copy_to_user(ubuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
+}
asmlinkage long sys32_stat64(char * filename, struct stat64_emu31 * statbuf, long flags)
{
- int ret;
- struct stat s;
- char * tmp;
- int err;
- mm_segment_t old_fs = get_fs();
-
- tmp = getname(filename);
- err = PTR_ERR(tmp);
- if (IS_ERR(tmp))
- return err;
-
- set_fs (KERNEL_DS);
- ret = sys_newstat(tmp, &s);
- set_fs (old_fs);
- putname(tmp);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
- return ret;
+ struct kstat stat;
+ int ret = vfs_stat(filename, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
+ return ret;
}
-extern asmlinkage long sys_newlstat(char * filename, struct stat * statbuf);
-
asmlinkage long sys32_lstat64(char * filename, struct stat64_emu31 * statbuf, long flags)
{
- int ret;
- struct stat s;
- char * tmp;
- int err;
- mm_segment_t old_fs = get_fs();
-
- tmp = getname(filename);
- err = PTR_ERR(tmp);
- if (IS_ERR(tmp))
- return err;
-
- set_fs (KERNEL_DS);
- ret = sys_newlstat(tmp, &s);
- set_fs (old_fs);
- putname(tmp);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
- return ret;
+ struct kstat stat;
+ int ret = vfs_lstat(filename, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
+ return ret;
}
-extern asmlinkage long sys_newfstat(unsigned int fd, struct stat * statbuf);
-
asmlinkage long sys32_fstat64(unsigned long fd, struct stat64_emu31 * statbuf, long flags)
{
- int ret;
- struct stat s;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_newfstat(fd, &s);
- set_fs (old_fs);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
- return ret;
+ struct kstat stat;
+ int ret = vfs_fstat(fd, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
+ return ret;
}
/*
if (stat->size > MAX_NON_LFS)
return -EOVERFLOW;
- err = put_user(stat->dev, &statbuf->st_dev);
+ err = put_user(old_encode_dev(stat->dev), &statbuf->st_dev);
err |= put_user(stat->ino, &statbuf->st_ino);
err |= put_user(stat->mode, &statbuf->st_mode);
err |= put_user(stat->nlink, &statbuf->st_nlink);
err |= put_user(high2lowuid(stat->uid), &statbuf->st_uid);
err |= put_user(high2lowgid(stat->gid), &statbuf->st_gid);
- err |= put_user(stat->rdev, &statbuf->st_rdev);
+ err |= put_user(old_encode_dev(stat->rdev), &statbuf->st_rdev);
err |= put_user(stat->size, &statbuf->st_size);
err |= put_user(stat->atime.tv_sec, &statbuf->st_atime);
err |= put_user(0, &statbuf->__unused1);
#define low2highgid(gid) ((gid) == (u16)-1) ? (gid_t)-1 : (gid_t)(gid)
extern int overflowuid,overflowgid;
-
-extern asmlinkage long sys_newstat(char * filename, struct stat * statbuf);
-extern asmlinkage long sys_newlstat(char * filename, struct stat * statbuf);
-extern asmlinkage long sys_newfstat(unsigned int fd, struct stat * statbuf);
-
-
-extern asmlinkage long sys_newstat(char * filename, struct stat * statbuf);
-extern asmlinkage long sys_newlstat(char * filename, struct stat * statbuf);
-extern asmlinkage long sys_newfstat(unsigned int fd, struct stat * statbuf);
-
-
int cp_compat_stat(struct kstat *kbuf, struct compat_stat *ubuf)
{
if (verify_area(VERIFY_WRITE, ubuf, sizeof(struct compat_stat)) ||
- __put_user (kbuf->dev, &ubuf->st_dev) ||
+ __put_user (old_encode_dev(kbuf->dev), &ubuf->st_dev) ||
__put_user (kbuf->ino, &ubuf->st_ino) ||
__put_user (kbuf->mode, &ubuf->st_mode) ||
__put_user (kbuf->nlink, &ubuf->st_nlink) ||
__put_user (kbuf->uid, &ubuf->st_uid) ||
__put_user (kbuf->gid, &ubuf->st_gid) ||
- __put_user (kbuf->rdev, &ubuf->st_rdev) ||
+ __put_user (old_encode_dev(kbuf->rdev), &ubuf->st_rdev) ||
__put_user (kbuf->size, &ubuf->st_size) ||
__put_user (kbuf->atime.tv_sec, &ubuf->st_atime) ||
__put_user (kbuf->atime.tv_nsec, &ubuf->st_atime_nsec) ||
support for 64bit inode numbers. */
static int
-putstat64(struct stat64 *ubuf, struct stat *kbuf)
+cp_stat64(struct stat64 *ubuf, struct kstat *stat)
{
if (verify_area(VERIFY_WRITE, ubuf, sizeof(struct stat64)) ||
- __put_user (kbuf->st_dev, &ubuf->st_dev) ||
- __put_user (kbuf->st_ino, &ubuf->__st_ino) ||
- __put_user (kbuf->st_ino, &ubuf->st_ino) ||
- __put_user (kbuf->st_mode, &ubuf->st_mode) ||
- __put_user (kbuf->st_nlink, &ubuf->st_nlink) ||
- __put_user (kbuf->st_uid, &ubuf->st_uid) ||
- __put_user (kbuf->st_gid, &ubuf->st_gid) ||
- __put_user (kbuf->st_rdev, &ubuf->st_rdev) ||
- __put_user (kbuf->st_size, &ubuf->st_size) ||
- __put_user (kbuf->st_atime, &ubuf->st_atime) ||
- __put_user (kbuf->st_atime_nsec, &ubuf->st_atime_nsec) ||
- __put_user (kbuf->st_mtime, &ubuf->st_mtime) ||
- __put_user (kbuf->st_mtime_nsec, &ubuf->st_mtime_nsec) ||
- __put_user (kbuf->st_ctime, &ubuf->st_ctime) ||
- __put_user (kbuf->st_ctime_nsec, &ubuf->st_ctime_nsec) ||
- __put_user (kbuf->st_blksize, &ubuf->st_blksize) ||
- __put_user (kbuf->st_blocks, &ubuf->st_blocks))
+ __put_user(old_encode_dev(stat->dev), &ubuf->st_dev) ||
+ __put_user (stat->ino, &ubuf->__st_ino) ||
+ __put_user (stat->ino, &ubuf->st_ino) ||
+ __put_user (stat->mode, &ubuf->st_mode) ||
+ __put_user (stat->nlink, &ubuf->st_nlink) ||
+ __put_user (stat->uid, &ubuf->st_uid) ||
+ __put_user (stat->gid, &ubuf->st_gid) ||
+ __put_user (old_encode_dev(stat->rdev), &ubuf->st_rdev) ||
+ __put_user (stat->size, &ubuf->st_size) ||
+ __put_user (stat->atime.tv_sec, &ubuf->st_atime) ||
+ __put_user (stat->atime.tv_nsec, &ubuf->st_atime_nsec) ||
+ __put_user (stat->mtime.tv_sec, &ubuf->st_mtime) ||
+ __put_user (stat->mtime.tv_nsec, &ubuf->st_mtime_nsec) ||
+ __put_user (stat->ctime.tv_sec, &ubuf->st_ctime) ||
+ __put_user (stat->ctime.tv_nsec, &ubuf->st_ctime_nsec) ||
+ __put_user (stat->blksize, &ubuf->st_blksize) ||
+ __put_user (stat->blocks, &ubuf->st_blocks))
return -EFAULT;
return 0;
}
asmlinkage long
sys32_stat64(char * filename, struct stat64 *statbuf)
{
- int ret;
- struct stat s;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_newstat(filename, &s);
- set_fs (old_fs);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
+ struct kstat stat;
+ int ret = vfs_stat(filename, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
return ret;
}
asmlinkage long
sys32_lstat64(char * filename, struct stat64 *statbuf)
{
- int ret;
- struct stat s;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_newlstat(filename, &s);
- set_fs (old_fs);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
+ struct kstat stat;
+ int ret = vfs_lstat(filename, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
return ret;
}
asmlinkage long
sys32_fstat64(unsigned int fd, struct stat64 *statbuf)
{
- int ret;
- struct stat s;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_newfstat(fd, &s);
- set_fs (old_fs);
- if (putstat64 (statbuf, &s))
- return -EFAULT;
+ struct kstat stat;
+ int ret = vfs_fstat(fd, &stat);
+ if (!ret)
+ ret = cp_stat64(statbuf, &stat);
return ret;
}
-
-
/*
* Linux/i386 didn't use to be able to handle more than
* 4 system call parameters, so these system calls used a memory
}
memset(&tmp, 0, sizeof(struct __old_kernel_stat));
- tmp.st_dev = stat->dev;
+ tmp.st_dev = old_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
SET_OLDSTAT_UID(tmp, stat->uid);
SET_OLDSTAT_GID(tmp, stat->gid);
- tmp.st_rdev = stat->rdev;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
#if BITS_PER_LONG == 32
if (stat->size > MAX_NON_LFS)
return -EOVERFLOW;
struct stat tmp;
memset(&tmp, 0, sizeof(tmp));
- tmp.st_dev = stat->dev;
+ tmp.st_dev = old_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
SET_STAT_UID(tmp, stat->uid);
SET_STAT_GID(tmp, stat->gid);
- tmp.st_rdev = stat->rdev;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
#if BITS_PER_LONG == 32
if (stat->size > MAX_NON_LFS)
return -EOVERFLOW;
struct stat64 tmp;
memset(&tmp, 0, sizeof(struct stat64));
- tmp.st_dev = stat->dev;
+ tmp.st_dev = old_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
#ifdef STAT64_HAS_BROKEN_ST_INO
tmp.__st_ino = stat->ino;
tmp.st_nlink = stat->nlink;
tmp.st_uid = stat->uid;
tmp.st_gid = stat->gid;
- tmp.st_rdev = stat->rdev;
+ tmp.st_rdev = old_encode_dev(stat->rdev);
tmp.st_atime = stat->atime.tv_sec;
tmp.st_atime_nsec = stat->atime.tv_nsec;
tmp.st_mtime = stat->mtime.tv_sec;
* assume GCC is being used.
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned int __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* David Mosberger-Tang <davidm@hpl.hp.com>
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned int __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
#if (_MIPS_SZLONG == 32)
#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32)
struct stat {
- dev_t st_dev;
+ unsigned st_dev;
long st_pad1[3]; /* Reserved for network id */
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
- dev_t st_rdev;
+ unsigned st_rdev;
long st_pad2[2];
off_t st_size;
long st_pad3;
/* The memory layout is the same as of struct stat64 of the 32-bit kernel. */
struct stat {
- dev_t st_dev;
+ unsigned int st_dev;
unsigned int st_pad0[3]; /* Reserved for st_dev expansion */
unsigned long st_ino;
uid_t st_uid;
gid_t st_gid;
- dev_t st_rdev;
+ unsigned int st_rdev;
unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */
off_t st_size;
* be a little careful about namespace pollution etc. Also, we cannot
* assume GCC is being used.
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
#include <linux/types.h>
struct stat {
- dev_t st_dev; /* dev_t is 32 bits on parisc */
+ unsigned int st_dev; /* dev_t is 32 bits on parisc */
ino_t st_ino; /* 32 bits */
mode_t st_mode; /* 16 bits */
nlink_t st_nlink; /* 16 bits */
unsigned short st_reserved1; /* old st_uid */
unsigned short st_reserved2; /* old st_gid */
- dev_t st_rdev;
+ unsigned int st_rdev;
off_t st_size;
time_t st_atime;
unsigned int st_atime_nsec;
int st_blksize;
int st_blocks;
unsigned int __unused1; /* ACL stuff */
- dev_t __unused2; /* network */
+ unsigned int __unused2; /* network */
ino_t __unused3; /* network */
unsigned int __unused4; /* cnodes */
unsigned short __unused5; /* netsite */
short st_fstype;
- dev_t st_realdev;
+ unsigned int st_realdev;
unsigned short st_basemode;
unsigned short st_spareshort;
uid_t st_uid;
typedef __kernel_off64_t off64_t;
struct hpux_stat64 {
- dev_t st_dev; /* dev_t is 32 bits on parisc */
+ unsigned int st_dev; /* dev_t is 32 bits on parisc */
ino_t st_ino; /* 32 bits */
mode_t st_mode; /* 16 bits */
nlink_t st_nlink; /* 16 bits */
unsigned short st_reserved1; /* old st_uid */
unsigned short st_reserved2; /* old st_gid */
- dev_t st_rdev;
+ unsigned int st_rdev;
off64_t st_size;
time_t st_atime;
unsigned int st_spare1;
int st_blksize;
__u64 st_blocks;
unsigned int __unused1; /* ACL stuff */
- dev_t __unused2; /* network */
+ unsigned int __unused2; /* network */
ino_t __unused3; /* network */
unsigned int __unused4; /* cnodes */
unsigned short __unused5; /* netsite */
short st_fstype;
- dev_t st_realdev;
+ unsigned int st_realdev;
unsigned short st_basemode;
unsigned short st_spareshort;
uid_t st_uid;
* assume GCC is being used.
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
#define STAT_HAVE_NSEC 1
struct stat {
- dev_t st_dev;
+ unsigned st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
- dev_t st_rdev;
+ unsigned st_rdev;
off_t st_size;
unsigned long st_blksize;
unsigned long st_blocks;
* 2 of the License, or (at your option) any later version.
*/
-typedef unsigned long __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned long __kernel_nlink_t;
typedef unsigned int __kernel_mode_t;
#include <linux/types.h>
struct stat {
- dev_t st_dev;
+ unsigned long st_dev;
ino_t st_ino;
nlink_t st_nlink;
mode_t st_mode;
uid_t st_uid;
gid_t st_gid;
- dev_t st_rdev;
+ unsigned long st_rdev;
off_t st_size;
unsigned long st_blksize;
unsigned long st_blocks;
#ifndef __s390x__
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
#else /* __s390x__ */
-typedef unsigned int __kernel_dev_t;
typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned int __kernel_nlink_t;
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_umode_t;
typedef int __kernel_ipc_pid_t;
typedef unsigned int __kernel_uid_t;
typedef unsigned int __kernel_gid_t;
-typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned short __kernel_umode_t;
#include <linux/types.h>
struct stat {
- dev_t st_dev;
+ unsigned st_dev;
ino_t st_ino;
mode_t st_mode;
short st_nlink;
uid_t st_uid;
gid_t st_gid;
- dev_t st_rdev;
+ unsigned st_rdev;
off_t st_size;
time_t st_atime;
time_t st_mtime;
#ifndef __V850_POSIX_TYPES_H__
#define __V850_POSIX_TYPES_H__
-typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned long long __kernel_ino64_t;
typedef unsigned int __kernel_mode_t;
* assume GCC is being used.
*/
-typedef unsigned long __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned long __kernel_nlink_t;
uint32_t open_count; /* out */
uint32_t flags; /* in/out */
- __kernel_dev_t dev; /* in/out */
+ __kernel_old_dev_t dev; /* in/out */
char name[DM_NAME_LEN]; /* device name */
char uuid[DM_UUID_LEN]; /* unique identifier for
struct dm_target_deps {
uint32_t count;
- __kernel_dev_t dev[0]; /* out */
+ __kernel_old_dev_t dev[0]; /* out */
};
/*
#ifndef __KERNEL_STRICT_NAMES
+typedef __u16 __kernel_dev_t;
+
typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t;
typedef __kernel_ino_t ino_t;