2002-10-11  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/crc32.h (crc32): Use the CRC package for crc calculation
	* tests/romfileio1.c (main): Pass the name of the device to mount

2002-05-20  Jonathan Larmour  <jlarmour@redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <jlarmour@redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <jlarmour@redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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 <pkgconf/kernel.h>. 
	
2002-01-23  Jonathan Larmour  <jlarmour@redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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  <dwmw2@cambridge.redhat.com>

	* 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####
//===========================================================================
	

