From: Felix Fietkau Date: Mon, 6 Mar 2017 09:09:28 +0000 (+0100) Subject: kernel: fix whiteout rename on ubifs (FS#579) X-Git-Tag: v18.06.0-rc1~3440 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=697ff33771064731fbe7e90549df587c8c19789d;p=openwrt%2Fstaging%2Fchunkeey.git kernel: fix whiteout rename on ubifs (FS#579) This was apparently caused by some linux upstream merge damage Signed-off-by: Felix Fietkau --- 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.