* [PATCH] xfsprogs: guard fsxattr definition for newer kernels @ 2016-02-09 17:40 Eric Sandeen 2016-02-09 19:55 ` Dave Chinner 0 siblings, 1 reply; 8+ messages in thread From: Eric Sandeen @ 2016-02-09 17:40 UTC (permalink / raw) To: xfs After 334e580, fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion the file include/linux/fs.h now defines struct fsxattr. It defines FS_IOC_FSGETXATTR as well, so use that to wrap our local definition, and skip it if the kernel is providing it so that we don't get multiple definitions. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- Should the kernel also #define HAVE_FSXATTR to help existing xfsprogs-devel installations? (And what if headers are included in the other order? Should we try to guard on the kernel side or no?) diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index d8b733a..f4858df 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -37,8 +37,10 @@ struct dioattr { /* * Structure for XFS_IOC_FSGETXATTR[A] and XFS_IOC_FSSETXATTR. + * If FS_IOC_FSGETXATTR is defined, the kernel is now providing + * this structure definition. */ -#ifndef HAVE_FSXATTR +#if (!defined(HAVE_FSXATTR) && !defined(FS_IOC_FSGETXATTR)) struct fsxattr { __u32 fsx_xflags; /* xflags field value (get/set) */ __u32 fsx_extsize; /* extsize field value (get/set)*/ _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 17:40 [PATCH] xfsprogs: guard fsxattr definition for newer kernels Eric Sandeen @ 2016-02-09 19:55 ` Dave Chinner 2016-02-09 19:57 ` Eric Sandeen 0 siblings, 1 reply; 8+ messages in thread From: Dave Chinner @ 2016-02-09 19:55 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: > After 334e580, > fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion > > the file include/linux/fs.h now defines struct fsxattr. > > It defines FS_IOC_FSGETXATTR as well, so use that to wrap > our local definition, and skip it if the kernel is providing > it so that we don't get multiple definitions. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- > > Should the kernel also #define HAVE_FSXATTR to help existing > xfsprogs-devel installations? > > (And what if headers are included in the other order? Should > we try to guard on the kernel side or no?) I've already sent a patch to fix this - it was with the foreign filesystem xfs_quota patch.... Cheers, Dave. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 19:55 ` Dave Chinner @ 2016-02-09 19:57 ` Eric Sandeen 2016-02-09 21:10 ` Dave Chinner 0 siblings, 1 reply; 8+ messages in thread From: Eric Sandeen @ 2016-02-09 19:57 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs On 2/9/16 1:55 PM, Dave Chinner wrote: > On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: >> After 334e580, >> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion >> >> the file include/linux/fs.h now defines struct fsxattr. >> >> It defines FS_IOC_FSGETXATTR as well, so use that to wrap >> our local definition, and skip it if the kernel is providing >> it so that we don't get multiple definitions. >> >> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >> --- >> >> Should the kernel also #define HAVE_FSXATTR to help existing >> xfsprogs-devel installations? >> >> (And what if headers are included in the other order? Should >> we try to guard on the kernel side or no?) > > I've already sent a patch to fix this - it was with the foreign > filesystem xfs_quota patch.... Oh, sorry, spaced it. What do you think of the HAVE_FSXATTR definition in fs.h? -Eric _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 19:57 ` Eric Sandeen @ 2016-02-09 21:10 ` Dave Chinner 2016-02-09 21:27 ` Eric Sandeen 0 siblings, 1 reply; 8+ messages in thread From: Dave Chinner @ 2016-02-09 21:10 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs On Tue, Feb 09, 2016 at 01:57:09PM -0600, Eric Sandeen wrote: > On 2/9/16 1:55 PM, Dave Chinner wrote: > > On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: > >> After 334e580, > >> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion > >> > >> the file include/linux/fs.h now defines struct fsxattr. > >> > >> It defines FS_IOC_FSGETXATTR as well, so use that to wrap > >> our local definition, and skip it if the kernel is providing > >> it so that we don't get multiple definitions. > >> > >> Signed-off-by: Eric Sandeen <sandeen@redhat.com> > >> --- > >> > >> Should the kernel also #define HAVE_FSXATTR to help existing > >> xfsprogs-devel installations? > >> > >> (And what if headers are included in the other order? Should > >> we try to guard on the kernel side or no?) > > > > I've already sent a patch to fix this - it was with the foreign > > filesystem xfs_quota patch.... > > Oh, sorry, spaced it. > > What do you think of the HAVE_FSXATTR definition in fs.h? Which fs.h? The include/linux/fs.h file does not have such guards... Cheers, Dave. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 21:10 ` Dave Chinner @ 2016-02-09 21:27 ` Eric Sandeen 2016-02-09 21:44 ` Dave Chinner 0 siblings, 1 reply; 8+ messages in thread From: Eric Sandeen @ 2016-02-09 21:27 UTC (permalink / raw) To: xfs On 2/9/16 3:10 PM, Dave Chinner wrote: > On Tue, Feb 09, 2016 at 01:57:09PM -0600, Eric Sandeen wrote: >> On 2/9/16 1:55 PM, Dave Chinner wrote: >>> On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: >>>> After 334e580, >>>> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion >>>> >>>> the file include/linux/fs.h now defines struct fsxattr. >>>> >>>> It defines FS_IOC_FSGETXATTR as well, so use that to wrap >>>> our local definition, and skip it if the kernel is providing >>>> it so that we don't get multiple definitions. >>>> >>>> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >>>> --- >>>> >>>> Should the kernel also #define HAVE_FSXATTR to help existing >>>> xfsprogs-devel installations? >>>> >>>> (And what if headers are included in the other order? Should >>>> we try to guard on the kernel side or no?) >>> >>> I've already sent a patch to fix this - it was with the foreign >>> filesystem xfs_quota patch.... >> >> Oh, sorry, spaced it. >> >> What do you think of the HAVE_FSXATTR definition in fs.h? > > Which fs.h? The include/linux/fs.h file does not have such > guards... If include/linux/fs.h defined HAVE_FSXATTR, a subsequent inclusion of xfs_fs.h would not redefine the structure, because it is guarded with that (for irix!) -Eric _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 21:27 ` Eric Sandeen @ 2016-02-09 21:44 ` Dave Chinner 2016-02-09 21:45 ` Eric Sandeen 0 siblings, 1 reply; 8+ messages in thread From: Dave Chinner @ 2016-02-09 21:44 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs On Tue, Feb 09, 2016 at 03:27:18PM -0600, Eric Sandeen wrote: > > > On 2/9/16 3:10 PM, Dave Chinner wrote: > > On Tue, Feb 09, 2016 at 01:57:09PM -0600, Eric Sandeen wrote: > >> On 2/9/16 1:55 PM, Dave Chinner wrote: > >>> On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: > >>>> After 334e580, > >>>> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion > >>>> > >>>> the file include/linux/fs.h now defines struct fsxattr. > >>>> > >>>> It defines FS_IOC_FSGETXATTR as well, so use that to wrap > >>>> our local definition, and skip it if the kernel is providing > >>>> it so that we don't get multiple definitions. > >>>> > >>>> Signed-off-by: Eric Sandeen <sandeen@redhat.com> > >>>> --- > >>>> > >>>> Should the kernel also #define HAVE_FSXATTR to help existing > >>>> xfsprogs-devel installations? > >>>> > >>>> (And what if headers are included in the other order? Should > >>>> we try to guard on the kernel side or no?) > >>> > >>> I've already sent a patch to fix this - it was with the foreign > >>> filesystem xfs_quota patch.... > >> > >> Oh, sorry, spaced it. > >> > >> What do you think of the HAVE_FSXATTR definition in fs.h? > > > > Which fs.h? The include/linux/fs.h file does not have such > > guards... > > If include/linux/fs.h defined HAVE_FSXATTR, a subsequent inclusion > of xfs_fs.h would not redefine the structure, because it is > guarded with that (for irix!) That's why I changed it to check if the ioctl is defined, rather than checking for HAVE_FSXATTR. Looking at it, what I probably should do is something more "special" in the platform headers, so the xfs_fs.h is kept identical across kernel and userspace... Cheers, Dave. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 21:44 ` Dave Chinner @ 2016-02-09 21:45 ` Eric Sandeen 2016-02-09 22:37 ` Dave Chinner 0 siblings, 1 reply; 8+ messages in thread From: Eric Sandeen @ 2016-02-09 21:45 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs On 2/9/16 3:44 PM, Dave Chinner wrote: > On Tue, Feb 09, 2016 at 03:27:18PM -0600, Eric Sandeen wrote: >> >> >> On 2/9/16 3:10 PM, Dave Chinner wrote: >>> On Tue, Feb 09, 2016 at 01:57:09PM -0600, Eric Sandeen wrote: >>>> On 2/9/16 1:55 PM, Dave Chinner wrote: >>>>> On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: >>>>>> After 334e580, >>>>>> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion >>>>>> >>>>>> the file include/linux/fs.h now defines struct fsxattr. >>>>>> >>>>>> It defines FS_IOC_FSGETXATTR as well, so use that to wrap >>>>>> our local definition, and skip it if the kernel is providing >>>>>> it so that we don't get multiple definitions. >>>>>> >>>>>> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >>>>>> --- >>>>>> >>>>>> Should the kernel also #define HAVE_FSXATTR to help existing >>>>>> xfsprogs-devel installations? >>>>>> >>>>>> (And what if headers are included in the other order? Should >>>>>> we try to guard on the kernel side or no?) >>>>> >>>>> I've already sent a patch to fix this - it was with the foreign >>>>> filesystem xfs_quota patch.... >>>> >>>> Oh, sorry, spaced it. >>>> >>>> What do you think of the HAVE_FSXATTR definition in fs.h? >>> >>> Which fs.h? The include/linux/fs.h file does not have such >>> guards... >> >> If include/linux/fs.h defined HAVE_FSXATTR, a subsequent inclusion >> of xfs_fs.h would not redefine the structure, because it is >> guarded with that (for irix!) > > That's why I changed it to check if the ioctl is defined, rather > than checking for HAVE_FSXATTR. Right, but I'm talking about protecting older, existing versions of xfsprogs headers which use HAVE_FSXATTR as the guard. -Eric _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfsprogs: guard fsxattr definition for newer kernels 2016-02-09 21:45 ` Eric Sandeen @ 2016-02-09 22:37 ` Dave Chinner 0 siblings, 0 replies; 8+ messages in thread From: Dave Chinner @ 2016-02-09 22:37 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs On Tue, Feb 09, 2016 at 03:45:50PM -0600, Eric Sandeen wrote: > > > On 2/9/16 3:44 PM, Dave Chinner wrote: > > On Tue, Feb 09, 2016 at 03:27:18PM -0600, Eric Sandeen wrote: > >> > >> > >> On 2/9/16 3:10 PM, Dave Chinner wrote: > >>> On Tue, Feb 09, 2016 at 01:57:09PM -0600, Eric Sandeen wrote: > >>>> On 2/9/16 1:55 PM, Dave Chinner wrote: > >>>>> On Tue, Feb 09, 2016 at 11:40:57AM -0600, Eric Sandeen wrote: > >>>>>> After 334e580, > >>>>>> fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion > >>>>>> > >>>>>> the file include/linux/fs.h now defines struct fsxattr. > >>>>>> > >>>>>> It defines FS_IOC_FSGETXATTR as well, so use that to wrap > >>>>>> our local definition, and skip it if the kernel is providing > >>>>>> it so that we don't get multiple definitions. > >>>>>> > >>>>>> Signed-off-by: Eric Sandeen <sandeen@redhat.com> > >>>>>> --- > >>>>>> > >>>>>> Should the kernel also #define HAVE_FSXATTR to help existing > >>>>>> xfsprogs-devel installations? > >>>>>> > >>>>>> (And what if headers are included in the other order? Should > >>>>>> we try to guard on the kernel side or no?) > >>>>> > >>>>> I've already sent a patch to fix this - it was with the foreign > >>>>> filesystem xfs_quota patch.... > >>>> > >>>> Oh, sorry, spaced it. > >>>> > >>>> What do you think of the HAVE_FSXATTR definition in fs.h? > >>> > >>> Which fs.h? The include/linux/fs.h file does not have such > >>> guards... > >> > >> If include/linux/fs.h defined HAVE_FSXATTR, a subsequent inclusion > >> of xfs_fs.h would not redefine the structure, because it is > >> guarded with that (for irix!) > > > > That's why I changed it to check if the ioctl is defined, rather > > than checking for HAVE_FSXATTR. > > Right, but I'm talking about protecting older, existing versions of > xfsprogs headers which use HAVE_FSXATTR as the guard. Nothing we can really do about that. There's no way we can get random unused defines into general linux uapi header files. If a distro updates their kernel to 4.5 and hence introduces this general definition, then they also be upgrading xfsprogs to match. If a user has upgraded their kernel and then tries to build xfsprogs from source, then they are also going to need to update xfsprogs... Cheers, Dave. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-02-09 22:38 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-02-09 17:40 [PATCH] xfsprogs: guard fsxattr definition for newer kernels Eric Sandeen 2016-02-09 19:55 ` Dave Chinner 2016-02-09 19:57 ` Eric Sandeen 2016-02-09 21:10 ` Dave Chinner 2016-02-09 21:27 ` Eric Sandeen 2016-02-09 21:44 ` Dave Chinner 2016-02-09 21:45 ` Eric Sandeen 2016-02-09 22:37 ` Dave Chinner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.