diff options
| author | Deepa Dinamani <deepa.kernel@gmail.com> | 2016-09-14 10:48:05 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-09-27 21:06:22 -0400 |
| commit | 02027d42c3f747945f19111d3da2092ed2148ac8 (patch) | |
| tree | 1eac59f95ba905fb1d1fe5a53a792145e8e9c267 /fs/fat | |
| parent | 078cd8279e659989b103359bb22373cc79445bde (diff) | |
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>
Diffstat (limited to 'fs/fat')
| -rw-r--r-- | fs/fat/dir.c | 2 | ||||
| -rw-r--r-- | fs/fat/file.c | 4 | ||||
| -rw-r--r-- | fs/fat/inode.c | 2 | ||||
| -rw-r--r-- | fs/fat/namei_msdos.c | 12 | ||||
| -rw-r--r-- | fs/fat/namei_vfat.c | 10 |
5 files changed, 15 insertions, 15 deletions
diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 663e428596c6..81cecbe6d7cf 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c | |||
| @@ -1071,7 +1071,7 @@ int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo) | |||
| 1071 | } | 1071 | } |
| 1072 | } | 1072 | } |
| 1073 | 1073 | ||
| 1074 | dir->i_mtime = dir->i_atime = CURRENT_TIME_SEC; | 1074 | dir->i_mtime = dir->i_atime = current_time(dir); |
| 1075 | if (IS_DIRSYNC(dir)) | 1075 | if (IS_DIRSYNC(dir)) |
| 1076 | (void)fat_sync_inode(dir); | 1076 | (void)fat_sync_inode(dir); |
| 1077 | else | 1077 | else |
diff --git a/fs/fat/file.c b/fs/fat/file.c index f70185668832..811bbe0ab7a3 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c | |||
| @@ -194,7 +194,7 @@ static int fat_cont_expand(struct inode *inode, loff_t size) | |||
| 194 | if (err) | 194 | if (err) |
| 195 | goto out; | 195 | goto out; |
| 196 | 196 | ||
| 197 | inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; | 197 | inode->i_ctime = inode->i_mtime = current_time(inode); |
| 198 | mark_inode_dirty(inode); | 198 | mark_inode_dirty(inode); |
| 199 | if (IS_SYNC(inode)) { | 199 | if (IS_SYNC(inode)) { |
| 200 | int err2; | 200 | int err2; |
| @@ -297,7 +297,7 @@ static int fat_free(struct inode *inode, int skip) | |||
| 297 | MSDOS_I(inode)->i_logstart = 0; | 297 | MSDOS_I(inode)->i_logstart = 0; |
| 298 | } | 298 | } |
| 299 | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; | 299 | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; |
| 300 | inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; | 300 | inode->i_ctime = inode->i_mtime = current_time(inode); |
| 301 | if (wait) { | 301 | if (wait) { |
| 302 | err = fat_sync_inode(inode); | 302 | err = fat_sync_inode(inode); |
| 303 | if (err) { | 303 | if (err) { |
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index da04c0298fab..338d2f73eb29 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
| @@ -237,7 +237,7 @@ static int fat_write_end(struct file *file, struct address_space *mapping, | |||
| 237 | if (err < len) | 237 | if (err < len) |
| 238 | fat_write_failed(mapping, pos + len); | 238 | fat_write_failed(mapping, pos + len); |
| 239 | if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) { | 239 | if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) { |
| 240 | inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; | 240 | inode->i_mtime = inode->i_ctime = current_time(inode); |
| 241 | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; | 241 | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; |
| 242 | mark_inode_dirty(inode); | 242 | mark_inode_dirty(inode); |
| 243 | } | 243 | } |
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c index 664655b2c55f..ccd9f83f9bb6 100644 --- a/fs/fat/namei_msdos.c +++ b/fs/fat/namei_msdos.c | |||
| @@ -283,7 +283,7 @@ static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode, | |||
| 283 | goto out; | 283 | goto out; |
| 284 | } | 284 | } |
| 285 | 285 | ||
| 286 | ts = CURRENT_TIME_SEC; | 286 | ts = current_time(dir); |
| 287 | err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo); | 287 | err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo); |
| 288 | if (err) | 288 | if (err) |
| 289 | goto out; | 289 | goto out; |
| @@ -330,7 +330,7 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry) | |||
| 330 | drop_nlink(dir); | 330 | drop_nlink(dir); |
| 331 | 331 | ||
| 332 | clear_nlink(inode); | 332 | clear_nlink(inode); |
| 333 | inode->i_ctime = CURRENT_TIME_SEC; | 333 | inode->i_ctime = current_time(inode); |
| 334 | fat_detach(inode); | 334 | fat_detach(inode); |
| 335 | out: | 335 | out: |
| 336 | mutex_unlock(&MSDOS_SB(sb)->s_lock); | 336 | 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 | goto out; | 364 | goto out; |
| 365 | } | 365 | } |
| 366 | 366 | ||
| 367 | ts = CURRENT_TIME_SEC; | 367 | ts = current_time(dir); |
| 368 | cluster = fat_alloc_new_dir(dir, &ts); | 368 | cluster = fat_alloc_new_dir(dir, &ts); |
| 369 | if (cluster < 0) { | 369 | if (cluster < 0) { |
| 370 | err = cluster; | 370 | err = cluster; |
| @@ -416,7 +416,7 @@ static int msdos_unlink(struct inode *dir, struct dentry *dentry) | |||
| 416 | if (err) | 416 | if (err) |
| 417 | goto out; | 417 | goto out; |
| 418 | clear_nlink(inode); | 418 | clear_nlink(inode); |
| 419 | inode->i_ctime = CURRENT_TIME_SEC; | 419 | inode->i_ctime = current_time(inode); |
| 420 | fat_detach(inode); | 420 | fat_detach(inode); |
| 421 | out: | 421 | out: |
| 422 | mutex_unlock(&MSDOS_SB(sb)->s_lock); | 422 | 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 | mark_inode_dirty(old_inode); | 481 | mark_inode_dirty(old_inode); |
| 482 | 482 | ||
| 483 | old_dir->i_version++; | 483 | old_dir->i_version++; |
| 484 | old_dir->i_ctime = old_dir->i_mtime = CURRENT_TIME_SEC; | 484 | old_dir->i_ctime = old_dir->i_mtime = current_time(old_dir); |
| 485 | if (IS_DIRSYNC(old_dir)) | 485 | if (IS_DIRSYNC(old_dir)) |
| 486 | (void)fat_sync_inode(old_dir); | 486 | (void)fat_sync_inode(old_dir); |
| 487 | else | 487 | else |
| @@ -490,7 +490,7 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name, | |||
| 490 | } | 490 | } |
| 491 | } | 491 | } |
| 492 | 492 | ||
| 493 | ts = CURRENT_TIME_SEC; | 493 | ts = current_time(old_inode); |
| 494 | if (new_inode) { | 494 | if (new_inode) { |
| 495 | if (err) | 495 | if (err) |
| 496 | goto out; | 496 | goto out; |
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c index 92b7363dafa9..d4a1b2bfda64 100644 --- a/fs/fat/namei_vfat.c +++ b/fs/fat/namei_vfat.c | |||
| @@ -777,7 +777,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode, | |||
| 777 | 777 | ||
| 778 | mutex_lock(&MSDOS_SB(sb)->s_lock); | 778 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
| 779 | 779 | ||
| 780 | ts = CURRENT_TIME_SEC; | 780 | ts = current_time(dir); |
| 781 | err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo); | 781 | err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo); |
| 782 | if (err) | 782 | if (err) |
| 783 | goto out; | 783 | goto out; |
| @@ -821,7 +821,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry) | |||
| 821 | drop_nlink(dir); | 821 | drop_nlink(dir); |
| 822 | 822 | ||
| 823 | clear_nlink(inode); | 823 | clear_nlink(inode); |
| 824 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; | 824 | inode->i_mtime = inode->i_atime = current_time(inode); |
| 825 | fat_detach(inode); | 825 | fat_detach(inode); |
| 826 | dentry->d_time = dir->i_version; | 826 | dentry->d_time = dir->i_version; |
| 827 | out: | 827 | out: |
| @@ -847,7 +847,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry) | |||
| 847 | if (err) | 847 | if (err) |
| 848 | goto out; | 848 | goto out; |
| 849 | clear_nlink(inode); | 849 | clear_nlink(inode); |
| 850 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; | 850 | inode->i_mtime = inode->i_atime = current_time(inode); |
| 851 | fat_detach(inode); | 851 | fat_detach(inode); |
| 852 | dentry->d_time = dir->i_version; | 852 | dentry->d_time = dir->i_version; |
| 853 | out: | 853 | out: |
| @@ -866,7 +866,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) | |||
| 866 | 866 | ||
| 867 | mutex_lock(&MSDOS_SB(sb)->s_lock); | 867 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
| 868 | 868 | ||
| 869 | ts = CURRENT_TIME_SEC; | 869 | ts = current_time(dir); |
| 870 | cluster = fat_alloc_new_dir(dir, &ts); | 870 | cluster = fat_alloc_new_dir(dir, &ts); |
| 871 | if (cluster < 0) { | 871 | if (cluster < 0) { |
| 872 | err = cluster; | 872 | err = cluster; |
| @@ -931,7 +931,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
| 931 | } | 931 | } |
| 932 | } | 932 | } |
| 933 | 933 | ||
| 934 | ts = CURRENT_TIME_SEC; | 934 | ts = current_time(old_dir); |
| 935 | if (new_inode) { | 935 | if (new_inode) { |
| 936 | if (is_dir) { | 936 | if (is_dir) { |
| 937 | err = fat_dir_empty(new_inode); | 937 | err = fat_dir_empty(new_inode); |
