mirror of
https://github.com/torvalds/linux
synced 2024-10-15 07:47:34 +00:00
mqueue: convert to ctime accessor functions
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 <jlayton@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Message-Id: <20230705190309.579783-83-jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
e359147f01
commit
783904f50a
23
ipc/mqueue.c
23
ipc/mqueue.c
|
@ -302,7 +302,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
|
||||||
inode->i_mode = mode;
|
inode->i_mode = mode;
|
||||||
inode->i_uid = current_fsuid();
|
inode->i_uid = current_fsuid();
|
||||||
inode->i_gid = current_fsgid();
|
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)) {
|
if (S_ISREG(mode)) {
|
||||||
struct mqueue_inode_info *info;
|
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);
|
put_ipc_ns(ipc_ns);
|
||||||
dir->i_size += DIRENT_SIZE;
|
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);
|
d_instantiate(dentry, inode);
|
||||||
dget(dentry);
|
dget(dentry);
|
||||||
|
@ -618,7 +618,7 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
|
||||||
{
|
{
|
||||||
struct inode *inode = d_inode(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;
|
dir->i_size -= DIRENT_SIZE;
|
||||||
drop_nlink(inode);
|
drop_nlink(inode);
|
||||||
dput(dentry);
|
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,
|
static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
|
||||||
size_t count, loff_t *off)
|
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];
|
char buffer[FILENT_SIZE];
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
|
|
||||||
|
@ -656,7 +657,7 @@ static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
return ret;
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1162,8 +1163,7 @@ static int do_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
__do_notify(info);
|
__do_notify(info);
|
||||||
}
|
}
|
||||||
inode->i_atime = inode->i_mtime = inode->i_ctime =
|
inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
|
||||||
current_time(inode);
|
|
||||||
}
|
}
|
||||||
out_unlock:
|
out_unlock:
|
||||||
spin_unlock(&info->lock);
|
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);
|
msg_ptr = msg_get(info);
|
||||||
|
|
||||||
inode->i_atime = inode->i_mtime = inode->i_ctime =
|
inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
|
||||||
current_time(inode);
|
|
||||||
|
|
||||||
/* There is now free space in queue. */
|
/* There is now free space in queue. */
|
||||||
pipelined_receive(&wake_q, info);
|
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 (notification == NULL) {
|
||||||
if (info->notify_owner == task_tgid(current)) {
|
if (info->notify_owner == task_tgid(current)) {
|
||||||
remove_notification(info);
|
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) {
|
} else if (info->notify_owner != NULL) {
|
||||||
ret = -EBUSY;
|
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_owner = get_pid(task_tgid(current));
|
||||||
info->notify_user_ns = get_user_ns(current_user_ns());
|
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);
|
spin_unlock(&info->lock);
|
||||||
out_fput:
|
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;
|
f.file->f_flags &= ~O_NONBLOCK;
|
||||||
spin_unlock(&f.file->f_lock);
|
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);
|
spin_unlock(&info->lock);
|
||||||
|
|
Loading…
Reference in a new issue