o news
- the largest part of this release is backporing from fs/aufs25 to
  fs/aufs.

o fs/aufs
- backpot from fs/aufs25.
  + add some checkings for handling options, rename au_opt_test_dlgt()
    to au_test_dlgt(), rename au_opt_test_dirperm1() to
    au_test_dirperm1().
  + disable AuFillVdir_SHWH when CONFIG_AUFS_SHWH is disabled.
  + do not set inotify for whiteouted dirs (SHWH mode)
  + drop bits for file write on ro branch in au_fake_intent().
  + enhancement for CONFIG_4KSTACKS, allocate a large structure
    dynamically in au_wkq_run() instead of stack.
  + extract a part of au_br_add() as a new function au_br_init().
  + extract a part of au_br_mod() as a new function
    au_br_mod_files_ro().
  + extract a part of au_cpup_wh() as a new function au_do_cpup_wh().
  + extract a part from au_ready_to_write() as a new function
    au_ready_to_write_wh().
  + extract a part from decode_by_path() and make it a new funciton
    au_build_path().
  + extract a part of h_d_revalidate() as a new function
    au_do_h_d_reval().
  + extract a part of read_vdir() and make it a new static function
    au_do_read_vdir().
  + ignore errors from seq_file output functions.
  + make au_{add,sub}_nlink() static inlined.
  + minor optimization: compare the read buffer with a zeroed page to
    detect a hole in a file. this may be reverted in the future since
    this optimization consumes one memory page.
  + minor optimization in is_sb_shared().
  + move kfree() outside of a spinlock.
  + move from vfsub.h to vfsub.c, vfsub_args_init(), vfsub_filp_open(),
    vfsub_path_lookup(), vfsub_lookup_one_len() and
    vfsub__lookup_hash().
  + new debugging macros FroceShwh and ForceBrs.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    many functions in many files.
  + prefix 'au_' to nhash/vdir functions.
  + print sb identifier.
  + reduce the stack usage.
  + remove obsoleted debug lines.
  + remove the unused GFP_TEMPORARY macro.
  + rename AuTestAnon() to au_test_anon() and make it function.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + remove obsoleted debug lines.
  + remove aufs_fallocate().
  + remove #ifdef conditions for superblock magic number macros.
  + split do_rename() into several static functions.
  + stop grepping to get some supreblock magic numbers, instead check
    them by local priv.mk.
  + test the dead dentry in lookup_wlock_by_name().

o bugfix
- bugfix: support the pseudo-link in au_lock_and_icpup().
- fix typo, reported by Eric Thibodeau.

o misc
- call au_verify_parent() from reinit_br_wh().
- clear the unnecessary dlgt flag in au_sio_cpup_single() and
  au_sio_cpup_simple().
- simplify by passing vfsub_args to cpup_iattr(), cpup_regular(),
  au_copy_file(), au_do_cpup_regular(), cpup_entry(), au_cpup_single(),
  au_cpup_simple() and au_do_cpup_wh().
- simplify by passing vfsub_args to au_copy_file().
- simplify by passing vfsub_args to clean_wh(), clean_plink() and
  plink_dir().
- simplify by passing vfsub_args to au_copy_file().
- extract a part of au_br_mod() as a new function au_br_mod_files_ro().
- unset noinline_for_stack to au_do_lookup().
- minor optimization by swapping if-else block.
- unset noinline_for_stack to au_ren_or_cpup(), au_ren_del_whtmp(),
  au_ren_diropq() and do_rename().
- remove #ifdef conditions for superblock magic number macros.
- simplify by new functions au_br_nfs_lockdep_off/on().
- reduce the stack usage.


Junjiro Okajima

----------------------------------------------------------------------
Index: fs/aufs/Makefile
- backpot from fs/aufs25.
  + stop grepping to get some supreblock magic numbers, instead check
    them by local priv.mk.

Index: fs/aufs/aufs.h
- backpot from fs/aufs25.
  + remove the unused GFP_TEMPORARY macro.

Index: fs/aufs/br_fuse.c
Index: fs/aufs/plink.c
Index: fs/aufs/sysaufs.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().

Index: fs/aufs/br_nfs.c
- backpot from fs/aufs25.
  + move kfree() outside of a spinlock.
  + remove obsoleted debug lines.
  + drop bits for file write on ro branch in au_fake_intent().

Index: fs/aufs/branch.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    do_test_overlap(), init_br_wh() and si_xino_def_br.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + extract a part of au_br_add() as a new function au_br_init().
  + remove obsoleted debug lines.
  + extract a part of au_br_add() as a new function au_br_init().
  + extract a part of au_br_mod() as a new function
    au_br_mod_files_ro().
  + reduce the stack usage.

Index: fs/aufs/branch.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_xino_create() and au_xino_br().

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_dtime_store(), au_dtime_revert(), cpup_iattr(), cpup_regular(),
    au_do_cpup_regular(), au_do_cpup_symlink(), cpup_entry(),
    au_cpup_single(), au_call_cpup_single(), au_sio_cpup_single(),
    au_cpup_simple(), au_call_cpup_simple(), au_sio_cpup_simple(),
    au_do_cpup_wh(), au_cpup_wh(), au_sio_cpup_wh(), au_cp_dirs() and
    au_test_and_cpup_dirs().
  + reduce the stack usage.
  + extract a part of au_cpup_wh() as a new function au_do_cpup_wh().

Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_test_subdir().

Index: fs/aufs/debug.c
- backpot from fs/aufs25.
  + reduce the stack usage.
  + new debugging macros FroceShwh and ForceBrs.

Index: fs/aufs/debug.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_dbg_blocked().

Index: fs/aufs/dentry.c
- backpot from fs/aufs25.
  + reduce the stack usage.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    h_d_revalidate(), au_do_h_d_reval() and aufs_d_revalidate().
  + extract a part of h_d_revalidate() as a new function
    au_do_h_d_reval().

Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    dinfo lock subclass.

Index: fs/aufs/dir.c
Index: fs/aufs/dir.h
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    aufs_fsync_dir() and aufs_readdir().
  + prefix 'au_' to nhash/vdir functions.
  + make au_{add,sub}_nlink() static inlined.

Index: fs/aufs/export.c
- backpot from fs/aufs25.
  + rename AuTestAnon() to au_test_anon() and make it function.
  + extract a part from decode_by_path() and make it a new funciton
    au_build_path().
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + remove obsoleted debug lines.

Index: fs/aufs/f_op.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + remove obsoleted debug lines.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    aufs_read(), aufs_write(), aufs_splice_read(), aufs_splice_write(),
    aufs_mmap(), aufs_sendfile(), aufs_poll(), aufs_fsync_nondir() and
    aufs_fasync().
  + reduce the stack usage.

Index: fs/aufs/file.c
Index: fs/aufs/file.h
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + reduce the stack usage.
  + remove obsoleted debug lines.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    do_coo(), au_ready_to_write(), refresh_file_by_inode() and
    au_reval_and_lock_finfo().
  + extract a part from au_ready_to_write() as a new function
    au_ready_to_write_wh().

Index: fs/aufs/finfo.c
Index: fs/aufs/iinfo.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + remove obsoleted debug lines.
  + reduce the stack usage.

Index: fs/aufs/hin_or_dlgt.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    call_create(), vfsub_create(), call_symlink(), vfsub_symlink(),
    call_mknod(), vfsub_mknod(), call_mkdir(), vfsub_mkdir(),
    call_link(), vfsub_link(), call_rename(), vfsub_rename(),
    call_rmdir(), vfsub_rmdir(), call_write_k(), vfsub_write_u(),
    vfsub_write_k(), call_splice_from() and vfsub_splice_from().

Index: fs/aufs/hinode.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    struct au_hinotify, struct au_hin_ignore, au_do_hdir_lock/unlock(),
    au_hdir_lock/unlock_rename(), au_hin_ctl(), au_hin_suspend(),
    au_hin_resume() and au_dbg_hin_list().

Index: fs/aufs/hinotify.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_hin_alloc(), au_hin_free(), ctl_hinotify(), suspend_hinotify(),
    resume_hinotify(), au_do_hdir_lock(), au_hdir_unlock(),
    au_hdir_lock_rename(), au_hdir_unlock_rename(), au_unpin_gp(),
    vfsub_ign_hinode(), au_hin_ignore(), au_hin_unignore(),
    au_hin_test_ignore(), vfsub_ignore(), vfsub_unignore(),
    au_dbg_hin_list(), aufs_inotify() and au_inotify_init().
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + test the dead dentry in lookup_wlock_by_name().
  + remove obsoleted debug lines.

Index: fs/aufs/i_op.c
- backpot from fs/aufs25.
  + reduce the stack usage.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    aufs_lookup(), au_hi_lock(), au_do_pinned_h_parent(), au_do_unpin(),
    au_do_pin(), au_pin_init(), au_pin(), au_hi_unlock(),
    au_lock_and_icpup() and aufs_setattr().
  + remove aufs_fallocate().
  + remove obsoleted debug lines.

Index: fs/aufs/i_op_add.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    epilog(), lock_hdir_lkup_wh(), add_simple(), cpup_before_link(),
    cpup_or_link(), aufs_link() and aufs_mkdir().
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + reduce the stack usage.

Index: fs/aufs/i_op_del.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + remove obsoleted debug lines.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    lock_hdir_create_wh(), renwh_and_rmdir(), do_revert(), aufs_unlink()
    and aufs_rmdir().
  + reduce the stack usage.

Index: fs/aufs/i_op_ren.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    do_rename(), au_hgdirs(), au_may_ren(), au_ren_pin_init(),
    au_ren_fake_pin(), au_ren_pin4(), au_ren_pin3(), au_ren_pin(),
    au_ren_unlock(), au_ren_lock() and aufs_rename().
  + reduce the stack usage.
  + split do_rename() into several static functions.
  + prefix 'au_' to nhash/vdir functions.

Index: fs/aufs/inode.c
- backpot from fs/aufs25.
  + remove obsoleted debug lines.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + reduce the stack usage.
  + do not set inotify for whiteouted dirs (SHWH mode)
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    reval_inode() and au_new_inode().

Index: fs/aufs/inode.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    struct au_pin1, struct au_pin, au_pin_init(), au_pin(), au_do_pin(),
    au_do_unpin(), iinfo lock subclass, au_pin_gp(), au_unpin_gp(),
    au_unpin(), au_do_pinned_hdir(), au_do_pinned_h_parent(),
    au_do_pinned_parent(), au_do_pinned_h_dir(), au_pin_do_set_parent(),
    au_pin_do_set_h_dir(), au_pin_do_set_parent_lflag(),
    au_pinned_hdir(), au_pinned_hgdir(), au_pinned_h_parent(),
    au_pinned_parent(), au_pinned_gparent(), au_pinned_h_dir(),
    au_pinned_h_gdir(), au_pin_set_parent(), au_pin_set_gparent(),
    au_pin_set_h_dir(), au_pin_set_h_gdir(), au_pin_set_parent_lflag()
    and au_pin_set_gparent_lflag().
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().

Index: fs/aufs/misc.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_h_create() and au_copy_file().
  + minor optimization: compare the read buffer with a zeroed page to
    detect a hole in a file. this may be reverted in the future since
    this optimization consumes one memory page.

Index: fs/aufs/misc.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_h_create() and au_copy_file().

Index: fs/aufs/module.c
- backpot from fs/aufs25.
  + minor optimization: compare the read buffer with a zeroed page to
    detect a hole in a file. this may be reverted in the future since
    this optimization consumes one memory page.

Index: fs/aufs/module.h
- backpot from fs/aufs25.
  + minor optimization: compare the read buffer with a zeroed page to
    detect a hole in a file. this may be reverted in the future since
    this optimization consumes one memory page.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    kmemcache for hinotify.

Index: fs/aufs/opts.c
- backpot from fs/aufs25.
  + reduce the stack usage.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    si_xino_def_br.

Index: fs/aufs/opts.h
- backpot from fs/aufs25.
  + add some checkings for handling options, rename au_opt_test_dlgt()
    to au_test_dlgt(), rename au_opt_test_dirperm1() to
    au_test_dirperm1().

Index: fs/aufs/robr.c
- backpot from fs/aufs25.
  + reduce the stack usage.

Index: fs/aufs/super.c
- backpot from fs/aufs25.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().
  + ignore errors from seq_file output functions.
  + reduce the stack usage.

Index: fs/aufs/super.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    si_xino_def_br.
  + remove #ifdef conditions for superblock magic number macros.

Index: fs/aufs/sysrq.c
- backpot from fs/aufs25.
  + print sb identifier.

Index: fs/aufs/vdir.c
- backpot from fs/aufs25.
  + prefix 'au_' to nhash/vdir functions.
  + disable AuFillVdir_SHWH when CONFIG_AUFS_SHWH is disabled.
  + extract a part of read_vdir() and make it a new static function
    au_do_read_vdir().

Index: fs/aufs/vfsub.c
- backpot from fs/aufs25.
  + move from vfsub.h to vfsub.c, vfsub_args_init(), vfsub_filp_open(),
    vfsub_path_lookup(), vfsub_lookup_one_len() and
    vfsub__lookup_hash().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_call_vfsub_mkdir(), vfsub_sio_mkdir(), vfsub_sio_rmdir(),
    call_notify_change(), vfsub_sio_notify_change() and call_unlink().

Index: fs/aufs/vfsub.h
- backpot from fs/aufs25.
  + move from vfsub.h to vfsub.c, vfsub_args_init(), vfsub_filp_open(),
    vfsub_path_lookup(), vfsub_lookup_one_len() and
    vfsub__lookup_hash().
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    inode lock subclass, vfsub_lock_rename_mutex(),
    vfsub_unlock_rename_mutex(), au_verify_parent(), vfsub_create(),
    vfsub_symlink(), vfsub_mknod(), vfsub_link(), vfsub_rename(),
    vfsub_mkdir(), vfsub_write_u(), vfsub_write_k(),
    vfsub_splice_from(), vfsub_sio_mkdir(), vfsub_sio_rmdir() and
    vfsub_sio_notify_change().

