Re: [PATCH 07/79] usb: switch to new ctime accessors

From: Jan Kara
Date: Wed Jun 21 2023 - 12:37:35 EST


On Wed 21-06-23 10:45:20, Jeff Layton wrote:
> In later patches, we're going to change how the ctime.tv_nsec field is
> utilized. Switch to using accessor functions instead of raw accesses of
> inode->i_ctime.
>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>

Looks good to me. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> drivers/usb/core/devio.c | 16 ++++++++--------
> drivers/usb/gadget/function/f_fs.c | 6 +-----
> drivers/usb/gadget/legacy/inode.c | 3 +--
> 3 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
> index 1a16a8bdea60..02f718e0deaf 100644
> --- a/drivers/usb/core/devio.c
> +++ b/drivers/usb/core/devio.c
> @@ -2642,21 +2642,21 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
> snoop(&dev->dev, "%s: CONTROL\n", __func__);
> ret = proc_control(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_BULK:
> snoop(&dev->dev, "%s: BULK\n", __func__);
> ret = proc_bulk(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_RESETEP:
> snoop(&dev->dev, "%s: RESETEP\n", __func__);
> ret = proc_resetep(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_RESET:
> @@ -2668,7 +2668,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
> snoop(&dev->dev, "%s: CLEAR_HALT\n", __func__);
> ret = proc_clearhalt(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_GETDRIVER:
> @@ -2695,7 +2695,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
> snoop(&dev->dev, "%s: SUBMITURB\n", __func__);
> ret = proc_submiturb(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> #ifdef CONFIG_COMPAT
> @@ -2703,14 +2703,14 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
> snoop(&dev->dev, "%s: CONTROL32\n", __func__);
> ret = proc_control_compat(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_BULK32:
> snoop(&dev->dev, "%s: BULK32\n", __func__);
> ret = proc_bulk_compat(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_DISCSIGNAL32:
> @@ -2722,7 +2722,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
> snoop(&dev->dev, "%s: SUBMITURB32\n", __func__);
> ret = proc_submiturb_compat(ps, p);
> if (ret >= 0)
> - inode->i_mtime = inode->i_ctime = current_time(inode);
> + inode->i_mtime = inode_ctime_set_current(inode);
> break;
>
> case USBDEVFS_IOCTL32:
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index f41a385a5c42..756c78043a04 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -1377,16 +1377,12 @@ ffs_sb_make_inode(struct super_block *sb, void *data,
> inode = new_inode(sb);
>
> if (inode) {
> - struct timespec64 ts = current_time(inode);
> -
> inode->i_ino = get_next_ino();
> inode->i_mode = perms->mode;
> inode->i_uid = perms->uid;
> inode->i_gid = perms->gid;
> - inode->i_atime = ts;
> - inode->i_mtime = ts;
> - inode->i_ctime = ts;
> inode->i_private = data;
> + inode->i_atime = inode->i_mtime = inode_ctime_set_current(inode);
> if (fops)
> inode->i_fop = fops;
> if (iops)
> diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> index 28249d0bf062..b83a68feb316 100644
> --- a/drivers/usb/gadget/legacy/inode.c
> +++ b/drivers/usb/gadget/legacy/inode.c
> @@ -1969,8 +1969,7 @@ gadgetfs_make_inode (struct super_block *sb,
> inode->i_mode = mode;
> inode->i_uid = make_kuid(&init_user_ns, default_uid);
> inode->i_gid = make_kgid(&init_user_ns, default_gid);
> - inode->i_atime = inode->i_mtime = inode->i_ctime
> - = current_time(inode);
> + inode->i_atime = inode->i_mtime = inode_ctime_set_current(inode);
> inode->i_private = data;
> inode->i_fop = fops;
> }
> --
> 2.41.0
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR