Commit cd83f6b1 authored by Frank Sorenson's avatar Frank Sorenson Committed by Linus Torvalds
Browse files

fat: change timestamp updates to use fat_truncate_time

parent 6bb885ec
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1073,7 +1073,7 @@ int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo)
		}
	}

	dir->i_mtime = dir->i_atime = current_time(dir);
	fat_truncate_time(dir, NULL, S_ATIME|S_MTIME);
	if (IS_DIRSYNC(dir))
		(void)fat_sync_inode(dir);
	else
+2 −2
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ static int fat_cont_expand(struct inode *inode, loff_t size)
	if (err)
		goto out;

	inode->i_ctime = inode->i_mtime = current_time(inode);
	fat_truncate_time(inode, NULL, S_CTIME|S_MTIME);
	mark_inode_dirty(inode);
	if (IS_SYNC(inode)) {
		int err2;
@@ -330,7 +330,7 @@ static int fat_free(struct inode *inode, int skip)
		MSDOS_I(inode)->i_logstart = 0;
	}
	MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
	inode->i_ctime = inode->i_mtime = current_time(inode);
	fat_truncate_time(inode, NULL, S_CTIME|S_MTIME);
	if (wait) {
		err = fat_sync_inode(inode);
		if (err) {
+2 −2
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ static int fat_write_end(struct file *file, struct address_space *mapping,
	if (err < len)
		fat_write_failed(mapping, pos + len);
	if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) {
		inode->i_mtime = inode->i_ctime = current_time(inode);
		fat_truncate_time(inode, NULL, S_CTIME|S_MTIME);
		MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
		mark_inode_dirty(inode);
	}
@@ -564,7 +564,7 @@ int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
				  de->cdate, de->ctime_cs);
		fat_time_fat2unix(sbi, &inode->i_atime, 0, de->adate, 0);
	} else
		inode->i_ctime = inode->i_atime = inode->i_mtime;
		fat_truncate_time(inode, &inode->i_mtime, S_ATIME|S_CTIME);

	return 0;
}
+8 −8
Original line number Diff line number Diff line
@@ -250,7 +250,7 @@ static int msdos_add_entry(struct inode *dir, const unsigned char *name,
	if (err)
		return err;

	dir->i_ctime = dir->i_mtime = *ts;
	fat_truncate_time(dir, ts, S_CTIME|S_MTIME);
	if (IS_DIRSYNC(dir))
		(void)fat_sync_inode(dir);
	else
@@ -294,7 +294,7 @@ static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode,
		err = PTR_ERR(inode);
		goto out;
	}
	inode->i_mtime = inode->i_atime = inode->i_ctime = ts;
	fat_truncate_time(inode, &ts, S_ATIME|S_CTIME|S_MTIME);
	/* timestamp is already written, so mark_inode_dirty() is unneeded. */

	d_instantiate(dentry, inode);
@@ -327,7 +327,7 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry)
	drop_nlink(dir);

	clear_nlink(inode);
	inode->i_ctime = current_time(inode);
	fat_truncate_time(inode, NULL, S_CTIME);
	fat_detach(inode);
out:
	mutex_unlock(&MSDOS_SB(sb)->s_lock);
@@ -380,7 +380,7 @@ static int msdos_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
		goto out;
	}
	set_nlink(inode, 2);
	inode->i_mtime = inode->i_atime = inode->i_ctime = ts;
	fat_truncate_time(inode, &ts, S_ATIME|S_CTIME|S_MTIME);
	/* timestamp is already written, so mark_inode_dirty() is unneeded. */

	d_instantiate(dentry, inode);
@@ -413,7 +413,7 @@ static int msdos_unlink(struct inode *dir, struct dentry *dentry)
	if (err)
		goto out;
	clear_nlink(inode);
	inode->i_ctime = current_time(inode);
	fat_truncate_time(inode, NULL, S_CTIME);
	fat_detach(inode);
out:
	mutex_unlock(&MSDOS_SB(sb)->s_lock);
@@ -478,7 +478,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
				mark_inode_dirty(old_inode);

			inode_inc_iversion(old_dir);
			old_dir->i_ctime = old_dir->i_mtime = current_time(old_dir);
			fat_truncate_time(old_dir, NULL, S_CTIME|S_MTIME);
			if (IS_DIRSYNC(old_dir))
				(void)fat_sync_inode(old_dir);
			else
@@ -538,7 +538,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
	if (err)
		goto error_dotdot;
	inode_inc_iversion(old_dir);
	old_dir->i_ctime = old_dir->i_mtime = ts;
	fat_truncate_time(old_dir, &ts, S_CTIME|S_MTIME);
	if (IS_DIRSYNC(old_dir))
		(void)fat_sync_inode(old_dir);
	else
@@ -548,7 +548,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
		drop_nlink(new_inode);
		if (is_dir)
			drop_nlink(new_inode);
		new_inode->i_ctime = ts;
		fat_truncate_time(new_inode, &ts, S_CTIME);
	}
out:
	brelse(sinfo.bh);
+7 −7
Original line number Diff line number Diff line
@@ -678,7 +678,7 @@ static int vfat_add_entry(struct inode *dir, const struct qstr *qname,
		goto cleanup;

	/* update timestamp */
	dir->i_ctime = dir->i_mtime = dir->i_atime = *ts;
	fat_truncate_time(dir, ts, S_CTIME|S_MTIME);
	if (IS_DIRSYNC(dir))
		(void)fat_sync_inode(dir);
	else
@@ -779,7 +779,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
		goto out;
	}
	inode_inc_iversion(inode);
	inode->i_mtime = inode->i_atime = inode->i_ctime = ts;
	fat_truncate_time(inode, &ts, S_ATIME|S_CTIME|S_MTIME);
	/* timestamp is already written, so mark_inode_dirty() is unneeded. */

	d_instantiate(dentry, inode);
@@ -810,7 +810,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry)
	drop_nlink(dir);

	clear_nlink(inode);
	inode->i_mtime = inode->i_atime = current_time(inode);
	fat_truncate_time(inode, NULL, S_ATIME|S_MTIME);
	fat_detach(inode);
	vfat_d_version_set(dentry, inode_query_iversion(dir));
out:
@@ -836,7 +836,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry)
	if (err)
		goto out;
	clear_nlink(inode);
	inode->i_mtime = inode->i_atime = current_time(inode);
	fat_truncate_time(inode, NULL, S_ATIME|S_MTIME);
	fat_detach(inode);
	vfat_d_version_set(dentry, inode_query_iversion(dir));
out:
@@ -876,7 +876,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
	}
	inode_inc_iversion(inode);
	set_nlink(inode, 2);
	inode->i_mtime = inode->i_atime = inode->i_ctime = ts;
	fat_truncate_time(inode, &ts, S_ATIME|S_CTIME|S_MTIME);
	/* timestamp is already written, so mark_inode_dirty() is unneeded. */

	d_instantiate(dentry, inode);
@@ -969,7 +969,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry,
	if (err)
		goto error_dotdot;
	inode_inc_iversion(old_dir);
	old_dir->i_ctime = old_dir->i_mtime = ts;
	fat_truncate_time(old_dir, &ts, S_CTIME|S_MTIME);
	if (IS_DIRSYNC(old_dir))
		(void)fat_sync_inode(old_dir);
	else
@@ -979,7 +979,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry,
		drop_nlink(new_inode);
		if (is_dir)
			drop_nlink(new_inode);
		new_inode->i_ctime = ts;
		fat_truncate_time(new_inode, &ts, S_CTIME);
	}
out:
	brelse(sinfo.bh);