kernel: fix whiteout rename on ubifs (FS#579)
authorFelix Fietkau <nbd@nbd.name>
Mon, 6 Mar 2017 09:09:28 +0000 (10:09 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 6 Mar 2017 09:12:42 +0000 (10:12 +0100)
This was apparently caused by some linux upstream merge damage

Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch [new file with mode: 0644]

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 (file)
index 0000000..7b81afb
--- /dev/null
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+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 <nbd@nbd.name>
+---
+
+--- 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.