1 2005-08-03 Andrew Lunn <andrew.lunn@ascom.ch>
3 * tests/jffs2_1.c: Include <stdio.h> to stop compiler warning.
5 2005-07-30 Andrew Lunn <andrew.lunn@ascom.ch>
9 2005-02-25 Andrew Lunn <andrew.lunn@ascom.ch>
11 * src/fs-ecos.c (jffs2_truncate_file): Correctly truncate a file
12 when opening it with O_TRUNC. Test case from Knud Woehler.
14 2005-02-08 Estelle HAMMACHE <estelle.hammache@st.com>
17 * src/dir-ecos.c: Fixed the sign of the return codes in various
18 places. iput the inode only after we have finished with
21 2005-01-22 Andrew Lunn <andrew.lunn@ascom.ch>
23 * Merge from public MTD.
25 2004-11-14 Per Hedblom <perhedblom@abem.se>
26 Andrew Lunn <andrew.lunn@ascom.ch>
28 * src/os-ecos.h: Added gc tread support
29 * src/fs-ecos.c: Removed some includes
30 * cdl/jffs2.cdl: Added gc thread support
31 * tests/jffs2_3.c: New text to exersise the garbage collect code.
33 2004-12-13 John Dallaway <jld@ecoscentric.com>
35 * tests/fileio1.c: Rename to jffs2_1.c. eCos test names should be
37 * tests/fseek1.c: Rename to jffs2_2.c.
38 * cdl/jffs2.cdl: Build the renamed tests.
40 2004-12-10 Per Hedblom <per.hedblom@abem.se>
42 * src/fs-ecos.c: Use filesystem locking not file locking otherwise
43 the node cache can be corrupted by multiple operations on
44 different files at the same time.
46 2004-11-11 Andrew Lunn <andrew.lunn@ascom.ch>
48 * Merge from public MTD.
50 2004-11-11 Andrew Lunn <andrew.lunn@ascom.ch>
52 * src/build.c: Removed Oyvind Harboe's patch from 2004-04-19
53 since it was rejected upstream.
55 2004-10-20 Per Hedblom <perhedblom@abem.se>
57 * src/fs-ecos.c (jffs2_open): Call iput on dir node if
59 * src/fs-ecos.c (jffs2_umount): use jffs2_free_full_dirent instead
62 2004-10-07 Knud Woehler <knud.woehler@microplex.de>
64 * src/fs-ecos.c (find_entry): jffs2_lookup may return error codes.
67 2004-09-16 Dirk Eibach <eibach@gdsys.de>
68 2004-09-19 Andrew Lunn <andrew.lunn@ascom.ch>
70 * cdl/jffs2.cdl: Fixed outdated definitions for compression options.
71 * src/fs-ecos.c: Added missing calls for jffs2_compressors_init()
72 and jffs2_compressors_exit()
74 2004-08-13 Andrew Lunn <andrew.lunn@ascom.ch>
76 * src/compr.h: Committed this file which if forgot yesterday.
78 2004-08-12 Andrew Lunn <andrew.lunn@ascom.ch>
79 Gary Thomas <gary@mlbassoc.com>
81 * Merge from public MTD.
83 2004-04-19 Oyvind Harboe <oyvind.harboe@zylin.com>
85 * src/build.c: JFFS2 can now be used as a write-once, read many mode
86 for really small flash disks, e.g. configuration parameters.
88 2004-04-21 Gary Thomas <gary@mlbassoc.com>
90 * src/fs-ecos.c: Merge from public MTD - verify file position
91 after each operation (safety check).
93 2004-04-06 Andrew Lunn <andrew.lunn@ascom.ch>
95 * src/fs-ecos.c (jffs2_extend_file): Fix creation of hole inode's
96 * src/fs-ecos.c (jffs2_fo_lseek): Allow seeking past EOF.
97 * tests/fseek1.c (main): fseek and simple test of a hole in a file
98 * cdl/jffs2.cdl: Added new test program fseek1.
100 2004-03-31 David Woodhouse <dwmw2@infradead.org>
102 * src/fs-ecos.c (jffs2_fo_write): Set ri.isize so that non-append
103 writes don't truncate the file.
105 2004-03-03 Thomas Koeller <thomas.koeller@baslerweb.com>
108 Make JFFS2 honor O_TRUNC flag (again) when opening files with read
111 2004-03-17 Oyvind Harboe <oyvind.harboe@zylin.com>
114 With CYGOPT_FS_JFFS2_WRITE=1, file creation failed. The problem
115 was introduced in fs-ecos.c 1.20
117 2004-03-11 Oyvind Harboe <oyvind.harboe@zylin.com>
120 Fixed umount memory leak. root->jffs2_i.dents where not freed.
122 2004-02-20 Vincent Catros <Vincent.Catros@elios-informatique.fr>
125 (jffs2_find) Policy to skip path separator is no longer
126 "if '/' then skip" but "while '/' then skip" allowing
127 multi '/' separators (i.e : /tmp////foo).
128 (find_entry) Policy to detect end of path is no longer
129 "if '\0' then end_of_path"
130 but "while '/' skip it and then if '\0' then end_of_path"
131 allowing path terminated with any number of '/'
132 (i.e : chdir(/tmp///)).
134 2004-03-03 Thomas Koeller <thomas.koeller@baslerweb.com>
137 Make JFFS2 honor O_TRUNC flag when opening files /w read access.
139 2004-02-17 David Woodhouse <dwmw2@infradead.org>
142 Don't re-initialise the already-locked f->sem. It makes eCos unhappy.
144 2004-01-27 David Woodhouse <dwmw2@infradead.org>
147 Fix bug noted by Howard Gray; dirents belong to, and should dirty,
148 the _parent_inode, not the child (which may be zero in the case
151 2004-01-09 Thomas Koeller <thomas.koeller@baslerweb.com>
153 * src/fs-ecos.c: Fixed inode reference counting in jffs2_ops_link().
155 2004-01-05 Thomas Koeller <thomas.koeller@baslerweb.com>
157 * cdl/jffs2.cdl: Re-added CYGPKG_FS_JFFS2_CFLAGS_REMOVE that had been
158 removed by previous change.
160 2003-11-26 David Woodhouse <dwmw2@infradead.org>
162 JFFS2 cleanup and import of newer code. Remove last vestiges of
163 Linuxisms such as 'struct inode' from the core code, leaving eCos
164 with no excuse, and renaming the eCos 'struct inode' to make that
165 point. Fix i_count handling throughout. Clean up remaining Linuxisms
166 such as 'struct qstr' to the point where jffs2port.h can be removed.
167 Add skeleton for background garbage-collect thread. Fix compression
168 so that it's actually called, and even with the right pointers. Turn
169 on -Werror again. Zero tolerance is a good thing. Make the i_mode
170 conversion functions non-inline to avoid warnings. Fix namespace
171 pollution (of all but ^jffs2_* at least). Move physical flash I/O
172 functions into separate file flashio.c for relatively easy
173 substitution. Various other cruftectomy.
175 2003-11-25 Andrew Lunn <andrew.lunn@ascom.ch>
177 * src/fs-ecos.c: ARM gcc 3.2.3 is also broken. Complain with any
178 ARM gcc 3.2 compiler.
180 2003-11-21 Thomas Koeller <thomas.koeller@baslerweb.com>
182 * cdl/jffs2.cdl: Do not require zlib package if no
183 compression configured.
185 2003-11-20 Thomas Koeller <thomas.koeller@baslerweb.com>
189 * src/fs-ecos.c: Allocate jffs2_raw_node_ref structs
190 from pool or malloc depending on a CDL configuration.
192 2003-11-20 David Woodhouse <dwmw2@infradead.org>
194 * Rearrangement of the compression code into a cleaner API
195 which can be disabled under control from CDL.
197 2003-10-14 Thomas Koeller <thomas.koeller@baslerweb.com>
199 * src/os-ecos.h: Made definition of CONFIG_JFFS2_FS_DEBUG
200 conditional, so it can be overwritten by a -D compiler
203 2003-09-23 Thomas Koeller <thomas.koeller@baslerweb.com>
205 * src/fs-ecos.c: Another umount() fix.
207 2003-09-23 Andrew Lunn <andrew.lunn@ascom.ch>
209 * src/fs-ecos.c: Added test to detect known broken ARM compiler
211 2003-09-23 Thomas Koeller <thomas.koeller@baslerweb.com>
213 * src/fs-ecos.c: Fixed broken hard link creation.
215 2003-09-23 Andrew Lunn <andrew.lunn@ascom.ch>
217 * src/fs-ecos.c: Minor optimization of previous patch.
219 2003-09-21 Thomas Koeller <thomas.koeller@baslerweb.com>
220 Andrew Lunn <andrew.lunn@ascom.ch>
222 * src/fs-ecos.c: Do not decrement mount count for unsuccessful
225 2003-09-19 Thomas Koeller <thomas.koeller@baslerweb.com>
227 * src/fs-ecos.c: Another inode number fix.
229 2003-09-18 Thomas Koeller <thomas.koeller@baslerweb.com>
231 * src/fs-ecos.c: Inode number returned by stat() was bogus.
233 2003-07-27 Andrew Lunn <andrew.lunn@ascom.ch>
235 * src/os-ecos.h: Added new #defines require for the recent jffs2
238 2003-07-27 Michael Checky <Michael_Checky@ThermoKing.com>
240 * src/fs-ecos.c: Changed the return error code to be negative as
241 expected by jffs2_flash_read() and jffs2_flash_write().
243 2003-04-23 Bob Koninckx <bob.koninckx@mech.kuleuven.ac.be>
245 * src/fs-ecos.c: mtab -> cyg_mtab. Ditto cyg_mtab_end.
247 2003-03-25 Thomas Koeller <thomas.koeller@baslerweb.com>
250 Fixed segmentation fault when unmounting file system.
252 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
254 * cdl/jffs2.cdl: Fix doc link.
256 2003-02-05 Jonathan Larmour <jifl@eCosCentric.com>
258 * cdl/jffs2.cdl: Remove unused flash geometry CDL options.
260 2003-02-04 Gary Thomas <gary@mlbassoc.com> on behalf of
261 2003-02-04 David Woodhouse <dwmw2@cambridge.redhat.com>
283 * cdl/jffs2.cdl: Update to latest public JFFS2 codebase.
291 * src/background.c: Removed/renamed file(s).
294 * include/linux/jffs2_fs_sb.h:
295 * include/linux/jffs2_fs_i.h:
296 * include/linux/jffs2.h: New file(s).
298 2002-12-06 Andrew Lunn <andrew.lunn@ascom.ch>
300 * cdl/jffs2.cdl: Implements the CYGINT_IO_FILEIO_FS interface.
302 2002-10-11 Andrew Lunn <andrew.lunn@ascom.ch>
304 * src/crc32.h (crc32): Use the CRC package for crc calculation
305 * tests/romfileio1.c (main): Pass the name of the device to mount
307 2002-05-20 Jonathan Larmour <jlarmour@redhat.com>
309 * src/LICENCE: New file. Contains license for JFFS2, now GPL+exception.
310 * src/background.c: Point at LICENSE file instead of existing text.
311 * src/build.c: Ditto.
312 * src/compr.c: Ditto.
313 * src/compr_rtime.c: Ditto.
314 * src/compr_rubin.c: Ditto.
315 * src/compr_zlib.c: Ditto.
316 * src/dir-ecos.c: Ditto.
317 * src/erase.c: Ditto.
318 * src/file-ecos.c: Ditto.
320 * src/jffs2.h: Ditto.
322 * src/malloc-ecos.c: Ditto.
323 * src/nodelist.c: Ditto.
324 * src/nodelist.h: Ditto.
325 * src/nodemgmt.c: Ditto.
326 * src/os-ecos.h: Ditto.
327 * src/pushpull.h: Ditto.
329 * src/readinode.c: Ditto.
331 * src/write.c: Ditto.
333 2002-01-28 David Woodhouse <dwmw2@cambridge.redhat.com>
335 * src/super-ecos.c: Removed.
336 * src/jffs2.c: Merge jffs2_write_super() and jffs2_put_super() into
337 the routines from which they were called, put jffs2_read_super()
338 in as a static function with a view to doing same RSN.
339 * src/jffs2port.h: Remove prototypes of functions that died.
340 * cdl/jffs2.cdl: Remove super-ecos.c
341 * src/dir-ecos.c src/write.c: Increase highest_version _before_
342 assigning to new node, not after.
344 2002-01-27 David Woodhouse <dwmw2@cambridge.redhat.com>
346 * src/read.c (jffs2_read_inode_range): Deal correctly with
347 non-page-aligned read requests. We have to deal with the
348 case where we want to read from somewhere other than the
350 * src/jffs2.c (jffs2_fo_read): Use jffs2_read_inode_range
351 instead of jffs2_readpage.
353 2002-01-25 Jonathan Larmour <jlarmour@redhat.com>
355 * cdl/jffs2.cdl: We want CYGPKG_IO_FILEIO_INODE.
356 * src/dir-ecos.c (jffs2_symlink): Remove. eCos doesn't support symlinks.
357 (jffs2_mknod): Similar.
358 (jffs2_mkdir): Don't call d_instantiate - its a nop.
359 (jffs2_rename): Ditto.
360 * src/file-ecos.c (jffs2_commit_write): Don't set blocks.
361 * src/jffs2.c (jffs2_flash_writev): Rewrite to only write aligned
363 * src/jffs2port.h: Lots of decrufting.
364 * src/os-ecos.h: Ditto (a bit).
365 * src/readinode.c (jffs2_read_inode): Don't set blocks/blksize in inode.
366 * src/write.c (jffs2_new_inode): Ditto when __ECOS.
367 (jffs2_write_dnode): don't call writev with extra vectors
369 * src/super-ecos.c (jffs2_statfs): Remove - unused.
371 2002-01-25 David Woodhouse <dwmw2@cambridge.redhat.com>
373 * src/super-ecos.c: Cruftectomy.
374 * src/compr*.[ch] src/pushpull.h: Namespace cleanups merged from
375 mainstream sources. Bit push functions made inline.
376 * src/pushpull.c: Removed.
377 * cdl/jffs2.c: Remove reference to pushpull.c
378 * src/file-ecos.c: Cruftectomy. Lots of unused stuff here.
379 * src/jffs2.c src/jffs2port.h: Remove some functions from jffs2.c
380 which are no longer used, move some others to jffs2port.h as
381 inline functions so they don't pollute the namespace.
383 2002-01-24 Jonathan Larmour <jlarmour@redhat.com>
385 * tests/fileio1.c: Check in listdir that the number of dirents is
386 correct, taking into account existing files in case it's live.
388 * src/dir-ecos.c (jffs2_readdir): move to....
390 * src/jffs2.c (jffs2_fo_dirread): here. And fix the return code
391 in the process so it now works.
392 (filldir): Make inline and simpler.
393 * src/jffs2port.h: remove filldir related stuff.
395 2002-01-24 David Woodhouse <dwmw2@cambridge.redhat.com>
397 * src/dir-ecos.c: Cruftectomy. Remove most of the stuff that was
398 commented out. Remove jffs2_do_{create,link,unlink} to write.c
399 * src/write.c: Add jffs2_do_{create,link,unlink} as in mainline.
400 * src/nodelist.h: Prototypes for the above.
401 * src/jffs2port.h: Don't include <pkgconf/kernel.h>.
403 2002-01-23 Jonathan Larmour <jlarmour@redhat.com>
405 * src/jffs2.c (jffs2_mount): Allow multiple FSs, and integration
406 with flash block device.
407 (jffs2_flash_read): Use flash block device.
408 (jffs2_flash_erase): Ditto.
409 (jffs2_flash_write): Ditto.
410 (do_flash_init): Remove - now done by block device layer
411 * src/list.h: Remove and reimplement from scratch to avoid GPL.
412 * src/os-ecos.h: Keep flash block dev handle in superblock.
413 eCos does support obsoleting as it isn't NAND only.
414 * src/dir-ecos.c (jffs2_readdir): Return correct value on success.
415 Merge in changes mutatis mutandis from between v1.49 and v1.51 of
416 dir.c in main repository.
417 * cdl/jffs2.cdl: CYGPKG_MEMALLOC more accurately CYGINT_ISO_MALLOC.
418 Only jffs2.c needs to be in libextras.a
419 Requires Flash block devices as an alternative for hardcoding
420 the sector size, flash size and base address.
421 * src/super-ecos.c (jffs2_read_super): Use flash block device for
422 sector and flash sizes.
423 * tests/fileio1.c: mount using block device (defined by CDL).
424 No need to init here - done by flash block device layer.
426 2002-01-21 David Woodhouse <dwmw2@cambridge.redhat.com>
428 * src/read.c: Obtain inode lock around reading symlink target.
429 * src/dir-ecos.c: Fix the long-standing up() without down() in
430 jffs2_readdir() when only the '.' and '..' entries are read, from
431 v1.52 of master dir.c. Merge copyright date change from v1.50 - note
432 that the portability cleanups from v1.51 aren't yet merged.
433 * src/os-ecos.h: Add jffs2_can_mark_obsolete() and the macros
434 for getting at generic inode fields from a struct jffs2_inode_info*
435 * src/nodemgmt.c: Remove an #ifndef __ECOS and use
436 jffs2_can_mark_obsolete() instead.
437 * src/jffs2port.h: up() is cyg_drv_mutex_unlock() not _release()
438 * src/gc.c: Merge portability cleanups - get rid of a lot of
439 references to 'struct inode'. Also include the attempt at NAND
440 support in jffs2_garbage_collect_deletion_dirent().
442 2002-01-11 David Woodhouse <dwmw2@cambridge.redhat.com>
444 * src/jffs2port.h: Switch semaphore emulation to cyg_drv_mutex_t,
445 remove some kernel includes which seem gratuitous.
446 * cdl/jffs2.cdl: Require CYGPKG_MEMALLOC
447 * src/compr_zlib.c src/compr.c: Merge changes from mainline code
448 to make mkfs.jffs2 compile again.
450 2002-01-10 David Woodhouse <dwmw2@cambridge.redhat.com>
452 * src/jffs2.c: The 'mode' arg passed to jffs2_open() shouldn't
453 have been called 'mode'. It's 'oflags'. You have to make up a
454 mode for the newly-created file yourself.
455 * src/nodelist.h src/read.c: Fix jffs2_getlink() so it takes
456 portable arguments, not a dentry. Move it to read.c and symlink.c
458 * src/symlink-ecos.c: Removed.
459 * cdl/jffs2.cdl: Remove symlink-ecos.c
461 2002-01-09 David Woodhouse <dwmw2@cambridge.redhat.com>
463 * Import updated JFFS2 sources into eCos tree.
465 2000-08-28 Dominic Ostrowski (dominic.ostrowski@3glab.com)
467 * started on port of JFFS2 using ramfs as a template
469 //===========================================================================
470 //####ECOSGPLCOPYRIGHTBEGIN####
471 // -------------------------------------------
472 // This file is part of eCos, the Embedded Configurable Operating System.
473 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
474 // Copyright (C) 2004 eCosCentric Limited
476 // eCos is free software; you can redistribute it and/or modify it under
477 // the terms of the GNU General Public License as published by the Free
478 // Software Foundation; either version 2 or (at your option) any later version.
480 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
481 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
482 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
485 // You should have received a copy of the GNU General Public License along
486 // with eCos; if not, write to the Free Software Foundation, Inc.,
487 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
489 // As a special exception, if other files instantiate templates or use macros
490 // or inline functions from this file, or you compile this file and link it
491 // with other works to produce a work based on this file, this file does not
492 // by itself cause the resulting work to be covered by the GNU General Public
493 // License. However the source code for this file must still be made available
494 // in accordance with section (3) of the GNU General Public License.
496 // This exception does not invalidate any other reasons why a work based on
497 // this file might be covered by the GNU General Public License.
499 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
500 // at http://sources.redhat.com/ecos/ecos-license/
501 // -------------------------------------------
502 //####ECOSGPLCOPYRIGHTEND####
503 //===========================================================================