
====================
 DazukoFS CHANGELOG
====================


=== AVIRA Modifications ===


3.0.0-rc4-avira-6.6 
- added unlocked_ioctl() and compat_ioctl() file operations

3.0.0-rc4-avira-6.5
- refresh inode flags after ioctl (needed for filesystems that 
  allow inode flag modification via ioctls, i.e ext3) 
- set event group file to NULL if event reassigned to todo list


3.0.0-rc4-avira-6.4
- mounting dazukofs on mount point of a partition is not denied any more
- pending events of terminated processes are reinserted into the "todo" list 
- mounting over '/' is denied
- return value of mask_proc() is evaluated
- reimplemented get_event: now it returns to user if an error 
  occured instead of being caught in an endless loop
- changed error values from EFAULT to EINVAL in get_event() 
- added missing memory freeing in error case in dazukofs_open 
- adjust SETUID and SETGID flags in setattr() 
- fixed error: to mask_proc() a structure has been passed that 
  was allocated on the stack 
- removed unneccessary check after get_group_count() 
- using generic_file_readonly_mmap in dazukofs_mmap()
- removed backing device info from inode 
- removed check for equal superblock objects in interpose()
- rewrite dazukofs_lookup()
- rewrite dazukofs_interpose()


3.0.0-rc4-avira-b2.5
- introduced new uninterruptible group_count() function 
  that is used by the file accessing process to avoid 
  interruption by signal during open process
- exchanged wrong error values (ENOSYS) in xattribute related 
  inode functions with the proper error value (EOPNOTSUPP).
- replaced the lookup_one_len() kernel api used by 
  dazukofs_lookup() with an own implementation. This 
  ensures that lower filesystems must not be prepared to 
  handle NULL nameidata pointers in revalidate() and 
  permission - inode blocksize is now synchronized with 
  lower inode for kernels<= 2.6.18, too


3.0.0-rc4-avira-b2.2
- dazukofs now returns EOPNOTSUPP error code instead of 
  ENOSYS if lower filesystem does not provide functions 
  related to extended attributes
- changed freezable waiting in get_event() to interruptible 
  waiting
- processes that perform file accesses now wait uninterruptibly
  until an answer from dazukofs is available. Thus no -EINTR
  error code can be returned at an "open()" system call by 
  dazukofs.
- dazukofs inodes now use a "backing_device" with writeback 
  disabled to prevent the kernel from attempting to write 
  dazukofs inodes back to disk
- only "open() events" for regular files are reported to 
  userspace.
  This should improve performance significantly. 
- if setattr() is defined in lower filesystem this function
  is called instead of notify_change() to ensure flag
  consistency
- removed generic_XXX() functions from file operations and
  replaced generic_mmap() with dazukofs_mmap().
- resolved bug that was caused due to missing O_LARGEFILE
  flag when dazukofs tried to open a file descriptor on 32
  bit systems
- ensure that mount point is a directory 


=== Mainline Version ===

3.0.0-rc4 (2008-11-30)
- fix incorrect dentry/vfsmnt referencing when access denied
- fix improper cleanup in several error handling conditions
- internal code refactoring
- ignore feature now alway on


3.0.0-rc3 (2008-10-25)
- added support for group tracking
- internal code refactoring
- fix memory leak on group removal
- use group tracking in showfiles example
- also catch SIGHUP in showfiles example
- update to support Linux 2.6.27
- add patch to support Linux 2.6.26


3.0.0-rc2 (2008-10-09)
- added /dev/dazukofs.ign device to allow processes to run hidden
  (off by default, use CONFIG_DAZUKOFS_IGNORE to activate)
- renamed "current" to "curr" to fix compiler errors
- renamed caches
- moved dazukofs_process_event() into event.c
  (now only one function used by stacking layer)
- renamed dazukofs_post_event() to dazukofs_check_access()
- removed unnecessary INIT_LIST_HEAD call
- use kmem_cache_zalloc to allocate dazukofs_event
  (bugfix! variables were being used uninitialized!)
- optimize and fix dazukofs_unclaim_event()
  (dazukofs_event_container was not being freed)
- check return value of copy_from_user()
- take care of some compiler warnings
- userlib: use /proc/self instead of building /proc/PID


3.0.0-rc1 (2008-09-24)
- the first public posting of DazukoFS 3.x code
