diff options
Diffstat (limited to 'meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Disable-statx-if-using-glibc-emulation.patch')
-rw-r--r-- | meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Disable-statx-if-using-glibc-emulation.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Disable-statx-if-using-glibc-emulation.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Disable-statx-if-using-glibc-emulation.patch new file mode 100644 index 0000000000..98b1391923 --- /dev/null +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Disable-statx-if-using-glibc-emulation.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From ff3ad88c233ecd87f7983ad13836323f944540ec Mon Sep 17 00:00:00 2001 | ||
2 | From: Doug Nazar <nazard@nazar.ca> | ||
3 | Date: Mon, 9 Dec 2019 10:53:37 -0500 | ||
4 | Subject: [PATCH] Disable statx if using glibc emulation | ||
5 | |||
6 | On older kernels without statx, glibc with statx support will attempt | ||
7 | to emulate the call. However it doesn't support AT_STATX_DONT_SYNC and | ||
8 | will return EINVAL. This causes all xstat/xlstat calls to fail. | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | |||
12 | Signed-off-by: Doug Nazar <nazard@nazar.ca> | ||
13 | Signed-off-by: Steve Dickson <steved@redhat.com> | ||
14 | --- | ||
15 | support/misc/xstat.c | 3 +++ | ||
16 | 1 file changed, 3 insertions(+) | ||
17 | |||
18 | diff --git a/support/misc/xstat.c b/support/misc/xstat.c | ||
19 | index 661e29e4..a438fbcc 100644 | ||
20 | --- a/support/misc/xstat.c | ||
21 | +++ b/support/misc/xstat.c | ||
22 | @@ -51,6 +51,9 @@ statx_do_stat(int fd, const char *pathname, struct stat *statbuf, int flags) | ||
23 | statx_copy(statbuf, &stxbuf); | ||
24 | return 0; | ||
25 | } | ||
26 | + /* glibc emulation doesn't support AT_STATX_DONT_SYNC */ | ||
27 | + if (errno == EINVAL) | ||
28 | + errno = ENOSYS; | ||
29 | if (errno == ENOSYS) | ||
30 | statx_supported = 0; | ||
31 | } else | ||
32 | -- | ||
33 | 2.19.1 | ||
34 | |||