linux-user/syscall.c | 5 +++++ 1 file changed, 5 insertions(+)
linux-user: Support f_flags in statfs64 when available.
Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64
When running rpm within qemu-arm-dynamic this could cause rpm fail with
an error like
"installing package A needs B MB on the C filesystem" depending on what
is in memory in f_flags.
https://github.com/rpm-software-management/rpm/blob/af06db1d5558870f7fb8f5c502572c2d27af5c71/lib/transaction.c#L164
From 6ceb5662b5fae827d2c0cdd9896eec75997c060a Mon Sep 17 00:00:00 2001
From: Franz-Josef Haider <franz.haider@jolla.com>
Date: Thu, 30 Jan 2020 14:28:24 +0200
Subject: [PATCH 1/1] linux-user: Support f_flags in statfs64 when available.
Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64
Signed-off-by: Franz-Josef Haider <franz.haider@jolla.com>
---
linux-user/syscall.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index d60142f069..45782b1009 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8997,6 +8997,11 @@ static abi_long do_syscall1(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, arg3, 1);
}
--
2.20.1
Le 30/01/2020 à 14:00, Frajo a écrit : > linux-user: Support f_flags in statfs64 when available. > Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 > When running rpm within qemu-arm-dynamic this could cause rpm fail with > an error like > "installing package A needs B MB on the C filesystem" depending on what > is in memory in f_flags. > https://github.com/rpm-software-management/rpm/blob/af06db1d5558870f7fb8f5c502572c2d27af5c71/lib/transaction.c#L164 > > > From 6ceb5662b5fae827d2c0cdd9896eec75997c060a Mon Sep 17 00:00:00 2001 > From: Franz-Josef Haider <franz.haider@jolla.com> > Date: Thu, 30 Jan 2020 14:28:24 +0200 > Subject: [PATCH 1/1] linux-user: Support f_flags in statfs64 when > available. > > Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 > > Signed-off-by: Franz-Josef Haider <franz.haider@jolla.com> > --- > linux-user/syscall.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index d60142f069..45782b1009 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -8997,6 +8997,11 @@ static abi_long do_syscall1(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, arg3, 1); > } Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Hi, is there anything preventing this from being merged? best regards, Franz-Josef On 30/01/2020 18:52, Laurent Vivier wrote: > Le 30/01/2020 à 14:00, Frajo a écrit : >> linux-user: Support f_flags in statfs64 when available. >> Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 >> When running rpm within qemu-arm-dynamic this could cause rpm fail with >> an error like >> "installing package A needs B MB on the C filesystem" depending on what >> is in memory in f_flags. >> https://github.com/rpm-software-management/rpm/blob/af06db1d5558870f7fb8f5c502572c2d27af5c71/lib/transaction.c#L164 >> >> >> From 6ceb5662b5fae827d2c0cdd9896eec75997c060a Mon Sep 17 00:00:00 2001 >> From: Franz-Josef Haider <franz.haider@jolla.com> >> Date: Thu, 30 Jan 2020 14:28:24 +0200 >> Subject: [PATCH 1/1] linux-user: Support f_flags in statfs64 when >> available. >> >> Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 >> >> Signed-off-by: Franz-Josef Haider <franz.haider@jolla.com> >> --- >> linux-user/syscall.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/linux-user/syscall.c b/linux-user/syscall.c >> index d60142f069..45782b1009 100644 >> --- a/linux-user/syscall.c >> +++ b/linux-user/syscall.c >> @@ -8997,6 +8997,11 @@ static abi_long do_syscall1(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, arg3, 1); >> } > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Hi, Le 23/10/2020 à 13:29, Franz-Josef Haider a écrit : > Hi, is there anything preventing this from being merged? Nothing except your mail format is a little bit weird and your patch is corrupted... Anyway, I've fixed these problems and it is now applied to my linux-user branch. I try to do a pull request soon... Thanks, Laurent > best regards, > Franz-Josef > > On 30/01/2020 18:52, Laurent Vivier wrote: >> Le 30/01/2020 à 14:00, Frajo a écrit : >>> linux-user: Support f_flags in statfs64 when available. >>> Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 >>> When running rpm within qemu-arm-dynamic this could cause rpm fail with >>> an error like >>> "installing package A needs B MB on the C filesystem" depending on what >>> is in memory in f_flags. >>> https://github.com/rpm-software-management/rpm/blob/af06db1d5558870f7fb8f5c502572c2d27af5c71/lib/transaction.c#L164 >>> >>> >>> From 6ceb5662b5fae827d2c0cdd9896eec75997c060a Mon Sep 17 00:00:00 2001 >>> From: Franz-Josef Haider <franz.haider@jolla.com> >>> Date: Thu, 30 Jan 2020 14:28:24 +0200 >>> Subject: [PATCH 1/1] linux-user: Support f_flags in statfs64 when >>> available. >>> >>> Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64 >>> >>> Signed-off-by: Franz-Josef Haider <franz.haider@jolla.com> >>> --- >>> linux-user/syscall.c | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c >>> index d60142f069..45782b1009 100644 >>> --- a/linux-user/syscall.c >>> +++ b/linux-user/syscall.c >>> @@ -8997,6 +8997,11 @@ static abi_long do_syscall1(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, arg3, 1); >>> } >> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
© 2016 - 2025 Red Hat, Inc.