mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ufs: 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-78-jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
		
							parent
							
								
									59ad88f26e
								
							
						
					
					
						commit
						6eeb017e4f
					
				
					 4 changed files with 21 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -107,7 +107,7 @@ void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
 | 
			
		|||
	ufs_commit_chunk(page, pos, len);
 | 
			
		||||
	ufs_put_page(page);
 | 
			
		||||
	if (update_times)
 | 
			
		||||
		dir->i_mtime = dir->i_ctime = current_time(dir);
 | 
			
		||||
		dir->i_mtime = inode_set_ctime_current(dir);
 | 
			
		||||
	mark_inode_dirty(dir);
 | 
			
		||||
	ufs_handle_dirsync(dir);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -397,7 +397,7 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
 | 
			
		|||
	ufs_set_de_type(sb, de, inode->i_mode);
 | 
			
		||||
 | 
			
		||||
	ufs_commit_chunk(page, pos, rec_len);
 | 
			
		||||
	dir->i_mtime = dir->i_ctime = current_time(dir);
 | 
			
		||||
	dir->i_mtime = inode_set_ctime_current(dir);
 | 
			
		||||
 | 
			
		||||
	mark_inode_dirty(dir);
 | 
			
		||||
	err = ufs_handle_dirsync(dir);
 | 
			
		||||
| 
						 | 
				
			
			@ -539,7 +539,7 @@ int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
 | 
			
		|||
		pde->d_reclen = cpu_to_fs16(sb, to - from);
 | 
			
		||||
	dir->d_ino = 0;
 | 
			
		||||
	ufs_commit_chunk(page, pos, to - from);
 | 
			
		||||
	inode->i_ctime = inode->i_mtime = current_time(inode);
 | 
			
		||||
	inode->i_mtime = inode_set_ctime_current(inode);
 | 
			
		||||
	mark_inode_dirty(inode);
 | 
			
		||||
	err = ufs_handle_dirsync(inode);
 | 
			
		||||
out:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -292,7 +292,7 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode)
 | 
			
		|||
	inode_init_owner(&nop_mnt_idmap, inode, dir, mode);
 | 
			
		||||
	inode->i_blocks = 0;
 | 
			
		||||
	inode->i_generation = 0;
 | 
			
		||||
	inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
 | 
			
		||||
	inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
 | 
			
		||||
	ufsi->i_flags = UFS_I(dir)->i_flags;
 | 
			
		||||
	ufsi->i_lastfrag = 0;
 | 
			
		||||
	ufsi->i_shadow = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -296,7 +296,7 @@ ufs_inode_getfrag(struct inode *inode, unsigned index,
 | 
			
		|||
 | 
			
		||||
	if (new)
 | 
			
		||||
		*new = 1;
 | 
			
		||||
	inode->i_ctime = current_time(inode);
 | 
			
		||||
	inode_set_ctime_current(inode);
 | 
			
		||||
	if (IS_SYNC(inode))
 | 
			
		||||
		ufs_sync_inode (inode);
 | 
			
		||||
	mark_inode_dirty(inode);
 | 
			
		||||
| 
						 | 
				
			
			@ -378,7 +378,7 @@ ufs_inode_getblock(struct inode *inode, u64 ind_block,
 | 
			
		|||
	mark_buffer_dirty(bh);
 | 
			
		||||
	if (IS_SYNC(inode))
 | 
			
		||||
		sync_dirty_buffer(bh);
 | 
			
		||||
	inode->i_ctime = current_time(inode);
 | 
			
		||||
	inode_set_ctime_current(inode);
 | 
			
		||||
	mark_inode_dirty(inode);
 | 
			
		||||
out:
 | 
			
		||||
	brelse (bh);
 | 
			
		||||
| 
						 | 
				
			
			@ -580,11 +580,12 @@ static int ufs1_read_inode(struct inode *inode, struct ufs_inode *ufs_inode)
 | 
			
		|||
 | 
			
		||||
	inode->i_size = fs64_to_cpu(sb, ufs_inode->ui_size);
 | 
			
		||||
	inode->i_atime.tv_sec = (signed)fs32_to_cpu(sb, ufs_inode->ui_atime.tv_sec);
 | 
			
		||||
	inode->i_ctime.tv_sec = (signed)fs32_to_cpu(sb, ufs_inode->ui_ctime.tv_sec);
 | 
			
		||||
	inode_set_ctime(inode,
 | 
			
		||||
			(signed)fs32_to_cpu(sb, ufs_inode->ui_ctime.tv_sec),
 | 
			
		||||
			0);
 | 
			
		||||
	inode->i_mtime.tv_sec = (signed)fs32_to_cpu(sb, ufs_inode->ui_mtime.tv_sec);
 | 
			
		||||
	inode->i_mtime.tv_nsec = 0;
 | 
			
		||||
	inode->i_atime.tv_nsec = 0;
 | 
			
		||||
	inode->i_ctime.tv_nsec = 0;
 | 
			
		||||
	inode->i_blocks = fs32_to_cpu(sb, ufs_inode->ui_blocks);
 | 
			
		||||
	inode->i_generation = fs32_to_cpu(sb, ufs_inode->ui_gen);
 | 
			
		||||
	ufsi->i_flags = fs32_to_cpu(sb, ufs_inode->ui_flags);
 | 
			
		||||
| 
						 | 
				
			
			@ -626,10 +627,10 @@ static int ufs2_read_inode(struct inode *inode, struct ufs2_inode *ufs2_inode)
 | 
			
		|||
 | 
			
		||||
	inode->i_size = fs64_to_cpu(sb, ufs2_inode->ui_size);
 | 
			
		||||
	inode->i_atime.tv_sec = fs64_to_cpu(sb, ufs2_inode->ui_atime);
 | 
			
		||||
	inode->i_ctime.tv_sec = fs64_to_cpu(sb, ufs2_inode->ui_ctime);
 | 
			
		||||
	inode_set_ctime(inode, fs64_to_cpu(sb, ufs2_inode->ui_ctime),
 | 
			
		||||
			fs32_to_cpu(sb, ufs2_inode->ui_ctimensec));
 | 
			
		||||
	inode->i_mtime.tv_sec = fs64_to_cpu(sb, ufs2_inode->ui_mtime);
 | 
			
		||||
	inode->i_atime.tv_nsec = fs32_to_cpu(sb, ufs2_inode->ui_atimensec);
 | 
			
		||||
	inode->i_ctime.tv_nsec = fs32_to_cpu(sb, ufs2_inode->ui_ctimensec);
 | 
			
		||||
	inode->i_mtime.tv_nsec = fs32_to_cpu(sb, ufs2_inode->ui_mtimensec);
 | 
			
		||||
	inode->i_blocks = fs64_to_cpu(sb, ufs2_inode->ui_blocks);
 | 
			
		||||
	inode->i_generation = fs32_to_cpu(sb, ufs2_inode->ui_gen);
 | 
			
		||||
| 
						 | 
				
			
			@ -726,7 +727,8 @@ static void ufs1_update_inode(struct inode *inode, struct ufs_inode *ufs_inode)
 | 
			
		|||
	ufs_inode->ui_size = cpu_to_fs64(sb, inode->i_size);
 | 
			
		||||
	ufs_inode->ui_atime.tv_sec = cpu_to_fs32(sb, inode->i_atime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_atime.tv_usec = 0;
 | 
			
		||||
	ufs_inode->ui_ctime.tv_sec = cpu_to_fs32(sb, inode->i_ctime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_ctime.tv_sec = cpu_to_fs32(sb,
 | 
			
		||||
						 inode_get_ctime(inode).tv_sec);
 | 
			
		||||
	ufs_inode->ui_ctime.tv_usec = 0;
 | 
			
		||||
	ufs_inode->ui_mtime.tv_sec = cpu_to_fs32(sb, inode->i_mtime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_mtime.tv_usec = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -770,8 +772,9 @@ static void ufs2_update_inode(struct inode *inode, struct ufs2_inode *ufs_inode)
 | 
			
		|||
	ufs_inode->ui_size = cpu_to_fs64(sb, inode->i_size);
 | 
			
		||||
	ufs_inode->ui_atime = cpu_to_fs64(sb, inode->i_atime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_atimensec = cpu_to_fs32(sb, inode->i_atime.tv_nsec);
 | 
			
		||||
	ufs_inode->ui_ctime = cpu_to_fs64(sb, inode->i_ctime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_ctimensec = cpu_to_fs32(sb, inode->i_ctime.tv_nsec);
 | 
			
		||||
	ufs_inode->ui_ctime = cpu_to_fs64(sb, inode_get_ctime(inode).tv_sec);
 | 
			
		||||
	ufs_inode->ui_ctimensec = cpu_to_fs32(sb,
 | 
			
		||||
					      inode_get_ctime(inode).tv_nsec);
 | 
			
		||||
	ufs_inode->ui_mtime = cpu_to_fs64(sb, inode->i_mtime.tv_sec);
 | 
			
		||||
	ufs_inode->ui_mtimensec = cpu_to_fs32(sb, inode->i_mtime.tv_nsec);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1205,7 +1208,7 @@ static int ufs_truncate(struct inode *inode, loff_t size)
 | 
			
		|||
	truncate_setsize(inode, size);
 | 
			
		||||
 | 
			
		||||
	ufs_truncate_blocks(inode);
 | 
			
		||||
	inode->i_mtime = inode->i_ctime = current_time(inode);
 | 
			
		||||
	inode->i_mtime = inode_set_ctime_current(inode);
 | 
			
		||||
	mark_inode_dirty(inode);
 | 
			
		||||
out:
 | 
			
		||||
	UFSD("EXIT: err %d\n", err);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,7 +153,7 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir,
 | 
			
		|||
	struct inode *inode = d_inode(old_dentry);
 | 
			
		||||
	int error;
 | 
			
		||||
 | 
			
		||||
	inode->i_ctime = current_time(inode);
 | 
			
		||||
	inode_set_ctime_current(inode);
 | 
			
		||||
	inode_inc_link_count(inode);
 | 
			
		||||
	ihold(inode);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +220,7 @@ static int ufs_unlink(struct inode *dir, struct dentry *dentry)
 | 
			
		|||
	if (err)
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	inode->i_ctime = dir->i_ctime;
 | 
			
		||||
	inode_set_ctime_to_ts(inode, inode_get_ctime(dir));
 | 
			
		||||
	inode_dec_link_count(inode);
 | 
			
		||||
	err = 0;
 | 
			
		||||
out:
 | 
			
		||||
| 
						 | 
				
			
			@ -282,7 +282,7 @@ static int ufs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
 | 
			
		|||
		if (!new_de)
 | 
			
		||||
			goto out_dir;
 | 
			
		||||
		ufs_set_link(new_dir, new_de, new_page, old_inode, 1);
 | 
			
		||||
		new_inode->i_ctime = current_time(new_inode);
 | 
			
		||||
		inode_set_ctime_current(new_inode);
 | 
			
		||||
		if (dir_de)
 | 
			
		||||
			drop_nlink(new_inode);
 | 
			
		||||
		inode_dec_link_count(new_inode);
 | 
			
		||||
| 
						 | 
				
			
			@ -298,7 +298,7 @@ static int ufs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
 | 
			
		|||
	 * Like most other Unix systems, set the ctime for inodes on a
 | 
			
		||||
 	 * rename.
 | 
			
		||||
	 */
 | 
			
		||||
	old_inode->i_ctime = current_time(old_inode);
 | 
			
		||||
	inode_set_ctime_current(old_inode);
 | 
			
		||||
 | 
			
		||||
	ufs_delete_entry(old_dir, old_de, old_page);
 | 
			
		||||
	mark_inode_dirty(old_inode);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue