[Yaffs] [Yaffs-archive] Re: yaffs and 2.6.0-test2 kernel

Charles Manning manningc2@actrix.gen.nz
Sat, 16 Aug 2003 09:40:32 +1200


On Thursday 14 August 2003 21:43, Nick Bane wrote:
> Yaffsers
>
> I have found and fixed the rename problem in linux kernel 2.6.0 and almost
> certainly the 2.5 kernel one too (though I haven't tested it) and looks
> like a sensible change for 2.4 as well.
>
> The problem was that the dcache hash table in the new dentry was not being
> created..
>
> Close inspection of the vfs_rename function under yaffs shows that the
> new_dentry being passed the the fs rename function has no hash table if it
> is a new entry as opposed to pointing to an existing one that is to be
> deleted. This caused a segfault in dcache's d_move when it tried to add a
> NULL hash list to the existing hash list.
>
> This is a result of the yaffs lookup function not d_add-ing the dentry when
> no yaffs object is found during yaffs_lookup (and hence no inode).
> Initialising inode to NULL and forcing a d_add call fixes this by creating
> the dentry hash that was missing. I wonder if this might have been partly
> responsible for other directory problems that have been seen.
>

Nick

Good detective work.  Luc and I were never 100% happy with what was going on 
in yaffs_fs with 2.4, but could not see any real residual problems. Maybe 
this is sorted properly now.

-- CHarles

---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.