o news - two bugfixes(pinning and dlgt) and local tests for them are completed.
o bugfix - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + adjust the lock subclass in au_ren_pin_init(). + change the dinfo lock subclass in au_test_and_cpup_dirs() from PARENT2 to PARENT. + change the lock subclass from AuLsc_I_PARENT2 to AuLsc_I_CHILD. + change the lock subclass from AuLsc_I_PARENT to AuLsc_I_CHILD. + change the name of a lock subclass NEW to NEW_CHILD. + do not set inotify for whiteouted dirs (SHWH mode). + ignore a dead child dentry. + ignoring inotify events for creating/removing the default xino files, introduce new member si_xino_def_br. * reset si_xino_def_br when the removed branch is added again in au_br_add(). * unset si_xino_def_br when the branch is deleted in au_br_del(). + ignore the old whiteout when it was moved. + initialize dinfo lock by AuLsc_DI_CHILD instead of AuLsc_DI_PARENT. + lock iinfo in xino_do_trunc(). + make the type of au_pin() and au_do_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. + remove a function au_hi_lock(). + remove a member unpinned from struct au_link_args. + remove a parameter parent from au_xino_create(). + remove dlgt test in au_wkq_run(), with this fix the fix for dlgt is completed too. + replace the inode lock subclass AuLsc_I_PARENT2 by AuLsc_I_CHILD in au_whtmp_rmdir(). + restore the function au_hin_resume(). + revert the inotify watch when an error occured. + set ignore info at re-initializing whiteout for a branch. + set ignore info in an error case in au_do_cpup_regular(). + set noinline_for_stack to cpup_regular() and au_do_cpup_regular(). + simplify vfsub_create(), vfsub_symlink(), vfsub_mknod(), vfsub_mkdir(), vfsub_link(), vfsub_rename(), vfsub_rmdir(), vfsub_write_k() and vfsub_splice_from(). + switch the inode lock subclass in au_cp_dirs(), AuLsc_I_PARENT2 and AuLsc_I_PARENT. + verify the child-parent relationship in call_rmdir_whtmp(). - bugfix: replace "${TgtPath}/Kconfig" by "aufs/Kconfig", reported and patched by Paulius Zaleckas. - bugfix: prepend CONFIG_ to ccflags-$(AUFS_WORKAROUND_FUSE). o misc - 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(). - replace MmTree macro by CONFIG_AUFS_UNIONFS22_PATCH and CONFIG_AUFS_UNIONFS23_PATCH. - remove MmTree macro. - kmalloc() some large structures in au_dpri_sb() (completed). + replace GFP_NOFS by GFP_ATOMIC. Junjiro Okajima ---------------------------------------------------------------------- Index: local.mk - bugfix: replace "${TgtPath}/Kconfig" by "aufs/Kconfig", reported and patched by Paulius Zaleckas. Index: fs/aufs25/Makefile - bugfix: prepend CONFIG_ to ccflags-$(AUFS_WORKAROUND_FUSE). - replace MmTree macro by CONFIG_AUFS_UNIONFS22_PATCH and CONFIG_AUFS_UNIONFS23_PATCH. Index: fs/aufs25/branch.c Index: fs/aufs25/sbinfo.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + ignoring inotify events for creating/removing the default xino files, introduce new member si_xino_def_br. * reset si_xino_def_br when the removed branch is added again in au_br_add(). * unset si_xino_def_br when the branch is deleted in au_br_del(). Index: fs/aufs25/branch.h - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + remove a parameter parent from au_xino_create(). Index: fs/aufs25/cpup.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + set noinline_for_stack to cpup_regular() and au_do_cpup_regular(). + set ignore info in an error case in au_do_cpup_regular(). + switch the inode lock subclass in au_cp_dirs(), AuLsc_I_PARENT2 and AuLsc_I_PARENT. + change the dinfo lock subclass in au_test_and_cpup_dirs() from PARENT2 to PARENT. Index: fs/aufs25/debug.c - kmalloc() some large structures in au_dpri_sb() (completed). + replace GFP_NOFS by GFP_ATOMIC. Index: fs/aufs25/dinfo.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + initialize dinfo lock by AuLsc_DI_CHILD instead of AuLsc_DI_PARENT. Index: fs/aufs25/export.c Index: fs/aufs25/super.c Index: fs/aufs25/vfsub.h - remove MmTree macro. Index: fs/aufs25/file.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + make the type of au_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. Index: fs/aufs25/hin_or_dlgt.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + simplify vfsub_create(), vfsub_symlink(), vfsub_mknod(), vfsub_mkdir(), vfsub_link(), vfsub_rename(), vfsub_rmdir(), vfsub_write_k() and vfsub_splice_from(). Index: fs/aufs25/hinode.h - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + restore the function au_hin_resume(). Index: fs/aufs25/hinotify.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + ignore a dead child dentry. Index: fs/aufs25/i_op.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + make the type of au_pin() and au_do_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. + remove a function au_hi_lock(). Index: fs/aufs25/i_op_add.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + make the type of au_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. + remove a member unpinned from struct au_link_args. Index: fs/aufs25/i_op_del.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + make the type of au_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. + change the lock subclass from AuLsc_I_PARENT2 to AuLsc_I_CHILD. Index: fs/aufs25/i_op_ren.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + change the lock subclass from AuLsc_I_PARENT to AuLsc_I_CHILD. + revert the inotify watch when an error occured. + adjust the lock subclass in au_ren_pin_init(). + make the type of au_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. Index: fs/aufs25/inode.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + do not set inotify for whiteouted dirs (SHWH mode). + change the name of a lock subclass NEW to NEW_CHILD. Index: fs/aufs25/inode.h - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + make the type of au_pin() and au_do_pin() void. this fix may be reverted since a tiny bug can cause a deadlock. + change the name of a lock subclass NEW to NEW_CHILD. Index: fs/aufs25/misc.c Index: fs/aufs25/module.c Index: fs/aufs25/module.h - 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/aufs25/opts.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + remove a parameter parent from au_xino_create(). + ignoring inotify events for creating/removing the default xino files, introduce new member si_xino_def_br. Index: fs/aufs25/super.h - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + ignoring inotify events for creating/removing the default xino files, introduce new member si_xino_def_br. - remove MmTree macro. Index: fs/aufs25/whout.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + set ignore info at re-initializing whiteout for a branch. + ignore the old whiteout when it was moved. + replace the inode lock subclass AuLsc_I_PARENT2 by AuLsc_I_CHILD in au_whtmp_rmdir(). + verify the child-parent relationship in call_rmdir_whtmp(). Index: fs/aufs25/wkq.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + remove dlgt test in au_wkq_run(), with this fix the fix for dlgt is completed too. Index: fs/aufs25/xino.c - bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch and new ignore scheme for inotify (completed). + lock iinfo in xino_do_trunc(). + remove a parameter parent from au_xino_create(). + ignoring inotify events for creating/removing the default xino files, introduce new member si_xino_def_br. - minor optimization in is_sb_shared(). Index: fs/aufs25/dir.c Index: fs/aufs25/plink.c Index: include/linux/aufs_type.h Index: util/auplink - 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