ubifs: fix RENAME_WHITEOUT support

Submitted by Felix Fietkau on March 6, 2017, 9:04 a.m.

Details

Message ID 20170306090425.61855-1-nbd@nbd.name
State New
Delegated to: Richard Weinberger
Headers show

Commit Message

Felix Fietkau March 6, 2017, 9:04 a.m.
Remove faulty leftover check in do_rename(), apparently introduced in a
merge that combined whiteout support changes with commit f03b8ad8d386
("fs: support RENAME_NOREPLACE for local filesystems")

Fixes: 9e0a1fff8db5 ("ubifs: Implement RENAME_WHITEOUT")
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 fs/ubifs/dir.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Richard Weinberger March 6, 2017, 9:35 a.m.
Am 06.03.2017 um 10:04 schrieb Felix Fietkau:
> Remove faulty leftover check in do_rename(), apparently introduced in a
> merge that combined whiteout support changes with commit f03b8ad8d386
> ("fs: support RENAME_NOREPLACE for local filesystems")

Good find, thank you Felix.

> Fixes: 9e0a1fff8db5 ("ubifs: Implement RENAME_WHITEOUT")

Why not f03b8ad8d386?
This commit adds the check and I oversaw that. ;-\

Thanks,
//richard
Felix Fietkau March 6, 2017, 9:46 a.m.
On 2017-03-06 10:35, Richard Weinberger wrote:
> Am 06.03.2017 um 10:04 schrieb Felix Fietkau:
>> Remove faulty leftover check in do_rename(), apparently introduced in a
>> merge that combined whiteout support changes with commit f03b8ad8d386
>> ("fs: support RENAME_NOREPLACE for local filesystems")
> 
> Good find, thank you Felix.
> 
>> Fixes: 9e0a1fff8db5 ("ubifs: Implement RENAME_WHITEOUT")
> 
> Why not f03b8ad8d386?
> This commit adds the check and I oversaw that. ;-\
It seems that the merge of both commits is at fault. When I checked git
log, f03b8ad8d386 came before 9e0a1fff8db5.

- Felix

Patch hide | download patch | download mbox

diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index 528369f3e472..f131898b7d2b 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -1316,9 +1316,6 @@  static int do_rename(struct inode *old_dir, struct dentry *old_dentry,
 	unsigned int uninitialized_var(saved_nlink);
 	struct fscrypt_name old_nm, new_nm;
 
-	if (flags & ~RENAME_NOREPLACE)
-		return -EINVAL;
-
 	/*
 	 * Budget request settings: deletion direntry, new direntry, removing
 	 * the old inode, and changing old and new parent directory inodes.