* btrfs related build failures in stable queues
@ 2019-07-24 15:07 Guenter Roeck
2019-07-24 15:40 ` Greg Kroah-Hartman
2019-07-24 15:40 ` Greg Kroah-Hartman
0 siblings, 2 replies; 8+ messages in thread
From: Guenter Roeck @ 2019-07-24 15:07 UTC (permalink / raw)
To: stable, Greg Kroah-Hartman
v4.9.y to v5.1.y:
fs/btrfs/file.c: In function 'btrfs_punch_hole':
fs/btrfs/file.c:2787:27: error: invalid initializer
struct timespec64 now = current_time(inode);
^~~~~~~~~~~~
fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64'
v4.19.y, v5.1.y:
fs/btrfs/props.c: In function 'prop_compression_validate':
fs/btrfs/props.c:369:6: error: implicit declaration of function 'btrfs_compression_is_valid_type'
My apologies for the noise if this has already been reported/fixed.
Guenter
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: btrfs related build failures in stable queues 2019-07-24 15:07 btrfs related build failures in stable queues Guenter Roeck @ 2019-07-24 15:40 ` Greg Kroah-Hartman 2019-07-24 16:15 ` Guenter Roeck 2019-07-24 15:40 ` Greg Kroah-Hartman 1 sibling, 1 reply; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-07-24 15:40 UTC (permalink / raw) To: Guenter Roeck; +Cc: stable On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: > v4.9.y to v5.1.y: > > fs/btrfs/file.c: In function 'btrfs_punch_hole': > fs/btrfs/file.c:2787:27: error: invalid initializer > struct timespec64 now = current_time(inode); > ^~~~~~~~~~~~ > fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' This was reported, only seems to show up on arm64, right? > v4.19.y, v5.1.y: > > fs/btrfs/props.c: In function 'prop_compression_validate': > fs/btrfs/props.c:369:6: error: implicit declaration of function 'btrfs_compression_is_valid_type' > > My apologies for the noise if this has already been reported/fixed. Odd, I thought I fixed that, maybe I need to push out an updated git tree, sorry about that. greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 15:40 ` Greg Kroah-Hartman @ 2019-07-24 16:15 ` Guenter Roeck 0 siblings, 0 replies; 8+ messages in thread From: Guenter Roeck @ 2019-07-24 16:15 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: stable On 7/24/19 8:40 AM, Greg Kroah-Hartman wrote: > On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: >> v4.9.y to v5.1.y: >> >> fs/btrfs/file.c: In function 'btrfs_punch_hole': >> fs/btrfs/file.c:2787:27: error: invalid initializer >> struct timespec64 now = current_time(inode); >> ^~~~~~~~~~~~ >> fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' > > This was reported, only seems to show up on arm64, right? > From the 4.9.y build: Failed builds: arm:allmodconfig i386:allyesconfig i386:allmodconfig m68k:allmodconfig mips:allmodconfig parisc:allmodconfig xtensa:allmodconfig It also affects various qemu builds, such as malta_defconfig, with btrfs enabled. It looks like it may affect all 32-bit builds with btrfs enabled. I _don't_ see this problem with arm64, actually. >> v4.19.y, v5.1.y: >> >> fs/btrfs/props.c: In function 'prop_compression_validate': >> fs/btrfs/props.c:369:6: error: implicit declaration of function 'btrfs_compression_is_valid_type' >> >> My apologies for the noise if this has already been reported/fixed. > > Odd, I thought I fixed that, maybe I need to push out an updated git > tree, sorry about that. > It is reported with v4.19.60-243-gb06e2890aa3d and v5.1.19-346-ge63e6fbad916. No worries if it is already fixed. Guenter ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 15:07 btrfs related build failures in stable queues Guenter Roeck 2019-07-24 15:40 ` Greg Kroah-Hartman @ 2019-07-24 15:40 ` Greg Kroah-Hartman 2019-07-24 16:15 ` Greg Kroah-Hartman 1 sibling, 1 reply; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-07-24 15:40 UTC (permalink / raw) To: Guenter Roeck; +Cc: stable On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: > v4.9.y to v5.1.y: > > fs/btrfs/file.c: In function 'btrfs_punch_hole': > fs/btrfs/file.c:2787:27: error: invalid initializer > struct timespec64 now = current_time(inode); > ^~~~~~~~~~~~ > fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' Oops, no, this looks like a 32bit issue, let me dig into that... ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 15:40 ` Greg Kroah-Hartman @ 2019-07-24 16:15 ` Greg Kroah-Hartman 2019-07-24 16:50 ` Guenter Roeck 0 siblings, 1 reply; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-07-24 16:15 UTC (permalink / raw) To: Guenter Roeck, Filipe Manana, David Sterba; +Cc: stable On Wed, Jul 24, 2019 at 05:40:39PM +0200, Greg Kroah-Hartman wrote: > On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: > > v4.9.y to v5.1.y: > > > > fs/btrfs/file.c: In function 'btrfs_punch_hole': > > fs/btrfs/file.c:2787:27: error: invalid initializer > > struct timespec64 now = current_time(inode); > > ^~~~~~~~~~~~ > > fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' > > Oops, no, this looks like a 32bit issue, let me dig into that... Ok, this makes no sense. A few lines above this we do: inode->i_mtime = inode->i_ctime = current_time(inode); And here we are now doing: struct timespec64 now = current_time(inode); inode_inc_iversion(inode); inode->i_mtime = now; inode->i_ctime = now; And current_time() is defined as: extern struct timespec64 current_time(struct inode *inode); I have no idea what is going on :( This is caused by Felipe's patch: 179006688a7e ("Btrfs: add missing inode version, ctime and mtime updates when punching hole"). Felipe, any ideas? thanks, greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 16:15 ` Greg Kroah-Hartman @ 2019-07-24 16:50 ` Guenter Roeck 2019-07-24 18:31 ` Greg Kroah-Hartman 0 siblings, 1 reply; 8+ messages in thread From: Guenter Roeck @ 2019-07-24 16:50 UTC (permalink / raw) To: Greg Kroah-Hartman, Filipe Manana, David Sterba; +Cc: stable On 7/24/19 9:15 AM, Greg Kroah-Hartman wrote: > On Wed, Jul 24, 2019 at 05:40:39PM +0200, Greg Kroah-Hartman wrote: >> On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: >>> v4.9.y to v5.1.y: >>> >>> fs/btrfs/file.c: In function 'btrfs_punch_hole': >>> fs/btrfs/file.c:2787:27: error: invalid initializer >>> struct timespec64 now = current_time(inode); >>> ^~~~~~~~~~~~ >>> fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' >> >> Oops, no, this looks like a 32bit issue, let me dig into that... > > Ok, this makes no sense. > > A few lines above this we do: > inode->i_mtime = inode->i_ctime = current_time(inode); > > And here we are now doing: > struct timespec64 now = current_time(inode); > > inode_inc_iversion(inode); > inode->i_mtime = now; > inode->i_ctime = now; > > > And current_time() is defined as: > extern struct timespec64 current_time(struct inode *inode); > v4.9.186-108-g5b3c7cd16340 and v4.9.186-126-g97ad1fbc1478, line 1489 of fs.h: extern struct timespec current_fs_time(struct super_block *sb); Your code base seems to be different :-(. Guenter > > I have no idea what is going on :( > > This is caused by Felipe's patch: 179006688a7e ("Btrfs: add missing > inode version, ctime and mtime updates when punching hole"). Felipe, > any ideas? > > thanks, > > greg k-h > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 16:50 ` Guenter Roeck @ 2019-07-24 18:31 ` Greg Kroah-Hartman 2019-07-24 18:46 ` Guenter Roeck 0 siblings, 1 reply; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-07-24 18:31 UTC (permalink / raw) To: Guenter Roeck; +Cc: Filipe Manana, David Sterba, stable On Wed, Jul 24, 2019 at 09:50:54AM -0700, Guenter Roeck wrote: > On 7/24/19 9:15 AM, Greg Kroah-Hartman wrote: > > On Wed, Jul 24, 2019 at 05:40:39PM +0200, Greg Kroah-Hartman wrote: > > > On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: > > > > v4.9.y to v5.1.y: > > > > > > > > fs/btrfs/file.c: In function 'btrfs_punch_hole': > > > > fs/btrfs/file.c:2787:27: error: invalid initializer > > > > struct timespec64 now = current_time(inode); > > > > ^~~~~~~~~~~~ > > > > fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' > > > > > > Oops, no, this looks like a 32bit issue, let me dig into that... > > > > Ok, this makes no sense. > > > > A few lines above this we do: > > inode->i_mtime = inode->i_ctime = current_time(inode); > > > > And here we are now doing: > > struct timespec64 now = current_time(inode); > > > > inode_inc_iversion(inode); > > inode->i_mtime = now; > > inode->i_ctime = now; > > > > > > And current_time() is defined as: > > extern struct timespec64 current_time(struct inode *inode); > > > > v4.9.186-108-g5b3c7cd16340 and v4.9.186-126-g97ad1fbc1478, line 1489 of fs.h: > > extern struct timespec current_fs_time(struct super_block *sb); > > Your code base seems to be different :-(. I was looking at 5.1 as you said it failed there :( I'll go fix up 4.9 and I think 4.14, but the other kernel versions should be fine. thanks, greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: btrfs related build failures in stable queues 2019-07-24 18:31 ` Greg Kroah-Hartman @ 2019-07-24 18:46 ` Guenter Roeck 0 siblings, 0 replies; 8+ messages in thread From: Guenter Roeck @ 2019-07-24 18:46 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: Filipe Manana, David Sterba, stable On 7/24/19 11:31 AM, Greg Kroah-Hartman wrote: > On Wed, Jul 24, 2019 at 09:50:54AM -0700, Guenter Roeck wrote: >> On 7/24/19 9:15 AM, Greg Kroah-Hartman wrote: >>> On Wed, Jul 24, 2019 at 05:40:39PM +0200, Greg Kroah-Hartman wrote: >>>> On Wed, Jul 24, 2019 at 08:07:50AM -0700, Guenter Roeck wrote: >>>>> v4.9.y to v5.1.y: >>>>> >>>>> fs/btrfs/file.c: In function 'btrfs_punch_hole': >>>>> fs/btrfs/file.c:2787:27: error: invalid initializer >>>>> struct timespec64 now = current_time(inode); >>>>> ^~~~~~~~~~~~ >>>>> fs/btrfs/file.c:2790:18: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' >>>> >>>> Oops, no, this looks like a 32bit issue, let me dig into that... >>> >>> Ok, this makes no sense. >>> >>> A few lines above this we do: >>> inode->i_mtime = inode->i_ctime = current_time(inode); >>> >>> And here we are now doing: >>> struct timespec64 now = current_time(inode); >>> >>> inode_inc_iversion(inode); >>> inode->i_mtime = now; >>> inode->i_ctime = now; >>> >>> >>> And current_time() is defined as: >>> extern struct timespec64 current_time(struct inode *inode); >>> >> >> v4.9.186-108-g5b3c7cd16340 and v4.9.186-126-g97ad1fbc1478, line 1489 of fs.h: >> >> extern struct timespec current_fs_time(struct super_block *sb); >> >> Your code base seems to be different :-(. > > I was looking at 5.1 as you said it failed there :( > > I'll go fix up 4.9 and I think 4.14, but the other kernel versions > should be fine. > Oops. Yes, you are correct, only 4.9 and 4.14 are affected by this problem. Sorry. Guenter ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-07-24 18:46 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-24 15:07 btrfs related build failures in stable queues Guenter Roeck 2019-07-24 15:40 ` Greg Kroah-Hartman 2019-07-24 16:15 ` Guenter Roeck 2019-07-24 15:40 ` Greg Kroah-Hartman 2019-07-24 16:15 ` Greg Kroah-Hartman 2019-07-24 16:50 ` Guenter Roeck 2019-07-24 18:31 ` Greg Kroah-Hartman 2019-07-24 18:46 ` Guenter Roeck
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox