In later patches, we're going to change how the inode's ctime field is
used. Switch to using accessor functions instead of raw accesses of
inode->i_ctime.
Signed-off-by: Jeff Layton <[email protected]>
---
ipc/mqueue.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 71881bddad25..ba8215ed663a 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -302,7 +302,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
inode->i_mode = mode;
inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid();
- inode->i_mtime = inode->i_ctime = inode->i_atime = current_time(inode);
+ inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
if (S_ISREG(mode)) {
struct mqueue_inode_info *info;
@@ -596,7 +596,7 @@ static int mqueue_create_attr(struct dentry *dentry, umode_t mode, void *arg)
put_ipc_ns(ipc_ns);
dir->i_size += DIRENT_SIZE;
- dir->i_ctime = dir->i_mtime = dir->i_atime = current_time(dir);
+ dir->i_mtime = dir->i_atime = inode_set_ctime_current(dir);
d_instantiate(dentry, inode);
dget(dentry);
@@ -618,7 +618,7 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
{
struct inode *inode = d_inode(dentry);
- dir->i_ctime = dir->i_mtime = dir->i_atime = current_time(dir);
+ dir->i_mtime = dir->i_atime = inode_set_ctime_current(dir);
dir->i_size -= DIRENT_SIZE;
drop_nlink(inode);
dput(dentry);
@@ -635,7 +635,8 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
size_t count, loff_t *off)
{
- struct mqueue_inode_info *info = MQUEUE_I(file_inode(filp));
+ struct inode *inode = file_inode(filp);
+ struct mqueue_inode_info *info = MQUEUE_I(inode);
char buffer[FILENT_SIZE];
ssize_t ret;
@@ -656,7 +657,7 @@ static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
if (ret <= 0)
return ret;
- file_inode(filp)->i_atime = file_inode(filp)->i_ctime = current_time(file_inode(filp));
+ inode->i_atime = inode_set_ctime_current(inode);
return ret;
}
@@ -1162,8 +1163,7 @@ static int do_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
goto out_unlock;
__do_notify(info);
}
- inode->i_atime = inode->i_mtime = inode->i_ctime =
- current_time(inode);
+ inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
}
out_unlock:
spin_unlock(&info->lock);
@@ -1257,8 +1257,7 @@ static int do_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
msg_ptr = msg_get(info);
- inode->i_atime = inode->i_mtime = inode->i_ctime =
- current_time(inode);
+ inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
/* There is now free space in queue. */
pipelined_receive(&wake_q, info);
@@ -1396,7 +1395,7 @@ static int do_mq_notify(mqd_t mqdes, const struct sigevent *notification)
if (notification == NULL) {
if (info->notify_owner == task_tgid(current)) {
remove_notification(info);
- inode->i_atime = inode->i_ctime = current_time(inode);
+ inode->i_atime = inode_set_ctime_current(inode);
}
} else if (info->notify_owner != NULL) {
ret = -EBUSY;
@@ -1422,7 +1421,7 @@ static int do_mq_notify(mqd_t mqdes, const struct sigevent *notification)
info->notify_owner = get_pid(task_tgid(current));
info->notify_user_ns = get_user_ns(current_user_ns());
- inode->i_atime = inode->i_ctime = current_time(inode);
+ inode->i_atime = inode_set_ctime_current(inode);
}
spin_unlock(&info->lock);
out_fput:
@@ -1485,7 +1484,7 @@ static int do_mq_getsetattr(int mqdes, struct mq_attr *new, struct mq_attr *old)
f.file->f_flags &= ~O_NONBLOCK;
spin_unlock(&f.file->f_lock);
- inode->i_atime = inode->i_ctime = current_time(inode);
+ inode->i_atime = inode_set_ctime_current(inode);
}
spin_unlock(&info->lock);
--
2.41.0
On Wed 05-07-23 15:01:50, Jeff Layton wrote:
> In later patches, we're going to change how the inode's ctime field is
> used. Switch to using accessor functions instead of raw accesses of
> inode->i_ctime.
>
> Signed-off-by: Jeff Layton <[email protected]>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <[email protected]>
Honza
> ---
> ipc/mqueue.c | 23 +++++++++++------------
> 1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/ipc/mqueue.c b/ipc/mqueue.c
> index 71881bddad25..ba8215ed663a 100644
> --- a/ipc/mqueue.c
> +++ b/ipc/mqueue.c
> @@ -302,7 +302,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
> inode->i_mode = mode;
> inode->i_uid = current_fsuid();
> inode->i_gid = current_fsgid();
> - inode->i_mtime = inode->i_ctime = inode->i_atime = current_time(inode);
> + inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
>
> if (S_ISREG(mode)) {
> struct mqueue_inode_info *info;
> @@ -596,7 +596,7 @@ static int mqueue_create_attr(struct dentry *dentry, umode_t mode, void *arg)
>
> put_ipc_ns(ipc_ns);
> dir->i_size += DIRENT_SIZE;
> - dir->i_ctime = dir->i_mtime = dir->i_atime = current_time(dir);
> + dir->i_mtime = dir->i_atime = inode_set_ctime_current(dir);
>
> d_instantiate(dentry, inode);
> dget(dentry);
> @@ -618,7 +618,7 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
> {
> struct inode *inode = d_inode(dentry);
>
> - dir->i_ctime = dir->i_mtime = dir->i_atime = current_time(dir);
> + dir->i_mtime = dir->i_atime = inode_set_ctime_current(dir);
> dir->i_size -= DIRENT_SIZE;
> drop_nlink(inode);
> dput(dentry);
> @@ -635,7 +635,8 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
> static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
> size_t count, loff_t *off)
> {
> - struct mqueue_inode_info *info = MQUEUE_I(file_inode(filp));
> + struct inode *inode = file_inode(filp);
> + struct mqueue_inode_info *info = MQUEUE_I(inode);
> char buffer[FILENT_SIZE];
> ssize_t ret;
>
> @@ -656,7 +657,7 @@ static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
> if (ret <= 0)
> return ret;
>
> - file_inode(filp)->i_atime = file_inode(filp)->i_ctime = current_time(file_inode(filp));
> + inode->i_atime = inode_set_ctime_current(inode);
> return ret;
> }
>
> @@ -1162,8 +1163,7 @@ static int do_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
> goto out_unlock;
> __do_notify(info);
> }
> - inode->i_atime = inode->i_mtime = inode->i_ctime =
> - current_time(inode);
> + inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
> }
> out_unlock:
> spin_unlock(&info->lock);
> @@ -1257,8 +1257,7 @@ static int do_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
>
> msg_ptr = msg_get(info);
>
> - inode->i_atime = inode->i_mtime = inode->i_ctime =
> - current_time(inode);
> + inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
>
> /* There is now free space in queue. */
> pipelined_receive(&wake_q, info);
> @@ -1396,7 +1395,7 @@ static int do_mq_notify(mqd_t mqdes, const struct sigevent *notification)
> if (notification == NULL) {
> if (info->notify_owner == task_tgid(current)) {
> remove_notification(info);
> - inode->i_atime = inode->i_ctime = current_time(inode);
> + inode->i_atime = inode_set_ctime_current(inode);
> }
> } else if (info->notify_owner != NULL) {
> ret = -EBUSY;
> @@ -1422,7 +1421,7 @@ static int do_mq_notify(mqd_t mqdes, const struct sigevent *notification)
>
> info->notify_owner = get_pid(task_tgid(current));
> info->notify_user_ns = get_user_ns(current_user_ns());
> - inode->i_atime = inode->i_ctime = current_time(inode);
> + inode->i_atime = inode_set_ctime_current(inode);
> }
> spin_unlock(&info->lock);
> out_fput:
> @@ -1485,7 +1484,7 @@ static int do_mq_getsetattr(int mqdes, struct mq_attr *new, struct mq_attr *old)
> f.file->f_flags &= ~O_NONBLOCK;
> spin_unlock(&f.file->f_lock);
>
> - inode->i_atime = inode->i_ctime = current_time(inode);
> + inode->i_atime = inode_set_ctime_current(inode);
> }
>
> spin_unlock(&info->lock);
> --
> 2.41.0
>
--
Jan Kara <[email protected]>
SUSE Labs, CR