Fix include order between config.h and stat.h
diff mbox series

Message ID 5c60f0b3-4498-96ec-be59-2dce85de3680@gmail.com
State New
Headers show
Series
  • Fix include order between config.h and stat.h
Related show

Commit Message

Zoltan Karcagi July 26, 2019, 2:44 p.m. UTC
At least on Arch linux ARM, the definition of struct stat in stat.h depends
on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
therefore config.h must always be included before stat.h. Fix all
occurrences where the order is wrong by moving config.h to the top.

This fixes the client side error "Stale file handle" when mounting from
a server running Arch Linux ARM.

Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
---
 support/misc/nfsd_path.c         | 5 ++++-
 support/misc/xstat.c             | 5 ++++-
 utils/blkmapd/device-discovery.c | 8 ++++----
 utils/idmapd/idmapd.c            | 8 ++++----
 4 files changed, 16 insertions(+), 10 deletions(-)

Comments

Zoltan Karcagi Aug. 12, 2019, 8:43 a.m. UTC | #1
Ping...

On 7/26/19 4:44 PM, Zoltan Karcagi wrote:
> At least on Arch linux ARM, the definition of struct stat in stat.h depends
> on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
> therefore config.h must always be included before stat.h. Fix all
> occurrences where the order is wrong by moving config.h to the top.
> 
> This fixes the client side error "Stale file handle" when mounting from
> a server running Arch Linux ARM.
> 
> Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
> ---
>  support/misc/nfsd_path.c         | 5 ++++-
>  support/misc/xstat.c             | 5 ++++-
>  utils/blkmapd/device-discovery.c | 8 ++++----
>  utils/idmapd/idmapd.c            | 8 ++++----
>  4 files changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
> index 84e48028..f078a668 100644
> --- a/support/misc/nfsd_path.c
> +++ b/support/misc/nfsd_path.c
> @@ -1,3 +1,7 @@
> +#ifdef HAVE_CONFIG_H
> +#include <config.h>
> +#endif
> +
>  #include <errno.h>
>  #include <sys/types.h>
>  #include <sys/stat.h>
> @@ -5,7 +9,6 @@
>  #include <stdlib.h>
>  #include <unistd.h>
>  
> -#include "config.h"
>  #include "conffile.h"
>  #include "xmalloc.h"
>  #include "xlog.h"
> diff --git a/support/misc/xstat.c b/support/misc/xstat.c
> index fa047880..4c997eea 100644
> --- a/support/misc/xstat.c
> +++ b/support/misc/xstat.c
> @@ -1,3 +1,7 @@
> +#ifdef HAVE_CONFIG_H
> +#include <config.h>
> +#endif
> +
>  #include <errno.h>
>  #include <sys/types.h>
>  #include <fcntl.h>
> @@ -5,7 +9,6 @@
>  #include <sys/sysmacros.h>
>  #include <unistd.h>
>  
> -#include "config.h"
>  #include "xstat.h"
>  
>  #ifdef HAVE_FSTATAT
> diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
> index e811703d..f5f9b10b 100644
> --- a/utils/blkmapd/device-discovery.c
> +++ b/utils/blkmapd/device-discovery.c
> @@ -26,6 +26,10 @@
>   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif /* HAVE_CONFIG_H */
> +
>  #include <sys/sysmacros.h>
>  #include <sys/types.h>
>  #include <sys/stat.h>
> @@ -51,10 +55,6 @@
>  #include <errno.h>
>  #include <libdevmapper.h>
>  
> -#ifdef HAVE_CONFIG_H
> -#include "config.h"
> -#endif /* HAVE_CONFIG_H */
> -
>  #include "device-discovery.h"
>  #include "xcommon.h"
>  #include "nfslib.h"
> diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
> index 62e37b8a..267acea5 100644
> --- a/utils/idmapd/idmapd.c
> +++ b/utils/idmapd/idmapd.c
> @@ -34,6 +34,10 @@
>   *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif /* HAVE_CONFIG_H */
> +
>  #include <sys/types.h>
>  #include <sys/time.h>
>  #include <sys/inotify.h>
> @@ -62,10 +66,6 @@
>  #include <libgen.h>
>  #include <nfsidmap.h>
>  
> -#ifdef HAVE_CONFIG_H
> -#include "config.h"
> -#endif /* HAVE_CONFIG_H */
> -
>  #include "xlog.h"
>  #include "conffile.h"
>  #include "queue.h"
>
Steve Dickson Aug. 12, 2019, 5:28 p.m. UTC | #2
On 7/26/19 10:44 AM, Zoltan Karcagi wrote:
> At least on Arch linux ARM, the definition of struct stat in stat.h depends
> on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
> therefore config.h must always be included before stat.h. Fix all
> occurrences where the order is wrong by moving config.h to the top.
> 
> This fixes the client side error "Stale file handle" when mounting from
> a server running Arch Linux ARM.
> 
> Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
Committed!

