Linux kernel -stable discussions
 help / color / mirror / Atom feed
* 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: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 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 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