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/hpfs | |
| 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/hpfs')
| -rw-r--r-- | fs/hpfs/namei.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/hpfs/namei.c b/fs/hpfs/namei.c index bb8d67e2740a..f30c14414518 100644 --- a/fs/hpfs/namei.c +++ b/fs/hpfs/namei.c | |||
| @@ -507,7 +507,8 @@ const struct address_space_operations hpfs_symlink_aops = { | |||
| 507 | }; | 507 | }; |
| 508 | 508 | ||
| 509 | static int hpfs_rename(struct inode *old_dir, struct dentry *old_dentry, | 509 | static int hpfs_rename(struct inode *old_dir, struct dentry *old_dentry, |
| 510 | struct inode *new_dir, struct dentry *new_dentry) | 510 | struct inode *new_dir, struct dentry *new_dentry, |
| 511 | unsigned int flags) | ||
| 511 | { | 512 | { |
| 512 | const unsigned char *old_name = old_dentry->d_name.name; | 513 | const unsigned char *old_name = old_dentry->d_name.name; |
| 513 | unsigned old_len = old_dentry->d_name.len; | 514 | unsigned old_len = old_dentry->d_name.len; |
| @@ -524,6 +525,9 @@ static int hpfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
| 524 | struct fnode *fnode; | 525 | struct fnode *fnode; |
| 525 | int err; | 526 | int err; |
| 526 | 527 | ||
| 528 | if (flags & ~RENAME_NOREPLACE) | ||
| 529 | return -EINVAL; | ||
| 530 | |||
| 527 | if ((err = hpfs_chk_name(new_name, &new_len))) return err; | 531 | if ((err = hpfs_chk_name(new_name, &new_len))) return err; |
| 528 | err = 0; | 532 | err = 0; |
| 529 | hpfs_adjust_length(old_name, &old_len); | 533 | hpfs_adjust_length(old_name, &old_len); |
