* [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check @ 2024-06-17 5:34 Li Wang 2024-06-17 5:40 ` Li Wang 2024-06-19 9:27 ` Petr Vorel 0 siblings, 2 replies; 7+ messages in thread From: Li Wang @ 2024-06-17 5:34 UTC (permalink / raw) To: ltp These changes help ensure that the necessary features and definitions are available during the configuration process, preventing potential issues related to missing or incompatible definitions. This should resolve the compilation error related to struct fs_quota_statv: /usr/include/xfs/xqm.h:167:8: error: redefinition of ‘struct fs_qfilestatv’ Signed-off-by: Li Wang <liwang@redhat.com> --- configure.ac | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 85c5739c4..82969b8d3 100644 --- a/configure.ac +++ b/configure.ac @@ -181,7 +181,11 @@ AC_CHECK_TYPES([struct file_handle],,,[ #include <fcntl.h> ]) -AC_CHECK_TYPES([struct fs_quota_statv],,,[#include <xfs/xqm.h>]) +AC_CHECK_TYPES([struct fs_quota_statv],,,[ +#define _GNU_SOURCE +#include <xfs/xqm.h> +]) + AC_CHECK_TYPES([struct if_nextdqblk],,,[#include <linux/quota.h>]) AC_CHECK_TYPES([struct iovec],,,[#include <sys/uio.h>]) AC_CHECK_TYPES([struct ipc64_perm],,,[#include <sys/ipcbuf.h>]) -- 2.45.2 -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-17 5:34 [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check Li Wang @ 2024-06-17 5:40 ` Li Wang 2024-06-19 9:27 ` Petr Vorel 1 sibling, 0 replies; 7+ messages in thread From: Li Wang @ 2024-06-17 5:40 UTC (permalink / raw) To: ltp CI runs for the above four patches: https://github.com/wangli5665/ltp/actions/runs/9542345839/ -- Regards, Li Wang -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-17 5:34 [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check Li Wang 2024-06-17 5:40 ` Li Wang @ 2024-06-19 9:27 ` Petr Vorel 2024-06-19 12:05 ` Li Wang 1 sibling, 1 reply; 7+ messages in thread From: Petr Vorel @ 2024-06-19 9:27 UTC (permalink / raw) To: Li Wang; +Cc: ltp Hi Li, > These changes help ensure that the necessary features and definitions > are available during the configuration process, preventing potential > issues related to missing or incompatible definitions. This should > resolve the compilation error related to struct fs_quota_statv: > /usr/include/xfs/xqm.h:167:8: error: redefinition of ‘struct fs_qfilestatv’ I wonder how _GNU_SOURCE influences any XFS header? I haven't found anything in (<xfs/*.h>) or in <sys/quota.h> I know that some quotactl0[23].c define _GNU_SOURCE, but it's interesting that this influence the header. Also, which RHEL (or whatever distro) version has this problem? Kind regards, Petr -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-19 9:27 ` Petr Vorel @ 2024-06-19 12:05 ` Li Wang 2024-06-19 12:08 ` Li Wang 0 siblings, 1 reply; 7+ messages in thread From: Li Wang @ 2024-06-19 12:05 UTC (permalink / raw) To: Petr Vorel, Zirong Lang, Boyang Xue; +Cc: linux-xfs, ltp Hi Petr, XFS-Experts, On Wed, Jun 19, 2024 at 5:27 PM Petr Vorel <pvorel@suse.cz> wrote: > Hi Li, > > > These changes help ensure that the necessary features and definitions > > are available during the configuration process, preventing potential > > issues related to missing or incompatible definitions. This should > > resolve the compilation error related to struct fs_quota_statv: > > > /usr/include/xfs/xqm.h:167:8: error: redefinition of ‘struct > fs_qfilestatv’ > > I wonder how _GNU_SOURCE influences any XFS header? > I haven't found anything in (<xfs/*.h>) or in <sys/quota.h> > With installing a newer xfsprogs-dev package on RHEL, we got a problem in configuring our LTP test. According to the inclusion relationship: "xfs/xqm.h" -> "xfs/xfs.h" -> "xfs/linux.h". The linux.h header introduces an inlined function that needs '_GNU_SOURCE' and <fcnctl.h>. $ git clone https://kernel.googlesource.com/pub/scm/fs/xfs/xfsprogs-dev $ cd xfsprogs-dev/ $ git describe --contains 9d6023a856a1c4f84415dff59b0d5459cc8768db v5.5.0-rc1~39 #if defined(FALLOC_FL_ZERO_RANGE) static inline int platform_zero_range( int fd, xfs_off_t start, size_t len) { int ret; ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); if (!ret) return 0; return -errno; } #else #define platform_zero_range(fd, s, l) (-EOPNOTSUPP) #endif My test version is based on 6.5 so contains the inlined function to build. # rpm -qf /usr/include/xfs/xqm.h xfsprogs-devel-6.5.0-3.el10.x86_64 > I know that some quotactl0[23].c define _GNU_SOURCE, but it's interesting > that > this influence the header. Also, which RHEL (or whatever distro) version > has > this problem? The error occurred (with install xfsprogs-devel) during the configure script checking struct fs_quota_statv. It failed to compile conftest.c and report such errors: configure:5697: checking for struct fs_quota_statv configure:5697: gcc -c -g -O2 conftest.c >&5 In file included from /usr/include/xfs/xfs.h:9, from /usr/include/xfs/xqm.h:9, from conftest.c:138: /usr/include/xfs/linux.h: In function 'platform_zero_range': /usr/include/xfs/linux.h:188:15: error: implicit declaration of function 'fallocate' [-Wimplicit-function-declaration] 188 | ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); | ^~~~~~~~~ configure:5697: $? = 1 It similarly to the above quotactl07 patch fix, so adding '#define _GNU_SOURCE' is actually for making the fallocate() happy. Or, another way is the change made in "xfsprogs-dev/include/linux.h" otherwise we can't configure our LTP correctly. -- Regards, Li Wang -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-19 12:05 ` Li Wang @ 2024-06-19 12:08 ` Li Wang 2024-06-19 15:50 ` Eric Sandeen 0 siblings, 1 reply; 7+ messages in thread From: Li Wang @ 2024-06-19 12:08 UTC (permalink / raw) To: Petr Vorel, Zirong Lang, Boyang Xue, Eric Sandeen; +Cc: linux-xfs, ltp cc Eric Sandeen <sandeen@redhat.com> who is the author of: commit 9d6023a856a1c4f84415dff59b0d5459cc8768db Author: Eric Sandeen <sandeen@redhat.com> Date: Thu Feb 27 15:05:48 2020 -0500 libxfs: use FALLOC_FL_ZERO_RANGE in libxfs_device_zero On Wed, Jun 19, 2024 at 8:05 PM Li Wang <liwang@redhat.com> wrote: > Hi Petr, XFS-Experts, > > On Wed, Jun 19, 2024 at 5:27 PM Petr Vorel <pvorel@suse.cz> wrote: > >> Hi Li, >> >> > These changes help ensure that the necessary features and definitions >> > are available during the configuration process, preventing potential >> > issues related to missing or incompatible definitions. This should >> > resolve the compilation error related to struct fs_quota_statv: >> >> > /usr/include/xfs/xqm.h:167:8: error: redefinition of ‘struct >> fs_qfilestatv’ >> >> I wonder how _GNU_SOURCE influences any XFS header? >> I haven't found anything in (<xfs/*.h>) or in <sys/quota.h> >> > > With installing a newer xfsprogs-dev package on RHEL, we got a problem > in configuring our LTP test. > > According to the inclusion relationship: "xfs/xqm.h" -> "xfs/xfs.h" -> > "xfs/linux.h". > The linux.h header introduces an inlined function that needs '_GNU_SOURCE' > and <fcnctl.h>. > > $ git clone https://kernel.googlesource.com/pub/scm/fs/xfs/xfsprogs-dev > $ cd xfsprogs-dev/ > $ git describe --contains 9d6023a856a1c4f84415dff59b0d5459cc8768db > v5.5.0-rc1~39 > > #if defined(FALLOC_FL_ZERO_RANGE) > static inline int > platform_zero_range( > int fd, > xfs_off_t start, > size_t len) > { > int ret; > > ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); > if (!ret) > return 0; > return -errno; > } > #else > #define platform_zero_range(fd, s, l) (-EOPNOTSUPP) > #endif > > > My test version is based on 6.5 so contains the inlined function to build. > > # rpm -qf /usr/include/xfs/xqm.h > xfsprogs-devel-6.5.0-3.el10.x86_64 > > > >> I know that some quotactl0[23].c define _GNU_SOURCE, but it's interesting >> that >> this influence the header. Also, which RHEL (or whatever distro) version >> has >> this problem? > > > The error occurred (with install xfsprogs-devel) during the configure > script > checking struct fs_quota_statv. It failed to compile conftest.c and report > such errors: > > configure:5697: checking for struct fs_quota_statv > configure:5697: gcc -c -g -O2 conftest.c >&5 > In file included from /usr/include/xfs/xfs.h:9, > from /usr/include/xfs/xqm.h:9, > from conftest.c:138: > /usr/include/xfs/linux.h: In function 'platform_zero_range': > /usr/include/xfs/linux.h:188:15: error: implicit declaration of function > 'fallocate' [-Wimplicit-function-declaration] > 188 | ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); > | ^~~~~~~~~ > configure:5697: $? = 1 > > It similarly to the above quotactl07 patch fix, so adding '#define > _GNU_SOURCE' > is actually for making the fallocate() happy. > > Or, another way is the change made in "xfsprogs-dev/include/linux.h" > otherwise we can't > configure our LTP correctly. > > > -- > Regards, > Li Wang > -- Regards, Li Wang -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-19 12:08 ` Li Wang @ 2024-06-19 15:50 ` Eric Sandeen 2024-06-19 15:59 ` Petr Vorel 0 siblings, 1 reply; 7+ messages in thread From: Eric Sandeen @ 2024-06-19 15:50 UTC (permalink / raw) To: Li Wang, Petr Vorel, Zirong Lang, Boyang Xue; +Cc: linux-xfs, ltp On 6/19/24 7:08 AM, Li Wang wrote: > cc Eric Sandeen <sandeen@redhat.com <mailto:sandeen@redhat.com>> who is the author of: If adding _GNU_SOURCE to the LTP configure.ac fixes the problem, I have no concerns about that. However, I also sent a patch to fix xfsprogs - having this wrapper in the header is really unnecessary, and will likely cause problems for others as well, so I just proposed removing it. https://lore.kernel.org/linux-xfs/be7f0845-5d5f-4af5-9ca9-3e4370b47d97@sandeen.net/ (This problem only recently showed up due to other changes, see the explanation in the link above) Thanks, -Eric > commit 9d6023a856a1c4f84415dff59b0d5459cc8768db > Author: Eric Sandeen <sandeen@redhat.com <mailto:sandeen@redhat.com>> > Date: Thu Feb 27 15:05:48 2020 -0500 > > libxfs: use FALLOC_FL_ZERO_RANGE in libxfs_device_zero > > On Wed, Jun 19, 2024 at 8:05 PM Li Wang <liwang@redhat.com <mailto:liwang@redhat.com>> wrote: > > Hi Petr, XFS-Experts, > > On Wed, Jun 19, 2024 at 5:27 PM Petr Vorel <pvorel@suse.cz <mailto:pvorel@suse.cz>> wrote: > > Hi Li, > > > These changes help ensure that the necessary features and definitions > > are available during the configuration process, preventing potential > > issues related to missing or incompatible definitions. This should > > resolve the compilation error related to struct fs_quota_statv: > > > /usr/include/xfs/xqm.h:167:8: error: redefinition of ‘struct fs_qfilestatv’ > > I wonder how _GNU_SOURCE influences any XFS header? > I haven't found anything in (<xfs/*.h>) or in <sys/quota.h> > > > With installing a newer xfsprogs-dev package on RHEL, we got a problem > in configuring our LTP test. > > According to the inclusion relationship: "xfs/xqm.h" -> "xfs/xfs.h" -> "xfs/linux.h". > The linux.h header introduces an inlined function that needs '_GNU_SOURCE' and <fcnctl.h>. > > $ git clone https://kernel.googlesource.com/pub/scm/fs/xfs/xfsprogs-dev <https://kernel.googlesource.com/pub/scm/fs/xfs/xfsprogs-dev> > $ cd xfsprogs-dev/ > $ git describe --contains 9d6023a856a1c4f84415dff59b0d5459cc8768db > v5.5.0-rc1~39 > > #if defined(FALLOC_FL_ZERO_RANGE) > static inline int > platform_zero_range( > int fd, > xfs_off_t start, > size_t len) > { > int ret; > > ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); > if (!ret) > return 0; > return -errno; > } > #else > #define platform_zero_range(fd, s, l) (-EOPNOTSUPP) > #endif > > > My test version is based on 6.5 so contains the inlined function to build. > > # rpm -qf /usr/include/xfs/xqm.h > xfsprogs-devel-6.5.0-3.el10.x86_64 > > > > I know that some quotactl0[23].c define _GNU_SOURCE, but it's interesting that > this influence the header. Also, which RHEL (or whatever distro) version has > this problem? > > > The error occurred (with install xfsprogs-devel) during the configure script > checking struct fs_quota_statv. It failed to compile conftest.c and report > such errors: > > configure:5697: checking for struct fs_quota_statv > configure:5697: gcc -c -g -O2 conftest.c >&5 > In file included from /usr/include/xfs/xfs.h:9, > from /usr/include/xfs/xqm.h:9, > from conftest.c:138: > /usr/include/xfs/linux.h: In function 'platform_zero_range': > /usr/include/xfs/linux.h:188:15: error: implicit declaration of function 'fallocate' [-Wimplicit-function-declaration] > 188 | ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, start, len); > | ^~~~~~~~~ > configure:5697: $? = 1 > > It similarly to the above quotactl07 patchfix, so adding '#define _GNU_SOURCE' > isactually formaking the fallocate()happy. > > Or, another way is the change made in "xfsprogs-dev/include/linux.h" otherwise we can't > configure our LTP correctly. > > > -- > Regards, > Li Wang > > > > -- > Regards, > Li Wang -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check 2024-06-19 15:50 ` Eric Sandeen @ 2024-06-19 15:59 ` Petr Vorel 0 siblings, 0 replies; 7+ messages in thread From: Petr Vorel @ 2024-06-19 15:59 UTC (permalink / raw) To: Eric Sandeen; +Cc: linux-xfs, ltp > On 6/19/24 7:08 AM, Li Wang wrote: > > cc Eric Sandeen <sandeen@redhat.com <mailto:sandeen@redhat.com>> who is the author of: > If adding _GNU_SOURCE to the LTP configure.ac fixes the problem, > I have no concerns about that. > However, I also sent a patch to fix xfsprogs - having this wrapper in the > header is really unnecessary, and will likely cause problems for others > as well, so I just proposed removing it. Interesting. OK, let's merge workaround. Reviewed-by: Petr Vorel <pvorel@suse.cz> > https://lore.kernel.org/linux-xfs/be7f0845-5d5f-4af5-9ca9-3e4370b47d97@sandeen.net/ Thanks for info! Your patch IMHO makes sense. Kind regards, Petr > (This problem only recently showed up due to other changes, see the explanation > in the link above) > Thanks, > -Eric -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-06-19 15:59 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-17 5:34 [LTP] [PATCH] configure.ac: Add _GNU_SOURCE for struct fs_quota_statv check Li Wang 2024-06-17 5:40 ` Li Wang 2024-06-19 9:27 ` Petr Vorel 2024-06-19 12:05 ` Li Wang 2024-06-19 12:08 ` Li Wang 2024-06-19 15:50 ` Eric Sandeen 2024-06-19 15:59 ` Petr Vorel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox