I've updated my kernel with you latest commits and everything is fine with
directory deletion on my yaffs1 partition.
Thanks a lot for the great job !
Baptiste
Date: Thu, 3 Feb 2011 05:57:32 +1300
From: Charles Manning <manningc2@actrix.gen.nz>
Subject: Re: [Yaffs] Unable to remove a directory which has juste been
created
To: yaffs@lists.aleph1.co.uk
Message-ID: <201102030557.32911.manningc2@actrix.gen.nz>
Content-Type: text/plain; charset="iso-8859-1"
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