On Thursday 03 February 2011 00:43:47 Bob Dunlop wrote:
> My solution was to look at the TODO comment in yaffs_ChangeObjectName()
> now yaffs_change_obj_name() in yaffs_guts.c and remove the different
> handling for YAFFS1, treating the unlink_op as per YAFFS2.
>
> This works with and without your additional patch in simple tests but I
> don't know enough about the code to prove that I'm not storing up problems
> for later.
>
>
> --- yaffs_guts.c-orig 2011-01-31 08:42:34.000000000 +0000
> +++ yaffs_guts.c 2011-02-02 11:29:13.000000000 +0000
> @@ -1342,12 +1342,7 @@
> YBUG();
> }
>
> - /* TODO: Do we need this different handling for YAFFS2 and YAFFS1?? */
> - if (obj->my_dev->param.is_yaffs2)
> - unlink_op = (new_dir == obj->my_dev->unlinked_dir);
> - else
> - unlink_op = (new_dir == obj->my_dev->unlinked_dir
> - && obj->variant_type == YAFFS_OBJECT_TYPE_FILE);
> + unlink_op = (new_dir == obj->my_dev->unlinked_dir);
>
> del_op = (new_dir == obj->my_dev->del_dir);
Thanks Bob.
I started looking into this and this looks like it is the right way to go.
This has been pushed to yaffs.net git.
-- Charles