Re: btrfs related build failures in stable queues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux