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@xxxxxxxxx> > --- > 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" >