diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-10 23:16:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-10 23:16:43 -0400 |
commit | 101105b1717f536ca741f940033996302d4ef191 (patch) | |
tree | 12ab41ae1b1b66105e9fa2ea763356d2be7e8b34 /fs/minix | |
parent | 35ff96dfd3c9aaa921b3e8dcac76b7697f2dcec0 (diff) | |
parent | 3873691e5ab34fa26948643d038a2b98c4437298 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull more vfs updates from Al Viro:
">rename2() work from Miklos + current_time() from Deepa"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
fs: Replace current_fs_time() with current_time()
fs: Replace CURRENT_TIME_SEC with current_time() for inode timestamps
fs: Replace CURRENT_TIME with current_time() for inode timestamps
fs: proc: Delete inode time initializations in proc_alloc_inode()
vfs: Add current_time() api
vfs: add note about i_op->rename changes to porting
fs: rename "rename2" i_op to "rename"
vfs: remove unused i_op->rename
fs: make remaining filesystems use .rename2
libfs: support RENAME_NOREPLACE in simple_rename()
fs: support RENAME_NOREPLACE for local filesystems
ncpfs: fix unused variable warning
Diffstat (limited to 'fs/minix')
-rw-r--r-- | fs/minix/bitmap.c | 2 | ||||
-rw-r--r-- | fs/minix/dir.c | 6 | ||||
-rw-r--r-- | fs/minix/itree_common.c | 4 | ||||
-rw-r--r-- | fs/minix/namei.c | 10 |
4 files changed, 13 insertions, 9 deletions
diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c index 742942a983be..c2c3fd3277b5 100644 --- a/fs/minix/bitmap.c +++ b/fs/minix/bitmap.c | |||
@@ -253,7 +253,7 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) | |||
253 | } | 253 | } |
254 | inode_init_owner(inode, dir, mode); | 254 | inode_init_owner(inode, dir, mode); |
255 | inode->i_ino = j; | 255 | inode->i_ino = j; |
256 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; | 256 | inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode); |
257 | inode->i_blocks = 0; | 257 | inode->i_blocks = 0; |
258 | memset(&minix_i(inode)->u, 0, sizeof(minix_i(inode)->u)); | 258 | memset(&minix_i(inode)->u, 0, sizeof(minix_i(inode)->u)); |
259 | insert_inode_hash(inode); | 259 | insert_inode_hash(inode); |
diff --git a/fs/minix/dir.c b/fs/minix/dir.c index 31dcd515b9d5..7edc9b395700 100644 --- a/fs/minix/dir.c +++ b/fs/minix/dir.c | |||
@@ -274,7 +274,7 @@ got_it: | |||
274 | de->inode = inode->i_ino; | 274 | de->inode = inode->i_ino; |
275 | } | 275 | } |
276 | err = dir_commit_chunk(page, pos, sbi->s_dirsize); | 276 | err = dir_commit_chunk(page, pos, sbi->s_dirsize); |
277 | dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; | 277 | dir->i_mtime = dir->i_ctime = current_time(dir); |
278 | mark_inode_dirty(dir); | 278 | mark_inode_dirty(dir); |
279 | out_put: | 279 | out_put: |
280 | dir_put_page(page); | 280 | dir_put_page(page); |
@@ -306,7 +306,7 @@ int minix_delete_entry(struct minix_dir_entry *de, struct page *page) | |||
306 | unlock_page(page); | 306 | unlock_page(page); |
307 | } | 307 | } |
308 | dir_put_page(page); | 308 | dir_put_page(page); |
309 | inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; | 309 | inode->i_ctime = inode->i_mtime = current_time(inode); |
310 | mark_inode_dirty(inode); | 310 | mark_inode_dirty(inode); |
311 | return err; | 311 | return err; |
312 | } | 312 | } |
@@ -430,7 +430,7 @@ void minix_set_link(struct minix_dir_entry *de, struct page *page, | |||
430 | unlock_page(page); | 430 | unlock_page(page); |
431 | } | 431 | } |
432 | dir_put_page(page); | 432 | dir_put_page(page); |
433 | dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; | 433 | dir->i_mtime = dir->i_ctime = current_time(dir); |
434 | mark_inode_dirty(dir); | 434 | mark_inode_dirty(dir); |
435 | } | 435 | } |
436 | 436 | ||
diff --git a/fs/minix/itree_common.c b/fs/minix/itree_common.c index a731cabf1540..4c57c9af6946 100644 --- a/fs/minix/itree_common.c +++ b/fs/minix/itree_common.c | |||
@@ -124,7 +124,7 @@ static inline int splice_branch(struct inode *inode, | |||
124 | 124 | ||
125 | /* We are done with atomic stuff, now do the rest of housekeeping */ | 125 | /* We are done with atomic stuff, now do the rest of housekeeping */ |
126 | 126 | ||
127 | inode->i_ctime = CURRENT_TIME_SEC; | 127 | inode->i_ctime = current_time(inode); |
128 | 128 | ||
129 | /* had we spliced it onto indirect block? */ | 129 | /* had we spliced it onto indirect block? */ |
130 | if (where->bh) | 130 | if (where->bh) |
@@ -343,7 +343,7 @@ do_indirects: | |||
343 | } | 343 | } |
344 | first_whole++; | 344 | first_whole++; |
345 | } | 345 | } |
346 | inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC; | 346 | inode->i_mtime = inode->i_ctime = current_time(inode); |
347 | mark_inode_dirty(inode); | 347 | mark_inode_dirty(inode); |
348 | } | 348 | } |
349 | 349 | ||
diff --git a/fs/minix/namei.c b/fs/minix/namei.c index 2887d1d95ce2..1e0f11f5dac9 100644 --- a/fs/minix/namei.c +++ b/fs/minix/namei.c | |||
@@ -106,7 +106,7 @@ static int minix_link(struct dentry * old_dentry, struct inode * dir, | |||
106 | { | 106 | { |
107 | struct inode *inode = d_inode(old_dentry); | 107 | struct inode *inode = d_inode(old_dentry); |
108 | 108 | ||
109 | inode->i_ctime = CURRENT_TIME_SEC; | 109 | inode->i_ctime = current_time(inode); |
110 | inode_inc_link_count(inode); | 110 | inode_inc_link_count(inode); |
111 | ihold(inode); | 111 | ihold(inode); |
112 | return add_nondir(dentry, inode); | 112 | return add_nondir(dentry, inode); |
@@ -185,7 +185,8 @@ static int minix_rmdir(struct inode * dir, struct dentry *dentry) | |||
185 | } | 185 | } |
186 | 186 | ||
187 | static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, | 187 | static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, |
188 | struct inode * new_dir, struct dentry *new_dentry) | 188 | struct inode * new_dir, struct dentry *new_dentry, |
189 | unsigned int flags) | ||
189 | { | 190 | { |
190 | struct inode * old_inode = d_inode(old_dentry); | 191 | struct inode * old_inode = d_inode(old_dentry); |
191 | struct inode * new_inode = d_inode(new_dentry); | 192 | struct inode * new_inode = d_inode(new_dentry); |
@@ -195,6 +196,9 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, | |||
195 | struct minix_dir_entry * old_de; | 196 | struct minix_dir_entry * old_de; |
196 | int err = -ENOENT; | 197 | int err = -ENOENT; |
197 | 198 | ||
199 | if (flags & ~RENAME_NOREPLACE) | ||
200 | return -EINVAL; | ||
201 | |||
198 | old_de = minix_find_entry(old_dentry, &old_page); | 202 | old_de = minix_find_entry(old_dentry, &old_page); |
199 | if (!old_de) | 203 | if (!old_de) |
200 | goto out; | 204 | goto out; |
@@ -219,7 +223,7 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, | |||
219 | if (!new_de) | 223 | if (!new_de) |
220 | goto out_dir; | 224 | goto out_dir; |
221 | minix_set_link(new_de, new_page, old_inode); | 225 | minix_set_link(new_de, new_page, old_inode); |
222 | new_inode->i_ctime = CURRENT_TIME_SEC; | 226 | new_inode->i_ctime = current_time(new_inode); |
223 | if (dir_de) | 227 | if (dir_de) |
224 | drop_nlink(new_inode); | 228 | drop_nlink(new_inode); |
225 | inode_dec_link_count(new_inode); | 229 | inode_dec_link_count(new_inode); |