* [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
@ 2023-07-11 18:30 kernel test robot
2023-07-12 10:08 ` Christian Brauner
0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2023-07-11 18:30 UTC (permalink / raw)
To: Jeff Layton; +Cc: oe-kbuild-all, Christian Brauner, Jan Kara
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git mgctime
head: 61142a4e29e09f59b3b640f0f691e00af4c4a6f9
commit: 2ceaa835b4f50d1b0c0fa678f352bb4f6f5f8062 [50/118] hostfs: convert to ctime accessor functions
config: um-defconfig (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307120235.UI0A6Op0-lkp@intel.com/
All errors (new ones prefixed by >>):
fs/hostfs/hostfs_kern.c: In function 'hostfs_inode_update':
>> fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
520 | inode_set_ctime_to_ts(ino, &st->ctime);
| ^~~~~~~~~~
| |
| const struct hostfs_timespec *
In file included from fs/hostfs/hostfs_kern.c:9:
include/linux/fs.h:1499:73: note: expected 'struct timespec64' but argument is of type 'const struct hostfs_timespec *'
1499 | struct timespec64 ts)
| ~~~~~~~~~~~~~~~~~~^~
vim +/inode_set_ctime_to_ts +520 fs/hostfs/hostfs_kern.c
510
511 static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
512 {
513 set_nlink(ino, st->nlink);
514 i_uid_write(ino, st->uid);
515 i_gid_write(ino, st->gid);
516 ino->i_atime =
517 (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
518 ino->i_mtime =
519 (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> 520 inode_set_ctime_to_ts(ino, &st->ctime);
521 ino->i_size = st->size;
522 ino->i_blocks = st->blocks;
523 return 0;
524 }
525
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
2023-07-11 18:30 [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts' kernel test robot
@ 2023-07-12 10:08 ` Christian Brauner
2023-07-12 10:18 ` Jeff Layton
0 siblings, 1 reply; 5+ messages in thread
From: Christian Brauner @ 2023-07-12 10:08 UTC (permalink / raw)
To: Jeff Layton; +Cc: kernel test robot, oe-kbuild-all, Jan Kara
On Wed, Jul 12, 2023 at 02:30:10AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git mgctime
> head: 61142a4e29e09f59b3b640f0f691e00af4c4a6f9
> commit: 2ceaa835b4f50d1b0c0fa678f352bb4f6f5f8062 [50/118] hostfs: convert to ctime accessor functions
> config: um-defconfig (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce: (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202307120235.UI0A6Op0-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> fs/hostfs/hostfs_kern.c: In function 'hostfs_inode_update':
> >> fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
> 520 | inode_set_ctime_to_ts(ino, &st->ctime);
> | ^~~~~~~~~~
> | |
> | const struct hostfs_timespec *
> In file included from fs/hostfs/hostfs_kern.c:9:
> include/linux/fs.h:1499:73: note: expected 'struct timespec64' but argument is of type 'const struct hostfs_timespec *'
> 1499 | struct timespec64 ts)
> | ~~~~~~~~~~~~~~~~~~^~
This bug is also present in the patches I applied. I've fixed it up the
following way:
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 182af84a9c12..1f24ed13cf40 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -517,7 +517,8 @@ static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
(struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
ino->i_mtime =
(struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
- inode_set_ctime_to_ts(ino, &st->ctime);
+ inode_set_ctime_to_ts(ino, (struct timespec64){ st->ctime.tv_sec,
+ st->ctime.tv_nsec });
ino->i_size = st->size;
ino->i_blocks = st->blocks;
return 0;
Let me know if that's wrong.
>
>
> vim +/inode_set_ctime_to_ts +520 fs/hostfs/hostfs_kern.c
>
> 510
> 511 static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
> 512 {
> 513 set_nlink(ino, st->nlink);
> 514 i_uid_write(ino, st->uid);
> 515 i_gid_write(ino, st->gid);
> 516 ino->i_atime =
> 517 (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
> 518 ino->i_mtime =
> 519 (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> > 520 inode_set_ctime_to_ts(ino, &st->ctime);
> 521 ino->i_size = st->size;
> 522 ino->i_blocks = st->blocks;
> 523 return 0;
> 524 }
> 525
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
2023-07-12 10:08 ` Christian Brauner
@ 2023-07-12 10:18 ` Jeff Layton
2023-07-12 10:35 ` Jeff Layton
0 siblings, 1 reply; 5+ messages in thread
From: Jeff Layton @ 2023-07-12 10:18 UTC (permalink / raw)
To: Christian Brauner; +Cc: kernel test robot, oe-kbuild-all, Jan Kara
On Wed, 2023-07-12 at 12:08 +0200, Christian Brauner wrote:
> On Wed, Jul 12, 2023 at 02:30:10AM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git mgctime
> > head: 61142a4e29e09f59b3b640f0f691e00af4c4a6f9
> > commit: 2ceaa835b4f50d1b0c0fa678f352bb4f6f5f8062 [50/118] hostfs: convert to ctime accessor functions
> > config: um-defconfig (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/config)
> > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> > reproduce: (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202307120235.UI0A6Op0-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > fs/hostfs/hostfs_kern.c: In function 'hostfs_inode_update':
> > > > fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
> > 520 | inode_set_ctime_to_ts(ino, &st->ctime);
> > | ^~~~~~~~~~
> > | |
> > | const struct hostfs_timespec *
> > In file included from fs/hostfs/hostfs_kern.c:9:
> > include/linux/fs.h:1499:73: note: expected 'struct timespec64' but argument is of type 'const struct hostfs_timespec *'
> > 1499 | struct timespec64 ts)
> > | ~~~~~~~~~~~~~~~~~~^~
>
> This bug is also present in the patches I applied. I've fixed it up the
> following way:
>
> diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
> index 182af84a9c12..1f24ed13cf40 100644
> --- a/fs/hostfs/hostfs_kern.c
> +++ b/fs/hostfs/hostfs_kern.c
> @@ -517,7 +517,8 @@ static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
> (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
> ino->i_mtime =
> (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> - inode_set_ctime_to_ts(ino, &st->ctime);
> + inode_set_ctime_to_ts(ino, (struct timespec64){ st->ctime.tv_sec,
> + st->ctime.tv_nsec });
> ino->i_size = st->size;
> ino->i_blocks = st->blocks;
> return 0;
>
> Let me know if that's wrong.
>
That should work, but it's not quite as clean looking as:
inode_set_ctime(ino, st->ctime.tv_sec, st->ctime.tv_nsec);
I'm having trouble build testing this though as I don't have a config
that enables CONFIG_HOSTFS, and I'm not quite sure how to get there.
> >
> >
> > vim +/inode_set_ctime_to_ts +520 fs/hostfs/hostfs_kern.c
> >
> > 510
> > 511 static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
> > 512 {
> > 513 set_nlink(ino, st->nlink);
> > 514 i_uid_write(ino, st->uid);
> > 515 i_gid_write(ino, st->gid);
> > 516 ino->i_atime =
> > 517 (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
> > 518 ino->i_mtime =
> > 519 (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> > > 520 inode_set_ctime_to_ts(ino, &st->ctime);
> > 521 ino->i_size = st->size;
> > 522 ino->i_blocks = st->blocks;
> > 523 return 0;
> > 524 }
> > 525
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
2023-07-12 10:18 ` Jeff Layton
@ 2023-07-12 10:35 ` Jeff Layton
2023-07-12 11:10 ` Christian Brauner
0 siblings, 1 reply; 5+ messages in thread
From: Jeff Layton @ 2023-07-12 10:35 UTC (permalink / raw)
To: Christian Brauner; +Cc: kernel test robot, oe-kbuild-all, Jan Kara
On Wed, 2023-07-12 at 06:18 -0400, Jeff Layton wrote:
> On Wed, 2023-07-12 at 12:08 +0200, Christian Brauner wrote:
> > On Wed, Jul 12, 2023 at 02:30:10AM +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git mgctime
> > > head: 61142a4e29e09f59b3b640f0f691e00af4c4a6f9
> > > commit: 2ceaa835b4f50d1b0c0fa678f352bb4f6f5f8062 [50/118] hostfs: convert to ctime accessor functions
> > > config: um-defconfig (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/config)
> > > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> > > reproduce: (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/reproduce)
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > Closes: https://lore.kernel.org/oe-kbuild-all/202307120235.UI0A6Op0-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > fs/hostfs/hostfs_kern.c: In function 'hostfs_inode_update':
> > > > > fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
> > > 520 | inode_set_ctime_to_ts(ino, &st->ctime);
> > > | ^~~~~~~~~~
> > > | |
> > > | const struct hostfs_timespec *
> > > In file included from fs/hostfs/hostfs_kern.c:9:
> > > include/linux/fs.h:1499:73: note: expected 'struct timespec64' but argument is of type 'const struct hostfs_timespec *'
> > > 1499 | struct timespec64 ts)
> > > | ~~~~~~~~~~~~~~~~~~^~
> >
> > This bug is also present in the patches I applied. I've fixed it up the
> > following way:
> >
> > diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
> > index 182af84a9c12..1f24ed13cf40 100644
> > --- a/fs/hostfs/hostfs_kern.c
> > +++ b/fs/hostfs/hostfs_kern.c
> > @@ -517,7 +517,8 @@ static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
> > (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
> > ino->i_mtime =
> > (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> > - inode_set_ctime_to_ts(ino, &st->ctime);
> > + inode_set_ctime_to_ts(ino, (struct timespec64){ st->ctime.tv_sec,
> > + st->ctime.tv_nsec });
> > ino->i_size = st->size;
> > ino->i_blocks = st->blocks;
> > return 0;
> >
> > Let me know if that's wrong.
> >
>
> That should work, but it's not quite as clean looking as:
>
> inode_set_ctime(ino, st->ctime.tv_sec, st->ctime.tv_nsec);
>
> I'm having trouble build testing this though as I don't have a config
> that enables CONFIG_HOSTFS, and I'm not quite sure how to get there.
Yeah, I'm not sure what I'm doing wrong, but when I take the config file
associated with this bug report and run it through make oldconfig,
CONFIG_HOSTFS ends up being disabled. I've not been able to test this
properly.
Is there some trick to building a proper UML kernel these days?
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
2023-07-12 10:35 ` Jeff Layton
@ 2023-07-12 11:10 ` Christian Brauner
0 siblings, 0 replies; 5+ messages in thread
From: Christian Brauner @ 2023-07-12 11:10 UTC (permalink / raw)
To: Jeff Layton; +Cc: kernel test robot, oe-kbuild-all, Jan Kara
On Wed, Jul 12, 2023 at 06:35:08AM -0400, Jeff Layton wrote:
> On Wed, 2023-07-12 at 06:18 -0400, Jeff Layton wrote:
> > On Wed, 2023-07-12 at 12:08 +0200, Christian Brauner wrote:
> > > On Wed, Jul 12, 2023 at 02:30:10AM +0800, kernel test robot wrote:
> > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git mgctime
> > > > head: 61142a4e29e09f59b3b640f0f691e00af4c4a6f9
> > > > commit: 2ceaa835b4f50d1b0c0fa678f352bb4f6f5f8062 [50/118] hostfs: convert to ctime accessor functions
> > > > config: um-defconfig (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/config)
> > > > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> > > > reproduce: (https://download.01.org/0day-ci/archive/20230712/202307120235.UI0A6Op0-lkp@intel.com/reproduce)
> > > >
> > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > > the same patch/commit), kindly add following tags
> > > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > > Closes: https://lore.kernel.org/oe-kbuild-all/202307120235.UI0A6Op0-lkp@intel.com/
> > > >
> > > > All errors (new ones prefixed by >>):
> > > >
> > > > fs/hostfs/hostfs_kern.c: In function 'hostfs_inode_update':
> > > > > > fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts'
> > > > 520 | inode_set_ctime_to_ts(ino, &st->ctime);
> > > > | ^~~~~~~~~~
> > > > | |
> > > > | const struct hostfs_timespec *
> > > > In file included from fs/hostfs/hostfs_kern.c:9:
> > > > include/linux/fs.h:1499:73: note: expected 'struct timespec64' but argument is of type 'const struct hostfs_timespec *'
> > > > 1499 | struct timespec64 ts)
> > > > | ~~~~~~~~~~~~~~~~~~^~
> > >
> > > This bug is also present in the patches I applied. I've fixed it up the
> > > following way:
> > >
> > > diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
> > > index 182af84a9c12..1f24ed13cf40 100644
> > > --- a/fs/hostfs/hostfs_kern.c
> > > +++ b/fs/hostfs/hostfs_kern.c
> > > @@ -517,7 +517,8 @@ static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st)
> > > (struct timespec64){ st->atime.tv_sec, st->atime.tv_nsec };
> > > ino->i_mtime =
> > > (struct timespec64){ st->mtime.tv_sec, st->mtime.tv_nsec };
> > > - inode_set_ctime_to_ts(ino, &st->ctime);
> > > + inode_set_ctime_to_ts(ino, (struct timespec64){ st->ctime.tv_sec,
> > > + st->ctime.tv_nsec });
> > > ino->i_size = st->size;
> > > ino->i_blocks = st->blocks;
> > > return 0;
> > >
> > > Let me know if that's wrong.
> > >
> >
> > That should work, but it's not quite as clean looking as:
> >
> > inode_set_ctime(ino, st->ctime.tv_sec, st->ctime.tv_nsec);
> >
> > I'm having trouble build testing this though as I don't have a config
> > that enables CONFIG_HOSTFS, and I'm not quite sure how to get there.
>
>
> Yeah, I'm not sure what I'm doing wrong, but when I take the config file
> associated with this bug report and run it through make oldconfig,
> CONFIG_HOSTFS ends up being disabled. I've not been able to test this
> properly.
>
> Is there some trick to building a proper UML kernel these days?
So what I end up doing is:
cd kernel-repo/
mkdir build
cp /boot/$config build/.config
make ARCH=um O=build.v1/ fs/hostfs/hostfs_kern.o
that should be enough to test whether this compiles. With your change
applied:
> make -j7 ARCH=um O=build.v1/ fs/hostfs/hostfs_kern.o
GEN Makefile
DESCEND bpf/resolve_btfids
INSTALL libsubcmd_headers
CALL ../scripts/checksyscalls.sh
CC fs/hostfs/hostfs_kern.o
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-12 11:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-11 18:30 [jlayton:mgctime 50/118] fs/hostfs/hostfs_kern.c:520:36: error: incompatible type for argument 2 of 'inode_set_ctime_to_ts' kernel test robot
2023-07-12 10:08 ` Christian Brauner
2023-07-12 10:18 ` Jeff Layton
2023-07-12 10:35 ` Jeff Layton
2023-07-12 11:10 ` Christian Brauner
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.