steved.

> ---
>  support/misc/nfsd_path.c         | 5 ++++-
>  support/misc/xstat.c             | 5 ++++-
>  utils/blkmapd/device-discovery.c | 8 ++++----
>  utils/idmapd/idmapd.c            | 8 ++++----
>  4 files changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
> index 84e48028..f078a668 100644
> --- a/support/misc/nfsd_path.c
> +++ b/support/misc/nfsd_path.c
> @@ -1,3 +1,7 @@
> +#ifdef HAVE_CONFIG_H
> +#include <config.h>
> +#endif
> +
>  #include <errno.h>
>  #include <sys/types.h>
>  #include <sys/stat.h>
> @@ -5,7 +9,6 @@
>  #include <stdlib.h>
>  #include <unistd.h>
>  
> -#include "config.h"
>  #include "conffile.h"
>  #include "xmalloc.h"
>  #include "xlog.h"
> diff --git a/support/misc/xstat.c b/support/misc/xstat.c
> index fa047880..4c997eea 100644
> --- a/support/misc/xstat.c
> +++ b/support/misc/xstat.c
> @@ -1,3 +1,7 @@
> +#ifdef HAVE_CONFIG_H
> +#include <config.h>
> +#endif
> +
>  #include <errno.h>
>  #include <sys/types.h>
>  #include <fcntl.h>
> @@ -5,7 +9,6 @@
>  #include <sys/sysmacros.h>
>  #include <unistd.h>
>  
> -#include "config.h"
>  #include "xstat.h"
>  
>  #ifdef HAVE_FSTATAT
> diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
> index e811703d..f5f9b10b 100644
> --- a/utils/blkmapd/device-discovery.c
> +++ b/utils/blkmapd/device-discovery.c
> @@ -26,6 +26,10 @@
>   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif /* HAVE_CONFIG_H */
> +
>  #include <sys/sysmacros.h>
>  #include <sys/types.h>
>  #include <sys/stat.h>
> @@ -51,10 +55,6 @@
>  #include <errno.h>
>  #include <libdevmapper.h>
>  
> -#ifdef HAVE_CONFIG_H
> -#include "config.h"
> -#endif /* HAVE_CONFIG_H */
> -
>  #include "device-discovery.h"
>  #include "xcommon.h"
>  #include "nfslib.h"
> diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
> index 62e37b8a..267acea5 100644
> --- a/utils/idmapd/idmapd.c
> +++ b/utils/idmapd/idmapd.c
> @@ -34,6 +34,10 @@
>   *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif /* HAVE_CONFIG_H */
> +
>  #include <sys/types.h>
>  #include <sys/time.h>
>  #include <sys/inotify.h>
> @@ -62,10 +66,6 @@
>  #include <libgen.h>
>  #include <nfsidmap.h>
>  
> -#ifdef HAVE_CONFIG_H
> -#include "config.h"
> -#endif /* HAVE_CONFIG_H */
> -
>  #include "xlog.h"
>  #include "conffile.h"
>  #include "queue.h"
>

Patch
diff mbox series

diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
index 84e48028..f078a668 100644
--- a/support/misc/nfsd_path.c
+++ b/support/misc/nfsd_path.c
@@ -1,3 +1,7 @@ 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -5,7 +9,6 @@ 
 #include <stdlib.h>
 #include <unistd.h>
 
-#include "config.h"
 #include "conffile.h"
 #include "xmalloc.h"
 #include "xlog.h"
diff --git a/support/misc/xstat.c b/support/misc/xstat.c
index fa047880..4c997eea 100644
--- a/support/misc/xstat.c
+++ b/support/misc/xstat.c
@@ -1,3 +1,7 @@ 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <errno.h>
 #include <sys/types.h>
 #include <fcntl.h>
@@ -5,7 +9,6 @@ 
 #include <sys/sysmacros.h>
 #include <unistd.h>
 
-#include "config.h"
 #include "xstat.h"
 
 #ifdef HAVE_FSTATAT
diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
index e811703d..f5f9b10b 100644
--- a/utils/blkmapd/device-discovery.c
+++ b/utils/blkmapd/device-discovery.c
@@ -26,6 +26,10 @@ 
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
 #include <sys/sysmacros.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -51,10 +55,6 @@ 
 #include <errno.h>
 #include <libdevmapper.h>
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif /* HAVE_CONFIG_H */
-
 #include "device-discovery.h"
 #include "xcommon.h"
 #include "nfslib.h"
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
index 62e37b8a..267acea5 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -34,6 +34,10 @@ 
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/inotify.h>
@@ -62,10 +66,6 @@ 
 #include <libgen.h>
 #include <nfsidmap.h>
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif /* HAVE_CONFIG_H */
-
 #include "xlog.h"
 #include "conffile.h"
 #include "queue.h"