2019-11-17 22:20:30

by Petr Vorel

[permalink] [raw]
Subject: [nfs-utils PATCH 1/1] mountd: Add check for 'struct file_handle'

From: Maxime Hadjinlian <[email protected]>

The code to check if name_to_handle_at() is implemented generates only a
warning but with some toolchain it doesn't fail to link (the function must be
implemented somewhere).
However the "struct file_handle" type is not available.

So, this patch adds a check for this struct.

Patch taken from buildroot distribution.

Signed-off-by: Thomas Petazzoni <[email protected]>
[ pvorel: rebased from nfs-utils-1-3-4 ]
Signed-off-by: Petr Vorel <[email protected]>
Signed-off-by: Maxime Hadjinlian <[email protected]>
---
configure.ac | 1 +
utils/mountd/cache.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 9ba9d4b5..949ff9fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -510,6 +510,7 @@ AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
+AC_CHECK_TYPES([struct file_handle])

dnl *************************************************************
dnl Check for functions
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 3861f84a..31e9507d 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -446,7 +446,7 @@ static int same_path(char *child, char *parent, int len)
if (count_slashes(p) != count_slashes(parent))
return 0;

-#if HAVE_NAME_TO_HANDLE_AT
+#if defined(HAVE_NAME_TO_HANDLE_AT) && defined(HAVE_STRUCT_FILE_HANDLE)
struct {
struct file_handle fh;
unsigned char handle[128];
--
2.24.0


2019-11-18 14:03:33

by Steve Dickson

[permalink] [raw]
Subject: Re: [nfs-utils PATCH 1/1] mountd: Add check for 'struct file_handle'



On 11/17/19 5:15 PM, Petr Vorel wrote:
> From: Maxime Hadjinlian <[email protected]>
>
> The code to check if name_to_handle_at() is implemented generates only a
> warning but with some toolchain it doesn't fail to link (the function must be
> implemented somewhere).
> However the "struct file_handle" type is not available.
>
> So, this patch adds a check for this struct.
>
> Patch taken from buildroot distribution.
>
> Signed-off-by: Thomas Petazzoni <[email protected]>
> [ pvorel: rebased from nfs-utils-1-3-4 ]
> Signed-off-by: Petr Vorel <[email protected]>
> Signed-off-by: Maxime Hadjinlian <[email protected]>
Committed... (tag: nfs-utils-2-4-3-rc1)

steved.
> ---
> configure.ac | 1 +
> utils/mountd/cache.c | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index 9ba9d4b5..949ff9fc 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -510,6 +510,7 @@ AC_TYPE_PID_T
> AC_TYPE_SIZE_T
> AC_HEADER_TIME
> AC_STRUCT_TM
> +AC_CHECK_TYPES([struct file_handle])
>
> dnl *************************************************************
> dnl Check for functions
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index 3861f84a..31e9507d 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -446,7 +446,7 @@ static int same_path(char *child, char *parent, int len)
> if (count_slashes(p) != count_slashes(parent))
> return 0;
>
> -#if HAVE_NAME_TO_HANDLE_AT
> +#if defined(HAVE_NAME_TO_HANDLE_AT) && defined(HAVE_STRUCT_FILE_HANDLE)
> struct {
> struct file_handle fh;
> unsigned char handle[128];
>