2002-05-20 Jonathan Larmour * src/LICENCE: New file. Contains license for JFFS2, now GPL+exception. * src/background.c: Point at LICENSE file instead of existing text. * src/build.c: Ditto. * src/compr.c: Ditto. * src/compr_rtime.c: Ditto. * src/compr_rubin.c: Ditto. * src/compr_zlib.c: Ditto. * src/dir-ecos.c: Ditto. * src/erase.c: Ditto. * src/file-ecos.c: Ditto. * src/gc.c: Ditto. * src/jffs2.h: Ditto. * src/list.h: Ditto. * src/malloc-ecos.c: Ditto. * src/nodelist.c: Ditto. * src/nodelist.h: Ditto. * src/nodemgmt.c: Ditto. * src/os-ecos.h: Ditto. * src/pushpull.h: Ditto. * src/read.c: Ditto. * src/readinode.c: Ditto. * src/scan.c: Ditto. * src/write.c: Ditto. 2002-01-28 David Woodhouse * src/super-ecos.c: Removed. * src/jffs2.c: Merge jffs2_write_super() and jffs2_put_super() into the routines from which they were called, put jffs2_read_super() in as a static function with a view to doing same RSN. * src/jffs2port.h: Remove prototypes of functions that died. * cdl/jffs2.cdl: Remove super-ecos.c * src/dir-ecos.c src/write.c: Increase highest_version _before_ assigning to new node, not after. 2002-01-27 David Woodhouse * src/read.c (jffs2_read_inode_range): Deal correctly with non-page-aligned read requests. We have to deal with the case where we want to read from somewhere other than the beginning of a frag. * src/jffs2.c (jffs2_fo_read): Use jffs2_read_inode_range instead of jffs2_readpage. 2002-01-25 Jonathan Larmour * cdl/jffs2.cdl: We want CYGPKG_IO_FILEIO_INODE. * src/dir-ecos.c (jffs2_symlink): Remove. eCos doesn't support symlinks. (jffs2_mknod): Similar. (jffs2_mkdir): Don't call d_instantiate - its a nop. (jffs2_rename): Ditto. * src/file-ecos.c (jffs2_commit_write): Don't set blocks. * src/jffs2.c (jffs2_flash_writev): Rewrite to only write aligned quantities to flash. * src/jffs2port.h: Lots of decrufting. * src/os-ecos.h: Ditto (a bit). * src/readinode.c (jffs2_read_inode): Don't set blocks/blksize in inode. * src/write.c (jffs2_new_inode): Ditto when __ECOS. (jffs2_write_dnode): don't call writev with extra vectors unnecessarily. * src/super-ecos.c (jffs2_statfs): Remove - unused. 2002-01-25 David Woodhouse * src/super-ecos.c: Cruftectomy. * src/compr*.[ch] src/pushpull.h: Namespace cleanups merged from mainstream sources. Bit push functions made inline. * src/pushpull.c: Removed. * cdl/jffs2.c: Remove reference to pushpull.c * src/file-ecos.c: Cruftectomy. Lots of unused stuff here. * src/jffs2.c src/jffs2port.h: Remove some functions from jffs2.c which are no longer used, move some others to jffs2port.h as inline functions so they don't pollute the namespace. 2002-01-24 Jonathan Larmour * tests/fileio1.c: Check in listdir that the number of dirents is correct, taking into account existing files in case it's live. * src/dir-ecos.c (jffs2_readdir): move to.... * src/jffs2.c (jffs2_fo_dirread): here. And fix the return code in the process so it now works. (filldir): Make inline and simpler. * src/jffs2port.h: remove filldir related stuff. 2002-01-24 David Woodhouse * src/dir-ecos.c: Cruftectomy. Remove most of the stuff that was commented out. Remove jffs2_do_{create,link,unlink} to write.c * src/write.c: Add jffs2_do_{create,link,unlink} as in mainline. * src/nodelist.h: Prototypes for the above. * src/jffs2port.h: Don't include . 2002-01-23 Jonathan Larmour * src/jffs2.c (jffs2_mount): Allow multiple FSs, and integration with flash block device. (jffs2_flash_read): Use flash block device. (jffs2_flash_erase): Ditto. (jffs2_flash_write): Ditto. (do_flash_init): Remove - now done by block device layer * src/list.h: Remove and reimplement from scratch to avoid GPL. * src/os-ecos.h: Keep flash block dev handle in superblock. eCos does support obsoleting as it isn't NAND only. * src/dir-ecos.c (jffs2_readdir): Return correct value on success. Merge in changes mutatis mutandis from between v1.49 and v1.51 of dir.c in main repository. * cdl/jffs2.cdl: CYGPKG_MEMALLOC more accurately CYGINT_ISO_MALLOC. Only jffs2.c needs to be in libextras.a Requires Flash block devices as an alternative for hardcoding the sector size, flash size and base address. * src/super-ecos.c (jffs2_read_super): Use flash block device for sector and flash sizes. * tests/fileio1.c: mount using block device (defined by CDL). No need to init here - done by flash block device layer. 2002-01-21 David Woodhouse * src/read.c: Obtain inode lock around reading symlink target. * src/dir-ecos.c: Fix the long-standing up() without down() in jffs2_readdir() when only the '.' and '..' entries are read, from v1.52 of master dir.c. Merge copyright date change from v1.50 - note that the portability cleanups from v1.51 aren't yet merged. * src/os-ecos.h: Add jffs2_can_mark_obsolete() and the macros for getting at generic inode fields from a struct jffs2_inode_info* * src/nodemgmt.c: Remove an #ifndef __ECOS and use jffs2_can_mark_obsolete() instead. * src/jffs2port.h: up() is cyg_drv_mutex_unlock() not _release() * src/gc.c: Merge portability cleanups - get rid of a lot of references to 'struct inode'. Also include the attempt at NAND support in jffs2_garbage_collect_deletion_dirent(). 2002-01-11 David Woodhouse * src/jffs2port.h: Switch semaphore emulation to cyg_drv_mutex_t, remove some kernel includes which seem gratuitous. * cdl/jffs2.cdl: Require CYGPKG_MEMALLOC * src/compr_zlib.c src/compr.c: Merge changes from mainline code to make mkfs.jffs2 compile again. 2002-01-10 David Woodhouse * src/jffs2.c: The 'mode' arg passed to jffs2_open() shouldn't have been called 'mode'. It's 'oflags'. You have to make up a mode for the newly-created file yourself. * src/nodelist.h src/read.c: Fix jffs2_getlink() so it takes portable arguments, not a dentry. Move it to read.c and symlink.c becomes obsolete. * src/symlink-ecos.c: Removed. * cdl/jffs2.cdl: Remove symlink-ecos.c 2002-01-09 David Woodhouse * Import updated JFFS2 sources into eCos tree. 2000-08-28 Dominic Ostrowski (dominic.ostrowski@3glab.com) * started on port of JFFS2 using ramfs as a template //=========================================================================== //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 or (at your option) any later version. // // eCos is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License // for more details. // // You should have received a copy of the GNU General Public License along // with eCos; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. // // As a special exception, if other files instantiate templates or use macros // or inline functions from this file, or you compile this file and link it // with other works to produce a work based on this file, this file does not // by itself cause the resulting work to be covered by the GNU General Public // License. However the source code for this file must still be made available // in accordance with section (3) of the GNU General Public License. // // This exception does not invalidate any other reasons why a work based on // this file might be covered by the GNU General Public License. // // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. // at http://sources.redhat.com/ecos/ecos-license/ // ------------------------------------------- //####ECOSGPLCOPYRIGHTEND#### //===========================================================================