o news
- new scheme to pin the hierarchy on lower branch (introduced in last
  Monday release) is still in testing phase. after its completions, the
  fix will be backported to fs/aufs (linux-2.6.24 and earlier).
- some other bugfixes are made in this release. they will be backported
  to fs/aufs too when I have time.

o bugfix
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + add a prefix 'au_' to struct link_args, cpup_before_link() and
    cpup_or_link().
  + aufs_link() allocates some large variables dynamically.
  + au_do_pin() never returns until all locks and verifications are
    completed.
  + call au_pin() from lock_hdir_create_wh() instead of several manual
    lockings.
  + call au_pin utility functions from aufs_unlink() and aufs_rmdir().
  + call di_downgrade_lock() from aufs_write(), aufs_splice_write(),
    aufs_mmap() and aufs_fsync_nondir().
  + make au_do_unpin() global.
  + make au_pin_gp() as CONFIG_AUFS_HINOTIFY local.
  + move au_unpin() from i_op.c to inode.h and make it inlined.
  + move au_unpin_gp() from i_op.c to hinotify.c.
  + new inline functions au_pin_do_set_parent_lflag(),
    au_pin_set_parent_lflag() and au_pin_set_gparent_lflag().
  + refine au_cpup_before_link() by using au_pin/unpin().
  + rename lsc_i to lsc_hi.
  + remove some parameters frome rename functions by passing struct
    au_ren_args.
  + rename struct rename_args to au_ren_args, add some members to reduce
    the stack size.
  + simplify aufs_d_revalidate() by write_lock + downgrade_lock.
  + simplify au_hi_lock() by removing some parameters.
  + simplify do_coo() and au_ready_to_write() by removing some
    variables.
  + simplify lock_hdir_create_wh(), aufs_unlink() and aufs_rmdir() by
    removing some variables.
  + simplify lock_hdir_lkup_wh(), add_simple(), struct au_link_args,
    au_cpup_or_link() and aufs_mkdir() by removing some variables.
  + simplify struct au_icpup_args, au_lock_and_icpup() and
    aufs_setattr() by removing/adding some members.
  + split do_rename() into some small functions.
- bugfix (fs/aufs25 only, currently): lock child dentry first in
  aufs_lookup(), and unlock the parent as soon as possible.
  this fix will be backported to fs/aufs too.
- bugfix (fs/aufs25 only, currently): stop locking child inode in
  reval_inode().
  this fix will be backported to fs/aufs too.
- bugfix (fs/aufs25 only, currently): revert the timestamps of the
  parent dir at flushing pseudo-links.
  this fix will be backported to fs/aufs too.

o misc
- declare copyright 2005-2008 in all files, because I was told it should
  be done per software instead of per file even in the files which I
  didn't change this year.
- enhancement for CONFIG_4KSTACKS, allocate a large structure
  dynamically in au_wkq_run() instead of stack.
- minor optimization, use unsigned long long pointer for testing a hole
  in a file.
- call kzalloc() instead of kmalloc() + memset(,0,).
- unset noinline_for_stack to epilog(), lock_hdir_lkup_wh() and
  au_cpup_or_link().
- unset noinline_for_stack to cpup_regular() and au_do_cpup_regular().
- unset noinline_for_stack to decode_by_dir_ino().
- reduce the stack size.


Junjiro Okajima

----------------------------------------------------------------------
Index: fs/aufs25/cpup.c
- unset noinline_for_stack to cpup_regular() and au_do_cpup_regular().
- bugfix (fs/aufs25 only, currently): revert the timestamps of the
  parent dir at flushing pseudo-links.
  this fix will be backported to fs/aufs too.

Index: fs/aufs25/debug.c
- call kzalloc() instead of kmalloc() + memset(,0,).

Index: fs/aufs25/dentry.c
- reduce the stack size.
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + simplify aufs_d_revalidate() by write_lock + downgrade_lock.

Index: fs/aufs25/export.c
- declare copyright 2005-2008 in all files, because I was told it should
  be done per software instead of per file even in the files which I
  didn't change this year.
- unset noinline_for_stack to decode_by_dir_ino().

Index: fs/aufs25/f_op.c
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + call di_downgrade_lock() from aufs_write(), aufs_splice_write(),
    aufs_mmap() and aufs_fsync_nondir().
- reduce the stack size.

Index: fs/aufs25/file.c
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + simplify do_coo() and au_ready_to_write() by removing some
    variables.

Index: fs/aufs25/hinotify.c
- declare copyright 2005-2008 in all files, because I was told it should
  be done per software instead of per file even in the files which I
  didn't change this year.
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + move au_unpin_gp() from i_op.c to hinotify.c.

Index: fs/aufs25/i_op.c
- bugfix (fs/aufs25 only, currently): lock child dentry first in
  aufs_lookup(), and unlock the parent as soon as possible.
  this fix will be backported to fs/aufs too.
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + move au_unpin_gp() from i_op.c to hinotify.c.
  + make au_do_unpin() global.
  + move au_unpin() from i_op.c to inode.h and make it inlined.
  + au_do_pin() never returns until all locks and verifications are
    completed.
  + simplify au_hi_lock() by removing some parameters.
  + simplify struct au_icpup_args, au_lock_and_icpup() and
    aufs_setattr() by removing/adding some members.

