From 697ff33771064731fbe7e90549df587c8c19789d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 6 Mar 2017 10:09:28 +0100 Subject: [PATCH] kernel: fix whiteout rename on ubifs (FS#579) This was apparently caused by some linux upstream merge damage Signed-off-by: Felix Fietkau --- ...31-ubifs-fix-RENAME_WHITEOUT-support.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch diff --git a/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch b/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch new file mode 100644 index 0000000000..7b81afbdd9 --- /dev/null +++ b/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch @@ -0,0 +1,25 @@ +From: Felix Fietkau +Date: Mon, 6 Mar 2017 09:48:52 +0100 +Subject: [PATCH] ubifs: fix RENAME_WHITEOUT support + +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 +--- + +--- a/fs/ubifs/dir.c ++++ b/fs/ubifs/dir.c +@@ -1088,9 +1088,6 @@ static int do_rename(struct inode *old_d + struct timespec time; + unsigned int uninitialized_var(saved_nlink); + +- 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.