This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1000539] fatfs chdir("..") broken
- From: bugzilla-daemon at ecoscentric dot com
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Sat, 3 May 2008 14:49:58 +0100
- Subject: [Bug 1000539] fatfs chdir("..") broken
http://bugzilla.ecoscentric.com/show_bug.cgi?id=1000539
--- Comment #3 from Andrew Lunn <andrew.lunn@ascom.ch> 2008-05-03 14:49:56 ---
I spent a few hours looking at this and how other FS handle .. entries. When
the filesystem is inode based, it all works nicely. The find_direntry()
function returns the directory entry for ".." and then you follow the inode
reference to the actual node. This inode reference for . and .. points to where
you expect.
However FAT don't have the concept of an inode. find_direntry returns the
directory entry, which exist for . and .. and that entry is used itself.
It looks like . and .. needed to be treated special in find_direntry(). . is
easy, it is a NOP. However i cannot figure out how to handle the .. case. How
do i find the parent? I know the cluster the parent is in, but where about in
the cluster is it?
Nick, could you give me some clues from the eCosCentric code?
BTW: The on disk format seems O.K. I did some tests creating a directory,
unmounting and then testing the disk image with both mdir and fsck.msdos with a
block look device.
--
Configure bugmail: http://bugzilla.ecoscentric.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.