[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/18] linux-user: Support f_flags in statfs when ava
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 04/18] linux-user: Support f_flags in statfs when available. |
Date: |
Tue, 13 Mar 2018 18:33:41 +0100 |
From: Shea Levy <address@hidden>
Signed-off-by: Shea Levy <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
---
linux-user/syscall.c | 5 +++++
linux-user/syscall_defs.h | 41 +++++++++++++++++++----------------------
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index a8abfd421d..e1c3127bdc 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9545,6 +9545,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
arg1,
__put_user(stfs.f_fsid.__val[1], &target_stfs->f_fsid.val[1]);
__put_user(stfs.f_namelen, &target_stfs->f_namelen);
__put_user(stfs.f_frsize, &target_stfs->f_frsize);
+#ifdef _STATFS_F_FLAGS
+ __put_user(stfs.f_flags, &target_stfs->f_flags);
+#else
+ __put_user(0, &target_stfs->f_flags);
+#endif
memset(target_stfs->f_spare, 0, sizeof(target_stfs->f_spare));
unlock_user_struct(target_stfs, arg2, 1);
}
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 13aa70b93b..e53583e921 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -352,19 +352,6 @@ typedef struct {
int val[2];
} kernel_fsid_t;
-struct kernel_statfs {
- int f_type;
- int f_bsize;
- int f_blocks;
- int f_bfree;
- int f_bavail;
- int f_files;
- int f_ffree;
- kernel_fsid_t f_fsid;
- int f_namelen;
- int f_spare[6];
-};
-
struct target_dirent {
abi_long d_ino;
abi_long d_off;
@@ -2226,7 +2213,8 @@ struct target_statfs {
/* Linux specials */
target_fsid_t f_fsid;
int32_t f_namelen;
- int32_t f_spare[6];
+ int32_t f_flags;
+ int32_t f_spare[5];
};
#else
struct target_statfs {
@@ -2242,7 +2230,8 @@ struct target_statfs {
/* Linux specials */
target_fsid_t f_fsid;
abi_long f_namelen;
- abi_long f_spare[6];
+ abi_long f_flags;
+ abi_long f_spare[5];
};
#endif
@@ -2258,7 +2247,8 @@ struct target_statfs64 {
uint64_t f_bavail;
target_fsid_t f_fsid;
uint32_t f_namelen;
- uint32_t f_spare[6];
+ uint32_t f_flags;
+ uint32_t f_spare[5];
};
#elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
defined(TARGET_SPARC64) || defined(TARGET_AARCH64) || \
@@ -2274,7 +2264,8 @@ struct target_statfs {
target_fsid_t f_fsid;
abi_long f_namelen;
abi_long f_frsize;
- abi_long f_spare[5];
+ abi_long f_flags;
+ abi_long f_spare[4];
};
struct target_statfs64 {
@@ -2288,7 +2279,8 @@ struct target_statfs64 {
target_fsid_t f_fsid;
abi_long f_namelen;
abi_long f_frsize;
- abi_long f_spare[5];
+ abi_long f_flags;
+ abi_long f_spare[4];
};
#elif defined(TARGET_S390X)
struct target_statfs {
@@ -2302,7 +2294,9 @@ struct target_statfs {
kernel_fsid_t f_fsid;
int32_t f_namelen;
int32_t f_frsize;
- int32_t f_spare[5];
+ int32_t f_flags;
+ int32_t f_spare[4];
+
};
struct target_statfs64 {
@@ -2316,7 +2310,8 @@ struct target_statfs64 {
kernel_fsid_t f_fsid;
int32_t f_namelen;
int32_t f_frsize;
- int32_t f_spare[5];
+ int32_t f_flags;
+ int32_t f_spare[4];
};
#else
struct target_statfs {
@@ -2330,7 +2325,8 @@ struct target_statfs {
target_fsid_t f_fsid;
uint32_t f_namelen;
uint32_t f_frsize;
- uint32_t f_spare[5];
+ uint32_t f_flags;
+ uint32_t f_spare[4];
};
struct target_statfs64 {
@@ -2344,7 +2340,8 @@ struct target_statfs64 {
target_fsid_t f_fsid;
uint32_t f_namelen;
uint32_t f_frsize;
- uint32_t f_spare[5];
+ uint32_t f_flags;
+ uint32_t f_spare[4];
};
#endif
--
2.14.3
- [Qemu-devel] [PULL 00/18] Linux user for 2.12 patches, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 03/18] linux-user: allows to use "--systemd ALL" with qemu-binfmt-conf.sh, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 07/18] linux-user: fix target_mprotect/target_munmap error return values, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 06/18] linux-user: fix assertion in shmdt, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 05/18] linux-user: fix mmap/munmap/mprotect/mremap/shmat, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 04/18] linux-user: Support f_flags in statfs when available.,
Laurent Vivier <=
- [Qemu-devel] [PULL 09/18] qemu-binfmt-conf.sh: add qemu-xtensa, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 02/18] linux-user: Remove the unused "not implemented" signal handling stubs, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 08/18] linux-user: drop unused target_msync function, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 01/18] linux-user: Drop unicore32 code, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 10/18] linux-user: Use #if to only call validate_guest_space for 32-bit ARM target, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 12/18] linux-user: init_guest_space: Clean up if we can't initialize the commpage, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 17/18] linux-user: init_guest_space: Don't try to align if we'll reject it, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 14/18] linux-user: init_guest_space: Clarify page alignment logic, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 11/18] linux-user: Rename validate_guest_space => init_guest_commpage, Laurent Vivier, 2018/03/13
- [Qemu-devel] [PULL 16/18] linux-user: init_guest_space: Clean up control flow a bit, Laurent Vivier, 2018/03/13