Commit 02027d42 authored by Deepa Dinamani's avatar Deepa Dinamani Committed by Al Viro

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: default avatarDeepa Dinamani <deepa.kernel@gmail.com>
Acked-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 078cd827
...@@ -58,7 +58,7 @@ affs_insert_hash(struct inode *dir, struct buffer_head *bh) ...@@ -58,7 +58,7 @@ affs_insert_hash(struct inode *dir, struct buffer_head *bh)
mark_buffer_dirty_inode(dir_bh, dir); mark_buffer_dirty_inode(dir_bh, dir);
affs_brelse(dir_bh); affs_brelse(dir_bh);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
dir->i_version++; dir->i_version++;
mark_inode_dirty(dir); mark_inode_dirty(dir);
...@@ -112,7 +112,7 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh) ...@@ -112,7 +112,7 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh)
affs_brelse(bh); affs_brelse(bh);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
dir->i_version++; dir->i_version++;
mark_inode_dirty(dir); mark_inode_dirty(dir);
...@@ -313,7 +313,7 @@ affs_remove_header(struct dentry *dentry) ...@@ -313,7 +313,7 @@ affs_remove_header(struct dentry *dentry)
else else
clear_nlink(inode); clear_nlink(inode);
affs_unlock_link(inode); affs_unlock_link(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
done: done:
......
...@@ -309,7 +309,7 @@ affs_new_inode(struct inode *dir) ...@@ -309,7 +309,7 @@ affs_new_inode(struct inode *dir)
inode->i_gid = current_fsgid(); inode->i_gid = current_fsgid();
inode->i_ino = block; inode->i_ino = block;
set_nlink(inode, 1); set_nlink(inode, 1);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
atomic_set(&AFFS_I(inode)->i_opencnt, 0); atomic_set(&AFFS_I(inode)->i_opencnt, 0);
AFFS_I(inode)->i_blkcnt = 0; AFFS_I(inode)->i_blkcnt = 0;
AFFS_I(inode)->i_lc = NULL; AFFS_I(inode)->i_lc = NULL;
......
...@@ -97,7 +97,7 @@ static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, ...@@ -97,7 +97,7 @@ static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
set_bit(ino, info->si_imap); set_bit(ino, info->si_imap);
info->si_freei--; info->si_freei--;
inode_init_owner(inode, dir, mode); inode_init_owner(inode, dir, mode);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
inode->i_blocks = 0; inode->i_blocks = 0;
inode->i_op = &bfs_file_inops; inode->i_op = &bfs_file_inops;
inode->i_fop = &bfs_file_operations; inode->i_fop = &bfs_file_operations;
...@@ -165,7 +165,7 @@ static int bfs_link(struct dentry *old, struct inode *dir, ...@@ -165,7 +165,7 @@ static int bfs_link(struct dentry *old, struct inode *dir,
return err; return err;
} }
inc_nlink(inode); inc_nlink(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
ihold(inode); ihold(inode);
d_instantiate(new, inode); d_instantiate(new, inode);
...@@ -194,7 +194,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry) ...@@ -194,7 +194,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry)
} }
de->ino = 0; de->ino = 0;
mark_buffer_dirty_inode(bh, dir); mark_buffer_dirty_inode(bh, dir);
dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; dir->i_ctime = dir->i_mtime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
inode->i_ctime = dir->i_ctime; inode->i_ctime = dir->i_ctime;
inode_dec_link_count(inode); inode_dec_link_count(inode);
...@@ -249,10 +249,10 @@ static int bfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -249,10 +249,10 @@ static int bfs_rename(struct inode *old_dir, struct dentry *old_dentry,
goto end_rename; goto end_rename;
} }
old_de->ino = 0; old_de->ino = 0;
old_dir->i_ctime = old_dir->i_mtime = CURRENT_TIME_SEC; old_dir->i_ctime = old_dir->i_mtime = current_time(old_dir);
mark_inode_dirty(old_dir); mark_inode_dirty(old_dir);
if (new_inode) { if (new_inode) {
new_inode->i_ctime = CURRENT_TIME_SEC; new_inode->i_ctime = current_time(new_inode);
inode_dec_link_count(new_inode); inode_dec_link_count(new_inode);
} }
mark_buffer_dirty_inode(old_bh, old_dir); mark_buffer_dirty_inode(old_bh, old_dir);
...@@ -300,9 +300,9 @@ static int bfs_add_entry(struct inode *dir, const unsigned char *name, ...@@ -300,9 +300,9 @@ static int bfs_add_entry(struct inode *dir, const unsigned char *name,
pos = (block - sblock) * BFS_BSIZE + off; pos = (block - sblock) * BFS_BSIZE + off;
if (pos >= dir->i_size) { if (pos >= dir->i_size) {
dir->i_size += BFS_DIRENT_SIZE; dir->i_size += BFS_DIRENT_SIZE;
dir->i_ctime = CURRENT_TIME_SEC; dir->i_ctime = current_time(dir);
} }
dir->i_mtime = CURRENT_TIME_SEC; dir->i_mtime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
de->ino = cpu_to_le16((u16)ino); de->ino = cpu_to_le16((u16)ino);
for (i = 0; i < BFS_NAMELEN; i++) for (i = 0; i < BFS_NAMELEN; i++)
......
...@@ -109,7 +109,7 @@ static inline void coda_dir_update_mtime(struct inode *dir) ...@@ -109,7 +109,7 @@ static inline void coda_dir_update_mtime(struct inode *dir)
/* optimistically we can also act as if our nose bleeds. The /* optimistically we can also act as if our nose bleeds. The
* granularity of the mtime is coarse anyways so we might actually be * granularity of the mtime is coarse anyways so we might actually be
* right most of the time. Note: we only do this for directories. */ * right most of the time. Note: we only do this for directories. */
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
#endif #endif
} }
......
...@@ -75,7 +75,7 @@ coda_file_write_iter(struct kiocb *iocb, struct iov_iter *to) ...@@ -75,7 +75,7 @@ coda_file_write_iter(struct kiocb *iocb, struct iov_iter *to)
ret = vfs_iter_write(cfi->cfi_container, to, &iocb->ki_pos); ret = vfs_iter_write(cfi->cfi_container, to, &iocb->ki_pos);
coda_inode->i_size = file_inode(host_file)->i_size; coda_inode->i_size = file_inode(host_file)->i_size;
coda_inode->i_blocks = (coda_inode->i_size + 511) >> 9; coda_inode->i_blocks = (coda_inode->i_size + 511) >> 9;
coda_inode->i_mtime = coda_inode->i_ctime = CURRENT_TIME_SEC; coda_inode->i_mtime = coda_inode->i_ctime = current_time(coda_inode);
inode_unlock(coda_inode); inode_unlock(coda_inode);
file_end_write(host_file); file_end_write(host_file);
return ret; return ret;
......
...@@ -271,7 +271,7 @@ int coda_setattr(struct dentry *de, struct iattr *iattr) ...@@ -271,7 +271,7 @@ int coda_setattr(struct dentry *de, struct iattr *iattr)
memset(&vattr, 0, sizeof(vattr)); memset(&vattr, 0, sizeof(vattr));
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
coda_iattr_to_vattr(iattr, &vattr); coda_iattr_to_vattr(iattr, &vattr);
vattr.va_type = C_VNON; /* cannot set type */ vattr.va_type = C_VNON; /* cannot set type */
......
...@@ -194,7 +194,7 @@ ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type) ...@@ -194,7 +194,7 @@ ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
if (error < 0) if (error < 0)
return error; return error;
else { else {
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
if (error == 0) if (error == 0)
acl = NULL; acl = NULL;
......
...@@ -471,7 +471,7 @@ void ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, ...@@ -471,7 +471,7 @@ void ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de,
err = ext2_commit_chunk(page, pos, len); err = ext2_commit_chunk(page, pos, len);
ext2_put_page(page); ext2_put_page(page);
if (update_times) if (update_times)
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(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);
} }
...@@ -561,7 +561,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode) ...@@ -561,7 +561,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);
err = ext2_commit_chunk(page, pos, rec_len); err = ext2_commit_chunk(page, pos, rec_len);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(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);
/* OFFSET_CACHE */ /* OFFSET_CACHE */
...@@ -610,7 +610,7 @@ int ext2_delete_entry (struct ext2_dir_entry_2 * dir, struct page * page ) ...@@ -610,7 +610,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;
err = ext2_commit_chunk(page, pos, to - from); err = ext2_commit_chunk(page, pos, to - from);
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = inode->i_mtime = current_time(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);
out: out:
......
...@@ -551,7 +551,7 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode, ...@@ -551,7 +551,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_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(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);
......
...@@ -594,7 +594,7 @@ static void ext2_splice_branch(struct inode *inode, ...@@ -594,7 +594,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_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
...@@ -1236,7 +1236,7 @@ static int ext2_setsize(struct inode *inode, loff_t newsize) ...@@ -1236,7 +1236,7 @@ static int ext2_setsize(struct inode *inode, loff_t newsize)
__ext2_truncate_blocks(inode, newsize); __ext2_truncate_blocks(inode, newsize);
dax_sem_up_write(EXT2_I(inode)); dax_sem_up_write(EXT2_I(inode));
inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_ctime = current_time(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);
......
...@@ -79,7 +79,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -79,7 +79,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
ei->i_flags = flags; ei->i_flags = flags;
ext2_set_inode_flags(inode); ext2_set_inode_flags(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
inode_unlock(inode); inode_unlock(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
...@@ -103,7 +103,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -103,7 +103,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
} }
inode_lock(inode); inode_lock(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
inode->i_generation = generation; inode->i_generation = generation;
inode_unlock(inode); inode_unlock(inode);
......
...@@ -221,7 +221,7 @@ static int ext2_link (struct dentry * old_dentry, struct inode * dir, ...@@ -221,7 +221,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_SEC; inode->i_ctime = current_time(inode);
inode_inc_link_count(inode); inode_inc_link_count(inode);
ihold(inode); ihold(inode);
...@@ -372,7 +372,7 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry, ...@@ -372,7 +372,7 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry,
if (!new_de) if (!new_de)
goto out_dir; goto out_dir;
ext2_set_link(new_dir, new_de, new_page, old_inode, 1); ext2_set_link(new_dir, new_de, new_page, old_inode, 1);
new_inode->i_ctime = CURRENT_TIME_SEC; new_inode->i_ctime = current_time(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);
...@@ -388,7 +388,7 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry, ...@@ -388,7 +388,7 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry,
* 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_SEC; old_inode->i_ctime = current_time(old_inode);
mark_inode_dirty(old_inode); mark_inode_dirty(old_inode);
ext2_delete_entry (old_de, old_page); ext2_delete_entry (old_de, old_page);
......
...@@ -691,7 +691,7 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, ...@@ -691,7 +691,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_SEC; inode->i_ctime = current_time(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
......
...@@ -1071,7 +1071,7 @@ int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo) ...@@ -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)) if (IS_DIRSYNC(dir))
(void)fat_sync_inode(dir); (void)fat_sync_inode(dir);
else else
......
...@@ -194,7 +194,7 @@ static int fat_cont_expand(struct inode *inode, loff_t size) ...@@ -194,7 +194,7 @@ static int fat_cont_expand(struct inode *inode, loff_t size)
if (err) if (err)
goto out; goto out;
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = inode->i_mtime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
if (IS_SYNC(inode)) { if (IS_SYNC(inode)) {
int err2; int err2;
...@@ -297,7 +297,7 @@ static int fat_free(struct inode *inode, int skip) ...@@ -297,7 +297,7 @@ static int fat_free(struct inode *inode, int skip)
MSDOS_I(inode)->i_logstart = 0; MSDOS_I(inode)->i_logstart = 0;
} }
MSDOS_I(inode)->i_attrs |= ATTR_ARCH; 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) { if (wait) {
err = fat_sync_inode(inode); err = fat_sync_inode(inode);
if (err) { if (err) {
......
...@@ -237,7 +237,7 @@ static int fat_write_end(struct file *file, struct address_space *mapping, ...@@ -237,7 +237,7 @@ static int fat_write_end(struct file *file, struct address_space *mapping,
if (err < len) if (err < len)
fat_write_failed(mapping, pos + len); fat_write_failed(mapping, pos + len);
if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) { 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; MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
......
...@@ -283,7 +283,7 @@ static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode, ...@@ -283,7 +283,7 @@ static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode,
goto out; goto out;
} }
ts = CURRENT_TIME_SEC; ts = current_time(dir);
err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo); err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo);
if (err) if (err)
goto out; goto out;
...@@ -330,7 +330,7 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry) ...@@ -330,7 +330,7 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry)
drop_nlink(dir); drop_nlink(dir);
clear_nlink(inode); clear_nlink(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
fat_detach(inode); fat_detach(inode);
out: out:
mutex_unlock(&MSDOS_SB(sb)->s_lock); mutex_unlock(&MSDOS_SB(sb)->s_lock);
...@@ -364,7 +364,7 @@ static int msdos_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) ...@@ -364,7 +364,7 @@ static int msdos_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
goto out; goto out;
} }
ts = CURRENT_TIME_SEC; ts = current_time(dir);
cluster = fat_alloc_new_dir(dir, &ts); cluster = fat_alloc_new_dir(dir, &ts);
if (cluster < 0) { if (cluster < 0) {
err = cluster; err = cluster;
...@@ -416,7 +416,7 @@ static int msdos_unlink(struct inode *dir, struct dentry *dentry) ...@@ -416,7 +416,7 @@ static int msdos_unlink(struct inode *dir, struct dentry *dentry)
if (err) if (err)
goto out; goto out;
clear_nlink(inode); clear_nlink(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
fat_detach(inode); fat_detach(inode);
out: out:
mutex_unlock(&MSDOS_SB(sb)->s_lock); mutex_unlock(&MSDOS_SB(sb)->s_lock);
...@@ -481,7 +481,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name, ...@@ -481,7 +481,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
mark_inode_dirty(old_inode); mark_inode_dirty(old_inode);
old_dir->i_version++; 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)) if (IS_DIRSYNC(old_dir))
(void)fat_sync_inode(old_dir); (void)fat_sync_inode(old_dir);
else else
...@@ -490,7 +490,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name, ...@@ -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 (new_inode) {
if (err) if (err)
goto out; goto out;
......
...@@ -777,7 +777,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode, ...@@ -777,7 +777,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
mutex_lock(&MSDOS_SB(sb)->s_lock); 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); err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo);
if (err) if (err)
goto out; goto out;
...@@ -821,7 +821,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry) ...@@ -821,7 +821,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry)
drop_nlink(dir); drop_nlink(dir);
clear_nlink(inode); clear_nlink(inode);
inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = current_time(inode);
fat_detach(inode); fat_detach(inode);
dentry->d_time = dir->i_version; dentry->d_time = dir->i_version;
out: out:
...@@ -847,7 +847,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry) ...@@ -847,7 +847,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry)
if (err) if (err)
goto out; goto out;
clear_nlink(inode); clear_nlink(inode);
inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = current_time(inode);
fat_detach(inode); fat_detach(inode);
dentry->d_time = dir->i_version; dentry->d_time = dir->i_version;
out: out:
...@@ -866,7 +866,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) ...@@ -866,7 +866,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
mutex_lock(&MSDOS_SB(sb)->s_lock); mutex_lock(&MSDOS_SB(sb)->s_lock);
ts = CURRENT_TIME_SEC; ts = current_time(dir);
cluster = fat_alloc_new_dir(dir, &ts); cluster = fat_alloc_new_dir(dir, &ts);
if (cluster < 0) { if (cluster < 0) {
err = cluster; err = cluster;
...@@ -931,7 +931,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -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 (new_inode) {
if (is_dir) { if (is_dir) {
err = fat_dir_empty(new_inode); err = fat_dir_empty(new_inode);
......
...@@ -125,7 +125,7 @@ int hfs_cat_create(u32 cnid, struct inode *dir, const struct qstr *str, struct i ...@@ -125,7 +125,7 @@ int hfs_cat_create(u32 cnid, struct inode *dir, const struct qstr *str, struct i
goto err1; goto err1;
dir->i_size++; dir->i_size++;
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
hfs_find_exit(&fd); hfs_find_exit(&fd);
return 0; return 0;
...@@ -261,7 +261,7 @@ int hfs_cat_delete(u32 cnid, struct inode *dir, const struct qstr *str) ...@@ -261,7 +261,7 @@ int hfs_cat_delete(u32 cnid, struct inode *dir, const struct qstr *str)
} }
dir->i_size--; dir->i_size--;
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
res = 0; res = 0;
out: out:
...@@ -321,7 +321,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name, ...@@ -321,7 +321,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name,
if (err) if (err)
goto out; goto out;
dst_dir->i_size++; dst_dir->i_size++;
dst_dir->i_mtime = dst_dir->i_ctime = CURRENT_TIME_SEC; dst_dir->i_mtime = dst_dir->i_ctime = current_time(dst_dir);
mark_inode_dirty(dst_dir); mark_inode_dirty(dst_dir);
/* finally remove the old entry */ /* finally remove the old entry */
...@@ -333,7 +333,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name, ...@@ -333,7 +333,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name,
if (err) if (err)
goto out; goto out;
src_dir->i_size--; src_dir->i_size--;
src_dir->i_mtime = src_dir->i_ctime = CURRENT_TIME_SEC; src_dir->i_mtime = src_dir->i_ctime = current_time(src_dir);
mark_inode_dirty(src_dir); mark_inode_dirty(src_dir);
type = entry.type; type = entry.type;
......
...@@ -268,7 +268,7 @@ static int hfs_remove(struct inode *dir, struct dentry *dentry) ...@@ -268,7 +268,7 @@ static int hfs_remove(struct inode *dir, struct dentry *dentry)
if (res) if (res)
return res; return res;
clear_nlink(inode); clear_nlink(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
hfs_delete_inode(inode); hfs_delete_inode(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
return 0; return 0;
......
...@@ -193,7 +193,7 @@ struct inode *hfs_new_inode(struct inode *dir, const struct qstr *name, umode_t ...@@ -193,7 +193,7 @@ struct inode *hfs_new_inode(struct inode *dir, const struct qstr *name, umode_t
inode->i_uid = current_fsuid(); inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid(); inode->i_gid = current_fsgid();
set_nlink(inode, 1); set_nlink(inode, 1);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
HFS_I(inode)->flags = 0; HFS_I(inode)->flags = 0;
HFS_I(inode)->rsrc_inode = NULL; HFS_I(inode)->rsrc_inode = NULL;
HFS_I(inode)->fs_blocks = 0; HFS_I(inode)->fs_blocks = 0;
......
...@@ -303,7 +303,7 @@ int hfsplus_create_cat(u32 cnid, struct inode *dir, ...@@ -303,7 +303,7 @@ int hfsplus_create_cat(u32 cnid, struct inode *dir,
dir->i_size++; dir->i_size++;
if (S_ISDIR(inode->i_mode)) if (S_ISDIR(inode->i_mode))
hfsplus_subfolders_inc(dir); hfsplus_subfolders_inc(dir);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
hfs_find_exit(&fd); hfs_find_exit(&fd);
...@@ -400,7 +400,7 @@ int hfsplus_delete_cat(u32 cnid, struct inode *dir, const struct qstr *str) ...@@ -400,7 +400,7 @@ int hfsplus_delete_cat(u32 cnid, struct inode *dir, const struct qstr *str)
dir->i_size--; dir->i_size--;
if (type == HFSPLUS_FOLDER) if (type == HFSPLUS_FOLDER)
hfsplus_subfolders_dec(dir); hfsplus_subfolders_dec(dir);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
if (type == HFSPLUS_FILE || type == HFSPLUS_FOLDER) { if (type == HFSPLUS_FILE || type == HFSPLUS_FOLDER) {
...@@ -469,7 +469,7 @@ int hfsplus_rename_cat(u32 cnid, ...@@ -469,7 +469,7 @@ int hfsplus_rename_cat(u32 cnid,
dst_dir->i_size++; dst_dir->i_size++;
if (type == HFSPLUS_FOLDER) if (type == HFSPLUS_FOLDER)
hfsplus_subfolders_inc(dst_dir); hfsplus_subfolders_inc(dst_dir);
dst_dir->i_mtime = dst_dir->i_ctime = CURRENT_TIME_SEC; dst_dir->i_mtime = dst_dir->i_ctime = current_time(dst_dir);
/* finally remove the old entry */ /* finally remove the old entry */
err = hfsplus_cat_build_key(sb, src_fd.search_key, err = hfsplus_cat_build_key(sb, src_fd.search_key,
...@@ -486,7 +486,7 @@ int hfsplus_rename_cat(u32 cnid, ...@@ -486,7 +486,7 @@ int hfsplus_rename_cat(u32 cnid,
src_dir->i_size--; src_dir->i_size--;
if (type == HFSPLUS_FOLDER) if (type == HFSPLUS_FOLDER)
hfsplus_subfolders_dec(src_dir); hfsplus_subfolders_dec(src_dir);
src_dir->i_mtime = src_dir->i_ctime = CURRENT_TIME_SEC; src_dir->i_mtime = src_dir->i_ctime = current_time(src_dir);
/* remove old thread entry */ /* remove old thread entry */
hfsplus_cat_build_key_with_cnid(sb, src_fd.search_key, cnid); hfsplus_cat_build_key_with_cnid(sb, src_fd.search_key, cnid);
......
...@@ -347,7 +347,7 @@ static int hfsplus_link(struct dentry *src_dentry, struct inode *dst_dir, ...@@ -347,7 +347,7 @@ static int hfsplus_link(struct dentry *src_dentry, struct inode *dst_dir,
inc_nlink(inode); inc_nlink(inode);
hfsplus_instantiate(dst_dentry, inode, cnid); hfsplus_instantiate(dst_dentry, inode, cnid);
ihold(inode); ihold(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
sbi->file_count++; sbi->file_count++;
hfsplus_mark_mdb_dirty(dst_dir->i_sb); hfsplus_mark_mdb_dirty(dst_dir->i_sb);
...@@ -406,7 +406,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry) ...@@ -406,7 +406,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
hfsplus_delete_inode(inode); hfsplus_delete_inode(inode);
} else } else
sbi->file_count--; sbi->file_count--;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out: out:
mutex_unlock(&sbi->vh_mutex); mutex_unlock(&sbi->vh_mutex);
...@@ -427,7 +427,7 @@ static int hfsplus_rmdir(struct inode *dir, struct dentry *dentry) ...@@ -427,7 +427,7 @@ static int hfsplus_rmdir(struct inode *dir, struct dentry *dentry)
if (res) if (res)
goto out; goto out;
clear_nlink(inode); clear_nlink(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
hfsplus_delete_inode(inode); hfsplus_delete_inode(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out: out:
......
...@@ -369,7 +369,7 @@ struct inode *hfsplus_new_inode(struct super_block *sb, umode_t mode) ...@@ -369,7 +369,7 @@ struct inode *hfsplus_new_inode(struct super_block *sb, umode_t mode)
inode->i_uid = current_fsuid(); inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid(); inode->i_gid = current_fsgid();
set_nlink(inode, 1); set_nlink(inode, 1);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
hip = HFSPLUS_I(inode); hip = HFSPLUS_I(inode);
INIT_LIST_HEAD(&hip->open_dir_list); INIT_LIST_HEAD(&hip->open_dir_list);
......
...@@ -122,7 +122,7 @@ static int hfsplus_ioctl_setflags(struct file *file, int __user *user_flags) ...@@ -122,7 +122,7 @@ static int hfsplus_ioctl_setflags(struct file *file, int __user *user_flags)
else else
hip->userflags &= ~HFSPLUS_FLG_NODUMP; hip->userflags &= ~HFSPLUS_FLG_NODUMP;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out_unlock_inode: out_unlock_inode:
......
...@@ -242,7 +242,7 @@ int jffs2_set_acl(struct inode *inode, struct posix_acl *acl, int type) ...@@ -242,7 +242,7 @@ int jffs2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
attr.ia_valid = ATTR_MODE | ATTR_CTIME; attr.ia_valid = ATTR_MODE | ATTR_CTIME;
attr.ia_mode = mode; attr.ia_mode = mode;
attr.ia_ctime = CURRENT_TIME_SEC; attr.ia_ctime = current_time(inode);
rc = jffs2_do_setattr(inode, &attr); rc = jffs2_do_setattr(inode, &attr);
if (rc < 0) if (rc < 0)
return rc; return rc;
......
...@@ -472,7 +472,7 @@ struct inode *jffs2_new_inode (struct inode *dir_i, umode_t mode, struct jffs2_r ...@@ -472,7 +472,7 @@ struct inode *jffs2_new_inode (struct inode *dir_i, umode_t mode, struct jffs2_r
inode->i_mode = jemode_to_cpu(ri->mode); inode->i_mode = jemode_to_cpu(ri->mode);
i_gid_write(inode, je16_to_cpu(ri->gid)); i_gid_write(inode, je16_to_cpu(ri->gid));
i_uid_write(inode, je16_to_cpu(ri->uid)); i_uid_write(inode, je16_to_cpu(ri->uid));
inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_atime = inode->i_ctime = inode->i_mtime = current_time(inode);
ri->atime = ri->mtime = ri->ctime = cpu_to_je32(I_SEC(inode->i_mtime)); ri->atime = ri->mtime = ri->ctime = cpu_to_je32(I_SEC(inode->i_mtime));
inode->i_blocks = 0; inode->i_blocks = 0;
......
...@@ -253,7 +253,7 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) ...@@ -253,7 +253,7 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error)
} }
inode_init_owner(inode, dir, mode); inode_init_owner(inode, dir, mode);
inode->i_ino = j; inode->i_ino = j;
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
inode->i_blocks = 0; inode->i_blocks = 0;
memset(&minix_i(inode)->u, 0, sizeof(minix_i(inode)->u)); memset(&minix_i(inode)->u, 0, sizeof(minix_i(inode)->u));
insert_inode_hash(inode); insert_inode_hash(inode);
......
...@@ -274,7 +274,7 @@ int minix_add_link(struct dentry *dentry, struct inode *inode) ...@@ -274,7 +274,7 @@ int minix_add_link(struct dentry *dentry, struct inode *inode)
de->inode = inode->i_ino; de->inode = inode->i_ino;
} }
err = dir_commit_chunk(page, pos, sbi->s_dirsize); err = dir_commit_chunk(page, pos, sbi->s_dirsize);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
out_put: out_put:
dir_put_page(page); dir_put_page(page);
...@@ -306,7 +306,7 @@ int minix_delete_entry(struct minix_dir_entry *de, struct page *page) ...@@ -306,7 +306,7 @@ int minix_delete_entry(struct minix_dir_entry *de, struct page *page)
unlock_page(page); unlock_page(page);
} }
dir_put_page(page); dir_put_page(page);
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = inode->i_mtime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
return err; return err;
} }
...@@ -430,7 +430,7 @@ void minix_set_link(struct minix_dir_entry *de, struct page *page, ...@@ -430,7 +430,7 @@ void minix_set_link(struct minix_dir_entry *de, struct page *page,
unlock_page(page); unlock_page(page);
} }
dir_put_page(page); dir_put_page(page);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
} }
......
...@@ -124,7 +124,7 @@ static inline int splice_branch(struct inode *inode, ...@@ -124,7 +124,7 @@ static inline int splice_branch(struct inode *inode,
/* We are done with atomic stuff, now do the rest of housekeeping */ /* We are done with atomic stuff, now do the rest of housekeeping */
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
/* had we spliced it onto indirect block? */ /* had we spliced it onto indirect block? */
if (where->bh) if (where->bh)
...@@ -343,7 +343,7 @@ static inline void truncate (struct inode * inode) ...@@ -343,7 +343,7 @@ static inline void truncate (struct inode * inode)
} }
first_whole++; first_whole++;
} }
inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
......
...@@ -106,7 +106,7 @@ static int minix_link(struct dentry * old_dentry, struct inode * dir, ...@@ -106,7 +106,7 @@ static int minix_link(struct dentry * old_dentry, struct inode * dir,
{ {
struct inode *inode = d_inode(old_dentry); struct inode *inode = d_inode(old_dentry);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
inode_inc_link_count(inode); inode_inc_link_count(inode);
ihold(inode); ihold(inode);
return add_nondir(dentry, inode); return add_nondir(dentry, inode);
...@@ -219,7 +219,7 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, ...@@ -219,7 +219,7 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry,
if (!new_de) if (!new_de)
goto out_dir; goto out_dir;
minix_set_link(new_de, new_page, old_inode); minix_set_link(new_de, new_page, old_inode);
new_inode->i_ctime = CURRENT_TIME_SEC; new_inode->i_ctime = current_time(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);
......
...@@ -143,7 +143,7 @@ static int omfs_add_link(struct dentry *dentry, struct inode *inode) ...@@ -143,7 +143,7 @@ static int omfs_add_link(struct dentry *dentry, struct inode *inode)
mark_buffer_dirty(bh); mark_buffer_dirty(bh);
brelse(bh); brelse(bh);
dir->i_ctime = CURRENT_TIME_SEC; dir->i_ctime = current_time(dir);
/* mark affected inodes dirty to rebuild checksums */ /* mark affected inodes dirty to rebuild checksums */
mark_inode_dirty(dir); mark_inode_dirty(dir);
...@@ -395,7 +395,7 @@ static int omfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -395,7 +395,7 @@ static int omfs_rename(struct inode *old_dir, struct dentry *old_dentry,
if (err) if (err)
goto out; goto out;
old_inode->i_ctime = CURRENT_TIME_SEC; old_inode->i_ctime = current_time(old_inode);
mark_inode_dirty(old_inode); mark_inode_dirty(old_inode);
out: out:
return err; return err;
......
...@@ -2005,7 +2005,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, ...@@ -2005,7 +2005,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
if (S_ISLNK(inode->i_mode)) if (S_ISLNK(inode->i_mode))
inode->i_flags &= ~(S_IMMUTABLE | S_APPEND); inode->i_flags &= ~(S_IMMUTABLE | S_APPEND);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
inode->i_size = i_size; inode->i_size = i_size;
inode->i_blocks = 0; inode->i_blocks = 0;
inode->i_bytes = 0; inode->i_bytes = 0;
......
...@@ -94,7 +94,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -94,7 +94,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
} }
sd_attrs_to_i_attrs(flags, inode); sd_attrs_to_i_attrs(flags, inode);
REISERFS_I(inode)->i_attrs = flags; REISERFS_I(inode)->i_attrs = flags;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
setflags_out: setflags_out:
mnt_drop_write_file(filp); mnt_drop_write_file(filp);
...@@ -115,7 +115,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -115,7 +115,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
err = -EFAULT; err = -EFAULT;
goto setversion_out; goto setversion_out;
} }
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
setversion_out: setversion_out:
mnt_drop_write_file(filp); mnt_drop_write_file(filp);
......
...@@ -570,7 +570,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, ...@@ -570,7 +570,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th,
} }
dir->i_size += paste_size; dir->i_size += paste_size;
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
if (!S_ISDIR(inode->i_mode) && visible) if (!S_ISDIR(inode->i_mode) && visible)
/* reiserfs_mkdir or reiserfs_rename will do that by itself */ /* reiserfs_mkdir or reiserfs_rename will do that by itself */
reiserfs_update_sd(th, dir); reiserfs_update_sd(th, dir);
...@@ -963,7 +963,7 @@ static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry) ...@@ -963,7 +963,7 @@ static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry)
inode->i_nlink); inode->i_nlink);
clear_nlink(inode); clear_nlink(inode);
inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = dir->i_ctime = dir->i_mtime = current_time(dir);
reiserfs_update_sd(&th, inode); reiserfs_update_sd(&th, inode);
DEC_DIR_INODE_NLINK(dir) DEC_DIR_INODE_NLINK(dir)
...@@ -1067,11 +1067,11 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) ...@@ -1067,11 +1067,11 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry)
inc_nlink(inode); inc_nlink(inode);
goto end_unlink; goto end_unlink;
} }
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
reiserfs_update_sd(&th, inode); reiserfs_update_sd(&th, inode);
dir->i_size -= (de.de_entrylen + DEH_SIZE); dir->i_size -= (de.de_entrylen + DEH_SIZE);
dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; dir->i_ctime = dir->i_mtime = current_time(dir);
reiserfs_update_sd(&th, dir); reiserfs_update_sd(&th, dir);
if (!savelink) if (!savelink)
...@@ -1246,7 +1246,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir, ...@@ -1246,7 +1246,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,
return err ? err : retval; return err ? err : retval;
} }
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
reiserfs_update_sd(&th, inode); reiserfs_update_sd(&th, inode);
ihold(inode); ihold(inode);
...@@ -1567,7 +1567,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1567,7 +1567,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
mark_de_hidden(old_de.de_deh + old_de.de_entry_num); mark_de_hidden(old_de.de_deh + old_de.de_entry_num);
journal_mark_dirty(&th, old_de.de_bh); journal_mark_dirty(&th, old_de.de_bh);
ctime = CURRENT_TIME_SEC; ctime = current_time(old_dir);
old_dir->i_ctime = old_dir->i_mtime = ctime; old_dir->i_ctime = old_dir->i_mtime = ctime;
new_dir->i_ctime = new_dir->i_mtime = ctime; new_dir->i_ctime = new_dir->i_mtime = ctime;
/* /*
......
...@@ -1987,8 +1987,8 @@ int reiserfs_do_truncate(struct reiserfs_transaction_handle *th, ...@@ -1987,8 +1987,8 @@ int reiserfs_do_truncate(struct reiserfs_transaction_handle *th,
pathrelse(&s_search_path); pathrelse(&s_search_path);
if (update_timestamps) { if (update_timestamps) {
inode->i_mtime = CURRENT_TIME_SEC; inode->i_mtime = current_time(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
} }
reiserfs_update_sd(th, inode); reiserfs_update_sd(th, inode);
...@@ -2012,8 +2012,8 @@ int reiserfs_do_truncate(struct reiserfs_transaction_handle *th, ...@@ -2012,8 +2012,8 @@ int reiserfs_do_truncate(struct reiserfs_transaction_handle *th,
update_and_out: update_and_out:
if (update_timestamps) { if (update_timestamps) {
/* this is truncate, not file closing */ /* this is truncate, not file closing */
inode->i_mtime = CURRENT_TIME_SEC; inode->i_mtime = current_time(inode);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
} }
reiserfs_update_sd(th, inode); reiserfs_update_sd(th, inode);
......
...@@ -2512,7 +2512,7 @@ static ssize_t reiserfs_quota_write(struct super_block *sb, int type, ...@@ -2512,7 +2512,7 @@ static ssize_t reiserfs_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->i_version++; inode->i_version++;
inode->i_mtime = inode->i_ctime = CURRENT_TIME; inode->i_mtime = inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
return len - towrite; return len - towrite;
} }
......
...@@ -450,13 +450,13 @@ int reiserfs_commit_write(struct file *f, struct page *page, ...@@ -450,13 +450,13 @@ int reiserfs_commit_write(struct file *f, struct page *page,
static void update_ctime(struct inode *inode) static void update_ctime(struct inode *inode)
{ {
struct timespec now = current_fs_time(inode->i_sb); struct timespec now = current_time(inode);
if (inode_unhashed(inode) || !inode->i_nlink || if (inode_unhashed(inode) || !inode->i_nlink ||
timespec_equal(&inode->i_ctime, &now)) timespec_equal(&inode->i_ctime, &now))
return; return;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
...@@ -575,7 +575,7 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th, ...@@ -575,7 +575,7 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th,
new_size = buffer_size + sizeof(struct reiserfs_xattr_header); new_size = buffer_size + sizeof(struct reiserfs_xattr_header);
if (!err && new_size < i_size_read(d_inode(dentry))) { if (!err && new_size < i_size_read(d_inode(dentry))) {
struct iattr newattrs = { struct iattr newattrs = {
.ia_ctime = current_fs_time(inode->i_sb), .ia_ctime = current_time(inode),
.ia_size = new_size, .ia_size = new_size,
.ia_valid = ATTR_SIZE | ATTR_CTIME, .ia_valid = ATTR_SIZE | ATTR_CTIME,
}; };
......
...@@ -277,7 +277,7 @@ __reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode, ...@@ -277,7 +277,7 @@ __reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode,
if (error == -ENODATA) { if (error == -ENODATA) {
error = 0; error = 0;
if (type == ACL_TYPE_ACCESS) { if (type == ACL_TYPE_ACCESS) {
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
} }
......
...@@ -215,7 +215,7 @@ int sysv_add_link(struct dentry *dentry, struct inode *inode) ...@@ -215,7 +215,7 @@ int sysv_add_link(struct dentry *dentry, struct inode *inode)
memset (de->name + namelen, 0, SYSV_DIRSIZE - namelen - 2); memset (de->name + namelen, 0, SYSV_DIRSIZE - namelen - 2);
de->inode = cpu_to_fs16(SYSV_SB(inode->i_sb), inode->i_ino); de->inode = cpu_to_fs16(SYSV_SB(inode->i_sb), inode->i_ino);
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE); err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
out_page: out_page:
dir_put_page(page); dir_put_page(page);
...@@ -239,7 +239,7 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct page *page) ...@@ -239,7 +239,7 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct page *page)
de->inode = 0; de->inode = 0;
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE); err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
dir_put_page(page); dir_put_page(page);
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = inode->i_mtime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
return err; return err;
} }
...@@ -337,7 +337,7 @@ void sysv_set_link(struct sysv_dir_entry *de, struct page *page, ...@@ -337,7 +337,7 @@ void sysv_set_link(struct sysv_dir_entry *de, struct page *page,
de->inode = cpu_to_fs16(SYSV_SB(inode->i_sb), inode->i_ino); de->inode = cpu_to_fs16(SYSV_SB(inode->i_sb), inode->i_ino);
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE); err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
dir_put_page(page); dir_put_page(page);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
} }
......
...@@ -164,7 +164,7 @@ struct inode * sysv_new_inode(const struct inode * dir, umode_t mode) ...@@ -164,7 +164,7 @@ struct inode * sysv_new_inode(const struct inode * dir, umode_t mode)
dirty_sb(sb); dirty_sb(sb);
inode_init_owner(inode, dir, mode); inode_init_owner(inode, dir, mode);
inode->i_ino = fs16_to_cpu(sbi, ino); inode->i_ino = fs16_to_cpu(sbi, ino);
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
inode->i_blocks = 0; inode->i_blocks = 0;
memset(SYSV_I(inode)->i_data, 0, sizeof(SYSV_I(inode)->i_data)); memset(SYSV_I(inode)->i_data, 0, sizeof(SYSV_I(inode)->i_data));
SYSV_I(inode)->i_dir_start_lookup = 0; SYSV_I(inode)->i_dir_start_lookup = 0;
......
...@@ -178,7 +178,7 @@ static inline int splice_branch(struct inode *inode, ...@@ -178,7 +178,7 @@ static inline int splice_branch(struct inode *inode,
*where->p = where->key; *where->p = where->key;
write_unlock(&pointers_lock); write_unlock(&pointers_lock);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
/* had we spliced it onto indirect block? */ /* had we spliced it onto indirect block? */
if (where->bh) if (where->bh)
...@@ -418,7 +418,7 @@ void sysv_truncate (struct inode * inode) ...@@ -418,7 +418,7 @@ void sysv_truncate (struct inode * inode)
} }
n++; n++;
} }
inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_ctime = current_time(inode);
if (IS_SYNC(inode)) if (IS_SYNC(inode))
sysv_sync_inode (inode); sysv_sync_inode (inode);
else else
......
...@@ -120,7 +120,7 @@ static int sysv_link(struct dentry * old_dentry, struct inode * dir, ...@@ -120,7 +120,7 @@ static int sysv_link(struct dentry * old_dentry, struct inode * dir,
{ {
struct inode *inode = d_inode(old_dentry); struct inode *inode = d_inode(old_dentry);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
inode_inc_link_count(inode); inode_inc_link_count(inode);
ihold(inode); ihold(inode);
...@@ -240,7 +240,7 @@ static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry, ...@@ -240,7 +240,7 @@ static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry,
if (!new_de) if (!new_de)
goto out_dir; goto out_dir;
sysv_set_link(new_de, new_page, old_inode); sysv_set_link(new_de, new_page, old_inode);
new_inode->i_ctime = CURRENT_TIME_SEC; new_inode->i_ctime = current_time(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);
......
...@@ -100,7 +100,7 @@ void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, ...@@ -100,7 +100,7 @@ void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
err = ufs_commit_chunk(page, pos, len); err = ufs_commit_chunk(page, pos, len);
ufs_put_page(page); ufs_put_page(page);
if (update_times) if (update_times)
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
} }
...@@ -389,7 +389,7 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode) ...@@ -389,7 +389,7 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
ufs_set_de_type(sb, de, inode->i_mode); ufs_set_de_type(sb, de, inode->i_mode);
err = ufs_commit_chunk(page, pos, rec_len); err = ufs_commit_chunk(page, pos, rec_len);
dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; dir->i_mtime = dir->i_ctime = current_time(dir);
mark_inode_dirty(dir); mark_inode_dirty(dir);
/* OFFSET_CACHE */ /* OFFSET_CACHE */
...@@ -530,7 +530,7 @@ int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir, ...@@ -530,7 +530,7 @@ int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
pde->d_reclen = cpu_to_fs16(sb, to - from); pde->d_reclen = cpu_to_fs16(sb, to - from);
dir->d_ino = 0; dir->d_ino = 0;
err = ufs_commit_chunk(page, pos, to - from); err = ufs_commit_chunk(page, pos, to - from);
inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; inode->i_ctime = inode->i_mtime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out: out:
ufs_put_page(page); ufs_put_page(page);
......
...@@ -290,7 +290,7 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode) ...@@ -290,7 +290,7 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode)
inode_init_owner(inode, dir, mode); inode_init_owner(inode, dir, mode);
inode->i_blocks = 0; inode->i_blocks = 0;
inode->i_generation = 0; inode->i_generation = 0;
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
ufsi->i_flags = UFS_I(dir)->i_flags; ufsi->i_flags = UFS_I(dir)->i_flags;
ufsi->i_lastfrag = 0; ufsi->i_lastfrag = 0;
ufsi->i_shadow = 0; ufsi->i_shadow = 0;
......
...@@ -293,7 +293,7 @@ ufs_inode_getfrag(struct inode *inode, unsigned index, ...@@ -293,7 +293,7 @@ ufs_inode_getfrag(struct inode *inode, unsigned index,
if (new) if (new)
*new = 1; *new = 1;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
if (IS_SYNC(inode)) if (IS_SYNC(inode))
ufs_sync_inode (inode); ufs_sync_inode (inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
...@@ -375,7 +375,7 @@ ufs_inode_getblock(struct inode *inode, u64 ind_block, ...@@ -375,7 +375,7 @@ ufs_inode_getblock(struct inode *inode, u64 ind_block,
mark_buffer_dirty(bh); mark_buffer_dirty(bh);
if (IS_SYNC(inode)) if (IS_SYNC(inode))
sync_dirty_buffer(bh); sync_dirty_buffer(bh);
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out: out:
brelse (bh); brelse (bh);
...@@ -1185,7 +1185,7 @@ static int ufs_truncate(struct inode *inode, loff_t size) ...@@ -1185,7 +1185,7 @@ static int ufs_truncate(struct inode *inode, loff_t size)
truncate_setsize(inode, size); truncate_setsize(inode, size);
__ufs_truncate_blocks(inode); __ufs_truncate_blocks(inode);
inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; inode->i_mtime = inode->i_ctime = current_time(inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
out: out:
UFSD("EXIT: err %d\n", err); UFSD("EXIT: err %d\n", err);
......
...@@ -153,7 +153,7 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir, ...@@ -153,7 +153,7 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir,
struct inode *inode = d_inode(old_dentry); struct inode *inode = d_inode(old_dentry);
int error; int error;
inode->i_ctime = CURRENT_TIME_SEC; inode->i_ctime = current_time(inode);
inode_inc_link_count(inode); inode_inc_link_count(inode);
ihold(inode); ihold(inode);
...@@ -279,7 +279,7 @@ static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -279,7 +279,7 @@ static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry,
if (!new_de) if (!new_de)
goto out_dir; goto out_dir;
ufs_set_link(new_dir, new_de, new_page, old_inode, 1); ufs_set_link(new_dir, new_de, new_page, old_inode, 1);
new_inode->i_ctime = CURRENT_TIME_SEC; new_inode->i_ctime = current_time(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);
...@@ -295,7 +295,7 @@ static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -295,7 +295,7 @@ static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry,
* 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_SEC; old_inode->i_ctime = current_time(old_inode);
ufs_delete_entry(old_dir, old_de, old_page); ufs_delete_entry(old_dir, old_de, old_page);
mark_inode_dirty(old_inode); mark_inode_dirty(old_inode);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment