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