*** empty log message ***
[yaffs/.git] / Documentation / yaffs-todo.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
2 <HTML>
3 <HEAD>
4         <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
5         <TITLE></TITLE>
6         <META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Linux)">
7         <META NAME="AUTHOR" CONTENT=" ">
8         <META NAME="CREATED" CONTENT="20020501;19062800">
9         <META NAME="CHANGEDBY" CONTENT=" ">
10         <META NAME="CHANGED" CONTENT="20020821;21171400">
11 </HEAD>
12 <BODY>
13 <H1>YAFFS Todo as at <SDFIELD TYPE=DATETIME SDNUM="5129;2057;DD/MM/YYYY">21/08/2002</SDFIELD></H1>
14 <H3>Stuff not yet done</H3>
15 <OL>
16         <LI><P>Directory locking during directory walk.</P>
17         <LI><P>Other locking.... investigate what is needed.</P>
18         <LI><P>Add write memory mapping. We probably need this to support
19         loop mounting.</P>
20         <LI><P>At scan time, check that the file size in the ObjectHeader
21         matches the filesize of the scanned blocks.</P>
22 </OL>
23 <H3>Tools to be done</H3>
24 <OL>
25         <LI><P>Dumper and analyser to work off the mtd.</P>
26 </OL>
27 <H3>Recently done with no known problems (ie. probably needs
28 significant testing)</H3>
29 <OL>
30         <LI><P>ECC and write failure handling.</P>
31         <LI><P>Added symlinks and hard links to VFS interface.</P>
32         <LI><P>Fixed problem with persistence. Object header was not being
33         updated at end of write and the file size was getting corrupted.</P>
34         <LI><P>Fixed problem where obsoleted object headers were not being
35         deleted on NAND. This caused multiple file entries. Looks like it is
36         working properly now.</P>
37         <LI><P>Read memory mapping. Can now execute a file from yaffs.</P>
38         <LI><P>We now mark a chunk as deleted by marking the OOB data
39         validity flag. Before this we just stomped on the tags, which was
40         mot such a good thing to do with newer NANDs which do not like this
41         sort of thing.</P>
42 </OL>
43 <OL>
44         <LI><P>File pruning is done in reverse order so that if power is
45         lost part-way through, the file does not have any holes.</P>
46 </OL>
47 <OL>
48         <LI><P>mkyaffsimage. Tool to make a yaffs image from a directory (in
49         the spirit of mkcramfs).</P>
50         <LI><P>Added support for special inodes (pipes, character &amp;
51         block devices, sockets).</P>
52         <LI><P>Added generic read/write support to use page caching.
53         Selectable by configuration of CONFIG_YAFFS_USE_GENERIC_RW.</P>
54 </OL>
55 <H3>Done, but currently known to be broken</H3>
56 <OL>
57         <LI><P>If you fill yaffs and then try to copy more files into it,
58         you end up with a bunch of objxxx files when you do an ls.</P>
59 </OL>
60 <H3>Longer term stuff to do</H3>
61 <OL>
62         <LI><P>Discuss improved NAND page interface with mtd group. This has
63         actually started. Luc van Oostenryck is also looking at an
64         alternative layer to mtd.</P>
65         <LI><P>Pull out all YAFFS_OK and YAFFS_FAIL style errors and return
66         with -ENOMEM style error messages.</P>
67 </OL>
68 <P><BR><BR>
69 </P>
70 </BODY>
71 </HTML>