summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authoracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-30 10:00:34 +0000
committeracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-30 10:00:34 +0000
commitaf7408674bc76a3aad737890acf97526377eeedf (patch)
treeb6f42462f326a494c41740e0f5df3ee1276ac37b /target
parent7438476abb398deacd0e0dd17a176ce27f7f9ae2 (diff)
linux/generic: fix "rm: can't remove 'xyz': Directory not empty" symbolic link and directory issues on RouterBoard family devices.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23718 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/patches-2.6.36/512-yaffs_symlink_bug.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.36/512-yaffs_symlink_bug.patch b/target/linux/generic/patches-2.6.36/512-yaffs_symlink_bug.patch
new file mode 100644
index 000000000..dabf2871b
--- /dev/null
+++ b/target/linux/generic/patches-2.6.36/512-yaffs_symlink_bug.patch
@@ -0,0 +1,17 @@
+--- a/fs/yaffs2/yaffs_guts.c
++++ b/fs/yaffs2/yaffs_guts.c
+@@ -1709,11 +1709,11 @@ static int yaffs_change_obj_name(yaffs_o
+ }
+
+ /* TODO: Do we need this different handling for YAFFS2 and YAFFS1?? */
+- if (obj->my_dev->param.is_yaffs2)
++ // if (obj->my_dev->param.is_yaffs2)
+ unlinkOp = (new_dir == obj->my_dev->unlinked_dir);
+- else
++ /* else
+ unlinkOp = (new_dir == obj->my_dev->unlinked_dir
+- && obj->variant_type == YAFFS_OBJECT_TYPE_FILE);
++ && obj->variant_type == YAFFS_OBJECT_TYPE_FILE); */
+
+ deleteOp = (new_dir == obj->my_dev->del_dir);
+