fs: Replace CURRENT_TIME_SEC with current_time() for inode timestamps
CURRENT_TIME_SEC is not y2038 safe. current_time() will be transitioned to use 64 bit time along with vfs in a separate patch. There is no plan to transistion CURRENT_TIME_SEC to use y2038 safe time interfaces. current_time() will also be extended to use superblock range checking parameters when range checking is introduced. This works because alloc_super() fills in the the s_time_gran in super block to NSEC_PER_SEC. Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -1071,7 +1071,7 @@ int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo)
|
||||
}
|
||||
}
|
||||
|
||||
dir->i_mtime = dir->i_atime = CURRENT_TIME_SEC;
|
||||
dir->i_mtime = dir->i_atime = current_time(dir);
|
||||
if (IS_DIRSYNC(dir))
|
||||
(void)fat_sync_inode(dir);
|
||||
else
|
||||
|
||||
@@ -194,7 +194,7 @@ static int fat_cont_expand(struct inode *inode, loff_t size)
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC;
|
||||
inode->i_ctime = inode->i_mtime = current_time(inode);
|
||||
mark_inode_dirty(inode);
|
||||
if (IS_SYNC(inode)) {
|
||||
int err2;
|
||||
@@ -297,7 +297,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_SEC;
|
||||
inode->i_ctime = inode->i_mtime = current_time(inode);
|
||||
if (wait) {
|
||||
err = fat_sync_inode(inode);
|
||||
if (err) {
|
||||
|
||||
@@ -237,7 +237,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_SEC;
|
||||
inode->i_mtime = inode->i_ctime = current_time(inode);
|
||||
MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
|
||||
mark_inode_dirty(inode);
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(dir);
|
||||
err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo);
|
||||
if (err)
|
||||
goto out;
|
||||
@@ -330,7 +330,7 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry)
|
||||
drop_nlink(dir);
|
||||
|
||||
clear_nlink(inode);
|
||||
inode->i_ctime = CURRENT_TIME_SEC;
|
||||
inode->i_ctime = current_time(inode);
|
||||
fat_detach(inode);
|
||||
out:
|
||||
mutex_unlock(&MSDOS_SB(sb)->s_lock);
|
||||
@@ -364,7 +364,7 @@ static int msdos_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
goto out;
|
||||
}
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(dir);
|
||||
cluster = fat_alloc_new_dir(dir, &ts);
|
||||
if (cluster < 0) {
|
||||
err = cluster;
|
||||
@@ -416,7 +416,7 @@ static int msdos_unlink(struct inode *dir, struct dentry *dentry)
|
||||
if (err)
|
||||
goto out;
|
||||
clear_nlink(inode);
|
||||
inode->i_ctime = CURRENT_TIME_SEC;
|
||||
inode->i_ctime = current_time(inode);
|
||||
fat_detach(inode);
|
||||
out:
|
||||
mutex_unlock(&MSDOS_SB(sb)->s_lock);
|
||||
@@ -481,7 +481,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
|
||||
mark_inode_dirty(old_inode);
|
||||
|
||||
old_dir->i_version++;
|
||||
old_dir->i_ctime = old_dir->i_mtime = CURRENT_TIME_SEC;
|
||||
old_dir->i_ctime = old_dir->i_mtime = current_time(old_dir);
|
||||
if (IS_DIRSYNC(old_dir))
|
||||
(void)fat_sync_inode(old_dir);
|
||||
else
|
||||
@@ -490,7 +490,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
|
||||
}
|
||||
}
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(old_inode);
|
||||
if (new_inode) {
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
@@ -777,7 +777,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
|
||||
mutex_lock(&MSDOS_SB(sb)->s_lock);
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(dir);
|
||||
err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo);
|
||||
if (err)
|
||||
goto out;
|
||||
@@ -821,7 +821,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_SEC;
|
||||
inode->i_mtime = inode->i_atime = current_time(inode);
|
||||
fat_detach(inode);
|
||||
dentry->d_time = dir->i_version;
|
||||
out:
|
||||
@@ -847,7 +847,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_SEC;
|
||||
inode->i_mtime = inode->i_atime = current_time(inode);
|
||||
fat_detach(inode);
|
||||
dentry->d_time = dir->i_version;
|
||||
out:
|
||||
@@ -866,7 +866,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
|
||||
mutex_lock(&MSDOS_SB(sb)->s_lock);
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(dir);
|
||||
cluster = fat_alloc_new_dir(dir, &ts);
|
||||
if (cluster < 0) {
|
||||
err = cluster;
|
||||
@@ -931,7 +931,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||
}
|
||||
}
|
||||
|
||||
ts = CURRENT_TIME_SEC;
|
||||
ts = current_time(old_dir);
|
||||
if (new_inode) {
|
||||
if (is_dir) {
|
||||
err = fat_dir_empty(new_inode);
|
||||
|
||||
Reference in New Issue
Block a user