Index: fs/aufs25/i_op_add.c
- unset noinline_for_stack to epilog(), lock_hdir_lkup_wh() and
  au_cpup_or_link().
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + simplify lock_hdir_lkup_wh(), add_simple(), struct au_link_args,
    au_cpup_or_link() and aufs_mkdir() by removing some variables.
  + add a prefix 'au_' to struct link_args, cpup_before_link() and
    cpup_or_link().
  + refine au_cpup_before_link() by using au_pin/unpin().
  + aufs_link() allocates some large variables dynamically.
- reduce the stack size for aufs_mkdir()

Index: fs/aufs25/i_op_del.c
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + call au_pin() from lock_hdir_create_wh() instead of several manual
    lockings.
  + simplify lock_hdir_create_wh(), aufs_unlink() and aufs_rmdir() by
    removing some variables.
  + call au_pin utility functions from aufs_unlink() and aufs_rmdir().

Index: fs/aufs25/i_op_ren.c
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + rename struct rename_args to au_ren_args, add some members to reduce
    the stack size.
  + remove some parameters frome rename functions by passing struct
    au_ren_args.
  + split do_rename() into some small functions.

Index: fs/aufs25/inode.c
- bugfix (fs/aufs25 only, currently): stop locking child inode in
  reval_inode().
  this fix will be backported to fs/aufs too.

Index: fs/aufs25/inode.h
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still testing).
  + rename lsc_i to lsc_hi.
  + move au_unpin() from i_op.c to inode.h and make it inlined.
  + move au_unpin_gp() from i_op.c to hinotify.c.
  + make au_pin_gp() as CONFIG_AUFS_HINOTIFY local.
  + new inline functions au_pin_do_set_parent_lflag(),
    au_pin_set_parent_lflag() and au_pin_set_gparent_lflag().

Index: fs/aufs25/misc.c
- minor optimization, use unsigned long long pointer for testing a hole
  in a file.

Index: fs/aufs25/opts.c
- reduce the stack size.

Index: fs/aufs25/wkq.c
- enhancement for CONFIG_4KSTACKS, allocate a large structure
  dynamically in au_wkq_run() instead of stack.

Index: fs/aufs/br_fuse.c
Index: fs/aufs/br_nfs.c
Index: fs/aufs/br_xfs.c
Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
Index: fs/aufs/dlgt.c
Index: fs/aufs/export.c
Index: fs/aufs/hin_or_dlgt.c
Index: fs/aufs/hinotify.c
Index: fs/aufs/module.c
Index: fs/aufs/module.h
Index: fs/aufs/plink.c
Index: fs/aufs/robr.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
Index: fs/aufs/sysrq.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/wbr_policy.c
Index: fs/aufs25/br_fuse.c
Index: fs/aufs25/br_nfs.c
Index: fs/aufs25/br_xfs.c
Index: fs/aufs25/dcsub.c
Index: fs/aufs25/dcsub.h
Index: fs/aufs25/dlgt.c
Index: fs/aufs25/hin_or_dlgt.c
Index: fs/aufs25/module.c
Index: fs/aufs25/module.h
Index: fs/aufs25/plink.c
Index: fs/aufs25/robr.c
Index: fs/aufs25/sysaufs.c
Index: fs/aufs25/sysaufs.h
Index: fs/aufs25/sysfs.c
Index: fs/aufs25/sysrq.c
Index: fs/aufs25/vfsub.c
Index: fs/aufs25/vfsub.h
Index: fs/aufs25/wbr_policy.c
Index: include/linux/aufs_type.h
Index: sample/unionctl
Index: sample/auroot/auroot
Index: sample/diskless/Makefile
Index: sample/diskless/clients
Index: sample/diskless/comount.sh
Index: sample/diskless/custom.sh
Index: sample/diskless/def.mk
Index: sample/diskless/diskless.6aufs
Index: sample/diskless/func.sh
Index: sample/diskless/initrd.mk
Index: sample/diskless/linuxrc
Index: sample/diskless/local.mk
Index: sample/diskless/local.sh
Index: sample/diskless/preseed.sh
Index: sample/diskless/retr.mk
Index: sample/uloop/Makefile
Index: sample/uloop/libuloop.c
Index: sample/uloop/ulobdev.c
Index: sample/uloop/ulohttp.c
Index: sample/uloop/drivers/block/uloop.c
Index: sample/uloop/include/linux/uloop.h
Index: sample/watchguard/probe/probe.c
Index: sample/watchguard/probe/probe.h
Index: sample/watchguard/probe/cpup/cpup.c
Index: sample/watchguard/probe/open/open.c
Index: util/aufs.in.5
Index: util/auplink
Index: util/fsck.aufs
Index: util/mount.aufs
Index: util/umount.aufs
- declare copyright 2005-2008 in all files, because I was told it should
  be done per software instead of per file even in the files which I
  didn't change this year.

Index: fs/aufs25/misc.h
Index: fs/aufs25/hinode.h
- less important changes.

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

Reply via email to