Index: fs/aufs/wbr_policy.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_cpdown_attr() and au_cpdown_dir().
  + reduce the stack usage.
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().

Index: fs/aufs/whout.c
Index: fs/aufs/whout.h
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    au_whtmp_ren(), do_unlink_wh(), au_wh_unlink_dentry(),
    unlink_wh_name(), clean_wh(), clean_plink(), plink_dir(),
    au_wh_init(), link_or_create_wh(), do_diropq(), au_wh_create(),
    del_wh_children(), call_del_wh_children(), au_whtmp_rmdir(),
    au_whtmp_rmdir_free_args(), do_rmdir_whtmp() and
    au_whtmp_kick_rmdir().
  + remove au_h_[fdi]ptr(), rename au_h_[fdi]ptr_i() to au_h_[fdi]ptr().

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

Index: fs/aufs/xino.c
- backpot from fs/aufs25.
  + pin the hierarchy on lower branch and new ignore scheme for inotify,
    xino_do_trunc(), xino_try_trunc(), au_xino_do_write(),
    au_xino_create(), au_xino_create2(), au_xino_br(), si_xino_def_br
    and au_xino_def().
  + reduce the stack usage.
  + minor optimization in is_sb_shared().

Index: fs/aufs25/branch.c
- simplify by new functions au_br_nfs_lockdep_off/on().
- reduce the stack usage.
- extract a part of au_br_mod() as a new function au_br_mod_files_ro().

Index: fs/aufs25/branch.h
Index: fs/aufs25/vfsub.c
- simplify by new functions au_br_nfs_lockdep_off/on().

Index: fs/aufs25/cpup.c
- simplify by passing vfsub_args to cpup_iattr(), cpup_regular(),
  au_copy_file(), au_do_cpup_regular(), cpup_entry(), au_cpup_single(),
  au_cpup_simple() and au_do_cpup_wh().
- reduce the stack usage.
- clear the unnecessary dlgt flag in au_sio_cpup_single() and
  au_sio_cpup_simple().

Index: fs/aufs25/dentry.c
- unset noinline_for_stack to au_do_lookup().

Index: fs/aufs25/dir.c
Index: fs/aufs25/file.c
Index: fs/aufs25/i_op_add.c
- minor optimization by swapping if-else block.
- reduce the stack usage.

Index: fs/aufs25/f_op.c
- minor optimization by swapping if-else block.
- simplify by new functions au_br_nfs_lockdep_off/on().

Index: fs/aufs25/hinotify.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs25/inode.c
Index: fs/aufs25/opts.c
Index: fs/aufs25/robr.c
Index: fs/aufs25/super.c
Index: fs/aufs25/sysfs.c
Index: fs/aufs25/vdir.c
Index: fs/aufs25/wbr_policy.c
- reduce the stack usage.

Index: fs/aufs25/i_op.c
- bugfix: support the pseudo-link in au_lock_and_icpup().

Index: fs/aufs25/i_op_ren.c
- unset noinline_for_stack to au_ren_or_cpup(), au_ren_del_whtmp(),
  au_ren_diropq() and do_rename().

Index: fs/aufs25/misc.c
Index: fs/aufs25/misc.h
- simplify by passing vfsub_args to au_copy_file().

Index: fs/aufs25/super.h
- remove #ifdef conditions for superblock magic number macros.

Index: fs/aufs25/whout.c
- minor optimization by swapping if-else block.
- simplify by passing vfsub_args to clean_wh(), clean_plink() and
  plink_dir().
- call au_verify_parent() from reinit_br_wh().

Index: fs/aufs25/xino.c
- simplify by passing vfsub_args to au_copy_file().
- reduce the stack usage.

Index: util/aufs.in.5
- fix typo, reported by Eric Thibodeau.

Index: Tips
Index: fs/aufs/br_xfs.c
Index: fs/aufs/dlgt.c
Index: fs/aufs/wkq.h
Index: fs/aufs25/br_nfs.c
Index: fs/aufs25/dcsub.c
Index: fs/aufs25/dcsub.h
Index: fs/aufs25/debug.h
Index: fs/aufs25/export.c
Index: fs/aufs25/inode.h
Index: fs/aufs25/sysrq.c
Index: fs/aufs25/wkq.c
Index: include/linux/aufs_type.h
- less important chnages.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

Reply via email to