mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
ext2: 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-39-jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
f29f190828
commit
fc4eed640d
@ -237,7 +237,7 @@ ext2_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
|
|||||||
error = __ext2_set_acl(inode, acl, type);
|
error = __ext2_set_acl(inode, acl, type);
|
||||||
if (!error && update_mode) {
|
if (!error && update_mode) {
|
||||||
inode->i_mode = mode;
|
inode->i_mode = mode;
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
}
|
}
|
||||||
return error;
|
return error;
|
||||||
|
@ -468,7 +468,7 @@ int ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de,
|
|||||||
ext2_set_de_type(de, inode);
|
ext2_set_de_type(de, inode);
|
||||||
ext2_commit_chunk(page, pos, len);
|
ext2_commit_chunk(page, pos, len);
|
||||||
if (update_times)
|
if (update_times)
|
||||||
dir->i_mtime = dir->i_ctime = current_time(dir);
|
dir->i_mtime = inode_set_ctime_current(dir);
|
||||||
EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
|
EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
|
||||||
mark_inode_dirty(dir);
|
mark_inode_dirty(dir);
|
||||||
return ext2_handle_dirsync(dir);
|
return ext2_handle_dirsync(dir);
|
||||||
@ -555,7 +555,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode)
|
|||||||
de->inode = cpu_to_le32(inode->i_ino);
|
de->inode = cpu_to_le32(inode->i_ino);
|
||||||
ext2_set_de_type (de, inode);
|
ext2_set_de_type (de, inode);
|
||||||
ext2_commit_chunk(page, pos, rec_len);
|
ext2_commit_chunk(page, pos, rec_len);
|
||||||
dir->i_mtime = dir->i_ctime = current_time(dir);
|
dir->i_mtime = inode_set_ctime_current(dir);
|
||||||
EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
|
EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
|
||||||
mark_inode_dirty(dir);
|
mark_inode_dirty(dir);
|
||||||
err = ext2_handle_dirsync(dir);
|
err = ext2_handle_dirsync(dir);
|
||||||
@ -606,7 +606,7 @@ int ext2_delete_entry(struct ext2_dir_entry_2 *dir, struct page *page)
|
|||||||
pde->rec_len = ext2_rec_len_to_disk(to - from);
|
pde->rec_len = ext2_rec_len_to_disk(to - from);
|
||||||
dir->inode = 0;
|
dir->inode = 0;
|
||||||
ext2_commit_chunk(page, pos, to - from);
|
ext2_commit_chunk(page, pos, to - from);
|
||||||
inode->i_ctime = inode->i_mtime = current_time(inode);
|
inode->i_mtime = inode_set_ctime_current(inode);
|
||||||
EXT2_I(inode)->i_flags &= ~EXT2_BTREE_FL;
|
EXT2_I(inode)->i_flags &= ~EXT2_BTREE_FL;
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
return ext2_handle_dirsync(inode);
|
return ext2_handle_dirsync(inode);
|
||||||
|
@ -549,7 +549,7 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode,
|
|||||||
|
|
||||||
inode->i_ino = ino;
|
inode->i_ino = ino;
|
||||||
inode->i_blocks = 0;
|
inode->i_blocks = 0;
|
||||||
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
|
inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
|
||||||
memset(ei->i_data, 0, sizeof(ei->i_data));
|
memset(ei->i_data, 0, sizeof(ei->i_data));
|
||||||
ei->i_flags =
|
ei->i_flags =
|
||||||
ext2_mask_flags(mode, EXT2_I(dir)->i_flags & EXT2_FL_INHERITED);
|
ext2_mask_flags(mode, EXT2_I(dir)->i_flags & EXT2_FL_INHERITED);
|
||||||
|
@ -595,7 +595,7 @@ static void ext2_splice_branch(struct inode *inode,
|
|||||||
if (where->bh)
|
if (where->bh)
|
||||||
mark_buffer_dirty_inode(where->bh, inode);
|
mark_buffer_dirty_inode(where->bh, inode);
|
||||||
|
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1287,7 +1287,7 @@ static int ext2_setsize(struct inode *inode, loff_t newsize)
|
|||||||
__ext2_truncate_blocks(inode, newsize);
|
__ext2_truncate_blocks(inode, newsize);
|
||||||
filemap_invalidate_unlock(inode->i_mapping);
|
filemap_invalidate_unlock(inode->i_mapping);
|
||||||
|
|
||||||
inode->i_mtime = inode->i_ctime = current_time(inode);
|
inode->i_mtime = inode_set_ctime_current(inode);
|
||||||
if (inode_needs_sync(inode)) {
|
if (inode_needs_sync(inode)) {
|
||||||
sync_mapping_buffers(inode->i_mapping);
|
sync_mapping_buffers(inode->i_mapping);
|
||||||
sync_inode_metadata(inode, 1);
|
sync_inode_metadata(inode, 1);
|
||||||
@ -1409,9 +1409,9 @@ struct inode *ext2_iget (struct super_block *sb, unsigned long ino)
|
|||||||
set_nlink(inode, le16_to_cpu(raw_inode->i_links_count));
|
set_nlink(inode, le16_to_cpu(raw_inode->i_links_count));
|
||||||
inode->i_size = le32_to_cpu(raw_inode->i_size);
|
inode->i_size = le32_to_cpu(raw_inode->i_size);
|
||||||
inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime);
|
inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime);
|
||||||
inode->i_ctime.tv_sec = (signed)le32_to_cpu(raw_inode->i_ctime);
|
inode_set_ctime(inode, (signed)le32_to_cpu(raw_inode->i_ctime), 0);
|
||||||
inode->i_mtime.tv_sec = (signed)le32_to_cpu(raw_inode->i_mtime);
|
inode->i_mtime.tv_sec = (signed)le32_to_cpu(raw_inode->i_mtime);
|
||||||
inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = 0;
|
inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = 0;
|
||||||
ei->i_dtime = le32_to_cpu(raw_inode->i_dtime);
|
ei->i_dtime = le32_to_cpu(raw_inode->i_dtime);
|
||||||
/* We now have enough fields to check if the inode was active or not.
|
/* We now have enough fields to check if the inode was active or not.
|
||||||
* This is needed because nfsd might try to access dead inodes
|
* This is needed because nfsd might try to access dead inodes
|
||||||
@ -1541,7 +1541,7 @@ static int __ext2_write_inode(struct inode *inode, int do_sync)
|
|||||||
raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
|
raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
|
||||||
raw_inode->i_size = cpu_to_le32(inode->i_size);
|
raw_inode->i_size = cpu_to_le32(inode->i_size);
|
||||||
raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec);
|
raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec);
|
||||||
raw_inode->i_ctime = cpu_to_le32(inode->i_ctime.tv_sec);
|
raw_inode->i_ctime = cpu_to_le32(inode_get_ctime(inode).tv_sec);
|
||||||
raw_inode->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec);
|
raw_inode->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec);
|
||||||
|
|
||||||
raw_inode->i_blocks = cpu_to_le32(inode->i_blocks);
|
raw_inode->i_blocks = cpu_to_le32(inode->i_blocks);
|
||||||
|
@ -44,7 +44,7 @@ int ext2_fileattr_set(struct mnt_idmap *idmap,
|
|||||||
(fa->flags & EXT2_FL_USER_MODIFIABLE);
|
(fa->flags & EXT2_FL_USER_MODIFIABLE);
|
||||||
|
|
||||||
ext2_set_inode_flags(inode);
|
ext2_set_inode_flags(inode);
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -77,7 +77,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
inode_lock(inode);
|
inode_lock(inode);
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
inode->i_generation = generation;
|
inode->i_generation = generation;
|
||||||
inode_unlock(inode);
|
inode_unlock(inode);
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ static int ext2_link (struct dentry * old_dentry, struct inode * dir,
|
|||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
inode_inc_link_count(inode);
|
inode_inc_link_count(inode);
|
||||||
ihold(inode);
|
ihold(inode);
|
||||||
|
|
||||||
@ -291,7 +291,7 @@ static int ext2_unlink(struct inode *dir, struct dentry *dentry)
|
|||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
inode->i_ctime = dir->i_ctime;
|
inode_set_ctime_to_ts(inode, inode_get_ctime(dir));
|
||||||
inode_dec_link_count(inode);
|
inode_dec_link_count(inode);
|
||||||
err = 0;
|
err = 0;
|
||||||
out:
|
out:
|
||||||
@ -367,7 +367,7 @@ static int ext2_rename (struct mnt_idmap * idmap,
|
|||||||
ext2_put_page(new_page, new_de);
|
ext2_put_page(new_page, new_de);
|
||||||
if (err)
|
if (err)
|
||||||
goto out_dir;
|
goto out_dir;
|
||||||
new_inode->i_ctime = current_time(new_inode);
|
inode_set_ctime_current(new_inode);
|
||||||
if (dir_de)
|
if (dir_de)
|
||||||
drop_nlink(new_inode);
|
drop_nlink(new_inode);
|
||||||
inode_dec_link_count(new_inode);
|
inode_dec_link_count(new_inode);
|
||||||
@ -383,7 +383,7 @@ static int ext2_rename (struct mnt_idmap * idmap,
|
|||||||
* Like most other Unix systems, set the ctime for inodes on a
|
* Like most other Unix systems, set the ctime for inodes on a
|
||||||
* rename.
|
* rename.
|
||||||
*/
|
*/
|
||||||
old_inode->i_ctime = current_time(old_inode);
|
inode_set_ctime_current(old_inode);
|
||||||
mark_inode_dirty(old_inode);
|
mark_inode_dirty(old_inode);
|
||||||
|
|
||||||
err = ext2_delete_entry(old_de, old_page);
|
err = ext2_delete_entry(old_de, old_page);
|
||||||
|
@ -1572,7 +1572,7 @@ static ssize_t ext2_quota_write(struct super_block *sb, int type,
|
|||||||
if (inode->i_size < off+len-towrite)
|
if (inode->i_size < off+len-towrite)
|
||||||
i_size_write(inode, off+len-towrite);
|
i_size_write(inode, off+len-towrite);
|
||||||
inode_inc_iversion(inode);
|
inode_inc_iversion(inode);
|
||||||
inode->i_mtime = inode->i_ctime = current_time(inode);
|
inode->i_mtime = inode_set_ctime_current(inode);
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
return len - towrite;
|
return len - towrite;
|
||||||
}
|
}
|
||||||
|
@ -773,7 +773,7 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh,
|
|||||||
|
|
||||||
/* Update the inode. */
|
/* Update the inode. */
|
||||||
EXT2_I(inode)->i_file_acl = new_bh ? new_bh->b_blocknr : 0;
|
EXT2_I(inode)->i_file_acl = new_bh ? new_bh->b_blocknr : 0;
|
||||||
inode->i_ctime = current_time(inode);
|
inode_set_ctime_current(inode);
|
||||||
if (IS_SYNC(inode)) {
|
if (IS_SYNC(inode)) {
|
||||||
error = sync_inode_metadata(inode, 1);
|
error = sync_inode_metadata(inode, 1);
|
||||||
/* In case sync failed due to ENOSPC the inode was actually
|
/* In case sync failed due to ENOSPC the inode was actually
|
||||||
|
Loading…
Reference in New Issue
Block a user