skip aufs Monday release

2009-06-07 Thread sfjro

Today's aufs release is skipped, since there was no activity in aufs.

Junjiro Okajima

--
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get


aufs Monday release, final regular weekly CVS release

2009-01-26 Thread sfjro

Hello all,

This is the first weekly CVS release in 2009.
As I began developing AUFS2 (cf. the URL), this is also the final
regular weekly CVS release.
http://sourceforge.net/mailarchive/forum.php?thread_name=7408.1232332832%40jrobl&forum_name=aufs-users

When a bug is reported or a new feature is requested for this version, I
MAY NOT respond them. But I don't think all users switch to aufs2
immediately. If some critical bugs are reported in every week, this
Monday CVS release will continue for a while I am afraid.

o bugfix
- bugfix: copyup/down i_flags except S_DEAD and S_PRIVATE.
  + new function au_cpup_attr_flags().
- bugfix: stop copyup-on-open when aufs is mounted as readonly, reported
  by Yuri Chislov.
  + reject or warn such combination.
  + make verify_opts() global.
  + verify wrong combination of options even if the changes are made on
VFS options only.
- bugfix: remove clearing error code in a nested error path.
- bugfix: trimming the first '-o' after concatinating.

o news
- temporary support for linux-2.6.28 (untested).
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)
  + new patch ecryptfs-2.6.27.patch.
  + new function au_test_ecryptfs().
  + handle it similar to NFS due to vfsmount.
  + prohibit xino files on ecryptfs.

o misc
- minor optimazation: call au_sbr() instead of au_abr_perm() and
  au_sbr_sb().
- sample/uloop: support for linux-2.6.27, reported by Jordi Pujol.
  + replace kill_proc() by kill_pid().
  + set ctl.ready.pid in kernel space, stop setting it in user space.
  + convert the type of pid member in struct ulo_ctl_ready into struct pid*.
- declare copyright 2005-2009.


J. R. Okajima

--
Index: README
Index: patch/ecryptfs-2.6.27.patch
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)
  + new patch ecryptfs-2.6.27.patch.

Index: fs/aufs/branch.h
Index: fs/aufs25/branch.h
- declare copyright 2005-2009.
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)
  + handle it similar to NFS due to vfsmount.

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
Index: fs/aufs25/cpup.c
Index: fs/aufs25/cpup.h
Index: fs/aufs/wbr_policy.c
Index: fs/aufs25/wbr_policy.c
- declare copyright 2005-2009.
- bugfix: copyup/down i_flags except S_DEAD and S_PRIVATE.
  + new function au_cpup_attr_flags().

Index: fs/aufs/file.c
Index: util/aufs.in.5
- declare copyright 2005-2009.
- bugfix: stop copyup-on-open when aufs is mounted as readonly, reported
  by Yuri Chislov.

Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
- declare copyright 2005-2009.
- bugfix: remove clearing error code in a nested error path.

Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
Index: fs/aufs25/opts.c
Index: fs/aufs25/opts.h
- declare copyright 2005-2009.
- bugfix: stop copyup-on-open when aufs is mounted as readonly, reported
  by Yuri Chislov.
  + reject or warn such combination.
  + make verify_opts() global.

Index: fs/aufs/super.c
Index: fs/aufs25/super.c
- declare copyright 2005-2009.
- minor optimazation: call au_sbr() instead of au_abr_perm() and
  au_sbr_sb().
- bugfix: stop copyup-on-open when aufs is mounted as readonly, reported
  by Yuri Chislov.
  + verify wrong combination of options even if the changes are made on
VFS options only.

Index: fs/aufs/super.h
Index: fs/aufs25/super.h
- declare copyright 2005-2009.
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)
  + new function au_test_ecryptfs().

Index: fs/aufs/whout.c
Index: fs/aufs25/whout.c
- declare copyright 2005-2009.
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)

Index: fs/aufs/xino.c
Index: fs/aufs25/xino.c
- declare copyright 2005-2009.
- begin supporting ecryptfs in linux-2.6.27 and later (temporary)
  + prohibit xino files on ecryptfs.
- minor optimization: call au_sbr() instead of au_sbr_perm() and
  au_h_dptr(root).

Index: fs/aufs25/file.c
- declare copyright 2005-2009.
- bugfix: stop copyup-on-open when aufs is mounted as readonly, reported
  by Yuri Chislov.
- temporary support for linux-2.6.28 (untested).

Index: sample/uloop/libuloop.c
Index: sample/uloop/drivers/block/uloop.c
Index: sample/uloop/include/linux/uloop.h
- declare copyright 2005-2009.
- support for linux-2.6.27, reported by Jordi Pujol.
  + replace kill_proc() by kill_pid().
  + set ctl.ready.pid in kernel space, stop setting it in user space.
  + convert the type of pid member in struct ulo_ctl_ready into struct pid*.

Index: util/auplink
- declare copyright 2005-2009.
- bugfix: trimming the first '-o' after concatinating.

Index: Kconfig.in
Index: local.mk
Index: fs/aufs/aufs.h
Index: fs/aufs/br_fuse.c
Index: fs/aufs/br_nfs.c
Index: fs/aufs/br_xfs.c
Index: fs/aufs/branch.c
Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs/dentry.c
Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
Index: fs/aufs/dir.c
Index: fs/aufs/dir.h
Index: fs/aufs/dlgt.c
Index: fs/aufs/export.c

aufs Monday release

2008-12-07 Thread sfjro

Hi all,

This is the final regular release in this year. If something wrong
happens, I may release a fixed version as an emergency release.

Have nice holidays!
J. R. Okajima

o bugfix
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + temporary si unlock/lock in au_lkup_by_ino() and decode_by_path().
  + new function si_nfsd_read_lock().
  + rename struct au_decode to struct au_nfsd_si_lock.
  + in readdir(), unlock all except fi write-lock and call
lockdep_off/on().
  + stop checking si lock in au_fvdir_cache().
  + remove struct au_nfsd_readdir_pid.
  + remove struct au_nfsd_pid.
  + remove au_nfsd_do_read_lock(), au_nfsd_read_lock() and
di_nfsd_read_lock_parent().
  + remove si_nfsd_pid member.
  + remove si_nfsd_pid_{,un}reg() and au_nfsd_test_si_lock().
  + remove ii_nfsd_readdir member and au_nfsd_readdir_alloc().
  + remove au_nfsd_readdir_{alloc,free,reg,unreg,test}().
  + remove au_decode_{,un}lock().
  + remove si_hin_wq and si_nfsd_pid member.
  + remove au_hin_wq_{init,wake}().
  + support the hierarchy of pin3.
  + revert the big aufs lock.
- bugfix: mutex lock for the lower inode while updating the aufs inode
  attributes.

o misc
- allow flushing no-wait-task even if the current process is NFSD.
- minor enhancement: for NFSD, convert -EBUSY into -ESTALE.
- make silly_{,un}lock() before linux-2.6.27 only. in linux-2.6.27 and
  later, read-lock si and ii inconditionally.
- print the opened files too.
- remove the unused functions au_nfsd_lockdep_off/on().

--
Index: fs/aufs/dentry.c
Index: fs/aufs25/dentry.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove au_nfsd_read_lock().

Index: fs/aufs/dentry.h
Index: fs/aufs25/dentry.h
Index: fs/aufs/getattr.c
Index: fs/aufs25/getattr.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove di_nfsd_read_lock_parent().

Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove si_nfsd_pid_{,un}reg().
  + remove ii_nfsd_readdir member and au_nfsd_readdir_alloc().
  + in readdir(), unlock all except fi write-lock and call
lockdep_off/on().
  + remove au_nfsd_readdir_{,un}reg().

Index: fs/aufs/dir.h
Index: fs/aufs25/dir.h
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove struct au_nfsd_readdir_pid.
  + remove au_nfsd_readdir_{alloc,free,reg,unreg}().
  + remove au_nfsd_do_read_lock(), au_nfsd_read_lock() and
di_nfsd_read_lock_parent().

Index: fs/aufs/export.c
Index: fs/aufs25/export.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove au_nfsd_test_si_lock().
  + remove au_nfsd_readdir_{alloc,free,reg,unreg,test}().
  + remove au_nfsd_do_read_lock().
  + rename struct au_decode to struct au_nfsd_si_lock.
  + remove au_decode_{,un}lock().
  + new function si_nfsd_read_lock().
  + temporary si unlock/lock in au_lkup_by_ino() and decode_by_path().
  + remove au_nfsd_read_lock().
  + remove si_nfsd_pid member.

Index: fs/aufs/file.h
Index: fs/aufs25/file.h
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + stop checking si lock in au_fvdir_cache().

Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
- bugfix: mutex lock for the lower inode while updating the aufs inode
  attributes.
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + revert the big aufs lock.

Index: fs/aufs/i_op.c
- minor enhancement: for NFSD, convert -EBUSY into -ESTALE.
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove di_nfsd_read_lock_parent().

Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs25/i_op_del.c
- minor enhancement: for NFSD, convert -EBUSY into -ESTALE.

Index: fs/aufs/i_op_ren.c
Index: fs/aufs25/i_op_ren.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + support the hierarchy of pin3.
- minor enhancement: for NFSD, convert -EBUSY into -ESTALE.

Index: fs/aufs/iinfo.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs/inode.h
Index: fs/aufs25/inode.h
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir call from NFSD entirely.
  + remove ii_nfsd_readdir member.
  + remove au_nfsd_readdir_free().

Index: fs/aufs/sbinfo.c
Index: fs/aufs25/sbinfo.c
- bugfix(completed): stop recursive si lock, reported by Louis Rilling,
  refine the readdir ca

aufs Monday release

2008-11-30 Thread sfjro

o bugfix
- bugfix: set PINNED flag unconditionally in au_ren_pin(), regression on
  20081020.
- bugfix: re-initialize gparent array explicitly in au_ren_pin().
- bugfix: in robr mode, support the multi-threaded library call,
  reported by Julien Bonjean.
- bugfix: support freeing inodes at anytime, reported by Stefanik Gabor.
- bugfix: in linux-2.6.27 and later, some LSM doesn't support some MAY_
  bits and need to drop them before calling security_inode_permission(),
  reported by "fd".
- bugfix: mis-used the filename variable $f.
- bugfix(still working): stop recursive si lock, reported by Louis
  Rilling.
  + append a parameter au_decode for au_lkup_by_in(),
decode_by_dir_ino() and decode_by_path().
  + call au_hin_wq_init() and initialize a new member.
  + call generic au_dbg_{,un}reg() from au_dbg_[sdi]i_{,un}reg().
  + initialize a new member si_nfsd_pid.
  + make si lock functions wrapping new debug functions and to call
au_nfsd_test_si_lock().
  + new functions au_decode_{,un}lock().
  + new functions au_hin_wq_{init,wake}().
  + new functions si_nfsd_pid_{,un}reg().
  + a new function au_nfsd_test_si_lock().
  + new members si_hin_wq and si_nfsd_pid.
  + new structure au_decode.
  + a new structure au_nfsd_pid.
  + print lock informations in sysrq_sb().
  + remove lockdep_{on,off}().
  + rename the prefix of si lock functions to si_do_.
  + replace si write_lock() call in postproc() by
wait_event(si write_trylock()).
  + replace the structure au_dbg_lock_di by a new generic structure
au_dbg_lock.

o misc
- support PPC64 (or PPC) which doesn't export the symbol empty_zero_page
  in linux-2.6.25 (untested).
- add a debug feature for si/ii lock.
  + new enumerators AuDbgLock_[SI]I_LOCK{ING,ED}.
  + new debug functions au_dbg_lock{ing,ed}_[si]i_{,un}reg().
  + call new debug functions au_dbg_lock{ing,ed}_ii_{,un}reg().
  + call new debug function au_dbg_locked_si_reg().
- remove many unlikely() macros in order to improve the cpu usage, but
  it doesn't mean that aufs runs faster.
- minor enhancement: remove the temporary files when an error happened.
- minor enhancement: detect the remount flag earlier.


J. R. Okajima

--
Index: fs/aufs/br_fuse.c
Index: fs/aufs25/br_fuse.c
Index: fs/aufs/br_nfs.c
Index: fs/aufs25/br_nfs.c
Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
Index: fs/aufs/cpup.c
Index: fs/aufs25/cpup.c
Index: fs/aufs/dcsub.c
Index: fs/aufs25/dcsub.c
Index: fs/aufs/dentry.c
Index: fs/aufs25/dentry.c
Index: fs/aufs/dinfo.c
Index: fs/aufs25/dinfo.c
Index: fs/aufs/dir.h
Index: fs/aufs25/dir.h
Index: fs/aufs/f_op.c
Index: fs/aufs25/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs25/file.c
Index: fs/aufs/hin_or_dlgt.c
Index: fs/aufs25/hin_or_dlgt.c
Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs/iinfo.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs25/inode.c
Index: fs/aufs/misc.c
Index: fs/aufs/opts.c
Index: fs/aufs25/opts.c
Index: fs/aufs/plink.c
Index: fs/aufs25/plink.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vdir.c
Index: fs/aufs25/vdir.c
Index: fs/aufs/vfsub.c
Index: fs/aufs25/vfsub.c
Index: fs/aufs/wbr_policy.c
Index: fs/aufs25/wbr_policy.c
Index: fs/aufs/whout.c
Index: fs/aufs25/whout.c
Index: fs/aufs/whout.h
Index: fs/aufs25/whout.h
Index: fs/aufs/wkq.c
Index: fs/aufs25/wkq.c
Index: fs/aufs/xino.c
Index: fs/aufs25/xino.c
Index: fs/aufs25/sysfs.c
- remove many unlikely() macros in order to improve the cpu usage, but
  it doesn't mean that aufs runs faster.

Index: fs/aufs/debug.h
Index: fs/aufs25/debug.h
- add a debug feature for si/ii lock.
  + new enumerators AuDbgLock_[SI]I_LOCK{ING,ED}.
  + new debug functions au_dbg_lock{ing,ed}_[si]i_{,un}reg().

Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
- bugfix(still working): stop recursive si lock, reported by Louis
  Rilling.
  + new structure au_nfsd_pid nfsd_pid.
  + new functions si_nfsd_pid_{,un}reg().
  + remove lockdep_{on,off}().
- remove many unlikely() macros in order to improve the cpu usage, but
  it doesn't mean that aufs runs faster.

Index: fs/aufs/export.c
Index: fs/aufs25/export.c
- bugfix(still working): stop recursive si lock, reported by Louis
  Rilling.
  + new function au_nfsd_test_si_lock().
  + new structure au_decode.
  + new functions au_decode_{,un}lock().
  + append a parameter au_decode for au_lkup_by_in(),
decode_by_dir_ino() and decode_by_path().
  + remove lockdep_{on,off}().
  + initialize a new member si_nfsd_pid.
- remove many unlikely() macros in order to improve the cpu usage, but
  it doesn't mean that aufs runs faster.

Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
- remove many unlikely() macros in order to improve the cpu usage, but
  it doesn't mean that aufs runs faster.
- bugfix(still working): stop recursive si lock, reported by Louis
  Rilling.
  + replace si write_lock(

Re: aufs Monday release

2008-11-17 Thread Leslie P. Polzer

> o news
> - introduce two new mount options sum/nosum for statfs(2). sum returns
>   the total number of blocks/inodes of all branches.

Thanks again for this one. Will try it as soon as I get
the chance.

  Leslie


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


aufs Monday release

2008-11-16 Thread sfjro

o bugfix
- bugfix: the dir inode may remain without the corresponding dentry,
  regression on 20080929, reported by James.
- bugfix: initilize i_op for special inodes, regression on 20080804,
  reported by Kris Warkentin.
- bugfix: use the passed mount option flags insted of the currently set
  flags at remounting.
  + pass the setting flag to opt_add() and verify_opts().
  + remove the flag parameter from au_opts_parse().
  + store the setting flag in struct au_opts.
- bugfix: support the non-printable characters in filename.
- bugfix: stop dropping the passed vfs mount options.

o news
- introduce two new mount options sum/nosum for statfs(2). sum returns
  the total number of blocks/inodes of all branches.
  + print the option in aufs_show_options().
  + new function au_add_till_max() and au_statfs_sum().
- new sample logrow.

o misc
- minor enhancement: stop decrementing the reference to kboject in
  xino_do_trunc().
- minor enhancement: stop incrementing and decrementing the reference to
  kboject in xino_try_trunc().
- make nodlgt/nodirperm1/noshwh availble even if their configuration is
  disabled.
- use %z when printing size_t/ssize_t.
- stop small kamlloc() in au_match_ull().
- new shell library aufs.shlib for /etc/default/aufs.
- use /etc/default/aufs.
- stop calling /sbin/mount.aufs helper and updating /etc/mtab.


J. R. Okajima

--
Index: fs/aufs/export.c
Index: fs/aufs25/export.c
Index: fs/aufs/f_op.c
Index: fs/aufs25/f_op.c
Index: fs/aufs/hin_or_dlgt.c
Index: fs/aufs25/hin_or_dlgt.c
Index: fs/aufs/vfsub.c
Index: fs/aufs25/vfsub.c
Index: fs/aufs/xino.c
- use %z when printing size_t/ssize_t.

Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
- bugfix: the dir inode may remain without the corresponding dentry,
  regression on 20080929, reported by James.

Index: fs/aufs/inode.c
Index: fs/aufs25/inode.c
- bugfix: initilize i_op for special inodes, regression on 20080804,
  reported by Kris Warkentin.

Index: fs/aufs/opts.c
Index: fs/aufs25/opts.c
- introduce two new mount options sum/nosum for statfs(2). sum returns
  the total number of blocks/inodes of all branches.
- make nodlgt/nodirperm1/noshwh availble even if their configuration is
  disabled.
- stop small kamlloc() in au_match_ull().
- bugfix: use the passed mount option flags insted of the currently set
  flags at remounting.
  + pass the setting flag to opt_add() and verify_opts().
  + remove the flag parameter from au_opts_parse().

Index: fs/aufs/opts.h
Index: fs/aufs25/opts.h
- introduce two new mount options sum/nosum for statfs(2). sum returns
  the total number of blocks/inodes of all branches.
- bugfix: use the passed mount option flags insted of the currently set
  flags at remounting.
  + store the setting flag in struct au_opts.
  + remove the flag parameter from au_opts_parse().

Index: fs/aufs/super.c
Index: fs/aufs25/super.c
- introduce two new mount options sum/nosum for statfs(2). sum returns
  the total number of blocks/inodes of all branches.
  + print the option in aufs_show_options().
  + new function au_add_till_max() and au_statfs_sum().
- bugfix: use the passed mount option flags insted of the currently set
  flags at remounting.
  + store the setting flag in struct au_opts.
  + remove the flag parameter from au_opts_parse().

Index: fs/aufs25/xino.c
- use %z when printing size_t/ssize_t.
- minor enhancement: stop decrementing the reference to kboject in
  xino_do_trunc().
- minor enhancement: stop incrementing and decrementing the reference to
  kboject in xino_try_trunc().

Index: util/Makefile
- new shell library aufs.shlib for /etc/default/aufs.

Index: util/auchk
- use /etc/default/aufs.

Index: util/aufs.in.5
- introduce two new mount options sum/nosum for statfs(2). sum returns
  the total number of blocks/inodes of all branches.

Index: util/auplink
- bugfix: support the non-printable characters in filename.
- use /etc/default/aufs.
- stop calling /sbin/mount.aufs helper and updating /etc/mtab.

Index: util/mount.aufs
- bugfix: stop dropping the passed vfs mount options.
- use /etc/default/aufs.

Index: Kconfig.in
Index: Tips
Index: local.mk
Index: fs/aufs/branch.h
Index: fs/aufs25/branch.h
Index: fs/aufs/debug.c
Index: fs/aufs25/debug.c
Index: include/linux/aufs_type.h
Index: util/aulchown.c
Index: util/c2sh.c
Index: util/c2tmac.c
- less important changes.


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


aufs Monday release

2008-11-02 Thread sfjro

o news
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + when aufs is compiled as a module, both of fs/aufs and fs/aufs25
requires put_filp.patch to support NFSv4. the patch is unnecessary
to support NFSv2/v3.
  + support intent.open for the filesystem which are decided by a new
function au_test_fs_intent(), currently NFSv4 only.
  + separate the test for availability of NFSv4 branch.
  + replace the argument 'perm' by 'br' for au_fake_intent().
  + new automatic configuration CONFIG_AUFS_BR_NFS_V4.
  + new function au_put_filp().
  + new function au_test_unsupported_nfs4() and au_test_fs_intent().
  + new function au_test_nfs4().

o misc
- define WARN_ONCE() macro for compatibility.
- minor enhancement: debugging hinotify.


Junjiro R. Okajima

--
Index: Kconfig.in
Index: README
Index: local.mk
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + when aufs is compiled as a module, both of fs/aufs and fs/aufs25
requires put_filp.patch to support NFSv4. the patch is unnecessary
to support NFSv2/v3.
  + new automatic configuration CONFIG_AUFS_BR_NFS_V4.

Index: fs/aufs/aufs.h
Index: fs/aufs25/aufs.h
- define WARN_ONCE() macro for compatibility.

Index: fs/aufs/br_nfs.c
Index: fs/aufs25/br_nfs.c
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + replace the argument 'perm' by 'br' for au_fake_intent().
  + support intent.open for the filesystem which are decided by a new
function au_test_fs_intent(), currently NFSv4 only.
  + new function au_put_filp().

Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + separate the test for availability of NFSv4 branch.

Index: fs/aufs/branch.h
Index: fs/aufs25/branch.h
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + new function au_test_unsupported_nfs4() and au_test_fs_intent().

Index: fs/aufs/dentry.c
Index: fs/aufs/dentry.h
Index: fs/aufs25/dentry.c
Index: fs/aufs25/dentry.h
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + replace the argument 'perm' by 'br' for au_fake_intent().

Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
- minor enhancement: debugging hinotify.

Index: fs/aufs/super.h
Index: fs/aufs25/super.h
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + new function au_test_nfs4().

Index: fs/aufs/sysaufs.c
Index: fs/aufs25/sysfs.c
- refine the patches to support NFS branch, based upon the patches from
  Jeff Mahoney.
  + new automatic configuration CONFIG_AUFS_BR_NFS_V4.

Index: Tips
Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs/module.c
Index: fs/aufs25/module.c
Index: include/linux/aufs_type.h
- less important changes.

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


aufs Monday release

2008-10-26 Thread sfjro

o bugfix
- bugfix: NFS exporting and udba=inotify caused deadlock, make knfsd not
  to wait for the completion of all queued tasks, reported by Louis
  Rilling.
  + remove AuLock_FLUSH flag.
  + stop waiting in case of knfsd.
- bugfix: deadlock for changing the attributes of the root dir on
  readonly aufs mount, reported by Chih-Wei Huang.
- bugfix: unlock the aufs iinfo in error case.
- bugfix: suppress the lockdep message, reported by Louis Rilling,
  regression on 20080929.
- bugfix: stop updating /etc/mtab when remounting the chroot-ed aufs as
  readonly.
- minor bugfix: show the 'pass' number correctly.

o misc
- minor enhancement: support namespace.
- a note about the block size returned by stat(2) and statfs(2).
- split some macros for whiteout.
  + AUFS_BASE_NAME  for AUFS_WH_BASENAME
  + AUFS_PLINKDIR_NAME  for AUFS_WH_PLINKDIR
  + AUFS_TMPDIR_NAMEfor AUFS_WH_TMPDIR
  + AUFS_WH_BASENAME--> AUFS_WH_BASE


Junjiro R. Okajima

--
Index: fs/aufs/export.c
Index: fs/aufs25/export.c
- bugfix: suppress the lockdep message, reported by Louis Rilling,
  regression on 20080929.
- bugfix: NFS exporting and udba=inotify caused deadlock, make knfsd not
  to wait for the completion of all queued tasks, reported by Louis
  Rilling.
  + remove AuLock_FLUSH flag.

Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
- bugfix: deadlock for changing the attributes of the root dir on
  readonly aufs mount, reported by Chih-Wei Huang.

Index: fs/aufs/inode.c
- bugfix: unlock the aufs iinfo in error case.

Index: fs/aufs/super.h
Index: fs/aufs25/super.h
- bugfix: NFS exporting and udba=inotify caused deadlock, make knfsd not
  to wait for the completion of all queued tasks, reported by Louis
  Rilling.
  + stop waiting in case of knfsd.

Index: fs/aufs/whout.c
Index: fs/aufs25/whout.c
Index: include/linux/aufs_type.h
Index: sample/unionctl
Index: util/aufind.sh
Index: util/c2sh.c
Index: util/c2tmac.c
Index: util/auplink
- split some macros for whiteout.
  + AUFS_BASE_NAME  for AUFS_WH_BASENAME
  + AUFS_PLINKDIR_NAME  for AUFS_WH_PLINKDIR
  + AUFS_TMPDIR_NAMEfor AUFS_WH_TMPDIR
  + AUFS_WH_BASENAME--> AUFS_WH_BASE
- minor enhancement: support namespace.

Index: util/auchk
- split some macros for whiteout.
  + AUFS_BASE_NAME  for AUFS_WH_BASENAME
  + AUFS_PLINKDIR_NAME  for AUFS_WH_PLINKDIR
  + AUFS_TMPDIR_NAMEfor AUFS_WH_TMPDIR
  + AUFS_WH_BASENAME--> AUFS_WH_BASE
- minor bugfix: show the 'pass' number correctly.

Index: util/aufs.in.5
- split some macros for whiteout.
  + AUFS_BASE_NAME  for AUFS_WH_BASENAME
  + AUFS_PLINKDIR_NAME  for AUFS_WH_PLINKDIR
  + AUFS_TMPDIR_NAMEfor AUFS_WH_TMPDIR
  + AUFS_WH_BASENAME--> AUFS_WH_BASE
- a note about the block size returned by stat(2) and statfs(2).

Index: util/mount.aufs
- minor enhancement: support namespace.
- bugfix: stop updating /etc/mtab when remounting the chroot-ed aufs as
  readonly.

Index: Tips
Index: local.mk
Index: fs/aufs25/dir.c
Index: fs/aufs25/f_op.c
Index: fs/aufs25/file.h
Index: util/Makefile
- less important changes.

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


aufs Monday release

2008-10-19 Thread sfjro

o news
- begin supporting linux-2.6.27.

o bugfix
- bugfix: race condition in rename(), fix the locking order of
  s_vfs_rename_mutex, reported by Louis Rilling.
  + introduce a new flag VFS_RENAME for au_pin.
  + new abstract function vfsub_is_rename_mutex_locked().
  + test the lock for debugging.
- bugfix: temporary unlock the whiteout-ed lower inode when cpup to keep
  the internal locking order.
- bugfix: suppress the lockdep messages, reported by Louis Rilling,
  regression on 20080929.

o misc
- minor enhancement: protect the link count of the pseudo-link.
  + add a parameter to au_cpup_attr_all() and au_cpup_attr_nlink().
- minor enhancement: replace simple_strtoull() by strict_strtoull().
- a note about the link count of the UDBAed pseudo-link.


Junjiro R. Okajima

--
Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
Index: fs/aufs/cpup.h
Index: fs/aufs25/cpup.h
Index: fs/aufs/getattr.c
Index: fs/aufs25/getattr.c
Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
Index: fs/aufs/inode.c
Index: fs/aufs25/inode.c
Index: fs/aufs/super.c
Index: fs/aufs25/super.c
- minor enhancement: protect the link count of the pseudo-link.
  + add a parameter to au_cpup_attr_all() and au_cpup_attr_nlink().

Index: fs/aufs/cpup.c
Index: fs/aufs25/cpup.c
- minor enhancement: protect the link count of the pseudo-link.
  + add a parameter to au_cpup_attr_all() and au_cpup_attr_nlink().
- bugfix: temporary unlock the whiteout-ed lower inode when cpup to keep
  the internal locking order.

Index: fs/aufs/export.c
Index: fs/aufs25/export.c
- bugfix: suppress the lockdep messages, reported by Louis Rilling,
  regression on 20080929.

Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
Index: fs/aufs/inode.h
Index: fs/aufs25/inode.h
- bugfix: race condition in rename(), fix the locking order of
  s_vfs_rename_mutex, reported by Louis Rilling.
  + introduce a new flag VFS_RENAME for au_pin.

Index: fs/aufs/i_op_ren.c
Index: fs/aufs25/i_op_ren.c
- bugfix: race condition in rename(), fix the locking order of
  s_vfs_rename_mutex, reported by Louis Rilling.
  + introduce a new flag VFS_RENAME for au_pin.
- minor enhancement: protect the link count of the pseudo-link.
  + add a parameter to au_cpup_attr_all() and au_cpup_attr_nlink().

Index: fs/aufs/vfsub.c
Index: fs/aufs25/vfsub.c
- bugfix: race condition in rename(), fix the locking order of
  s_vfs_rename_mutex, reported by Louis Rilling.
  + test the lock for debugging.

Index: fs/aufs/vfsub.h
Index: fs/aufs25/vfsub.h
- bugfix: race condition in rename(), fix the locking order of
  s_vfs_rename_mutex, reported by Louis Rilling.
  + new abstract function vfsub_is_rename_mutex_locked().

Index: fs/aufs25/Makefile
- begin supporting linux-2.6.27.

Index: fs/aufs25/opts.c
Index: fs/aufs25/sysfs.c
- minor enhancement: replace simple_strtoull() by strict_strtoull().

Index: util/aufs.in.5
- a note about the link count of the UDBAed pseudo-link.

Index: fs/aufs/branch.h
Index: fs/aufs25/branch.h
Index: fs/aufs/debug.c
Index: fs/aufs25/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs25/debug.h
Index: fs/aufs/file.c
Index: fs/aufs25/file.c
Index: fs/aufs/module.c
Index: fs/aufs25/module.c
Index: fs/aufs/opts.h
Index: fs/aufs25/opts.h
Index: fs/aufs/super.h
Index: fs/aufs25/super.h
Index: fs/aufs/vdir.c
Index: fs/aufs25/vdir.c
Index: fs/aufs/wbr_policy.c
Index: fs/aufs25/wbr_policy.c
Index: fs/aufs/whout.c
Index: fs/aufs25/whout.c
Index: fs/aufs/wkq.c
Index: fs/aufs25/wkq.c
Index: fs/aufs/wkq.h
Index: fs/aufs25/wkq.h
Index: include/linux/aufs_type.h
Index: util/mount.aufs
- less important changes.

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


aufs Monday release

2008-10-12 Thread sfjro

o bugfix
- bugfix: support the failure of adding a branch.
  + test br_mnt in au_br_do_free().
  + move initializing br_mnt, br_xino, br_count earlier in au_br_init().
  + keep the wh base dentries NULL.
- bugfix: support the failure of registering pseudo-link.
  + test the broken pseudo-link in au_cpup_single().
- bugfix: support the failure of registering pseudo-link.

o news
- minor enhancement: introduce a lock-free approach for root dinfo/iinfo
  (still testing).
  + stop locking root dinfo/iinfo in aufs_getattr().
  + customize the checking of lock for debugging.
  + stop locking root dinfo/iinfo in aufs_show_options(), au_show_brs()
and aufs_statfs().
  + comment out the note about statvfs(3) in FUSE.
- minor enhancement: FUSE d_revalidate always return 0 for negative
  dentries.

o misc
- remove the warning of unexpected parent-child relationship.


Junjiro R. Okajima

--
Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
- bugfix: support the failure of adding a branch.
  + test br_mnt in au_br_do_free().
  + move initializing br_mnt, br_xino, br_count earlier in au_br_init().

Index: fs/aufs/cpup.c
Index: fs/aufs25/cpup.c
- bugfix: support the failure of registering pseudo-link.
  + test the broken pseudo-link in au_cpup_single().

Index: fs/aufs/getattr.c
Index: fs/aufs25/getattr.c
- minor enhancement: introduce a lock-free approach for root dinfo/iinfo
  (still testing).
  + stop locking root dinfo/iinfo in aufs_getattr().

Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
- remove the warning of unexpected parent-child relationship.

Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
- minor enhancement: FUSE d_revalidate always return 0 for negative
  dentries.

Index: fs/aufs/iinfo.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs/inode.h
Index: fs/aufs25/inode.h
- minor enhancement: introduce a lock-free approach for root dinfo/iinfo
  (still testing).
  + customize the checking of lock for debugging.

Index: fs/aufs/plink.c
Index: fs/aufs25/plink.c
- bugfix: support the failure of registering pseudo-link.

Index: fs/aufs/super.c
Index: fs/aufs25/super.c
- minor enhancement: introduce a lock-free approach for root dinfo/iinfo
  (still testing).
  + stop locking root dinfo/iinfo in aufs_show_options(), au_show_brs()
and aufs_statfs().

Index: fs/aufs/whout.c
Index: fs/aufs25/whout.c
- bugfix: support the failure of adding a branch.
  + keep the wh base dentries NULL.

Index: util/aufs.in.5
- minor enhancement: introduce a lock-free approach for root dinfo/iinfo
  (still testing).
  + comment out the note about statvfs(3) in FUSE.

Index: include/linux/aufs_type.h
- less important changes.

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


aufs Monday release

2008-10-05 Thread sfjro

o bugfix
- bugfix: restore lockdef_off/on(), a regression on 20080922.
- bugfix: check if the destroying inode is dead when maintaining the
  inode generation.
- bugfix: when the inode/dentry was still cached, check its generation.

o news
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + introduce the bit flags and the branch index to struct au_pin, and
change the parameter for au_pin functions.
  + introduce the bit flag for crazy locks for rename(2).
  + new inlined functions au_br_want/drop_write().
  + new abstract functions au_mnt_want/drop_write().
  + convert the parameter 'dentry' for clean_wh(), au_whdir_clean() and
au_whdir(), into 'path.'
  + convert the parameter 'nfsmnt' of au_wh_init() into 'h_mnt.'
- add a note about openvz and sysrq, reported by Mitsuru SHIMAMURA.
- add a note about the size of xigen file.

o misc
- minor optimization: skip the actual xib truncation when the file size
  is small enough.
- convert si_xigen_lock and si_xigen_next into a single atomic_t.
- always downgrade iinfo rw_sem too.
- use struct au_spl instead of spinlock + list.
- new tiny functions au_spl_add/del().
- call au_spl_add/del() instead of spin_lock/unlock() + list_add/del().
- (fs/aufs only) convert mntput() + dput() into path_release().
- (fs/aufs only) move free_sbinfo() from super.c to sbinfo.c as
  au_si_free().
- (fs/aufs only) move alloc_sbinfo() from super.c to sbinfo.c as
  au_si_alloc().
- rename sysaufs_sbi_init() to sysaufs_si_init().


Junjiro R. Okajima

--
Index: README
- add a note about openvz and sysrq, reported by Mitsuru SHIMAMURA.

Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
Index: fs/aufs/opts.c
Index: fs/aufs25/opts.c
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + convert the parameter 'nfsmnt' of au_wh_init() into 'h_mnt.'

Index: fs/aufs/branch.h
Index: fs/aufs25/branch.h
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + new inlined functions au_br_want/drop_write().

Index: fs/aufs/cpup.c
Index: fs/aufs25/cpup.c
Index: fs/aufs/f_op.c
Index: fs/aufs25/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs25/file.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs/inode.h
Index: fs/aufs25/inode.h
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + introduce the bit flags and the branch index to struct au_pin, and
change the parameter for au_pin functions.

Index: fs/aufs/debug.c
Index: fs/aufs25/debug.c
Index: fs/aufs/hinode.h
Index: fs/aufs25/hinode.h
Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
Index: fs/aufs/plink.c
Index: fs/aufs25/plink.c
Index: fs/aufs/robr.c
Index: fs/aufs25/robr.c
- use struct au_spl instead of spinlock + list.

Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
- bugfix: restore lockdef_off/on(), a regression on 20080922.
- always downgrade iinfo rw_sem too.

Index: fs/aufs/export.c
Index: fs/aufs25/export.c
- call au_spl_add/del() instead of spin_lock/unlock() + list_add/del().
- convert si_xigen_lock and si_xigen_next into a single atomic_t.
- bugfix: when the inode/dentry was still cached, check its generation.

Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
- (fs/aufs only) convert mntput() + dput() into path_release().
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + introduce the bit flags and the branch index to struct au_pin, and
change the parameter for au_pin functions.

Index: fs/aufs/i_op_ren.c
Index: fs/aufs25/i_op_ren.c
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + introduce the bit flags and the branch index to struct au_pin, and
change the parameter for au_pin functions.
  + introduce the bit flag for crazy locks for rename(2).

Index: fs/aufs/misc.c
- convert mntput() + dput() into path_release().

Index: fs/aufs/misc.h
Index: fs/aufs25/misc.h
- new tiny functions au_spl_add/del().

Index: fs/aufs/sbinfo.c
Index: fs/aufs25/sbinfo.c
- use struct au_spl instead of spinlock + list.
- (fs/aufs only) move free_sbinfo() from super.c to sbinfo.c as
  au_si_free().
- (fs/aufs only) move alloc_sbinfo() from super.c to sbinfo.c as
  au_si_alloc().

Index: fs/aufs/super.c
Index: fs/aufs25/super.c
- bugfix: check if the destroying inode is dead when maintaining the
  inode generation.
- (fs/aufs only) move free_sbinfo() from super.c to sbinfo.c as
  au_si_free().
- (fs/aufs only) move alloc_sbinfo() from super.c to sbinfo.c as
  au_si_alloc().

Index: fs/aufs/super.h
Index: fs/aufs25/super.h
- convert si_xigen_lock and si_xigen_next into atomic_t.
- use struct au_spl instead of spinlock + list.
- (fs/aufs only) move free_sbinfo() from super.c to sbinfo.c as
  au_si_free().
- (fs/aufs only) move alloc_sbinfo() from super.c to sbinfo.c as
  au_si_alloc().
- support mnt_want/drop_write() in linux-2.6.26 and later.
  + new abstract functions au_mnt_want/drop_write().

Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h

aufs Monday release

2008-10-04 Thread sfjro

o bugfix
- bugfix: NFSD issues another operation during filesystem's readdir(),
  and it may cause a deadlock in aufs. check the current context is in
  readdir().
  + new member ii_nfsd_readdir in struct au_iinfo.
  + new structure au_nfsd_readdir_pid.
  + new functions au_nfsd_readdir_(alloc|free|reg|unreg),
au_nfsd_do_read_lock(), au_nfsd_read_lock() and
di_nfsd_read_lock_parent().
  + new function di_nfsd_read_lock_parent().
  + new abstract function au_nfsd_read_lock().
  + in aufs_encode_fh(), support the in-readdir status by
au_nfsd_read_lock().
  + in aufs_d_revalidate(), when the dentry is the readdir-ed itself and
cannot get the write-lock, returns 'invalid' and forces re-lookup.
  + in aufs_getattr(), support the in-readdir status by
au_nfsd_read_lock().
  + in aufs_lookup(), support the in-readdir status by
di_nfsd_read_lock_parent().
  + free ii_nfsd_readdir in au_iinfo_fin().
  + stop calling lockdep_off/on().
- bugfix: under heavy load the dead inode might be re-used because of
  the race condition between S_DEAD flag and some lock-free oprations.
  force 'must-new' inode in some cases.
  + add a parameter 'must_new' for au_new_inode().
  + set S_DEAD flag in aufs_unlink() and aufs_rmdir().
  + set S_DEAD flag in aufs_rename().
  + test the S_DEAD flag in reval_inode().
- bugfix: force nosubtreecheck for a branch.

o news
- new helper script 'auchk' which behaves like 'fsck' for aufs branch.
- replace the automatic configuration CONFIG_AUFS_HIN_OR_FUSE by
  CONFIG_AUFS_GETATTR, and support nfs branch too.
  + rename hin_or_fuse.c to getattr.c.
  + always force the real getattr operation for nfs branch.
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.
  + show the lock status when MagicSysRq key is pressed.
  + new member si_dbg_lock in struct au_sbinfo.
  + new functions au_dbg_(locking|locked)_di_(reg|unreg),
au_dbg_lock_ii_(reg|unreg).

o misc
- refine some functions au_wkq_run(), au_wkq_wait() and au_wkq_nowait().
  + move au_wkq_wait() from wkq.h to wkq.c.
- test the kernel thread instead of trylock.
  + new function au_test_nowait_wkq().
- revise au_nwt_done() simply.
- test the kernel thread instead of trylock.
- use ZERO_PAGE().
  + for older version, new abstract functions au_zp_alloc/free().
- new generic structure au_splhead and au_spl_init() for it.
- insert minor debug functions mutex_destroy() and au_rwsem_destroy().
  + new debug macro au_rwsem_destroy().


Junjiro R. Okajima

--
Index: Kconfig.in
- replace the automatic configuration CONFIG_AUFS_HIN_OR_FUSE by
  CONFIG_AUFS_GETATTR, and support nfs branch too.
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.

Index: README
Index: util/aufs.in.5
Index: util/auchk
- new helper script 'auchk' which behaves like 'fsck' for aufs branch.

Index: local.mk
- replace the automatic configuration CONFIG_AUFS_HIN_OR_FUSE by
  CONFIG_AUFS_GETATTR, and support nfs branch too.
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.
- new helper script 'auchk' which behaves like 'fsck' for aufs branch.

Index: fs/aufs/Makefile
Index: fs/aufs25/Makefile
Index: fs/aufs/sysaufs.c
Index: fs/aufs25/sysfs.c
- replace the automatic configuration CONFIG_AUFS_HIN_OR_FUSE by
  CONFIG_AUFS_GETATTR, and support nfs branch too.
  + rename hin_or_fuse.c to getattr.c.

Index: fs/aufs/branch.c
Index: fs/aufs25/branch.c
Index: fs/aufs/finfo.c
Index: fs/aufs25/finfo.c
Index: fs/aufs25/sbinfo.c
- insert minor debug functions mutex_destroy() and au_rwsem_destroy().

Index: fs/aufs/debug.c
Index: fs/aufs25/debug.c
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.

Index: fs/aufs/debug.h
Index: fs/aufs25/debug.h
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.
  + new functions au_dbg_(locking|locked)_di_(reg|unreg),
au_dbg_lock_ii_(reg|unreg).

Index: fs/aufs/dentry.c
Index: fs/aufs25/dentry.c
- bugfix: NFSD issues another operation during filesystem's readdir(),
  and it may cause a deadlock in aufs. check the current context is in
  readdir().
  + in aufs_d_revalidate(), when the dentry is the readdir-ed itself and
cannot get the write-lock, returns 'invalid' and forces re-lookup.
- insert minor debug functions mutex_destroy() and au_rwsem_destroy().

Index: fs/aufs/dentry.h
Index: fs/aufs25/dentry.h
- bugfix: NFSD issues another operation during filesystem's readdir(),
  and it may cause a deadlock in aufs. check the current context is in
  readdir().
  + new function di_nfsd_read_lock_parent().

Index: fs/aufs/dinfo.c
Index: fs/aufs25/dinfo.c
- new debug configuration CONFIG_AUFS_DEBUG_LOCK.
  + call au_dbg_(locked|locking)_di_(reg|unreg).

Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
- bugfix: NFSD issues another operation during filesystem's readdir(),
  and it may cause a deadlock in aufs. check the current context is in
  readdir().
  + call au_nfsd_readdir_(alloc|reg|unreg).
  + stop calling lockdep_off/on().

Index: fs/aufs/dir.h
Index: fs/aufs25/dir.h
-

aufs Monday release

2008-09-21 Thread sfjro

o bugfix
- bugfix: support an illegal whiteout, reported by Hercinger Viktor.
- bugfix: support the write to the hardlink with had being removed with
  its parent dir.
- bugfix: stop clearing xino when the inode is pseudo-linked.

o news
- new file /etc/default/aufs for some shell scripts, and c2sh.c for
  building it.
- a note about the new entry /fs/aufs/si_*/xigen for inode
  generation.
- a note about the consistency of aufs after a system crash.

o misc
- enhance the writable NFS branch in udba=inotify mode, ignore the
  IN_DELETE by d_delete() in nfs_namre().
- new function au_dbg_sleep_jiffy() and a macro for it.
- append '?' to the parent dir name.


Junjiro R. Okajima

--
Index: README
Index: local.mk
Index: util/Makefile
Index: util/auplink
- new file /etc/default/aufs for some shell scripts, and c2sh.c for
  building it.

Index: fs/aufs/debug.c
Index: fs/aufs25/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs25/debug.h
- append '?' to the parent dir name.
- new function au_dbg_sleep_jiffy() and a macro for it.

Index: fs/aufs/dentry.c
Index: fs/aufs25/dentry.c
- bugfix: support an illegal whiteout, reported by Hercinger Viktor.

Index: fs/aufs/file.c
Index: fs/aufs25/file.c
- bugfix: support the write to the hardlink with had being removed with
  its parent dir.

Index: fs/aufs/i_op_ren.c
Index: fs/aufs25/i_op_ren.c
- enhance the writable NFS branch in udba=inotify mode, ignore the
  IN_DELETE by d_delete() in nfs_namre().
- bugfix: stop clearing xino when the inode is pseudo-linked.

Index: util/aufs.in.5
- a note about the new entry /fs/aufs/si_*/xigen for inode
  generation.
- a note about the consistency of aufs after a system crash.

Index: fs/aufs/cpup.c
Index: fs/aufs25/cpup.c
Index: fs/aufs/dinfo.c
Index: fs/aufs25/dinfo.c
Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
Index: fs/aufs/export.c
Index: fs/aufs25/export.c
Index: fs/aufs/hin_or_fuse.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs/inode.c
Index: fs/aufs25/inode.c
Index: fs/aufs/misc.h
Index: fs/aufs25/misc.h
Index: fs/aufs/vdir.c
Index: fs/aufs25/vdir.c
Index: include/linux/aufs_type.h
- less important changes.

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


aufs Monday release

2008-07-20 Thread sfjro

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

aufs Monday release

2008-07-13 Thread sfjro

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

aufs Monday release

2008-07-06 Thread sfjro

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() fro

aufs Monday release

2008-06-29 Thread sfjro

o news
- bugfix (fs/aufs25 only, currently): pin the hierarchy on lower branch
  and new ignore scheme for inotify (still debugging).
  under heavy i/o (including rename(2)), aufs may misunderstand
  the child-parent relationship. new structure au_pin locks both parent-
  child and verifies them.
  additionally, when udba=inotify is specified, aufs sets inotify watch
  internally for the parent (and grand parent) dir in cache, and ignores
  the events triggered by aufs internal activity. this was done by
  locking the lower dir and setting 0 to the event mask for the lower
  dir, but it might ignore the event fired by other process, for example
  write(2) to the lower file.
  the new method stops setting 0 to the mask, and ignores the event made
  by aufs only.
  this fix is not backported to fs/aufs yet since it is still
  debugging. so the old behaviour is taken on the older kernels.
  people will call it crazy due to many locks.
  + add a parameter au_pin to au_ready_to_write(), and it doesn't lock
iinfo nor dinfo.
  + add a parameter bindex to au_wh_init().
  + add a parameter bindex to epilog().
  + add a parameter dir to do_revert().
  + add a parameter dst_parent to au_sio_cpup_single().
  + add a parameter dst_parent to cpup_entry() and au_cpup_single(), and
set ignore info.
  + add a parameter hdir and replace h_dst by dst and bindex of
cpup_iattr(), and set ignore info.
  + add a parameter hdir to au_copy_file().
  + add a parameter hdir to au_cpdown_attr().
  + add a parameter hdir to cpup_regular() and au_do_cpup_regular().
  + add a parameter hdir to vfsub_sio_notify_change().
  + add a parameter hinode to au_dtime_store() and struct au_dtime.
  + add a parameter parent to au_sio_cpup_single().
  + add a parameter pin to lock_hdir_lkup_wh().
  + add list, pid, handled events to struct au_hinode.
  + add new inline functions vfsub_lock_rename_mutex(),
vfsub_unlock_rename_mutex() and au_verify_parent().
  + add parameters dlgt and hdir to clean_wh(), clean_plink() and
plink_dir().
  + append a lock subclass id AuLsc_DI_PARENT4 and
di_read/write_lock_parent4().
  + append a new lock subclass id AuLsc_DI_PARENT4.
  + append a new lock subclass id AuLsc_I_(PARENT|CHILD)[34].
  + aufs_fsync_dir() and aufs_readdir() unlock both dinfo and iinfo.
  + aufs_read(), aufs_write(), aufs_splice_read(), aufs_splice_write(),
aufs_mmap(), aufs_poll(), aufs_fsync_nondir() and aufs_fasync()
unlock both dinfo and iinfo.
  + call au_dbg_hin_list() from call_rename(), vfsub_rename(),
call_rmdir(), vfsub_rmdir(), call_write_k(), vfsub_write_u(),
vfsub_write_k(), call_splice_from() and vfsub_splice_from().
  + call au_pin() from do_coo().
  + call au_pin/unpin() from au_lock_and_icpup() and aufs_setattr().
  + call au_pin/unpin() from lock_hdir_lkup_wh(), add_simple(),
aufs_link() and aufs_mkdir().
  + call vfsub_ignore(), vfsub_unignore() and au_dbg_hin_list() from
call_create(), call_symlink(), call_mknod(), call_mkdir(),
call_link(), vfsub_create(), vfsub_symlink(), vfsub_mknod(),
vfsub_mkdir() and vfsub_link().
  + call vfsub_unignore() from call_write_k(), vfsub_write_u() and
vfs_write_k() when vfs_write() returns 0.
  + convert the parameter dir of do_unlink_wh() to hdir.
  + convert the parameter dir of vfsub_sio_mkdir() and vfsub_sio_rmdir()
to hdir.
  + convert the parameter h_dentry of au_whtmp_ren() to dentry, remove
the parameter noself from au_whtmp_ren().
  + convert the parameter h_dentry of au_whtmp_ren() to dentry.
  + convert the parameter h_dir of au_wh_unlink_dentry() to struct
au_hinode, and remove the parameter dir.
  + convert the type of au_test_subdir struct dentry* from int.
  + move AuInMask from hinotify.c to hinode.h.
  + new bit-flags VFSLOCK and PINNED.
  + new functions au_do_pinned_h_parent(), au_do_unpin(), au_unpin(),
au_unpin_gp(), au_do_pin(), au_pin_init() and au_pin().
  + new functions au_hin_list_del() and au_dbg_hin_list() for debugging.
  + new functions au_hin_test_ignore() and au_dbg_hin_list().
  + new functions au_pin_init(), au_pin(), au_do_pin(), au_unpin(),
au_unpin_gp(), 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_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() and au_pin_set_h_gdir().
  + new functions au_ren_pin_init(), au_ren_fake_pin(), au_ren_pin4(),
au_ren_pin3(), au_ren_pin(), au_ren_unlock() and au_ren_lock().
  + new members h_locked[], gparent[], pin[], ign[], and vargs in struct
rename_args.
  + new structures au_pin1 and au_pin.
  + remove AuCacheX() macro.
  + remove au_do_hdir_lock(), au_hdir_unlock(), au_hdir_lock_rename(),
au_hdir_unlock_rename(), au_hdir_lock() and au_hdir2_lock().
  + remove au_hd

aufs Monday release

2008-06-15 Thread sfjro

o bugfix
- bugfix (fs/aufs, fs/aufs25): introduce a new mutex to prevent a new
  inode number for hardlinks under different parnet dir from a race
  condition.
  + (fs/aufs25) a new structure au_xino_file.
- bugfix (fs/aufs, fs/aufs25): support an error case of opening a dir.
- bugfix (fs/aufs, fs/aufs25): support a race condition between open and
  unlink/rmdir.
- bugfix: struct kset should be a dynamic object.

o misc
- enhance CONFIG_AUFS_STAT, an abstraction by au_wkq_max_busy_init().
- a note about procfs and sysfs.
- remove some unnecessary code.
- a new debug macro, ForceBrs.


Junjiro Okajima

--
Index: fs/aufs/branch.c
Index: fs/aufs/branch.h
Index: fs/aufs/i_op.c
Index: fs/aufs/vdir.c
Index: fs/aufs25/branch.c
Index: fs/aufs25/branch.h
Index: fs/aufs25/i_op.c
Index: fs/aufs25/sysfs.c
Index: fs/aufs25/vdir.c
Index: fs/aufs25/xino.c
- bugfix (fs/aufs, fs/aufs25): introduce a new mutex to prevent a new
  inode number for hardlinks under different parnet dir from a race
  condition.
  + (fs/aufs25) a new structure au_xino_file.

Index: fs/aufs/dir.c
Index: fs/aufs25/dir.c
- bugfix (fs/aufs, fs/aufs25): support an error case of opening a dir.

Index: fs/aufs/file.c
Index: fs/aufs25/file.c
- bugfix (fs/aufs, fs/aufs25): support a race condition between open and
  unlink/rmdir.
- remove some unnecessary code.

Index: fs/aufs/vfsub.c
Index: fs/aufs25/vfsub.c
- remove some duplicated code.

Index: fs/aufs25/debug.c
- bugfix (fs/aufs, fs/aufs25): introduce a new mutex to prevent a new
  inode number for hardlinks under different parnet dir from a race
  condition.
  + (fs/aufs25) a new structure au_xino_file.
- a new debug macro, ForceBrs.

Index: fs/aufs25/sysaufs.c
Index: fs/aufs25/sysaufs.h
Index: fs/aufs25/sysrq.c
- bugfix: struct kset should be a dynamic object.
- remove some unnecessary code.

Index: fs/aufs25/wkq.c
Index: fs/aufs25/wkq.h
- enhance CONFIG_AUFS_STAT, an abstraction by au_wkq_max_busy_init().

Index: sample/auroot/README.txt
- a note about procfs and sysfs.

Index: fs/aufs/wkq.c
Index: fs/aufs25/export.c
Index: fs/aufs25/hinode.h
Index: fs/aufs25/hinotify.c
Index: fs/aufs25/opts.h
Index: fs/aufs25/whout.c
Index: include/linux/aufs_type.h
- less important changes

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php


aufs Monday release

2008-06-09 Thread sfjro

o bugfix
- bugfix: #if condition for CONFIG_AUFS_UNIONFS22_PATCH and mm tree.
- bugfix in DLGT mode (fs/aufs, fs/aufs25)
  + clear dlgt flag in vfsub_sio_{mk,rm}dir().
  + new function vfsub_sio_notify_change().
  + remove dlgt flag for au_cpdown_attr().

o misc
- (fs/aufs, fs/aufs25) enhance a writable nfs branch, forcing
  generic_permission() for dir write.


Junjiro Okajima

--
Index: fs/aufs/i_op.c
Index: fs/aufs25/i_op.c
- (fs/aufs, fs/aufs25) enhance a writable nfs branch, forcing
  generic_permission() for dir write.

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
Index: fs/aufs25/vfsub.c
- bugfix in DLGT mode (fs/aufs, fs/aufs25)
  + clear dlgt flag in vfsub_sio_{mk,rm}dir().
  + new function vfsub_sio_notify_change().

Index: fs/aufs/wbr_policy.c
Index: fs/aufs25/wbr_policy.c
- bugfix in DLGT mode (fs/aufs, fs/aufs25)
  + remove dlgt flag for au_cpdown_attr().
  + new function vfsub_sio_notify_change().

Index: fs/aufs25/vfsub.h
- bugfix: #if condition for CONFIG_AUFS_UNIONFS22_PATCH and mm tree.
- bugfix in DLGT mode (fs/aufs, fs/aufs25)
  + new function vfsub_sio_notify_change().

Index: fs/aufs/vdir.c
Index: fs/aufs25/file.c
Index: fs/aufs25/vdir.c
Index: include/linux/aufs_type.h
- less important changes

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php


aufs Monday release

2008-06-01 Thread sfjro

o news
- new configuration CONFIG_AUFS_UNIONFS2[23]_PATCH to support
  unionfs-patched kernel, since several users think it is a problem of
  aufs (of course it is not actually).
  + new abstract macros for splice functions.
  + new abstract function vfsub_copy_inode_size(), move it from cpup.c
to vfsub.h.
- begin implementing xinodir option (unfinished).

o bugfix
- bugfix (fs/aufs, fs/aufs25): reset the error value in
  refresh_file_by_inode().
- bugfix (fs/aufs, fs/aufs25): DLGT mode, reported by Ulrich Holeschak.
  + test the flag only in au_opts_{mount,remount}() and au_remount_fs()
by au_opt_test().
- bugfix (fs/aufs, fs/aufs25): DLGT mode, delegated access may make
  another delegation from aufsd (still testing).

o misc
- (fs/aufs, fs/aufs25) more safe and sure getattr for fuse.
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}() for
  DLGT mode.
- frobnicate sbinfo ptr value.
- remove si_list, use the list in kset instead.
- minor and simple revised refresh_file().


Junjiro Okajima

--
Index: Kconfig.in
Index: local.mk
Index: fs/aufs/sysaufs.c
Index: fs/aufs25/module.c
- new configuration CONFIG_AUFS_UNIONFS2[23]_PATCH to support
  unionfs-patched kernel, since several users think it is a problem of
  aufs (of course it is not actually).

Index: fs/aufs/br_fuse.c
Index: fs/aufs25/br_fuse.c
- (fs/aufs, fs/aufs25) more safe and sure getattr for fuse.

Index: fs/aufs/file.c
- bugfix (fs/aufs, fs/aufs25): reset the error value in
  refresh_file_by_inode().

Index: fs/aufs/opts.c
Index: fs/aufs/super.c
- bugfix (fs/aufs, fs/aufs25): DLGT mode, reported by Ulrich Holeschak.
  + test the flag only in au_opts_{mount,remount}() and au_remount_fs()
by au_opt_test().

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- new configuration CONFIG_AUFS_UNIONFS2[23]_PATCH to support
  unionfs-patched kernel, since several users think it is a problem of
  aufs (of course it is not actually).
  + new abstract macros for splice functions.
- bugfix (fs/aufs, fs/aufs25): DLGT mode, delegated access may make
  another delegation from aufsd (still testing).

Index: fs/aufs/wkq.c
Index: fs/aufs25/wkq.c
Index: fs/aufs25/vfsub.c
- bugfix (fs/aufs, fs/aufs25): DLGT mode, delegated access may make
  another delegation from aufsd (still testing).

Index: fs/aufs25/branch.c
Index: fs/aufs25/branch.h
Index: fs/aufs25/hinotify.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs25/xino.c
Index: util/aufs.in.5
- begin implementing xinodir option (unfinished).

Index: fs/aufs25/cpup.c
- new configuration CONFIG_AUFS_UNIONFS2[23]_PATCH to support
  unionfs-patched kernel, since several users think it is a problem of
  aufs (of course it is not actually).
  + new abstract function vfsub_copy_inode_size(), move it from cpup.c
to vfsub.h.
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}() for
  DLGT mode.
- begin implementing xinodir option (unfinished).

Index: fs/aufs25/debug.c
- remove si_list, use the list in kset instead.

Index: fs/aufs25/dentry.c
Index: fs/aufs25/dir.c
Index: fs/aufs25/f_op.c
Index: fs/aufs25/i_op.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs25/i_op_ren.c
Index: fs/aufs25/misc.c
Index: fs/aufs25/plink.c
Index: fs/aufs25/vdir.c
Index: fs/aufs25/wbr_policy.c
Index: fs/aufs25/whout.c
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}() for
  DLGT mode.

Index: fs/aufs25/file.c
- bugfix (fs/aufs, fs/aufs25): reset the error value in
  refresh_file_by_inode().
- minor and simple revised refresh_file().

Index: fs/aufs25/module.h
Index: fs/aufs25/sysaufs.c
Index: fs/aufs25/sysaufs.h
Index: fs/aufs25/sysrq.c
- frobnicate sbinfo ptr value.
- remove si_list, use the list in kset instead.

Index: fs/aufs25/opts.c
- begin implementing xinodir option (unfinished).
- bugfix (fs/aufs, fs/aufs25): DLGT mode, reported by Ulrich Holeschak.
  + test the flag only in au_opts_{mount,remount}() by au_opt_test().

Index: fs/aufs25/opts.h
- begin implementing xinodir option (unfinished).
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}() for
  DLGT mode.

Index: fs/aufs25/sbinfo.c
Index: fs/aufs25/super.h
- remove si_list, use the list in kset instead.
- begin implementing xinodir option (unfinished).

Index: fs/aufs25/super.c
- frobnicate sbinfo ptr value.
- begin implementing xinodir option (unfinished).
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}() for
  DLGT mode.
- bugfix (fs/aufs, fs/aufs25): DLGT mode, reported by Ulrich Holeschak.
  + test the flag only in au_remount_fs() by au_opt_test().
- remove si_list, use the list in kset instead.

Index: fs/aufs25/sysfs.c
- new configuration CONFIG_AUFS_UNIONFS2[23]_PATCH to support
  unionfs-patched kernel, since several users think it is a problem of
  aufs (of course it is not actually).
- begin implementing xinodir option (unfinished).
- rename au_opt_test_{dlgt,dirperm1}() by au_test_{dlgt,dirperm1}

aufs Monday release

2008-05-25 Thread sfjro

o news
- begin supporting 2.6.26-rc2-mm1.
  + ->umount_begin() will not be called since a condition is added in
VFS. aufs used this operation to maintain the internal vfsmount
pointer and it becomes impossible now.
* make some features ('nowait' workqueue job and xino truncation)
  independent from vfsmount pointer, except export.c.
* new abstract functions au_mnt_reset() and au_mnt_init().
   (2.6.26-rc2-mm1)
* unset aufs_umount_begin() in super.c.
* rename au_mntcache_get() by au_mnt_get() and move it from sbinfo.c
  to export.c. au_mnt_get() doesn't cache the vfsmount pointer but
  searches it dynamically.
* aufs_put_super() calls aufs_umount_begin().
   (2.6.25)
* still uses -> umount_begin().
  + new function au_fsstack_copy_inode_size() to support the new unionfs
patch in -mm tree.
  + new macros for splice functions to support the new unionfs patch in
-mm tree.
  + remove get_xip_page() operation.

o misc
- produce an error message when an incorrect option is passed, suggested
  by Jorgen P. Tjerno.
- remove individual 'depends on AUFS' and 'default n', reviewed by Jan
  Engelhardt for -mm version.
- correct English, 'have a negative impact to the performance', reviewed
  by Jan Engelhardt for -mm version.
- new automatic internal configuration AUFS_HIN_OR_DLGT, reviewed by Sam
  Ravnborg for -mm version.
- add 'help' text to the automatic internal configurations, reviewed by
  Jan Engelhardt for -mm version.
- revert tab in the generated Kconfig.
- ccflags-y instead of EXTRA_CFLAGS, reviewed by Sam Ravnborg for -mm
  version.
- unveil a new function au_ready_to_write_wh() extracted a part from
  au_ready_to_write().
- d_path() never return NULL.
- convert '//' comment style into '/* */'
- convert '%L' into '%ll'.
- remove some lines for local test and debugging.


Junjiro Okajima

--
Index: Kconfig.in
Index: local.mk
Index: fs/aufs25/Makefile
Index: util/Makefile
Index: util/aufs.in.5
- begin supporting 2.6.26-rc2-mm1.
- remove individual 'depends on AUFS' and 'default n', reviewed by Jan
  Engelhardt for -mm version.
- correct English, 'have a negative impact to the performance', reviewed
  by Jan Engelhardt for -mm version.
- new automatic internal configuration AUFS_HIN_OR_DLGT, reviewed by Sam
  Ravnborg for -mm version.
- add 'help' text to the automatic internal configurations, reviewed by
  Jan Engelhardt for -mm version.
- revert tab in the generated Kconfig.
- ccflags-y instead of EXTRA_CFLAGS, reviewed by Sam Ravnborg for -mm
  version.

Index: fs/aufs25/aufs.h
Index: fs/aufs25/br_fuse.c
Index: fs/aufs25/br_nfs.c
Index: fs/aufs25/branch.c
Index: fs/aufs25/branch.h
Index: fs/aufs25/dcsub.c
Index: fs/aufs25/debug.c
Index: fs/aufs25/dentry.c
Index: fs/aufs25/dentry.h
Index: fs/aufs25/dinfo.c
Index: fs/aufs25/dir.c
Index: fs/aufs25/dir.h
Index: fs/aufs25/dlgt.c
Index: fs/aufs25/f_op.c
Index: fs/aufs25/file.h
Index: fs/aufs25/finfo.c
Index: fs/aufs25/hin_or_dlgt.c
Index: fs/aufs25/hinode.h
Index: fs/aufs25/hinotify.c
Index: fs/aufs25/i_op.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs25/i_op_ren.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs25/inode.c
Index: fs/aufs25/inode.h
Index: fs/aufs25/misc.c
Index: fs/aufs25/misc.h
Index: fs/aufs25/module.c
Index: fs/aufs25/module.h
Index: fs/aufs25/plink.c
Index: fs/aufs25/robr.c
Index: fs/aufs25/sysfs.c
Index: fs/aufs25/sysrq.c
Index: fs/aufs25/vdir.c
Index: fs/aufs25/wbr_policy.c
Index: fs/aufs25/whout.c
Index: fs/aufs25/wkq.h
Index: include/linux/aufs_type.h
- convert '//' comment style into '/* */'
- remove some lines for local test and debugging.
- convert '%L' into '%ll'.

Index: fs/aufs25/cpup.c
- convert '//' comment style into '/* */'
- begin supporting 2.6.26-rc2-mm1.
  + new function au_fsstack_copy_inode_size() to support the new unionfs
patch in -mm tree.
- remove some lines for local test and debugging.
- convert '%L' into '%ll'.

Index: fs/aufs25/export.c
Index: fs/aufs25/sbinfo.c
Index: fs/aufs25/super.c
Index: fs/aufs25/super.h
Index: fs/aufs25/wkq.c
Index: fs/aufs25/xino.c
- remove some lines for local test and debugging.
- convert '//' comment style into '/* */'
- convert '%L' into '%ll'.
- begin supporting 2.6.26-rc2-mm1.
  + ->umount_begin() will not be called since a condition is added in
VFS. aufs used this operation to maintain the internal vfsmount
pointer and it becomes impossible now.
* make some features ('nowait' workqueue job and xino truncation)
  independent from vfsmount pointer, except export.c.
* new abstract functions au_mnt_reset() and au_mnt_init().
   (2.6.26-rc2-mm1)
* unset aufs_umount_begin() in super.c.
* rename au_mntcache_get() by au_mnt_get() and move it from sbinfo.c
  to export.c. au_mnt_get() doesn't cache the vfsmount pointer but
  searches it dynamically.
* aufs_put_super() calls aufs_umount_begin().
   (2.6.25)
* 

aufs Monday release

2008-05-18 Thread sfjro

o bugfix
- (fs/aufs, fs/aufs25) bugfix: assign the return value of realloc and
  update the pointer, reported and patched by Mark A. Grondona.
- (fs/aufs, fs/aufs25) bugfix: a race condition in page fault, reported
  by Mark A. Grondona.
  + an explicit lock for lower ->fault() (or ->nopage()).
  + remove some memory barriers.
- (fs/aufs25) bugfix: initialize si_sb to support an error case at
  mount.
- (auplink script) bugfix: support the case of the module parameter brs
  is 0.

o news
- in linux-2.6.24 and later CONFIG_AUFS_FAKE_DM is removed, so always
  disabled to support MNT_NOEXEC flag for a branch.
(fs/aufs25)
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
  + ignore 'si=' parameter at remount.
  + print si= in /proc/mounts as an identifier.
- remove /sys/fs/aufs/sbi_*/mntpnt1.
(fs/aufs)
- create a /sys/fs/aufs/si_* symlink for compatibility.
  + ignore 'si=' parameter at remount.
  + print si= in /proc/mounts as an identifier.

o misc
- add some tips from users.
- the return value of inotify_rm_watch() has less meaning.
- replace BKL by local spinlock.
- ignore an error returned by seq_file.
- support an erro case in re-setting xino.
- add a note about 'brs' module parameter.


Junjiro Okajima

--
Index: Kconfig.in
Index: local.mk
Index: fs/aufs/module.c
Index: fs/aufs25/dentry.c
Index: fs/aufs25/i_op.c
Index: fs/aufs25/misc.c
- in linux-2.6.24 and later CONFIG_AUFS_FAKE_DM is removed, so always
  disabled to support MNT_NOEXEC flag for a branch.

Index: Tips
- add some tips from users.

Index: fs/aufs/dcsub.c
Index: fs/aufs25/dcsub.c
- (fs/aufs, fs/aufs25) bugfix: assign the return value of realloc and
  update the pointer, reported and patched by Mark A. Grondona.

Index: fs/aufs/f_op.c
Index: fs/aufs/file.h
Index: fs/aufs/robr.c
Index: fs/aufs25/f_op.c
Index: fs/aufs25/file.h
Index: fs/aufs25/robr.c
- (fs/aufs, fs/aufs25) bugfix: a race condition in page fault, reported
  by Mark A. Grondona.
  + an explicit lock for lower ->fault() (or ->nopage()).
  + remove some memory barriers.

Index: fs/aufs/opts.c
- create a /sys/fs/aufs/si_* symlink for compatibility.
  + ignore 'si=' parameter at remount.

Index: fs/aufs/super.c
- create a /sys/fs/aufs/si_* symlink for compatibility.
  + print si= in /proc/mounts as an identifier.

Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
- create a /sys/fs/aufs/si_* symlink for compatibility.

Index: fs/aufs25/hinotify.c
- the return value of inotify_rm_watch() has less meaning.

Index: fs/aufs25/module.c
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
- in linux-2.6.24 and later CONFIG_AUFS_FAKE_DM is removed, so always
  disabled to support MNT_NOEXEC flag for a branch.

Index: fs/aufs25/opts.c
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
  + ignore 'si=' parameter at remount.

Index: fs/aufs25/sbinfo.c
- (fs/aufs25) bugfix: initialize si_sb to support an error case at
  mount.
- replace BKL by local spinlock.

Index: fs/aufs25/super.c
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
  + print si= in /proc/mounts as an identifier.
- ignore an error returned by seq_file.
- replace BKL by local spinlock.
- (fs/aufs25) bugfix: initialize si_sb to support an error case at
  mount.

Index: fs/aufs25/super.h
- replace BKL by local spinlock.

Index: fs/aufs25/sysaufs.c
Index: fs/aufs25/sysaufs.h
Index: sample/unionctl
Index: util/mount.aufs
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
- remove /sys/fs/aufs/sbi_*/mntpnt1.

Index: fs/aufs25/sysfs.c
- in linux-2.6.24 and later CONFIG_AUFS_FAKE_DM is removed, so always
  disabled to support MNT_NOEXEC flag for a branch.
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
- remove /sys/fs/aufs/sbi_*/mntpnt1.

Index: fs/aufs25/xino.c
- support an erro case in re-setting xino.

Index: util/aufs.in.5
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
- add a note about 'brs' module parameter.

Index: util/auplink
- remove /sys/fs/aufs/sbi and replace /sys/fs/aufs/sbi_* by
  /sysfs/aufs/si_*.
- remove /sys/fs/aufs/sbi_*/mntpnt1.
- bugfix: support the case of the module parameter brs is 0.

Index: fs/aufs25/branch.c
Index: include/linux/aufs_type.h
Index: util/umount.aufs
- less important changes

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-05-11 Thread sfjro

o bugfix
- (fs/aufs, fs/aufs25) bugfix: first lookup for nfs branch didn't
  work. this bug was born on 20071001 since I began supporting
  atomic-open in nfsv4. reported by Joshua Swink.
- (fs/aufs, fs/aufs25) possible bugfix: memory barrier for vma->vm_file.

o misc
- protect si_mntcache by BKL (temporari ci).
- revert the test BKL in ->umount_begin().
- stop locking root dentry when it is unnecessary.
- replace simple si_read_lock(sb, !AuLock_FLUSH) by
  si_noflush_read_lock(sb).
- add a note about statvfs(3) for fuse branch.
- add some tips

Junjiro Okajima

--

Index: Tips
- add some tips

Index: fs/aufs/f_op.c
Index: fs/aufs/robr.c
Index: fs/aufs25/robr.c
- (fs/aufs, fs/aufs25) possible bugfix: memory barrier for vma->vm_file.

Index: fs/aufs/misc.c
Index: fs/aufs25/misc.c
- (fs/aufs, fs/aufs25) bugfix: first lookup for nfs branch didn't
  work. this bug was born on 20071001 since I began supporting
  atomic-open in nfsv4. reported by Joshua Swink.

Index: fs/aufs/super.c
- stop locking root dentry when it is unnecessary.

Index: fs/aufs25/dir.c
Index: fs/aufs25/sysfs.c
Index: fs/aufs25/whout.c
- replace simple si_read_lock(sb, !AuLock_FLUSH) by
  si_noflush_read_lock(sb).

Index: fs/aufs25/f_op.c
- replace simple si_read_lock(sb, !AuLock_FLUSH) by
  si_noflush_read_lock(sb).
- (fs/aufs, fs/aufs25) possible bugfix: memory barrier for vma->vm_file.

Index: fs/aufs25/sbinfo.c
- protect si_mntcache by BKL (temporari ci).

Index: fs/aufs25/super.c
- stop locking root dentry when it is unnecessary.
- revert the test BKL in ->umount_begin().

Index: util/aufs.in.5
- add a note about statvfs(3) for fuse branch.

Index: fs/aufs25/cpup.c
Index: fs/aufs25/dentry.c
Index: fs/aufs25/vfsub.c
Index: fs/aufs25/xino.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


aufs Monday release

2008-05-04 Thread sfjro

- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
  + remove au_update_mnt().
  + unset si_mntcache in aufs_umount_begin().
  + replace struct super_block in struck au_wkinfo by struct vfsmount.
- new internal configuration CONFIG_AUFS_LOCAL which enables/disables
  /sys/fs/aufs/config.
- (fs/aufs) reverse the order of mntput/dput(), dput() first.
- minor optimization: add an argument for sysaufs_brs_del/add().
- call kfree() outside of spin-lock region.
- rename si_tmp_sb by si_sb.
- revert an unnecessary error handling made in 20080421.
- replace local nameidata by a simple flag.
- call path_get() instead of a sequnce of dget() + mntget().
- extract a part of h_d_revalidate() as a new function
  au_do_h_d_reval().
- try noinline_for_stack for some functions.


Junjiro Okajima

--
Index: local.mk
- new internal configuration CONFIG_AUFS_LOCAL which enables/disables
  /sys/fs/aufs/config.

Index: fs/aufs/misc.c
- reverse the order of mntput/dput(), dput() first.

Index: fs/aufs25/br_nfs.c
- call kfree() outside of spin-lock region.
- call path_get() instead of a sequnce of dget() + mntget().

Index: fs/aufs25/branch.c
Index: fs/aufs25/sysaufs.h
- minor optimization: add an argument for sysaufs_brs_del/add().

Index: fs/aufs25/cpup.c
Index: fs/aufs25/i_op_ren.c
Index: fs/aufs25/opts.c
- try noinline_for_stack for some functions.

Index: fs/aufs25/dentry.c
- try noinline_for_stack for some functions.
- replace local nameidata by a simple flag.
- extract a part of h_d_revalidate() as a new function
  au_do_h_d_reval().

Index: fs/aufs25/export.c
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
- try noinline_for_stack for some functions.

Index: fs/aufs25/hinotify.c
- revert an unnecessary error handling made in 20080421.

Index: fs/aufs25/misc.c
- call path_get() instead of a sequnce of dget() + mntget().

Index: fs/aufs25/sbinfo.c
Index: fs/aufs25/super.h
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
- rename si_tmp_sb by si_sb.

Index: fs/aufs25/super.c
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
  + remove au_update_mnt().
  + unset si_mntcache in aufs_umount_begin().

Index: fs/aufs25/sysfs.c
- new internal configuration CONFIG_AUFS_LOCAL which enables/disables
  /sys/fs/aufs/config.
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
- rename si_tmp_sb by si_sb.

Index: fs/aufs25/sysrq.c
- rename si_tmp_sb by si_sb.

Index: fs/aufs25/wkq.c
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).
  + replace struct super_block in struck au_wkinfo by struct vfsmount.

Index: fs/aufs25/xino.c
- rename si_mnt to si_mntcache, and a new accessor au_mntcache_get()
  (unfinished).

Index: README
Index: fs/aufs25/dentry.h
Index: fs/aufs25/file.c
Index: fs/aufs25/i_op.c
Index: fs/aufs25/i_op_add.c
Index: fs/aufs25/i_op_del.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


aufs Monday release

2008-04-27 Thread sfjro

o bugfix
- (fs/aufs, fs/aufs25) bugfix: ignore an event for a being removed inode.

o news
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + remove CONFIG_AUFS_SYSAUFS from fs/aufs25.
  + compile sysaufs.c unconditionally.
  + new file sysfs.c depending on CONFIG_SYSFS
  + new sysaufs_br_init() depends on CONFIG_SYSFS and initilizes members
for it.
  + new members for sysfs.
  + new function sysaufs_si_init()
  + new flag AuSi_FAILED_INIT to tell au_si_free() a failure.
  + new member si_kobj independent from CONFIG_SYSFS.
  + new configuration CONFIG_AUFS_STAT for fs/aufs25.
  + new structures au_sbi_attr, au_sbi_ops and au_sbi_ktype.
  + remove functions sysaufs_br_free/init/get/put().
  + remove functions sysaufs_sbi_free/init/get/put/add/del().
  + remove structures sysaufs_sbinfo/br.
  + move the xino-initialization part from au_br_add() to au_br_init().
  + move free_sbinfo() from super.c to sbinfo.c as au_si_free().
  + move alloc_sbinfo() from super.c to sbinfo.c as au_si_alloc().
  + move most part from sysaufs.c to a new file sysfs.c.
  + call sysaufs_brs_add() from aufs_get_sb().
  + au_xino_br() takes branch as its argument

o misc
- stop exporting all vars, export some necessary vars only.
- assign immediate values for superblock magic numbers, and check them
  by my local priv.mk.
- simple rename.
  + hidden_*h_*
  + au_h_dptr_i()   au_h_dptr()
- optimize by eliminating some auto-vars.
- extract a part of au_cpup_wh() as a new function au_do_cpup_wh().
- use nlink functions which are defined in fs.h.
- disable AuFillVdir_SHWH when CONFIG_AUFS_SHWH is disabled.
- extract a part from read_vdir() as a new funtion au_do_read_vdir().
- extract a part from au_xino_write() as a new function
  au_xino_do_write().
- check NFS for default path.


Junjiro Okajima

--
Index: Kconfig.in
Index: fs/aufs25/module.c
Index: fs/aufs25/wkq.c
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + remove CONFIG_AUFS_SYSAUFS from fs/aufs25.
  + new configuration CONFIG_AUFS_STAT for fs/aufs25.

Index: local.mk
- stop exporting all vars, export some necessary vars only.
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + new configuration CONFIG_AUFS_STAT for fs/aufs25.

Index: fs/aufs/hinotify.c
Index: fs/aufs25/hinotify.c
- (fs/aufs, fs/aufs25) bugfix: ignore an event for a being removed inode.

Index: fs/aufs25/Makefile
- assign immediate values for superblock magic numbers, and check them
  by my local priv.mk.
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + compile sysaufs.c unconditionally.
  + new file sysfs.c depending on CONFIG_SYSFS

Index: fs/aufs25/branch.c
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + remove functions sysaufs_br_init/get/put().
  + new sysaufs_br_init() depends on CONFIG_SYSFS and initilizes members
for it.
  + move the xino-initialization part from au_br_add() to au_br_init().
- simple rename.
  + hidden_*h_*
  + au_h_dptr_i()   au_h_dptr()

Index: fs/aufs25/branch.h
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + remove struct sysaufs_br.
  + new members for sysfs.
  + au_xino_br() takes branch as its argument.

Index: fs/aufs25/cpup.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()
- optimize by eliminating some auto-vars.
- extract a part of au_cpup_wh() as a new function au_do_cpup_wh().

Index: fs/aufs25/dentry.c
Index: fs/aufs25/dentry.h
Index: fs/aufs25/dir.c
Index: fs/aufs25/export.c
Index: fs/aufs25/f_op.c
Index: fs/aufs25/file.c
Index: fs/aufs25/inode.c
Index: fs/aufs25/misc.c
Index: fs/aufs25/opts.c
Index: fs/aufs25/wbr_policy.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()

Index: fs/aufs25/dinfo.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()
  + hidden_*h_*

Index: fs/aufs25/i_op.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()
- optimize by eliminating some auto-vars.

Index: fs/aufs25/i_op_add.c
Index: fs/aufs25/i_op_del.c
Index: fs/aufs25/i_op_ren.c
Index: fs/aufs25/whout.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()
  + hidden_*h_*
- use nlink functions which are defined in fs.h.

Index: fs/aufs25/sbinfo.c
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  patch from Jeff Mahoney.
  + move free_sbinfo() from super.c to sbinfo.c as au_si_free().
  + move alloc_sbinfo() from super.c to sbinfo.c as au_si_alloc().
  + new function sysaufs_si_init()

Index: fs/aufs25/super.c
- simple rename.
  + au_h_dptr_i()   au_h_dptr()
- introduce a kobject to manage the lifetime of sbinfo, based upon a
  pat

Re: CONFIG_SYSFS (Re: aufs Monday release)

2008-04-24 Thread sfjro

Jeff Mahoney:
> Well, sysfs is an easy path once you've embraced the kobject/kset model.
:::

You have succeeded push me into the sea of kobject/sysfs.
I have almost completed rewriting the source files which are,
- the lifetime of sbinfo is handled by kobject unconditinally, which
  means sbinfo always have si_kobj member.
- struct attribute and name member of branch is compiled when
  CONFIG_SYSFS is enabled.
- most part of sysaufs.c is moved to a new file sysfs.c. sysfs.c is
  compiled only CONFIG_SYSFS is enabled.
- the statistic data of aufsd and generic thread is proviede via
  /sys/fs/aufs/stat still. But it is required to enable a new
  configuration CONFIG_AUFS_STAT and of course
  CONFIG_SYSFS. CONFIG_AUFS_STAT is disabled by default.
These will be a part of next Monday release.


> The kobject - kset - kobject relationship seems clear to me. The idea of
> the sbilist and sbilist lock can go away if the kset is used to manage
> the list of objects. Some calls can be eliminated completely because the
> sbi object is passed in the form of the kobject contained within it.

Yes, and I can see that kset already has such list internally. So
eliminating the list and functions for that in aufs will be available.
The important thing is the order in the list. When a user mounted a new
aufs over an existing aufs, ie. on the same mount point, he can see the
files under the new aufs only. From the aufs' point of view, for example
adding/deleting a branch, aufs module (or /sbin/moutn.aufs) has to
decide which super block should be operated, since those two sbinfo has
the same path.
Currently I took an approach depending on the order in the list.
And I am afraid that kset (or future kset) may not keep the expected
order in the list.

But if I can export a similar information via new /proc/mountinfo, this
issue may be able to be gone entirely with /sys/fs/aufs/sbi_*/mntpnt1.


> It's exploiting the C-object oriented nature of the kernel, the way all
> the built-in subsystems do. Well, to a certain extent. The big hurdle is
> that PATH_MAX == PAGE_SIZE on 4k systems. The seq_file hurdles in the
> current code are fun for the idea of extending sysfs, but it's not going
> to happen like that. If 4k isn't enough to describe the data exported,
> the interface needs to change or a new pseudo file system needs to be
> written to export it.

Agreed.
And I am planning to describe explicitly 'the length of full path of a
branch is limited to 4kb - a few bytes'. It means that is a feature of
aufs.


Junjiro Okajima

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: CONFIG_SYSFS (Re: aufs Monday release)

2008-04-21 Thread Jeff Mahoney
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

> Jeff Mahoney:
>> The smaller code size applies to both cases, just not entirely as
>> small due to the size of the kobject. It's a pretty small structure,
>> of which we use one per superblock. The scale makes any savings
>> negligible.
>>
>> The sysfs code is all static inline calls, so it carries no footprint
>> when disabled. The use of kobjects removes quite a bit of code and
>> would likely be brought up if it were to be merged upstream.


This post may break proper threading, but I managed to delete the
original message by accident. :(

> You are leading me strongly to the world of sysfs/kobject, and I am
> almost reaching there. :-)
> Here is my another (minor) concern. The sysfs interface changes often
> and it makes me hard to maintain aufs. I am trying to support several
> versions as possible I can, and you may know how hard it is.
> If you know that such changes will be less often than ever, please let
> me know.

Well, sysfs is an easy path once you've embraced the kobject/kset model.
The infrastructure is there, and is optimized away if you don't need it.
The thing is that a lot of what the sysaufs structures do now WRT
reference counting, naming, etc are handled intrinsically with kobjects.
Look at the hoops that au_sbinfo jumps through with naming and reference
counting - and then look how it condenses to a single kobject call after
the conversion. Even the explicit reference counting of kobjects can be
dropped - it's all done by the kobject API.

The aufs setup works perfectly like this:

/sys/fs - kobject, it's not a collection of related things
   /aufs - kset, it's a collection of all the aufs superblocks
/sbi_%p - kobject, it's an individual object, but associated
  with all the other aufs superblocks

The kobject - kset - kobject relationship seems clear to me. The idea of
the sbilist and sbilist lock can go away if the kset is used to manage
the list of objects. Some calls can be eliminated completely because the
sbi object is passed in the form of the kobject contained within it.
It's exploiting the C-object oriented nature of the kernel, the way all
the built-in subsystems do. Well, to a certain extent. The big hurdle is
that PATH_MAX == PAGE_SIZE on 4k systems. The seq_file hurdles in the
current code are fun for the idea of extending sysfs, but it's not going
to happen like that. If 4k isn't enough to describe the data exported,
the interface needs to change or a new pseudo file system needs to be
written to export it.

Backward compatibility is a laudable goal, but it's not one that the
mainline kernel really aims for. The project should try to keep in line
with the current upstream kernel and then provide a backward compatible
interface where possible, possibly even in the patch/ directory and not
part of the code. Otherwise, you're coding to an API that's supported
nowhere except by the project itself.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFIDXNnLPWxlyuTD7IRAl8IAKCm1WgvwDQuuud/XZTR/Eeyl0fUxwCdFLCm
hwuDfuwwLot3Os61zg8hxlw=
=Avlu
-END PGP SIGNATURE-

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: CONFIG_SYSFS (Re: aufs Monday release)

2008-04-21 Thread sfjro

Jeff Mahoney:
> The smaller code size applies to both cases, just not entirely as  
> small due to the size of the kobject. It's a pretty small structure,  
> of which we use one per superblock. The scale makes any savings  
> negligible.
> 
> The sysfs code is all static inline calls, so it carries no footprint  
> when disabled. The use of kobjects removes quite a bit of code and  
> would likely be brought up if it were to be merged upstream.

You are leading me strongly to the world of sysfs/kobject, and I am
almost reaching there. :-)
Here is my another (minor) concern. The sysfs interface changes often
and it makes me hard to maintain aufs. I am trying to support several
versions as possible I can, and you may know how hard it is.
If you know that such changes will be less often than ever, please let
me know.


Junjiro Okajima

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: CONFIG_SYSFS (Re: aufs Monday release)

2008-04-21 Thread Jeff Mahoney
The smaller code size applies to both cases, just not entirely as  
small due to the size of the kobject. It's a pretty small structure,  
of which we use one per superblock. The scale makes any savings  
negligible.

The sysfs code is all static inline calls, so it carries no footprint  
when disabled. The use of kobjects removes quite a bit of code and  
would likely be brought up if it were to be merged upstream.

-Jeff

--
Jeff Mahoney (mobile)
SUSE Labs


On Apr 21, 2008, at 9:14 PM, [EMAIL PROTECTED] wrote:

>
> Hello Tomas and Jeff,
>
> Tomas M:
>> I'm not sure if I understand you right, but I believe you are  
>> wondering if CONFIG_SYSFS is usually enabled in Linux distributions.
>>
>> I think it is enabled on ALL.
>
> Agreed.
>
>
>> The only way to disable sysfs is when you set CONFIG_EMBEDDED=y,  
>> which is IMHO very rare.
>
> My *current* opinion is, as long as there is a way to disable SYSFS  
> aufs
> should support such case.
>
> --
>
> Jeff Mahoney:
>> It would be helpful to understand your concerns here. aufs wouldn't  
>> be
>> unconditionally dependent on sysfs any more than the rest of the  
>> kernel
>> would be. If that were true, then the kernel would be littered with
>> #ifdef CONFIG_SYSFS. Instead, sysfs provides no-op wrappers so that  
>> the
>> kobject functionality is still intact but without being exported to  
>> sysfs.
>
> Currently aufs source files have a few such conditions, but the
> actual/essential code is only one and it is just for accounting.
> If we disable SYSFS for a small environment such like EMBEEDED or
> something, the compiled aufs module will be smaller a little and  
> faster
> just a little bit. And as you wrote, if aufs compiles SYSFS
> unconditionally and handles the lifetime of some object, the source  
> code
> will be slightly simple.
>
> Pros and cons, I am still considering...
>
>
> Junjiro Okajima

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


CONFIG_SYSFS (Re: aufs Monday release)

2008-04-21 Thread sfjro

Hello Tomas and Jeff,

Tomas M:
> I'm not sure if I understand you right, but I believe you are wondering if 
> CONFIG_SYSFS is usually enabled in Linux distributions.
> 
> I think it is enabled on ALL.

Agreed.


> The only way to disable sysfs is when you set CONFIG_EMBEDDED=y, which is 
> IMHO very rare.

My *current* opinion is, as long as there is a way to disable SYSFS aufs
should support such case.

--

Jeff Mahoney:
> It would be helpful to understand your concerns here. aufs wouldn't be
> unconditionally dependent on sysfs any more than the rest of the kernel
> would be. If that were true, then the kernel would be littered with
> #ifdef CONFIG_SYSFS. Instead, sysfs provides no-op wrappers so that the
> kobject functionality is still intact but without being exported to sysfs.

Currently aufs source files have a few such conditions, but the
actual/essential code is only one and it is just for accounting.
If we disable SYSFS for a small environment such like EMBEEDED or
something, the compiled aufs module will be smaller a little and faster
just a little bit. And as you wrote, if aufs compiles SYSFS
unconditionally and handles the lifetime of some object, the source code
will be slightly simple.

Pros and cons, I am still considering...


Junjiro Okajima

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: aufs Monday release

2008-04-21 Thread Jeff Mahoney
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

[EMAIL PROTECTED] wrote:
>> o news
>> - begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
>>   linux-2.6.16 - 2.6.24.
>   :::
> 
> Sorry, forgot to write one thing.
> Supporting linux-2.6.25 is triggered by Jeff Mahoney and based upon
> patches from him which were helpful.
> Still CONFIG_AUFS_SYSAUFS remains because I am hasitating make aufs
> depends upon sysfs inconditinally.
> If CONFIG_SYSFS was always enabled on all aufs envinronemnt for sure, I
> would remove CONFIG_AUFS_SYSAUFS.

It would be helpful to understand your concerns here. aufs wouldn't be
unconditionally dependent on sysfs any more than the rest of the kernel
would be. If that were true, then the kernel would be littered with
#ifdef CONFIG_SYSFS. Instead, sysfs provides no-op wrappers so that the
kobject functionality is still intact but without being exported to sysfs.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFIDM7yLPWxlyuTD7IRAigpAJ9uvHNMyzYKrFS9l2mYnN58UOx8CACdFeup
mroF7vTTu9WNQ8k36Yju8mI=
=0CLV
-END PGP SIGNATURE-

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: aufs Monday release

2008-04-20 Thread Tomas M
I'm not sure if I understand you right, but I believe you are wondering if 
CONFIG_SYSFS is usually enabled in Linux distributions.

I think it is enabled on ALL.

Normally, it will not allow you to disable sysfs. When user manually edits 
.config file to use CONFIG_SYSFS=n, it doesn't let him - 'make' will silently 
replace it to =y automatically.

The only way to disable sysfs is when you set CONFIG_EMBEDDED=y, which is IMHO 
very rare.

I believe it is completely safe to depend on CONFIG_SYSFS.


Tomas M



[EMAIL PROTECTED] wrote:
>> o news
>> - begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
>>   linux-2.6.16 - 2.6.24.
>   :::
> 
> Sorry, forgot to write one thing.
> Supporting linux-2.6.25 is triggered by Jeff Mahoney and based upon
> patches from him which were helpful.
> Still CONFIG_AUFS_SYSAUFS remains because I am hasitating make aufs
> depends upon sysfs inconditinally.
> If CONFIG_SYSFS was always enabled on all aufs envinronemnt for sure, I
> would remove CONFIG_AUFS_SYSAUFS.
> 
> 
> Junjiro Okajima
> 
> -
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
> Don't miss this year's exciting event. There's still time to save $100. 
> Use priority code J8TL2D2. 
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> 


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


Re: aufs Monday release

2008-04-20 Thread sfjro

> o news
> - begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
>   linux-2.6.16 - 2.6.24.
:::

Sorry, forgot to write one thing.
Supporting linux-2.6.25 is triggered by Jeff Mahoney and based upon
patches from him which were helpful.
Still CONFIG_AUFS_SYSAUFS remains because I am hasitating make aufs
depends upon sysfs inconditinally.
If CONFIG_SYSFS was always enabled on all aufs envinronemnt for sure, I
would remove CONFIG_AUFS_SYSAUFS.


Junjiro Okajima

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone


aufs Monday release

2008-04-20 Thread sfjro

o news
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + pass the real value of vfsmount* for dentry_open().
  + remove iget_locked() and ->read_inode(), and replace them by a new
function au_iget_locked().
  + drop IN_DELETE_SELF and IN_MOVE_SELF from hinotify events.
  + the type of 'ino' parameter is always u64.
  + support struct path in nameidata.
  + replace path_release() by path_put().
  + replace vfsub_i_lock/unlock_*() by mutex_lock/unlock_*().
  + replace subsystem by kobject.
  + use struct kobj_attribute for show/store operations.
  + remove LINUX_VERSION_CODE conditions.
  + remove D_CHILD macro.
  + remove au_cpup_attr_blksize().
  + remove DEFAULT_POLLMASK.
  + remove a lock test in ->fsync().
  + remove au_parser_pattern_t typedef.
  + remove AuOpt_DefExtra2 macro.
  + remove au_subsys_to_kset().

o misc
- add a note about nfs-exporting aufs in linux-2.6.23 and later.
- add a note about the case which rename(2) returns EXDEV.
- refine sysaufs_br_alloc() and rename sysaufs_br_init().
- refine au_opt_test() and introduce a new body function
  au_opt_do_test() which checks DLGT and DIRPERM1.
- test Mask_COO/UDBA in au_opt_set().
- extract a part of au_br_add() as a new function au_br_init().
- extract two parts of cpup_entry() as new functions
  au_do_cpup_regular() and au_do_cpup_symlink().
- extract a part of decode_by_path() as a new function
  au_build_path().
- move au_add/sub_nlink() from dir.c to dir.h and make inlined.
- move au_name_hash() from dir.h to vdir.c.
- move them from vfsub.h to vfsub.c and make inlined.
  + vfsub_args_init(), vfsub_filp_open(), vfsub_path_lookup(),
vfsub_lookup_one_len(), vfsub__lookup_hash()
- new macros SysaufsSb_PREFIX/NAMELEN, and name member.
- rename simply.
  + au_h_iptr_i()   au_h_iptr()
  + au_h_fptr_i()   au_h_fptr()
  + au_fill_de()au_vdir_fill_de()
  + nhash_test_known_wh()   au_nhash_test_known_wh()
  + nhash_append_wh()   au_nhash_append_wh()
  + nhash_new() au_nhash_new()
  + nhash_del() au_nhash_del()
  + nhash_init()au_nhash_init()
  + nhash_move()au_nhash_move()
  + nhash_fin() au_nhash_fin()
  + nhash_test_longer_wh()  au_nhash_test_longer_wh()
  + AuTestAnon()au_test_anon()
- use fs_stack.h.


Junjiro Okajima

--

Index: README
Index: local.mk
Index: fs/aufs/Makefile
Index: fs/aufs/aufs.h
Index: fs/aufs25/Makefile
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.

Index: fs/aufs25/aufs.h
Index: fs/aufs25/dcsub.c
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remove LINUX_VERSION_CODE conditions.
  + remove D_CHILD macro.

Index: fs/aufs25/br_fuse.c
Index: fs/aufs25/iinfo.c
Index: fs/aufs25/inode.h
- rename simply.
  + au_h_iptr_i()   au_h_iptr()

Index: fs/aufs25/br_nfs.c
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remove LINUX_VERSION_CODE conditions.
  + support struct path in nameidata.
  + replace path_release() by path_put().

Index: fs/aufs25/br_xfs.c
Index: fs/aufs25/branch.h
Index: fs/aufs25/debug.c
Index: fs/aufs25/dentry.h
Index: fs/aufs25/misc.h
Index: fs/aufs25/module.c
Index: fs/aufs25/module.h
Index: fs/aufs25/sysrq.c
Index: fs/aufs25/wkq.c
Index: fs/aufs25/wkq.h
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remove LINUX_VERSION_CODE conditions.

Index: fs/aufs25/branch.c
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + replace vfsub_i_lock/unlock_*() by mutex_lock/unlock_*().
  + support struct path in nameidata.
- refine sysaufs_br_alloc() and rename sysaufs_br_init().
- extract a part of au_br_add() as a new function au_br_init().
- rename simply.
  + au_h_iptr_i()   au_h_iptr()
  + au_h_fptr_i()   au_h_fptr()

Index: fs/aufs25/cpup.c
- rename simply.
  + au_h_iptr_i()   au_h_iptr()
  + au_h_fptr_i()   au_h_fptr()
- use fs_stack.h.
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remove LINUX_VERSION_CODE conditions.
  + remove au_cpup_attr_blksize().
  + replace vfsub_i_lock/unlock_*() by mutex_lock/unlock_*().
- extract two parts of cpup_entry() as new functions
  au_do_cpup_regular() and au_do_cpup_symlink().

Index: fs/aufs25/cpup.h
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remove LINUX_VERSION_CODE conditions.
  + remove au_cpup_attr_blksize().

Index: fs/aufs25/dentry.c
Index: fs/aufs25/xino.c
Index: fs/aufs25/misc.c
- begin supporting linux-2.6.25 by ./fs/aufs25. now ./fs/aufs supports
  linux-2.6.16 - 2.6.24.
  + remo

aufs Monday release

2008-04-13 Thread sfjro

o bugfix
- bugfix: pass DIR flag only to di_write_lock2_child().

o misc
- remove dlgt.h and robr.h.
- revert 'struct au_opts' with bit-fields to 'unsigned int' with
  bit-shift.
  + extract a part of aufs_show_options() and make a new function
au_show_wbr_create().
  + new enum AuWbrCreate/Copyup_Def.
  + new function au_mntflags().
  + new functions au_opt_test_dlgt/dirperm1().
  + new macros AuOptMask_COO/UDBA and au_opt_set_coo/udba().
  + new macros AuOpt_DefExtra1/2 and AuOpt_Def.
  + new macros au_opt_test/set/clr().
  + new member si_wbr_create/copyup and rename au_si_flags to
si_mntflags.
  + re-define and disable bits for HINOTIFY, SHWH and DLGT.
  + remove au_opts_flags_def().
  + renama Verbose() to AuVerbose() and pass a boolean as its first
argument.
  + replace AuFlag() by au_opt_test().
  + replace AuFlagSet() by au_opt_set/clr() or immediate assginment.
  + replace au_need_dlgt/dirperm1() by au_opt_test_dlgt/dirperm1()
  + replace Print() by AuBool().
  + replace PrintStr() by AuStr().
  + stop resetting xino-flag when an error occured.
  + stop storing the given flags except udba.
- move a debug part from super.c to debug.c as au_debug_sbinfo_init().
- move debug routines from module.c to debug.c as au_debug_init().
- move au_robr_safe_file() and au_robr_reset_file() from robr.h to
  file.h.
- move au_security_inode_permission() from dlgt.h to inode.h.
- move au_test_robr_wh() and au_test_robr_shwh() from robr.h to whout.h.
- move au_test_trunc_xino() and au_test_unique_ino() from super.h to
  branch.h.
- move au_lkup_one_dlgt() from dlgt.h to dentry.h.
- move br_rdonly() from branch.c to branch.h as an inline function
  named au_br_rdonly().
- move cache_alloc/free functions from module.h to hinotify.c.
- move initializing sysaufs_brs from module.c to sysaufs.h.
- move si_sa inside CONFIG_AUFS_SYSAUFS block.
- move them from dinfo.c to dentry.h and make inlined.
  + au_dbstart(), au_dbend(), au_dbwh(), au_dbdiropq(), au_h_dptr(),
au_set_dbstart(), au_set_dbend(), au_set_dbwh(), au_hdput(),
au_update_digen().
- move them from finfo.c to file.h and make inlined.
  + au_fbstart(), au_fbend(), au_fvdir_cache(), au_h_fptr(),
au_set_fbstart(), au_set_fbend(), au_set_fvdir_cache(),
au_update_figen().
- move them from iifno.c to inode.h and make inlined.
  + ibstart(), ibend(), ivdir(), au_hi_wh(), au_h_iptr(), itoid_index(),
set_ibend(), set_ivdir(), aufs_hiput().
- move them from sbinfo.c to super.h and make inlined.
  + stosi(), sbend(), au_sigen()
- convert au_inotify_init() from macro to inline function.
- make sysaufs_init() an inlined function.
- make au_show_brs() static.
- new automatic configuration CONFIG_AUFS_BR_XFS.
- optimize the hole-check loop.
- remove au_notify_change_events() which was added in the last ci by
  mistake.
- remove unused code lines.
- remove DbgDlgt and dbg_dlgt_init/fin().
- refine sysaufs_sbinfo_alloc() as sysaufs_sbi_init().
- rename simply.
  + aufs_cachep[]   au_cachep[]
  + aufs_cond   au_cond
  + aufs_deblk_t[]  au_vdir_deblk_t[]
  + aufs_hiput()au_hiput()
  + au_alloc_whname()   au_wh_name_alloc()
  + au_append_plink()   au_plink_append()
  + au_free_whname()au_wh_name_free()
  + au_half_refresh_plink() au_plink_half_refresh()
  + au_list_plink() au_plink_list()
  + au_lkup_plink() au_plink_lkup()
  + au_lock/unlock_sbilist()au_sbilist_lock/unlock()
  + au_put_plink()  au_plink_put()
  + au_test_debug() au_debug_test()
  + au_test_diropq()au_diropq_test()
  + au_test_plink() au_plink_test()
  + au_test_wh()au_wh_test()
  + au_unlink_wh_dentry()   au_wh_unlink_dentry()
  + br_add()au_br_add()
  + br_count()  au_br_count()
  + br_del()au_br_del()
  + br_get()au_br_get()
  + br_hinotifyable()   au_br_hinotifyable()
  + br_linkable_wh()au_br_linkable_wh()
  + br_mod()au_br_mod()
  + br_put()au_br_put()
  + br_rdonly() au_br_rdonly()
  + br_whable() au_br_whable()
  + br_writable()   au_br_writable()
  + CacheFuncs()AuCacheFuncs()
  + create_diropq() au_diropq_create()
  + dbdiropq()  au_dbdiropq()
  + dbend() au_dbend()
  + DbgRcntDec()AuDbgRcntDec()
  + DbgRcntInc()AuDbgRcntInc()
  + DbgRcntInit()   AuDbgRcntInit()
  + dbstart()   au_dbstart()
  + dbtail()au_dbtail()
  + dbtaildir() au_dbtaildir()
  + dbtail_generic()au_dbtail_generic()
  + dbwh()  au_dbwh()
  + dtodi() au_di()
  + fbend() au_fbend()
  + fbstart()   au_fbsta

aufs Monday release

2008-04-06 Thread sfjro

o news
- add some articles from users in personal mail.
  If you don't want to list your name here, write to me.

o bugfix
- bugfix: update inode->i_ctime after unlink().
- bugfix: update inode->i_ctime after rename().

o misc
- consolidate '#ifdef's.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.
  + temporary and limited support for NFS branch in linux-2.6.19 and
earlier.
  + new files br_nfs.c, br_xfs.c, br_fuse.c, dlgt.c, hin_or_dlgt.c and
robr.c.
  + new files dlgt.h and robr.h.
  + move sbilist from module.[ch] to sysaufs.[ch].
  + move au_sbilist_del() from super.h to sysaufs.h.
  + move au_test_branch() from debug.c to sysrq.c. (temporary)
  + move aufs_sysrq_key from module.[ch] to sysrq.[ch].
  + move au_test_robr_wh() and au_test_robr_shwh() to robr.[ch].
  + move safe_file() and reset_file() to robr.[ch], and rename
au_robr_*().
  + move au_fake_intent(), au_hin_after_reval(), au_lkup_hash() from
dentry.c to br_nfs.c and dentry.h.
  + move hintent_put(), au_find_h_intent(), au_h_intent() and
au_set_h_intent() from dinfo.c to br_nfs.c and dentry.h.
  + move vfsub_events_notify_change(), vfsub_ign_hinode(),
vfsub_ignore() and vfsub_unignore() from vfsub.c to hinotify.c.
  + move macros for kmem_cache creation from module.c to module.h.
  + move au_hin_nignore and create/delete of kmem_cache from module.c
to hinotify.c
  + move call_permission(), vfsub_permission(), 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_read_k(), vfsub_read_u(), vfsub_read_k(),
call_write_k(), vfsub_write_u(), vfsub_write_k(), call_readdir(),
vfsub_readdir(), call_splice_to(), vfsub_splice_to(),
call_splice_from(), vfsub_splice_from(), call_getattr() and
vfsub_getattr() from vfsub.c to hin_or_dlgt.c.
  + move call_security_inode_permission() to dlgt.c.
  + move au_update_fuse_h_inode() from vfsub.c to br_fuse.c.
  + move aufs_getattr() from i_op.c to br_fuse.c.
  + move au_h_rdev() from vfsub.c to br_xfs.c.
  + new abstract functions au_lkup_one_dlgt() and au_br_nfs_h_intent().
  + new abstract functions dlgt_cred_store() and dlgt_func().
  + new abstract function au_security_inode_permission().
  + new abstract functions au_lock/unlock_sbilist() and au_sbilist_add().
  + new abstract function vfsub_notify_change_dlgt() and
vfsub_statfs_dlgt().
  + new function au_hin_destroy_cache().
  + refine au_wh_ino() simply.
  + remove an internal macro AuMagicSysRq.
  + remove CONFIG_AUFS_HINOTIFY simply.
  + rename an internal macro intent() to au_dbg_h_intent().
  + revise AuNoNfsBranch and move from aufs.h to branch.h.
  + si_list depends upon CONFIG_AUFS_SYSAUFS.
  + aufs Makefile explicitly refers .config or include/linux/auto.conf
under kernel build tree.
- add a note about the maximum filename length.
- move au_test_ro(), au_test_perm() and au_test_perm_sio() from misc.[ch]
  to inode.[ch], and rename them to au_test_h_perm*().
- rename au_test_perm_sio() to au_test_h_perm_sio().
- rename au_test_perm() to au_test_h_perm().

Index: fs/aufs/cpup.h
Index: fs/aufs/dcsub.c
Index: fs/aufs/export.c
Index: fs/aufs/file.c
Index: fs/aufs/finfo.c
Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
Index: fs/aufs/plink.c
Index: fs/aufs/sbinfo.c
Index: fs/aufs/xino.c
Index: include/linux/aufs_type.h
Index: util/c2tmac.c
- less important changes.


Junjiro Okajima

--
Index: Kconfig.in
- consolidate '#ifdef's.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.
  + temporary and limited support for NFS branch in linux-2.6.19 and
earlier.

Index: README
- consolidate '#ifdef's.
  + aufs Makefile explicitly refers .config or include/linux/auto.conf
under kernel build tree.

Index: Tips
- add some articles from users in personal mail. If you don't want to
  list your name here, write to me.

Index: local.mk
- consolidate '#ifdef's.
  + aufs Makefile explicitly refers .config or include/linux/auto.conf
under kernel build tree.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.

Index: fs/aufs/Makefile
- consolidate '#ifdef's.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.
  + new files br_nfs.c, br_xfs.c, br_fuse.c, dlgt.c, hin_or_dlgt.c and
robr.c.

Index: fs/aufs/aufs.h
- consolidate '#ifdef's.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.
  + revise AuNoNfsBranch and move from aufs.h to branch.h.
  + remove an internal macro AuMagicSysRq.
  + new files dlgt.h and robr.h.

Index: fs/aufs/branch.c
- consolidate '#ifdef's.
  + automatic configuration for internal use, AUFS_BR_NFS and
AUFS_MAGIC_SYSRQ.
  + revise AuNoNfsBranch and move from aufs.h to branch.

aufs Monday release

2008-03-31 Thread sfjro

o news
- unveil CONFIG_AUFS_SHWH.
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + todo: support files larger than PAGE_SIZE.
  + remove CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.
  + remove sysfs_get_dentry.patch
  + move au_sbilist_mtx and au_sbilist from sysaufs.c to module.c, and
make them module-global.
  + move au_each_sb() from sysaufs.c to sysrq.c.
  + move au_subsys_t and au_subsys_to_kset() from aufs.h to sysaufs.h.
  + remove /sys/fs/aufs/brs, introduce /sys/fs/aufs/sbi/brN.
  + new function au_sbilist_del().
  + add an argument to free_sbinfo().
  + remove sysaufs_notify_remount().
  + remove make_xino() and au_si_ops.
  + extract function for MagicSysRq from debug.c and create a file
sysrq.c
  + support CONFIG_MAGIC_SYSRQ in linux-2.6.18 and later.
  + new internal macro AuMagicSysRq to support MagicSysRq.
  + remove old garbages entirely.

o misc
- consolidate routines for CONFIG_AUFS_ROBR.
  + move au_test_nested() from branch.h to super.h.
  + new functions au_test_robr_wh() and au_test_robr_shwh().
  + rename init_lvma() to au_robr_lvma_init().
- consolidate routines for CONFIG_AUFS_FAKE_DM.
  + new functinos au_lock_nd() and au_unlock_nd().
  + arrange silly_lock() and silly_unlock().
  + arrange au_fake_dm(), au_fake_dm_release() and au_h_create().
  + arrange aufs_show_options(), and it always return non-error.
- stop compiler warning.


Junjiro Okajima

--
Index: Kconfig.in
Index: README
Index: local.mk
- unveil CONFIG_AUFS_SHWH.
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + remove CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.
  + remove sysfs_get_dentry.patch

Index: fs/aufs/Makefile
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + remove CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.
  + extract function for MagicSysRq from debug.c and create a file
sysrq.c
  + support CONFIG_MAGIC_SYSRQ in linux-2.6.18 and later.

Index: fs/aufs/aufs.h
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + move au_subsys_t and au_subsys_to_kset() from aufs.h to sysaufs.h.
  + new internal macro AuMagicSysRq to support MagicSysRq.

Index: fs/aufs/branch.h
- consolidate routines for CONFIG_AUFS_ROBR.
  + move au_test_nested() from branch.h to super.h.

Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + new internal macro AuMagicSysRq to support MagicSysRq.

Index: fs/aufs/dentry.c
- consolidate routines for CONFIG_AUFS_ROBR.
  + new functions au_test_robr_wh() and au_test_robr_shwh().
- consolidate routines for CONFIG_AUFS_FAKE_DM.
  + new functinos au_lock_nd() and au_unlock_nd().

Index: fs/aufs/i_op.c
- consolidate routines for CONFIG_AUFS_FAKE_DM.
  + arrange silly_lock() and silly_unlock().
- stop compiler warning.

Index: fs/aufs/misc.c
- consolidate routines for CONFIG_AUFS_FAKE_DM.
  + arrange au_fake_dm(), au_fake_dm_release() and au_h_create().

Index: fs/aufs/module.c
Index: fs/aufs/module.h
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + move au_sbilist_mtx and au_sbilist from sysaufs.c to module.c, and
make them module-global.
  + new internal macro AuMagicSysRq to support MagicSysRq.
  + remove CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.

Index: fs/aufs/sbinfo.c
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + remove make_xino() and au_si_ops.

Index: fs/aufs/super.c
- consolidate routines for CONFIG_AUFS_FAKE_DM.
  + arrange aufs_show_options(), and it always return non-error.
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + add an argument to free_sbinfo().
  + new function au_sbilist_del().
  + remove sysaufs_notify_remount().
- consolidate routines for CONFIG_AUFS_ROBR.
  + rename init_lvma() to au_robr_lvma_init().

Index: fs/aufs/super.h
- consolidate routines for CONFIG_AUFS_ROBR.
  + rename init_lvma() to au_robr_lvma_init().
  + move au_test_nested() from branch.h to super.h.
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + new function au_sbilist_del().

Index: fs/aufs/sysaufs.c
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + remove CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.
  + move au_sbilist_mtx and au_sbilist from sysaufs.c to module.c, and
make them module-global.
  + remove old garbages entirely.
  + todo: support files larger than PAGE_SIZE.
  + move au_each_sb() from sysaufs.c to sysrq.c.

Index: fs/aufs/sysaufs.h
- re-write sysfs interface based upon a patch by Jeff
  Mahoney. (testing)
  + move au_subsys_t and au_subsys_to_kset() from aufs.h to sysaufs.h.
  + remove old garbages entirely.
  + remove sysaufs_notify_remount().

Index: fs/aufs/vdir.c
- stop compiler warning.

Index: sample/unionctl
Index: util/auplink
Index: util/mount.aufs
- re-write sysfs interface based upon a patch by 

pre-announce (Re: aufs Monday release)

2008-03-23 Thread sfjro

> o news
> - begin re-writing sysfs interface based upon a patch by Jeff
>   Mahoney. (still working)

When this rework is finished, /sys/fs/aufs/brs will be gone.
Instead, /sys/fs/aufs/mnt_/brN will come.


Junjiro Okajima

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-03-23 Thread sfjro

o bugfix
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + in case of copy-up, clear the xino for lower copyup-src. because
it prevents aufs from refreshing the inode number which is
udba-ed.
  + flush postproc.
  + skip readdir for udba-removed dir.
  + stop setting ignore counter for udba-removed dir.
  + clear xino for udba-removed entry.
  + warn when a mount-point dir is udba-removed.
  + stop locking inode in postproc.
  + replace struct completion by wait-queue, since struct completion
is not re-usable.

o news
- begin re-writing sysfs interface based upon a patch by Jeff
  Mahoney. (still working)
  + rename si_sysaufs member to si_sa.
  + rename sysaufs_add/del() to sysaufs_sbinfo_add/del().
  + new function sysaufs_sbinfo_put(), sysaufs_sbinfo_alloc().
  + new structure sysaufs_br.
  + new function find_sb_lock2(), config_show(), stat_show(),
mnt_show(), debug_show(), debug_store(), xino_show(),
mntpnt_show(), sysaufs_br_read(), sysaufs_br_free(),
sysaufs_br_alloc(), sysaufs_br_get(), sysaufs_br_put(),
sysaufs_brs_add(), sysaufs_brs_del(), sysaufs_sbinfo_free(),
sysaufs_sbinfo_alloc(), sysaufs_sbinfo_get(),
sysaufs_sbinfo_put().
  + new entry /sys/fs/(aufs)/mnt, /sys/fs/(aufs)/mnt_/{xino,mntpnt,brN}.
  + move the declaration for sysaufs from super.h to sysaufs.h.

o misc
- replace left/right quotation mark and apostrophe by groff macro,
  pointed out by Julian Andres Klode.
- replace left/right quotation mark, apostrophe and hyphen/minus-sign
  by groff macro, pointed out by Julian Andres Klode.
- remove non posix compliant keyword 'local', patched by Julian Andres
  Klode.
- add some notes for udba=inotify.


Junjiro Okajima

--
Index: fs/aufs/cpup.c
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + in case of copy-up, clear the xino for lower copyup-src. because
it prevents aufs from refreshing the inode number which is
udba-ed.

Index: fs/aufs/dir.c
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + flush postproc.
  + skip readdir for udba-removed dir.

Index: fs/aufs/export.c
Index: fs/aufs/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs/i_op.c
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + flush postproc.

Index: fs/aufs/hinotify.c
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + stop setting ignore counter for udba-removed dir.
  + clear xino for udba-removed entry.
  + warn when a mount-point dir is udba-removed.
  + stop locking inode in postproc.

Index: fs/aufs/wkq.h
- bugfix: udba=inotify, reported by Klaus Fuerstberger (still testing).
  + replace struct completion by wait-queue, since struct completion
is not re-usable.

Index: fs/aufs/aufs.h
Index: fs/aufs/branch.c
Index: fs/aufs/branch.h
Index: fs/aufs/super.c
Index: fs/aufs/super.h
Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
- begin re-writing sysfs interface based upon a patch by Jeff
  Mahoney. (still working)
  + rename si_sysaufs member to si_sa.
  + rename sysaufs_add/del() to sysaufs_sbinfo_add/del().
  + new function sysaufs_sbinfo_put(), sysaufs_sbinfo_alloc().
  + new structure sysaufs_br.
  + new function find_sb_lock2(), config_show(), stat_show(),
mnt_show(), debug_show(), debug_store(), xino_show(),
mntpnt_show(), sysaufs_br_read(), sysaufs_br_free(),
sysaufs_br_alloc(), sysaufs_br_get(), sysaufs_br_put(),
sysaufs_brs_add(), sysaufs_brs_del(), sysaufs_sbinfo_free(),
sysaufs_sbinfo_alloc(), sysaufs_sbinfo_get(),
sysaufs_sbinfo_put().
  + new entry /sys/fs/(aufs)/mnt, /sys/fs/(aufs)/mnt_/{xino,mntpnt,brN}.
  + move the declaration for sysaufs from super.h to sysaufs.h.

Index: util/Makefile
- replace left/right quotation mark and apostrophe by groff macro,
  pointed out by Julian Andres Klode.

Index: util/aufs.in.5
- replace left/right quotation mark, apostrophe and hyphen/minus-sign
  by groff macro, pointed out by Julian Andres Klode.
- add some notes for udba=inotify.

Index: util/auplink
- remove non posix compliant keyword 'local', patched by Julian Andres
  Klode.

Index: README
Index: fs/aufs/dentry.c
Index: fs/aufs/inode.c
Index: fs/aufs/vdir.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-03-16 Thread sfjro

o bugfix
- bugfix: in case of testing super-io, stop forcing permission-check
  for nfs branch, reported by Bruno Cesar Ribas.
  + extract a part of forcing permission check from au_test_perm(),
and create a new function au_test_perm_sio().
- bugfix: support a previous failure of setting inotify.
- bugfix: stop illegal resetting hinotify().

o news
- begin tranforming a well-behaveiour for sysfs.

o misc
- add a how-to document about shwh option from Michael Towers.
- revert an unnecessary part of last ci.
- remove an unnecessary flag which was added in last ci.


Junjiro Okajima

--
Index: Tips
- add a how-to document about shwh option from Michael Towers .

Index: local.mk
- revert an unnecessary part of last ci.

Index: fs/aufs/cpup.c
Index: fs/aufs/dir.c
Index: fs/aufs/misc.h
Index: fs/aufs/vfsub.c
Index: fs/aufs/dentry.c
- bugfix: in case of testing super-io, stop forcing permission-check
  for nfs branch, reported by Bruno Cesar Ribas.
  + new function au_test_perm_sio().

Index: fs/aufs/hinotify.c
- bugfix: support a previous failure of setting inotify.

Index: fs/aufs/i_op_del.c
- bugfix: stop illegal resetting hinotify().

Index: fs/aufs/misc.c
- bugfix: in case of testing super-io, stop forcing permission-check
  for nfs branch, reported by Bruno Cesar Ribas.
  + extract a part of forcing permission check from au_test_perm(),
and create a new function au_test_perm_sio().

Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.c
Index: fs/aufs/super.h
- remove an unnecessary flag which was added in last ci.

Index: fs/aufs/sysaufs.c
- begin tranforming a well-behaveiour for sysfs.

Index: fs/aufs/whout.c
- bugfix: in case of testing super-io, stop forcing permission-check
  for nfs branch, reported by Bruno Cesar Ribas.
  + new function au_test_perm_sio().
- remove an unnecessary flag which was added in last ci.

Index: fs/aufs/aufs.h
Index: fs/aufs/debug.c
Index: fs/aufs/dinfo.c
Index: fs/aufs/dir.h
Index: fs/aufs/f_op.c
Index: fs/aufs/inode.c
Index: fs/aufs/opts.c
Index: fs/aufs/vdir.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/wbr_policy.c
Index: fs/aufs/wkq.c
Index: fs/aufs/xino.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-03-09 Thread sfjro

o bugfix
- bugfix: support complex whiteout/diropq case, when an existed upper
  entry is not a directory, skip the test for diropq, reported by
  Michael Towers.
- bugfix: a race condtion between UDBA and aufs.
  + check inode generation too
  + update file generation too
  + merge updating generations of dentry and inode, remove
hin_iigen(), rename hin_digen_tree() to hin_gen_tree(), rename
hin_digen_by_inode() to hin_gen_by_inode(), rename
hin_digen_by_name() to hin_gen_by_name().
  + use the flag in sbinfo to represent UDBA occured.
  + new function hin_attr() to support fuse.
  + use big aufs write lock in postproc(). this is the biggest change.
  + add a flag for big aufs write lock.

o news
- new sample for VMware and aufs.
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
  + add some parameters to nhash_append_wh().
  + add some members to struct aufs_wh.
  + new function au_shwh_init_wh().
  + pass the latest mount flags to au_opts_parse().
  + print it in /proc/mounts.
  + new function au_flag_test_shwh().
  + extract a function au_ino() from fillvdir().
  + new functions au_wh_ino() and au_handle_shwh().
- tested on 64bit environment.
- support plink option at exporting via NFS.
- support huge number of pseudo-links.

o misc
- reduce #ifdef in source files.
  + define an empty AuNoNfsBranchMsg macro.
  + new functions au_test_nested() and au_test_unsupported_nfs()
  + a new function au_test_inotify()
- remove unnecessary alignment attribute for struct rename_args.
- remove unnecessary au_iigen_inc().
- new entry under sysfs for debugging.


Junjiro Okajima

--

Index: Kconfig.in
Index: local.mk
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).

Index: fs/aufs/aufs.h
- reduce #ifdef in source files.
  + define an empty AuNoNfsBranchMsg macro.

Index: fs/aufs/branch.c
- reduce #ifdef in source files.
  + new functions au_test_nested() and au_test_unsupported_nfs()
- bugfix: a race condtion between UDBA and aufs.
  + check inode generation too

Index: fs/aufs/branch.h
- reduce #ifdef in source files.
  + new functions au_test_nested() and au_test_unsupported_nfs()

Index: fs/aufs/debug.c
Index: fs/aufs/vfsub.h
- reduce #ifdef in source files.
  + a new function au_test_inotify()

Index: fs/aufs/dentry.c
- bugfix: support complex whiteout/diropq case, when an existed upper
  entry is not a directory, skip the test for diropq, reported by
  Michael Towers.
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
- temporary debug code.
- bugfix: a race condtion between UDBA and aufs.
  + check inode generation too

Index: fs/aufs/dir.c
- bugfix: a race condtion between UDBA and aufs.
  + update file generation too
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
  + add some parameters to nhash_append_wh().

Index: fs/aufs/dir.h
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
  + add some members to struct aufs_wh.
  + add some parameters to nhash_append_wh().
  + new function au_shwh_init_wh().

Index: fs/aufs/export.c
- tested on 64bit environment.
- support plink option at exporting.

Index: fs/aufs/f_op.c
- bugfix: a race condtion between UDBA and aufs.
  + update file generation too

Index: fs/aufs/file.c
- bugfix: a race condtion between UDBA and aufs.
  + update file generation too
  + check inode generation too

Index: fs/aufs/hinotify.c
- bugfix: a race condtion between UDBA and aufs.
  + merge updating generations of dentry and inode, remove
hin_iigen(), rename hin_digen_tree() to hin_gen_tree(), rename
hin_digen_by_inode() to hin_gen_by_inode(), rename
hin_digen_by_name() to hin_gen_by_name().
  + use the flag in sbinfo to represent UDBA occured.
  + new function hin_attr() to support fuse.
  + use big aufs write lock in postproc(). this is the biggest change.

Index: fs/aufs/i_op_ren.c
- remove unnecessary alignment attribute for struct rename_args.

Index: fs/aufs/inode.h
- remove unnecessary au_iigen_inc().

Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
  + pass the latest mount flags to au_opts_parse().

Index: fs/aufs/sbinfo.c
Index: fs/aufs/whout.c
- bugfix: a race condtion between UDBA and aufs.
  + add a flag for big aufs write lock.

Index: fs/aufs/super.c
- a new configuration CONFIG_AUFS_SHWH and new options shwh/noshwh
  (still testing).
  + print it in /proc/mounts.
  + pass the latest mount flags to au_opts_parse().
- bugfix: a race condtion between UDBA and aufs.
  + add a flag for big aufs write lock.

Index: fs/aufs/super.h
- bugfix: a race condtion between UDBA and aufs.
  + add a flag for big aufs write lock.
  + new function au_flag_test_shwh().

Index: fs/aufs/sysaufs.c
- new entry under sysfs for debugging.

Index: fs/au

aufs Monday release

2008-02-24 Thread sfjro

o bugfix
- bugfix: revert the changes about mmap handling in 20080211, but
  handles fuse individually.
  + remove reiser4.patch.
- bugfix: support ftruncate(2) (completed).

o news
- support fallocate(), actually aufs doesn't implement it as many
  other filesystems do, reported by Yair Yarom.
- new feature to try flushing branches at remount/umount time.
  + new configuration CONFIG_AUFS_FSYNC_SUPER_PATCH.
  + new patches fsync_super-2.6.xx.patch.

o misc
- describe the ML in a warning, reported by Yair Yarom.
- move some inline functions from vfsub.h to vfsub.c as un-inlined.


Junjiro Okajima

--
Index: Kconfig.in
Index: fs/aufs/super.c
- new feature to try flushing branches at remount/umount time.
  + new configuration CONFIG_AUFS_FSYNC_SUPER_PATCH.
  + new patches fsync_super-2.6.xx.patch.

Index: README
- new feature to try flushing branches at remount/umount time.
  + new configuration CONFIG_AUFS_FSYNC_SUPER_PATCH.
  + new patches fsync_super-2.6.xx.patch.
- bugfix: revert the changes about mmap handling in 20080211, but
  handles fuse individually.
  + remove reiser4.patch.

Index: local.mk
Index: fs/aufs/sysaufs.c
- new feature to try flushing branches at remount/umount time.
  + new configuration CONFIG_AUFS_FSYNC_SUPER_PATCH.

Index: fs/aufs/debug.h
- describe the ML in a warning, reported by Yair Yarom.

Index: fs/aufs/f_op.c
- bugfix: revert the changes about mmap handling in 20080211, but
  handles fuse individually.

Index: fs/aufs/i_op.c
- bugfix: support ftruncate(2) (completed).
- support fallocate(), actually aufs doesn't implement it as many
  other filesystems do, reported by Yair Yarom.

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- move some inline functions from vfsub.h to vfsub.c as un-inlined.

Index: fs/aufs/dentry.h
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/whout.h
Index: fs/aufs/wkq.h
Index: fs/aufs/xino.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-02-17 Thread sfjro

o news
- new mount option 'dirperm1', still testing.
- new aufs patch for reiser4fs.

o bugfix
- bugfix: free hd->hd_intent_list, reported by Jan-Marek Glogowski.
- bugfix: support ftruncate(2) (uncompleted).

o misc
- copyup a file immidiately at being mmap()ed which was opened with
  FMODE_WRITE flag.
- stop resetting f_mapping field for a file on tmpfs in linux-2.6.22
  and earlier, since older tmpfs doesn't implement readpage operation.
- check the file mapping at modfying branch mode.
- stop updating f_ra field.
- replace bit-fields by immediate bit operation.
  + struct au_cpup_flags
  + struct aufs_ndx
  + struct au_do_lookup_args
  + a field in struct aufs_sbinfo.
  + struct test_empty_arg
  + a struct in union hin_job.
  + struct au_wr_dir_args.
  + struct revert_flags
  + struct rename_args
  + struct vfsub_args.
  + struct au_opts.
  + struct au_cpdown_dir_args
  + struct au_diropq_flags
  + struct au_wkinfo
  + struct au_wkq_flags
- reduce 'unlikely' compiler macro.
- new macros for lock flags.
- new macros for hinode flags.


Junjiro Okajima

--

o news
- new aufs patch for reiser4fs.

Index: Kconfig.in
Index: util/aufs.in.5
- new mount option 'dirperm1', still testing.

Index: README
- new aufs patch for reiser4fs.

Index: fs/aufs/branch.c
- check the file mapping at modfying branch mode.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/cpup.c
- replace bit-fields by immediate bit operation.
  + struct au_cpup_flags
  + struct aufs_ndx

Index: fs/aufs/cpup.h
- replace bit-fields by immediate bit operation.
  + struct au_cpup_flags

Index: fs/aufs/dentry.c
- new mount option 'dirperm1', still testing.
- replace bit-fields by immediate bit operation.
  + struct aufs_ndx
  + struct au_do_lookup_args
  + a field in struct aufs_sbinfo.
- bugfix: free hd->hd_intent_list, reported by Jan-Marek Glogowski.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/dentry.h
- replace bit-fields by immediate bit operation.
  + struct aufs_ndx
- bugfix: free hd->hd_intent_list, reported by Jan-Marek Glogowski.

Index: fs/aufs/dinfo.c
- new macros for lock flags.
- bugfix: free hd->hd_intent_list, reported by Jan-Marek Glogowski.

Index: fs/aufs/dir.c
- replace bit-fields by immediate bit operation.
  + struct test_empty_arg

Index: fs/aufs/f_op.c
- stop updating f_ra field.
- copyup a file immidiately at being mmap()ed which was opened with
  FMODE_WRITE flag.
- stop resetting f_mapping field for a file on tmpfs in linux-2.6.22
  and earlier, since older tmpfs doesn't implement readpage operation.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/file.c
- replace bit-fields by immediate bit operation.
  + struct au_cpup_flags
- reduce 'unlikely' compiler macro.

Index: fs/aufs/hinotify.c
- new macros for hinode flags.
- replace bit-fields by immediate bit operation.
  + a struct in union hin_job.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/i_op.c
- new mount option 'dirperm1', still testing.
- replace bit-fields by immediate bit operation.
  + struct au_wr_dir_args.
  + struct au_cpup_flags
- bugfix: support ftruncate(2) (uncompleted).

Index: fs/aufs/i_op_add.c
- replace bit-fields by immediate bit operation.
  + struct aufs_ndx
  + struct au_wr_dir_args.
  + struct au_cpup_flags
- reduce 'unlikely' compiler macro.

Index: fs/aufs/i_op_del.c
- replace bit-fields by immediate bit operation.
  + struct aufs_ndx
  + struct revert_flags

Index: fs/aufs/i_op_ren.c
- replace bit-fields by immediate bit operation.
  + struct rename_args
  + struct aufs_ndx
  + struct au_cpup_flags
  + struct au_wr_dir_args.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/iinfo.c
- new macros for hinode flags.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/inode.c
- reduce 'unlikely' compiler macro.

Index: fs/aufs/inode.h
- replace bit-fields by immediate bit operation.
  + struct au_wr_dir_args.
- new macros for hinode flags.

Index: fs/aufs/misc.c
Index: fs/aufs/vfsub.h
- replace bit-fields by immediate bit operation.
  + struct vfsub_args.

Index: fs/aufs/opts.c
- new mount option 'dirperm1', still testing.
- replace bit-fields by immediate bit operation.
  + struct au_opts.
- new macros for hinode flags.

Index: fs/aufs/opts.h
- new mount option 'dirperm1', still testing.
- replace bit-fields by immediate bit operation.
  + struct au_opts.

Index: fs/aufs/plink.c
- replace bit-fields by immediate bit operation.
  + struct aufs_ndx

Index: fs/aufs/sbinfo.c
- new macros for lock flags.

Index: fs/aufs/super.c
- reduce 'unlikely' compiler macro.
- new mount option 'dirperm1', still testing.
- replace bit-fields by immediate bit operation.
  + struct au_opts.
  + a field in struct aufs_sbinfo.

Index: fs/aufs/super.h
- replace bit-fields by immediate bit operation.
  + a field in struct aufs_sbinfo.
- new macros for lock flags.
- new mount option 'dirperm1', still testing.
- reduce 'unlikely' compiler macro.

Index: fs/aufs/vfsub.c
- replace bi

aufs Monday release

2008-02-10 Thread sfjro

o bugfix
- bugfix: reset f_mapping for memory mapped files.
  + new function au_vm_ops().
  + reset f_mapping in mmap().
  + use f_mapping->host instead of f_dentry->d_inode in sync().

o news
- enable AUFS_SUPER_MAGIC.

o misc
- test discarding cached fuse info.
- use f_mapping->host instead of f_dentry->d_inode in sync() for
  debugging.
- replace memcpy() by simple assignment.
- stop resetting f_ra.
- new functions write_begin() and write_end() for debugging in linux-2.6.24.
- stop lockdep warning in kmalloc().
- new function au_test_tmpfs().


Junjiro Okajima

--
Index: fs/aufs/dentry.c
- test discarding cached fuse info.

Index: fs/aufs/dir.c
- use f_mapping->host instead of f_dentry->d_inode in sync() for
  debugging.

Index: fs/aufs/f_op.c
- replace memcpy() by simple assignment.
- bugfix: reset f_mapping for memory mapped files.
  + new function au_vm_ops().
  + reset f_mapping in mmap().
  + use f_mapping->host instead of f_dentry->d_inode in sync().

Index: fs/aufs/file.c
- stop resetting f_ra.
- new functions write_begin() and write_end() for debugging in linux-2.6.24.

Index: fs/aufs/hinotify.c
- stop lockdep warning in kmalloc().

Index: fs/aufs/super.c
- enable AUFS_SUPER_MAGIC.

Index: fs/aufs/super.h
- new function au_test_tmpfs().

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-02-03 Thread sfjro

o bugfix
- bugfix: the type of lowers may be different from the uppers,
  reported by Michael Towers.
- bugfix: ignore inoitify event only when udba=inotify is set.
- bugfix: a race condition between udba and aufs (completed).
  + new debug macro AuDbgSleep_UdbaRace
  + change the type of hdir_lock_rename().
  + new function au_may_add() and au_may_del().
  + new function au_may_ren().
  + describe about EIO.
- bugfix: aufs Makefile refers some kernel sources, depending upon its
  configuration. support the case of they do not exist, reported by
  Michael Towers.

o news
- new patch for ubuntu-2.6.24, patch/ubuntu-2.6.24-5.8.patch.

o misc
- a new macro, a threshold of a warning for pseudo-link.


Junjiro Okajima


--

Index: README
Index: fs/aufs/Makefile
- bugfix: aufs Makefile refers some kernel sources, depending upon its
  configuration. support the case of they do not exist, reported by
  Michael Towers.

Index: fs/aufs/debug.h
- bugfix: a race condition between udba and aufs (completed).
  + new debug macro AuDbgSleep_UdbaRace

Index: fs/aufs/dentry.c
- bugfix: the type of lowers may be different from the uppers,
  reported by Michael Towers.

Index: fs/aufs/hinode.h
Index: fs/aufs/hinotify.c
- bugfix: a race condition between udba and aufs (completed).
  + change the type of hdir_lock_rename().

Index: fs/aufs/i_op_add.c
- bugfix: a race condition between udba and aufs (completed).
  + new function au_may_add().

Index: fs/aufs/i_op_del.c
- bugfix: a race condition between udba and aufs (completed).
  + new function au_may_del().

Index: fs/aufs/i_op_ren.c
- bugfix: a race condition between udba and aufs (completed).
  + new function au_may_ren().
- bugfix: ignore inoitify event only when udba=inotify is set.

Index: fs/aufs/inode.h
- bugfix: a race condition between udba and aufs (completed).
  + new function au_may_add() and au_may_del().

Index: fs/aufs/plink.c
Index: include/linux/aufs_type.h
- a new macro, a threshold of a warning for pseudo-link.

Index: util/aufs.in.5
- bugfix: a race condition between udba and aufs (completed).
  + describe about EIO.

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
Index: fs/aufs/export.c
Index: fs/aufs/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs/i_op.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/misc.h
Index: fs/aufs/opts.h
Index: fs/aufs/super.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/wbr_policy.c
Index: fs/aufs/whout.c
Index: fs/aufs/xino.c
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-01-27 Thread sfjro

o bugfix
- bugfix: support for lazy unmount on linux-2.6.18 and later, reported
  by Jorgen P. Tjerno.
- bugfix: a race condition between udba and aufs (unfnished).

o misc
- debugging a race condition between udba and aufs.


Junjiro Okajima

--
Index: fs/aufs/file.c
Index: fs/aufs/i_op.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/whout.c
- debugging a race condition between udba and aufs.

Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
- bugfix: a race condition between udba and aufs (unfnished).

Index: fs/aufs/super.c
- bugfix: support for lazy unmount on linux-2.6.18 and later, reported
  by Jorgen P. Tjerno.

Index: README
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


Re: aufs Monday release

2008-01-21 Thread Michael S. Zick
On Sun January 20 2008 23:56, [EMAIL PROTECTED] wrote:
>

Super!
Thanks alot for starting to look at 2.6.24-rcX before the stable release.
Mike (z)

> 
> o news
> - new sample chroot-ed/jail environment useing aufs.
> 
> o bugfix
> - bugfix: consolidate make targets for parallel build (make -j3),
>   reported and tested by Tommy[D] and mike.
> - bugfix: ignore an inotify event for the grand parent dir timestamps.
> - bugfix: stop a race condition between hardlinks under different parents.
> - bugfix: define a dummy macro for linux-2.6.17 and earlier.
> 
> o misc
> - support XFS in linux-2.6.24(-rcN)
>   + copyup s[ug]id-ed entry.
> - describe a note about hardlinks of FUSE and udba=none.
> - describe two contributions for lhash patch.
> - begin debugging UDBA race condition.
> - refine aufs magic number.
> 
> 
> Junjiro Okajima
> 
> --
> 
> Index: Tips
> - describe two contributions for lhash patch.
> 
> Index: local.mk
> - bugfix: consolidate make targets for parallel build (make -j3),
>   reported and tested by Tommy[D] and mike.
> 
> Index: fs/aufs/cpup.c
> - bugfix: ignore an inotify event for the grand parent dir timestamps.
> - support XFS in linux-2.6.24(-rcN)
>   + copyup s[ug]id-ed entry.
> 
> Index: fs/aufs/cpup.h
> Index: fs/aufs/file.c
> Index: fs/aufs/i_op_ren.c
> - bugfix: ignore an inotify event for the grand parent dir timestamps.
> 
> Index: fs/aufs/i_op.c
> - bugfix: stop a race condition between hardlinks under different parents.
> 
> Index: fs/aufs/i_op_add.c
> Index: fs/aufs/i_op_del.c
> - bugfix: ignore an inotify event for the grand parent dir timestamps.
> - begin debugging UDBA race condition.
> 
> Index: fs/aufs/sysaufs.c
> - begin debugging UDBA race condition.
> 
> Index: fs/aufs/vfsub.h
> - bugfix: define a dummy macro for linux-2.6.17 and earlier.
> 
> Index: include/linux/aufs_type.h
> - refine aufs magic number.
> 
> Index: util/aufs.in.5
> - describe a note about hardlinks of FUSE and udba=none.
> 
> Index: README
> Index: fs/aufs/dentry.c
> Index: fs/aufs/export.c
> Index: fs/aufs/hinotify.c
> Index: fs/aufs/iinfo.c
> Index: fs/aufs/misc.h
> - less important changes.
> 
> -
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
> 
> 

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2008-01-20 Thread sfjro

o news
- new sample chroot-ed/jail environment useing aufs.

o bugfix
- bugfix: consolidate make targets for parallel build (make -j3),
  reported and tested by Tommy[D] and mike.
- bugfix: ignore an inotify event for the grand parent dir timestamps.
- bugfix: stop a race condition between hardlinks under different parents.
- bugfix: define a dummy macro for linux-2.6.17 and earlier.

o misc
- support XFS in linux-2.6.24(-rcN)
  + copyup s[ug]id-ed entry.
- describe a note about hardlinks of FUSE and udba=none.
- describe two contributions for lhash patch.
- begin debugging UDBA race condition.
- refine aufs magic number.


Junjiro Okajima

--

Index: Tips
- describe two contributions for lhash patch.

Index: local.mk
- bugfix: consolidate make targets for parallel build (make -j3),
  reported and tested by Tommy[D] and mike.

Index: fs/aufs/cpup.c
- bugfix: ignore an inotify event for the grand parent dir timestamps.
- support XFS in linux-2.6.24(-rcN)
  + copyup s[ug]id-ed entry.

Index: fs/aufs/cpup.h
Index: fs/aufs/file.c
Index: fs/aufs/i_op_ren.c
- bugfix: ignore an inotify event for the grand parent dir timestamps.

Index: fs/aufs/i_op.c
- bugfix: stop a race condition between hardlinks under different parents.

Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
- bugfix: ignore an inotify event for the grand parent dir timestamps.
- begin debugging UDBA race condition.

Index: fs/aufs/sysaufs.c
- begin debugging UDBA race condition.

Index: fs/aufs/vfsub.h
- bugfix: define a dummy macro for linux-2.6.17 and earlier.

Index: include/linux/aufs_type.h
- refine aufs magic number.

Index: util/aufs.in.5
- describe a note about hardlinks of FUSE and udba=none.

Index: README
Index: fs/aufs/dentry.c
Index: fs/aufs/export.c
Index: fs/aufs/hinotify.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/misc.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


Re: aufs Monday release

2008-01-10 Thread Michael S. Zick
On Thu January 10 2008 00:23, [EMAIL PROTECTED] wrote:
> 
> "Michael S. Zick":
> > Found it!
> 
> Congratulation.
> 
> 
> > Which course would you like to see - a simple rename everywhere,
> > or major change to look it up in the header file rather than grep for it?
> > There should be a CONFIG_VSERVER (or such like) for conditional tests.
> 
> How about this one?
> 

Looks like a plan to me.
If it is within my skill level, will post what I come up with.

Mike

> Makefile:
> if (kernel version is under 2.6.24 or VSERVER is disabled)
>   grep TMPFS_MAGIC
> endif
> 
> aufs.h:
> if (kernel version is above 2.6.24 or VSERVER is enabled)
>   include the header file
>   define TMPFS_MAGIC TMPFS_SUPER_MAGIC
> endif
> 
> and leave everything as it is.
> 
> 
> Junjiro Okajima
> 
> 

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


Re: aufs Monday release

2008-01-09 Thread sfjro

"Michael S. Zick":
> Found it!

Congratulation.


> Which course would you like to see - a simple rename everywhere,
> or major change to look it up in the header file rather than grep for it?
> There should be a CONFIG_VSERVER (or such like) for conditional tests.

How about this one?

Makefile:
if (kernel version is under 2.6.24 or VSERVER is disabled)
grep TMPFS_MAGIC
endif

aufs.h:
if (kernel version is above 2.6.24 or VSERVER is enabled)
include the header file
define TMPFS_MAGIC TMPFS_SUPER_MAGIC
endif

and leave everything as it is.


Junjiro Okajima

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


Re: aufs Monday release

2008-01-09 Thread Michael S. Zick
Found it!

TMPFS_SUPER_MAGIC define added to: include/linux/shmem_fs.h
And the changes earlier posted made:

By the pre-release Linux-VServer patch (either of these):

patch-2.6.24-rc6-vs2.2.0.5.0.4.diff
patch-2.6.24-rc6-vs2.2.0.5.0.6-pre.diff


Which means that I need to update the linux-vserver.patch that
shipped with the last CVS update of auFS.

Which course would you like to see - a simple rename everywhere,
or major change to look it up in the header file rather than grep for it?
There should be a CONFIG_VSERVER (or such like) for conditional tests.

Mike

On Wed January 9 2008 16:30, Michael S. Zick wrote:
> On Wed January 9 2008 16:09, Michael S. Zick wrote:
> > On Wed January 9 2008 15:35, [EMAIL PROTECTED] wrote:
> > > 
> > > Hello Michael,
> > > 
> > > "Michael S. Zick":
> > > > There is no #define TEMPFS_MAGIC in mm/shmem.c of 2.6.24-rc6
> > > > The comment about it being used by glibc remains, but the define is 
> > > > _gone_.
> > > 
> > > I downloaded
> > > ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.24-rc6.tar.bz2
> > > just now, and found there still exists the definition of TEMPFS_MAGIC in
> > > mm/shmem.c.
> > > 
> > 
> > Strange.
> > Will check the source tree I am building against the original kernel 
> > tarball.
> > It must be some sort of local error here.  Read error in my CVS drive?
> > 
> 
> Extra Strange.  It is a local change, something "patched" its name yesterday:
> Sorry for the noise on the list, gotta check for cockpit error now.
> 
> wolf686 mm $ cvs diff -r1.1 shmem.c
> Index: shmem.c
> ===
> RCS file: /home/mszick/cvs/2.6.24-rc6/mm/shmem.c,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -p -r1.1 -r1.2
> --- shmem.c 21 Dec 2007 01:25:48 -  1.1
> +++ shmem.c 8 Jan 2008 21:14:47 -   1.2
> @@ -55,7 +55,6 @@
>  #include 
> 
>  /* This magic number is used in glibc for posix shared memory */
> -#define TMPFS_MAGIC0x01021994
> 
>  #define ENTRIES_PER_PAGE (PAGE_CACHE_SIZE/sizeof(unsigned long))
>  #define ENTRIES_PER_PAGEPAGE (ENTRIES_PER_PAGE*ENTRIES_PER_PAGE)
> @@ -1723,7 +1722,7 @@ static int shmem_statfs(struct dentry *d
>  {
> struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);
> 
> -   buf->f_type = TMPFS_MAGIC;
> +   buf->f_type = TMPFS_SUPER_MAGIC;
> buf->f_bsize = PAGE_CACHE_SIZE;
> buf->f_namelen = NAME_MAX;
> spin_lock(&sbinfo->stat_lock);
> @@ -2288,7 +2287,7 @@ static int shmem_fill_super(struct super
> sb->s_maxbytes = SHMEM_MAX_BYTES;
> sb->s_blocksize = PAGE_CACHE_SIZE;
> sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
> -   sb->s_magic = TMPFS_MAGIC;
> +   sb->s_magic = TMPFS_SUPER_MAGIC;
> sb->s_op = &shmem_ops;
> sb->s_time_gran = 1;
>  #ifdef CONFIG_TMPFS_POSIX_ACL
> 
> -
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> 
>

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


Re: aufs Monday release

2008-01-09 Thread Michael S. Zick
On Wed January 9 2008 16:09, Michael S. Zick wrote:
> On Wed January 9 2008 15:35, [EMAIL PROTECTED] wrote:
> > 
> > Hello Michael,
> > 
> > "Michael S. Zick":
> > > There is no #define TEMPFS_MAGIC in mm/shmem.c of 2.6.24-rc6
> > > The comment about it being used by glibc remains, but the define is 
> > > _gone_.
> > 
> > I downloaded
> > ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.24-rc6.tar.bz2
> > just now, and found there still exists the definition of TEMPFS_MAGIC in
> > mm/shmem.c.
> > 
> 
> Strange.
> Will check the source tree I am building against the original kernel tarball.
> It must be some sort of local error here.  Read error in my CVS drive?
> 

Extra Strange.  It is a local change, something "patched" its name yesterday:
Sorry for the noise on the list, gotta check for cockpit error now.

wolf686 mm $ cvs diff -r1.1 shmem.c
Index: shmem.c
===
RCS file: /home/mszick/cvs/2.6.24-rc6/mm/shmem.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- shmem.c 21 Dec 2007 01:25:48 -  1.1
+++ shmem.c 8 Jan 2008 21:14:47 -   1.2
@@ -55,7 +55,6 @@
 #include 

 /* This magic number is used in glibc for posix shared memory */
-#define TMPFS_MAGIC0x01021994

 #define ENTRIES_PER_PAGE (PAGE_CACHE_SIZE/sizeof(unsigned long))
 #define ENTRIES_PER_PAGEPAGE (ENTRIES_PER_PAGE*ENTRIES_PER_PAGE)
@@ -1723,7 +1722,7 @@ static int shmem_statfs(struct dentry *d
 {
struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);

-   buf->f_type = TMPFS_MAGIC;
+   buf->f_type = TMPFS_SUPER_MAGIC;
buf->f_bsize = PAGE_CACHE_SIZE;
buf->f_namelen = NAME_MAX;
spin_lock(&sbinfo->stat_lock);
@@ -2288,7 +2287,7 @@ static int shmem_fill_super(struct super
sb->s_maxbytes = SHMEM_MAX_BYTES;
sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
-   sb->s_magic = TMPFS_MAGIC;
+   sb->s_magic = TMPFS_SUPER_MAGIC;
sb->s_op = &shmem_ops;
sb->s_time_gran = 1;
 #ifdef CONFIG_TMPFS_POSIX_ACL

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


Re: aufs Monday release

2008-01-09 Thread Michael S. Zick
On Wed January 9 2008 15:35, [EMAIL PROTECTED] wrote:
> 
> Hello Michael,
> 
> "Michael S. Zick":
> > There is no #define TEMPFS_MAGIC in mm/shmem.c of 2.6.24-rc6
> > The comment about it being used by glibc remains, but the define is _gone_.
> 
> I downloaded
> ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.24-rc6.tar.bz2
> just now, and found there still exists the definition of TEMPFS_MAGIC in
> mm/shmem.c.
> 

Strange.
Will check the source tree I am building against the original kernel tarball.
It must be some sort of local error here.  Read error in my CVS drive?

Mike

> I am afraid you've got wrong file.
> 
> 
> Junjiro Okajima
> 
> -
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> 
>

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


Re: aufs Monday release

2008-01-09 Thread sfjro

Hello Michael,

"Michael S. Zick":
> There is no #define TEMPFS_MAGIC in mm/shmem.c of 2.6.24-rc6
> The comment about it being used by glibc remains, but the define is _gone_.

I downloaded
ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.24-rc6.tar.bz2
just now, and found there still exists the definition of TEMPFS_MAGIC in
mm/shmem.c.

I am afraid you've got wrong file.


Junjiro Okajima

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


aufs Monday release

2007-12-16 Thread sfjro

o news
- support XFS in linux-2.6.24(-rcN).
  + retrieve the device number.
  + obtain XFS_SB_MAGIC.
  + test fstype.

o bugfix
- bugfix: macro pitfall, block local variable name.

This is final regular release in this year.
Have nice holidays.


Junjiro Okajima

--

Index: fs/aufs/Makefile
- support XFS in linux-2.6.24(-rcN).
  + obtain XFS_SB_MAGIC.

Index: fs/aufs/cpup.c
Index: fs/aufs/inode.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- support XFS in linux-2.6.24(-rcN).
  + retrieve the device number.

Index: fs/aufs/debug.h
- bugfix: macro pitfall, block local variable name.

Index: fs/aufs/super.h
- support XFS in linux-2.6.24(-rcN).
  + test fstype.

Index: include/linux/aufs_type.h
- less important change.

-
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace


aufs Monday release

2007-12-09 Thread sfjro

o bugfix
- bugfix: AUFS_LHASH_PATCH depends on AUFS_FAKE_DM = n, reported by
  Russell Harmon and Heinrich Rebehn.
- bugfix: a xino-truncation thread must not wait for other threads.

o misc
- add a note about setting 'n.'
- move all the declaration from super.h to branch.h.
- rename struct xino to xino_entry.
- rename au_opt_xino_trunc to au_opt_xino_itrunc.
- preparing new xino files (unfinished).


Junjiro Okajima

--
Index: Kconfig.in
- bugfix: AUFS_LHASH_PATCH depends on AUFS_FAKE_DM = n, reported by
  Russell Harmon and Heinrich Rebehn.

Index: local.mk
- add a note about setting 'n.'

Index: fs/aufs/branch.h
- move all the declaration from super.h to branch.h.
- rename struct xino to xino_entry.
- preparing new xino files (unfinished).

Index: fs/aufs/hinotify.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/vdir.c
- rename struct xino to xino_entry.

Index: fs/aufs/opts.c
- preparing new xino files (unfinished).
- rename au_opt_xino_trunc to au_opt_xino_itrunc.

Index: fs/aufs/opts.h
- rename au_opt_xino_trunc to au_opt_xino_itrunc.

Index: fs/aufs/super.h
- move all the declaration from super.h to branch.h.

Index: fs/aufs/xino.c
- bugfix: a xino-truncation thread must not wait for other threads.
- rename struct xino to xino_entry.

Index: README
Index: include/linux/aufs_type.h
Index: fs/aufs/vfsub.c
- less important changes.

-
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php


Re: aufs Monday release

2007-12-03 Thread sfjro

Hi,

Tomas M:
> May I ask you, what is the trunc_xino useful for? 
> 
> I didn't find anything in aufs.5 documentation,
> only trunc_xib and notrunc_xib, but that is perhaps
> something else, am I right?

Right.
Because I don't know whether this feature is required or not, I didn't
write the documentation and marked it as experimental.

Hopefully these mail are enough for you.


Junjiro Okajima

--
From: [EMAIL PROTECTED]
Subject: Re: unbounded disk usage for xino file 
To: Jason Lunz <[EMAIL PROTECTED]>,
aufs-users 
Date: Thu, 29 Nov 2007 12:43:09 +0900

> > If the xino code had a way to garbage-collect the unused mappings it
> > would be safe to use with tmpfs.
> 
> I'll try, but I am not sure it will succeed.

Here is patch for it, which introduces two new re-mount options,
- trunc_xino=
- itrunc_xino=
ex. sudo mount -o remount,itrunc_xino=0 /your/aufs

Please try it and let me know the result.
It may take a long time if your xino file for the branch is very large.

I am considering another interface/option, such like
- truncate xino files for all branches unconditioanlly.
- search tmpfs (or specified fstype) branch, and truncate xino for the
  selected branches only.
If you have some idea, let me know it too.

Junjiro Okajima
--
From: [EMAIL PROTECTED]
Subject: Re: unbounded disk usage for xino file 
To: Jason Lunz <[EMAIL PROTECTED]>
Date: Fri, 30 Nov 2007 11:07:03 +0900


Jason Lunz:
> Thanks, but for my purposes being able to do this manually isn't really
> useful. I need a fixed bound on the amount of space the xino mapping can
> use.
> 
> If you can do something like that it would be great, but I think I'm ok
> for now just running with noxino. SMP-safety is my biggest concern,
> actually.

Then how about this approache?
- introduce mount options, trunc_xino and notrunc_xino.
- introduce two predefined values BeginTruncXino per a branch and
  TruncXinoStep.
- when you specify trunc_xino and the number of blocks of xino exceeds
  BeginTruncXino, the internal truncation will be invoked automatically.
- after the truncation, if the size is not changed, then BeginTruncXino
  for that xino will be added by TruncXinoStep, in order to repeat the
  same truncation.
- the default is notrunc_xino, so the default aufs behaviour is
  unchanged.
- BeginTruncXino is 64, TruncXinoStep is 4, both are in blocks.
- this behavour is available only for the predefined branch filesystem
  type, which is tmpfs only currently. but I am afraid other filesystem
  type will be needed in the future.
- this behaivour will be available only linux-2.6.18 and later.


Junjiro Okajima
--

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4


Re: aufs Monday release

2007-12-03 Thread Tomas M
Hello.
May I ask you, what is the trunc_xino useful for? 

I didn't find anything in aufs.5 documentation,
only trunc_xib and notrunc_xib, but that is perhaps
something else, am I right?


Thank you 
Tomas M


[EMAIL PROTECTED] wrote:
> o bugfix
> - bugfix: a race in revalidating a dentry, reported by Jason Lunz.
> - bugfix: specifying noxino at mount time, reported by Jason Lunz.
> - bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).
> - bugfix: stop using /tmp/uloopvars.mk.
> 
> o news
> - introduce truncating xino files (experimental), reported by Jason
>   Lunz. it will be removed if nobody is interested.
>   + new options trunc_xino, notrunc_xino, trunc_xino=,
> and itrunc_xino=.
>   + new macros AUFS_XINO_TRUNC_INIT and AUFS_XINO_TRUNC_STEP.
>   + new functions xino_trunc() and au_test_trunc_xino().
>   + new functions xino_do_trunc(), xino_try_trunc() and xino_trunc().
>   + define TMPFS_MAGIC.
>   + define blkcnt_t type for linux-2.6.16.
> - introduce new patches, ubuntu-2.6.22-14.46.patch and
>   ubuntu-edgy.patch.
>   + extract a patch for ubuntu-edgy.
> 
> 
> Junjiro Okajima
> 
> --
> Index: README
> - introduce new patches, ubuntu-2.6.22-14.46.patch and
>   ubuntu-edgy.patch.
> 
> Index: local.mk
> - extract a patch for ubuntu-edgy.
> - bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).
> 
> Index: fs/aufs/Makefile
> - bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + define TMPFS_MAGIC.
> 
> Index: fs/aufs/aufs.h
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + define blkcnt_t type for linux-2.6.16.
> 
> Index: fs/aufs/branch.c
> Index: fs/aufs/branch.h
> Index: fs/aufs/opts.h
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
> 
> Index: fs/aufs/dentry.c
> - bugfix: a race in revalidating a dentry, reported by Jason Lunz.
> 
> Index: fs/aufs/opts.c
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + new options trunc_xino, notrunc_xino, trunc_xino=,
> and itrunc_xino=.
> - bugfix: specifying noxino at mount time, reported by Jason Lunz.
> 
> Index: fs/aufs/super.c
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
> - extract a patch for ubuntu-edgy.
> 
> Index: fs/aufs/super.h
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + new functions xino_trunc() and au_test_trunc_xino().
> 
> Index: fs/aufs/xino.c
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + new functions xino_do_trunc(), xino_try_trunc() and xino_trunc().
> 
> Index: include/linux/aufs_type.h
> - introduce truncating xino files, reported by Jason Lunz. it will be
>   removed if nobody is interested.
>   + new macros AUFS_XINO_TRUNC_INIT and AUFS_XINO_TRUNC_STEP.
> 
> Index: sample/uloop/Makefile
> Index: sample/uloop/drivers/block/Makefile
> - bugfix: stop using /tmp/uloopvars.mk.
> 
> Index: Kconfig.in
> Index: Tips
> - less important changes.
> 
> -
> SF.Net email is sponsored by: The Future of Linux Business White Paper
> from Novell.  From the desktop to the data center, Linux is going
> mainstream.  Let it simplify your IT future.
> http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
> 


-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4


aufs Monday release

2007-12-02 Thread sfjro

o bugfix
- bugfix: a race in revalidating a dentry, reported by Jason Lunz.
- bugfix: specifying noxino at mount time, reported by Jason Lunz.
- bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).
- bugfix: stop using /tmp/uloopvars.mk.

o news
- introduce truncating xino files (experimental), reported by Jason
  Lunz. it will be removed if nobody is interested.
  + new options trunc_xino, notrunc_xino, trunc_xino=,
and itrunc_xino=.
  + new macros AUFS_XINO_TRUNC_INIT and AUFS_XINO_TRUNC_STEP.
  + new functions xino_trunc() and au_test_trunc_xino().
  + new functions xino_do_trunc(), xino_try_trunc() and xino_trunc().
  + define TMPFS_MAGIC.
  + define blkcnt_t type for linux-2.6.16.
- introduce new patches, ubuntu-2.6.22-14.46.patch and
  ubuntu-edgy.patch.
  + extract a patch for ubuntu-edgy.


Junjiro Okajima

--
Index: README
- introduce new patches, ubuntu-2.6.22-14.46.patch and
  ubuntu-edgy.patch.

Index: local.mk
- extract a patch for ubuntu-edgy.
- bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).

Index: fs/aufs/Makefile
- bugfix: stop using /tmp/aufsvars.mk (complete fix for last ci).
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + define TMPFS_MAGIC.

Index: fs/aufs/aufs.h
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + define blkcnt_t type for linux-2.6.16.

Index: fs/aufs/branch.c
Index: fs/aufs/branch.h
Index: fs/aufs/opts.h
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.

Index: fs/aufs/dentry.c
- bugfix: a race in revalidating a dentry, reported by Jason Lunz.

Index: fs/aufs/opts.c
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + new options trunc_xino, notrunc_xino, trunc_xino=,
and itrunc_xino=.
- bugfix: specifying noxino at mount time, reported by Jason Lunz.

Index: fs/aufs/super.c
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
- extract a patch for ubuntu-edgy.

Index: fs/aufs/super.h
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + new functions xino_trunc() and au_test_trunc_xino().

Index: fs/aufs/xino.c
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + new functions xino_do_trunc(), xino_try_trunc() and xino_trunc().

Index: include/linux/aufs_type.h
- introduce truncating xino files, reported by Jason Lunz. it will be
  removed if nobody is interested.
  + new macros AUFS_XINO_TRUNC_INIT and AUFS_XINO_TRUNC_STEP.

Index: sample/uloop/Makefile
Index: sample/uloop/drivers/block/Makefile
- bugfix: stop using /tmp/uloopvars.mk.

Index: Kconfig.in
Index: Tips
- less important changes.

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4


aufs Monday release

2007-11-25 Thread sfjro

o news
- begin supporting linux-2.6.24.
  + introduce CONFIG_AUFS_SEC_PERM_PATCH and a new patch for kernel,
sec_perm-2.6.24.patch.
  + call vfsub_notify_change() twice when the branch is NFS and
s[ug]id bit is set to the inode.
  + the type of an argument for export functions are changed to struct
fid.
  + find_exported_dentry operation is removed.
  + support noexec mount option for a branch.
  + ignore mode when clearing s[ug]id bit.
- introduce a new policy for create, pmfs (parent and then mfs) mode.
- a new sample for ULOOP driver, ulobdev, which supports generic block
  device.

o bugfix
- bugix: try removing /tmp/aufsvars.mk after becoming useless,
  reported by Russell Harmon (but it cannot be supported fully).

o misc
- add a note about 'make -f local.mk kconfig'


Junjiro Okajima

--

Index: Kconfig.in
Index: fs/aufs/module.c
Index: fs/aufs/sysaufs.c
- begin supporting linux-2.6.24.
  + introduce CONFIG_AUFS_SEC_PERM_PATCH and a new patch for kernel,
sec_perm-2.6.24.patch.

Index: README
- add a note about 'make -f local.mk kconfig'
- begin supporting linux-2.6.24.
  + introduce CONFIG_AUFS_SEC_PERM_PATCH and a new patch for kernel,
sec_perm-2.6.24.patch.

Index: local.mk
- begin supporting linux-2.6.24.
  + introduce CONFIG_AUFS_SEC_PERM_PATCH and a new patch for kernel,
sec_perm-2.6.24.patch.
- bugix: try removing /tmp/aufsvars.mk after becoming useless,
  reported by Russell Harmon (but it cannot be supported fully).

Index: fs/aufs/branch.c
Index: fs/aufs/branch.h
Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
Index: fs/aufs/super.c
Index: util/aufs.in.5
- introduce a new policy for create, pmfs (parent and then mfs) mode.

Index: fs/aufs/cpup.c
- begin supporting linux-2.6.24.
  + call vfsub_notify_change() twice when the branch is NFS and
s[ug]id bit is set to the inode.

Index: fs/aufs/export.c
- begin supporting linux-2.6.24.
  + the type of an argument for export functions are changed to struct
fid.
  + find_exported_dentry operation is removed.

Index: fs/aufs/i_op.c
- begin supporting linux-2.6.24.
  + support noexec mount option for a branch.
  + ignore mode when clearing s[ug]id bit.

Index: fs/aufs/sysaufs.h
- begin supporting linux-2.6.24.
  + define subsys_get/put() internally for backward-compatibility.

Index: fs/aufs/wbr_policy.c
- begin supporting linux-2.6.24.
  + call vfsub_notify_change() twice when the branch is NFS and
s[ug]id bit is set to the inode.
- introduce a new policy for create, pmfs (parent and then mfs) mode.

Index: sample/uloop/00readme.txt
Index: sample/uloop/Makefile
Index: sample/uloop/libuloop.c
Index: sample/uloop/ulohttp.c
Index: sample/uloop/drivers/block/Makefile
Index: sample/uloop/drivers/block/uloop.c
Index: sample/uloop/include/linux/uloop.h
- a new sample for ULOOP driver, ulobdev, which supports generic block
  device.
- implement and describe about the libuloop APIs.
- support linux-2.6.23 and later.

Index: Tips
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


Re: aufs Monday release with 2.6.24-rc

2007-11-20 Thread sfjro

Hi,

Tomas M:
> tried Monday release of aufs with 2.6.24-rc3 and doesn't compile for me:
> sysaufs.c: error: implicit declaration of subsys_put and subsys_get
> (in function reg and unreg)
> Should I wait for 2.6.24 final?

I will try supporting 2.6.24-rc3 on next Monday release.


Junjiro Okajima

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


Re: aufs Monday release with 2.6.24-rc

2007-11-20 Thread Tomas M
Hello,
tried Monday release of aufs with 2.6.24-rc3 and doesn't compile for me:
sysaufs.c: error: implicit declaration of subsys_put and subsys_get
(in function reg and unreg)
Should I wait for 2.6.24 final?

Thank you
Tomas M



[EMAIL PROTECTED] wrote:
> o news
> - introduce a new semantics for link(2) and rename(2), and three
>   policies to select one among multiple writable branches (completed).
>   + implement a new create policy 'mfsrr.'
> 
> (quote from the aufs manual)
> Policies to Select One among Multiple Writable Branches
>Aufs has some policies to select one among multiple  writable  branches
>when  you  are  going to write/modify something. There are two kinds of
>policies, one is for newly create something and the other is for inter-
>nal  copy-up.   You  can  select  them by specifying mount option `cre-
>ate=CREATE_POLICY' or `cpup=COPYUP_POLICY.'   These  policies  have  no
>meaning  when you have only one writable branch. If there is some mean-
>ing, it must be damaging the performance.
> 
>Exceptions for policies
>In every cases below, even if the policy says that the branch  where  a
>new file should be created is /rw2, the file will be created on /rw1.
> 
>o   If there is a readonly branch with 'wh' attribute above the policy-
>selected branch and the parent dir is marked as opaque, or the tar-
>get  (creating)  file  is  whiteouted on the ro+wh branch, then the
>policy will be ignored and the target file will be created  on  the
>nearest upper writable branch than the ro+wh branch.
>/aufs = /rw1 + /ro+wh/diropq + /rw2
>/aufs = /rw1 + /ro+wh/wh.tgt + /rw2
> 
>o   If  there is a writable branch above the policy-selected branch and
>the parent dir is marked as opaque or the target file is whiteouted
>on  the branch, then the policy will be ignored and the target file
>will be created  on  the  highest  one  among  the  upper  writable
>branches  who  has  diropq  or  whiteout. In case of whiteout, aufs
>removes it as usual.
>/aufs = /rw1/diropq + /rw2
>/aufs = /rw1/wh.tgt + /rw2
> 
>o   link(2) and rename(2) systemcalls are exceptions in  every  policy.
>They  try  selecting the branch where the source exists as possible
>since copyup a large file will take long time. If it can't be,  ie.
>the branch where the source exists is readonly, then they will fol-
>low the copyup policy.
> 
>o   There is an exception for rename(2) when the target exists.  If the
>rename target exists, aufs compares the index of the branches where
>the source and the target are existing and selects the higher  one.
>If  the  selected  branch is readonly, then aufs follows the copyup
>policy.
> 
>Policies for creating
>create=tdp | top-down-parent
>   Selects the highest writable branch where the parent dir exists.
>   If  the parent dir does not exist on a writable branch, then the
>   internal copyup will happen.  The  policy  for  this  copyup  is
>   always `bottom-up.'  This is the default policy.
> 
>create=rr | round-robin
>   Selects  a  writable  branch  in  round robin. When you have two
>   writable branches and creates 10 new files, 5 files will be cre-
>   ated for each branch.  mkdir(2) systemcall is an exception. When
>   you create 10 new directories,  all  are  created  on  the  same
>   branch.
> 
>create=mfs[:second] | most-free-space[:second]
>   Selects a writable branch which has most free space. In order to
>   keep the performance, you can specify  the  duration  (`second')
>   which makes aufs hold the index of last selected writable branch
>   until the specified seconds expires. The first time  you  create
>   something  in  aufs  after  the  specified seconds expired, aufs
>   checks the amount of free space of all writable branches and the
>   held branch index will be updated.  The default value is 30 sec-
>   onds.
> 
>create=mfsrr:low[:second] | most-free-space-round-robin:low[:second]
>   Selects a writable branch in  most-free-space  mode  first,  and
>   then  round-robin  mode.  If  the  selected branch has less free
>   space than the specified value  `low`,  then  aufs  re-tries  in
>   round-robin  mode.  You can also specify the duration (`second')
>   which is equivalent to the `mfs' mode.
> 
>Policies for copy-up
>cpup=tdp | top-down-parent
>   Equivalent to the same named policy for  create.   This 

aufs Monday release

2007-11-18 Thread sfjro

o news
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (completed).
  + implement a new create policy 'mfsrr.'

(quote from the aufs manual)
Policies to Select One among Multiple Writable Branches
   Aufs has some policies to select one among multiple  writable  branches
   when  you  are  going to write/modify something. There are two kinds of
   policies, one is for newly create something and the other is for inter-
   nal  copy-up.   You  can  select  them by specifying mount option `cre-
   ate=CREATE_POLICY' or `cpup=COPYUP_POLICY.'   These  policies  have  no
   meaning  when you have only one writable branch. If there is some mean-
   ing, it must be damaging the performance.

   Exceptions for policies
   In every cases below, even if the policy says that the branch  where  a
   new file should be created is /rw2, the file will be created on /rw1.

   o   If there is a readonly branch with 'wh' attribute above the policy-
   selected branch and the parent dir is marked as opaque, or the tar-
   get  (creating)  file  is  whiteouted on the ro+wh branch, then the
   policy will be ignored and the target file will be created  on  the
   nearest upper writable branch than the ro+wh branch.
   /aufs = /rw1 + /ro+wh/diropq + /rw2
   /aufs = /rw1 + /ro+wh/wh.tgt + /rw2

   o   If  there is a writable branch above the policy-selected branch and
   the parent dir is marked as opaque or the target file is whiteouted
   on  the branch, then the policy will be ignored and the target file
   will be created  on  the  highest  one  among  the  upper  writable
   branches  who  has  diropq  or  whiteout. In case of whiteout, aufs
   removes it as usual.
   /aufs = /rw1/diropq + /rw2
   /aufs = /rw1/wh.tgt + /rw2

   o   link(2) and rename(2) systemcalls are exceptions in  every  policy.
   They  try  selecting the branch where the source exists as possible
   since copyup a large file will take long time. If it can't be,  ie.
   the branch where the source exists is readonly, then they will fol-
   low the copyup policy.

   o   There is an exception for rename(2) when the target exists.  If the
   rename target exists, aufs compares the index of the branches where
   the source and the target are existing and selects the higher  one.
   If  the  selected  branch is readonly, then aufs follows the copyup
   policy.

   Policies for creating
   create=tdp | top-down-parent
  Selects the highest writable branch where the parent dir exists.
  If  the parent dir does not exist on a writable branch, then the
  internal copyup will happen.  The  policy  for  this  copyup  is
  always `bottom-up.'  This is the default policy.

   create=rr | round-robin
  Selects  a  writable  branch  in  round robin. When you have two
  writable branches and creates 10 new files, 5 files will be cre-
  ated for each branch.  mkdir(2) systemcall is an exception. When
  you create 10 new directories,  all  are  created  on  the  same
  branch.

   create=mfs[:second] | most-free-space[:second]
  Selects a writable branch which has most free space. In order to
  keep the performance, you can specify  the  duration  (`second')
  which makes aufs hold the index of last selected writable branch
  until the specified seconds expires. The first time  you  create
  something  in  aufs  after  the  specified seconds expired, aufs
  checks the amount of free space of all writable branches and the
  held branch index will be updated.  The default value is 30 sec-
  onds.

   create=mfsrr:low[:second] | most-free-space-round-robin:low[:second]
  Selects a writable branch in  most-free-space  mode  first,  and
  then  round-robin  mode.  If  the  selected branch has less free
  space than the specified value  `low`,  then  aufs  re-tries  in
  round-robin  mode.  You can also specify the duration (`second')
  which is equivalent to the `mfs' mode.

   Policies for copy-up
   cpup=tdp | top-down-parent
  Equivalent to the same named policy for  create.   This  is  the
  default policy.

   cpup=bup | bottom-up-parent
  Selects  the writable branch where the parent dir exists and the
  branch is nearest upper one from the copyup-source.

   cpup=bu | bottom-up
  Selects the nearest  upper  writable  branch  from  the  copyup-
  source, regardless the existence of the parent dir.
(end of quote)

o bugfix

aufs Monday release

2007-11-11 Thread sfjro

o news
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + support atomic_create in round robin mode.
  + a new function au_wbr() for link(2) and rename(2).
  + a new policy mfs and mfsrr.
  + call ->init and ->fin at setting the option.
  + refine over all.
  + implement copyup policies.

o misc
- remove an unused parameter of au_dtime_revert().
- consolidate nameidata for lower branches (uncompleted).
  + a new function au_dup_nd().


Junjiro Okajima

--
Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
Index: fs/aufs/i_op_del.c
- remove an unused parameter of au_dtime_revert().

Index: fs/aufs/dentry.c
- consolidate nameidata for lower branches (uncompleted).
  + a new function au_dup_nd().
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + support atomic_create in round robin mode.

Index: fs/aufs/i_op.c
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
- consolidate nameidata for lower branches (uncompleted).
  + a new function au_dup_nd().

Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_ren.c
- remove an unused parameter of au_dtime_revert().
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + a new function au_wbr() for link(2) and rename(2).

Index: fs/aufs/inode.h
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + a new function au_wbr() for link(2) and rename(2).

Index: fs/aufs/opts.c
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + a new policy mfs and mfsrr.
  + call ->init and ->fin at setting the option.

Index: fs/aufs/opts.h
Index: fs/aufs/super.c
Index: fs/aufs/super.h
Index: include/linux/aufs_type.h
Index: util/c2tmac.c
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + a new policy mfs and mfsrr.

Index: fs/aufs/wbr_policy.c
Index: util/aufs.in.5
- introduce a new semantics for link(2) and rename(2), and three
  policies to select one among multiple writable branches (testing).
  + a new policy mfs and mfsrr.
  + refine over all.
  + implement copyup policies.

Index: fs/aufs/debug.c
Index: fs/aufs/file.c
Index: fs/aufs/sbinfo.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/whout.c
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/


aufs Monday release

2007-11-04 Thread sfjro

o bugfix
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + initialize a spinlock in hdentry by new funcions
au_h_dentry_init() and au_h_dentry_init_all().
  + free the unused filp.
  + always copy FMODE_EXEC flag.
  + refine au_find_h_intent().
  + refine using a spinlock in hdentry.
  + open the lower file explicitly when the stored nameidata.intent is
empty.
- bugfix: support inode which has lower inodes unmatching with dentry.

o news
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + a new semantics for link(2) and rename(2) is enabled by default,
while it is still testing and the documentation is commented out.
  + refine copy up/down by adding some parameters.
  + revise an error message.
  + new functions au_update_dbrange() and au_update_dbend().
  + add some members for policies.
  + new function au_cpdown_dirs().
  + new functions vfsub_sio_mkdir() and vfsub_sio_rmdir().
  + implement round-robin policy.

o misc
- support 'tri-state' of lower d_revalidate().
- enable CONFIG_AUFS_RR_SQUASHFS by default, suggested by Julian
  Andres Klode.
- replace 'hiide_' prefix by 'h_'.


Junjiro Okajima

--

Index: Kconfig.in
- enable CONFIG_AUFS_RR_SQUASHFS by default, suggested by Julian
  Andres Klode.

Index: fs/aufs/branch.c
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + initialize a spinlock in hdentry by a new function
au_h_dentry_init().

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + refine copy up/down by adding some parameters.

Index: fs/aufs/dentry.c
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + revise an error message.
- support 'tri-state' of lower d_revalidate().
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + free the unused filp.
  + always copy FMODE_EXEC flag.

Index: fs/aufs/dentry.h
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + initialize a spinlock in hdentry by new funcions
au_h_dentry_init() and au_h_dentry_init_all().
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + new functions au_update_dbrange() and au_update_dbend().

Index: fs/aufs/dinfo.c
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + initialize a spinlock in hdentry by new funcion
au_h_dentry_init_all().
  + refine au_find_h_intent().
  + refine using a spinlock in hdentry.
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + new functions au_update_dbrange() and au_update_dbend().

Index: fs/aufs/file.c
- replace 'hiide_' prefix by 'h_'.
- bugfix: memory leak in an error path of handling FMODE_EXEC.
  + open the lower file explicitly when the stored nameidata.intent is
empty.

Index: fs/aufs/i_op.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/opts.c
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).

Index: fs/aufs/misc.c
- bugfix: support inode which has lower inodes unmatching with dentry.

Index: fs/aufs/super.h
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + add some members for policies.
  + new function au_cpdown_dirs().

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + new functions vfsub_sio_mkdir() and vfsub_sio_rmdir().

Index: fs/aufs/wbr_policy.c
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).
  + new function au_cpdown_dirs().
  + implement round-robin policy.

Index: util/aufs.in.5
- revised simply.
- introduce a new semantics for link(2) and rename(2), and two
  policies to select one among multiple writable branches (testing).

Index: README
Index: local.mk
Index: fs/aufs/aufs.h
Index: fs/aufs/branch.h
Index: fs/aufs/debug.c
Index: fs/aufs/file.h
Index: fs/aufs/hinotify.c
Index: fs/aufs/super.c
Index: include/linux/aufs_type.h
Index: patch/rt-compat.patch
- less important chages.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/


aufs Monday release

2007-10-28 Thread sfjro

o bugfix
- bugfix(SMP): memory barrier to flush f_mode in case of FMODE_EXEC.
- the modification on 20071026 was my mistake. it was not a bug. refined
  it.

o news
- a new file 'Tips', some tips from users.

o misc
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new options create_policy and copyup_policy, and handlers for them.
  + new file wbr_policy.c
  + re-write some functions to select a writable branch, and move them
from branch.c to wbr_policy.c.
  + new function au_cp_dirs() which is a framework to support copy-up
and copy-down.
  + refine au_cpup_dirs() by au_cp_dirs().
  + remove find_rw_br().
  + consolidate several args of au_wr_dir() into single structure with
bit fields.
  + new macros AuWbrCreate() and AuWbrCopyup().
- refine flags corresponding to mount options
  + a new structure au_opts_flags.
  + a new function au_opts_flags_def().
  + refine br_perm_str(), udba_str() and coo_str() by
a new function au_parser_pattern(), and rename them to
au_optstr_br_perm(), au_optstr_udba() and au_optstr_coo()
respectively.
  + remove udab_set() and coo_set().
  + replace au_flag_test() by a new macro AuFlag().
  + replace au_flag_clr() by a new macro AuFlagSet().
  + replace au_flag_set() by a new macro AuFlagSet().
  + refine au_flag_test_udba_inotify().
  + rename need_dlgt() to au_need_dlgt().
- minor optimization for new_br_id().
- re-define FMODE_EXEC for backward compatibility.
- rename 'hidden_' prefix to 'h_'.
- use macros in linux/compiler.h. (unfinished)
- Tomas M made a donation. Thank you very much.


Junjiro Okajima

--

Index: README
- Tomas M made a donation. Thank you very much.

Index: fs/aufs/Makefile
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new file wbr_policy.c

Index: fs/aufs/aufs.h
- re-define FMODE_EXEC for backward compatibility.
- use macros in linux/compiler.h. (unfinished)

Index: fs/aufs/branch.c
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + re-write some functions to select a writable branch, and move them
from branch.c to wbr_policy.c.
- refine flags corresponding to mount options
  + replace au_flag_test() by a new macro AuFlag().

Index: fs/aufs/branch.h
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + re-write some functions to select a writable branch, and remove
thier declarations.

Index: fs/aufs/cpup.c
- refine flags corresponding to mount options
  + rename need_dlgt() to au_need_dlgt().
  + replace au_flag_test() by a new macro AuFlag().
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new function au_cp_dirs() which is a framework to support copy-up
and copy-down.
  + refine au_cpup_dirs() by au_cp_dirs().

Index: fs/aufs/cpup.h
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new function au_cp_dirs() which is a framework to support copy-up
and copy-down.

Index: fs/aufs/dentry.c
Index: fs/aufs/plink.c
Index: fs/aufs/whout.c
- refine flags corresponding to mount options
  + rename need_dlgt() to au_need_dlgt().
  + replace au_flag_test() by a new macro AuFlag().

Index: fs/aufs/dir.c
Index: fs/aufs/f_op.c
Index: fs/aufs/misc.c
Index: fs/aufs/vdir.c
- refine flags corresponding to mount options
  + rename need_dlgt() to au_need_dlgt().

Index: fs/aufs/dir.h
- use macros in linux/compiler.h. (unfinished)

Index: fs/aufs/export.c
Index: fs/aufs/hinotify.c
- refine flags corresponding to mount options
  + replace au_flag_test() by a new macro AuFlag().

Index: fs/aufs/file.c
- bugfix(SMP): memory barrier to flush f_mode in case of FMODE_EXEC.
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new macro AuWbrCopyup().
- refine flags corresponding to mount options
  + replace au_flag_test() by a new macro AuFlag().

Index: fs/aufs/finfo.c
- bugfix(SMP): memory barrier to flush f_mode in case of FMODE_EXEC.

Index: fs/aufs/i_op.c
- rename 'hidden_' prefix to 'h_'.
- refine flags corresponding to mount options
  + rename need_dlgt() to au_need_dlgt().
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + remove find_rw_br().
  + consolidate several args of au_wr_dir() into single structure with
bit fields.
  + new macros AuWbrCopyup() and AuWbrCreate().

Index: fs/aufs/i_op_add.c
- refine flags corresponding to mount options
  + rename need_dlgt() to au_need_dlgt().
  + replace au_flag_test() by a new macro AuFlag().
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + consolidate several args of au_wr_dir() into single structure with
bit fields.

Index: fs/aufs/i_op_del.c
- introduce two policies to select one among multiple writable
  branches (unfinished).
  + new macr

aufs Monday release

2007-10-21 Thread sfjro

o security
- security enhancement or possible bug fix: support FMODE_EXEC and
  {deny,allow}_write_access() for an executable and put_write_access()
  for an open file for writing on a branch. for linux-2.6.17 and later.

o bugfix
- bugfix: replace a direct access to dentry->d_parent by
  dget_parent().

o misc
- create patch sub directory and move all patches under it, suggested
  by Julian Andres Klode.
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.
- refine ignoring the internal inotify, completed.
  + stop using the isdir parameter of au_dtime_revert.
  + remove unnecessary variable.
  + stop locking the hidden grand parent dir.
  + remove a lock for the hidden grand parent dir.
  + new inode info lock class parent4.
- replace dget_parent() by a direct access to dentry->d_parent where
  the inode mutex is locked, in order to get better performance.
- support debug printing an empty file object.
- define trivial ilog2 macro to support old kernels.


Junjiro Okajima

--
Index: Kconfig.in
Index: README
Index: sample/linux-vserver.txt
- create patch sub directory and move all patches under it, suggested
  by Julian Andres Klode.

Index: fs/aufs/aufs.h
Index: fs/aufs/branch.c
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.
- security enhancement or possible bug fix: support FMODE_EXEC and
  {deny,allow}_write_access() for an executable and put_write_access()
  for an open file for writing on a branch. for linux-2.6.17 and later.

Index: fs/aufs/cpup.c
- refine ignoring the internal inotify, completed.
  + stop using the isdir parameter of au_dtime_revert.
  + remove unnecessary variable.
  + stop locking the hidden grand parent dir.
- replace dget_parent() by a direct access to dentry->d_parent where
  the inode mutex is locked, in order to get better performance.
- bugfix: replace a direct access to dentry->d_parent by
  dget_parent().

Index: fs/aufs/dcsub.c
Index: fs/aufs/dinfo.c
Index: fs/aufs/dir.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/misc.c
Index: fs/aufs/super.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vdir.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/whout.c
Index: fs/aufs/wkq.c
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.

Index: fs/aufs/debug.c
- bugfix: replace a direct access to dentry->d_parent by
  dget_parent().
- support debug printing an empty file object.

Index: fs/aufs/dentry.c
- security enhancement or possible bug fix: support FMODE_EXEC and
  {deny,allow}_write_access() for an executable and put_write_access()
  for an open file for writing on a branch. for linux-2.6.17 and later.
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.
- bugfix: replace a direct access to dentry->d_parent by
  dget_parent().

Index: fs/aufs/f_op.c
Index: fs/aufs/finfo.c
Index: fs/aufs/i_op.c
- security enhancement or possible bug fix: support FMODE_EXEC and
  {deny,allow}_write_access() for an executable and put_write_access()
  for an open file for writing on a branch. for linux-2.6.17 and later.

Index: fs/aufs/file.c
- security enhancement or possible bug fix: support FMODE_EXEC and
  {deny,allow}_write_access() for an executable and put_write_access()
  for an open file for writing on a branch. for linux-2.6.17 and later.
- bugfix: replace a direct access to dentry->d_parent by
  dget_parent().

Index: fs/aufs/hinode.h
Index: fs/aufs/vfsub.h
- refine ignoring the internal inotify, completed.
  + remove a lock for the hidden grand parent dir.

Index: fs/aufs/hinotify.c
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.
- define trivial ilog2 macro to support old kernels.

Index: fs/aufs/i_op_ren.c
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.
- remove unused variable.

Index: fs/aufs/inode.h
- refine ignoring the internal inotify, completed.
  + new inode info lock class parent4.

Index: fs/aufs/xino.c
- replace dget_parent() by a direct access to dentry->d_parent where
  the inode mutex is locked, in order to get better performance.
- support GFP_TEMPORARY which will be introduced into mainline kernel
  in the future.

Index: fs/aufs/branch.h
Index: fs/aufs/dentry.h
Index: fs/aufs/export.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/super.h
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/


aufs Monday release

2007-10-14 Thread sfjro

o bugfix
- bugfix: at decoding a nfs handle, in the slowest way which will be
  invoked after other two method's failure, aufs generates the path
  for the decode target inode. and there was a bug in generating the
  path. when the inode is decoded by the two preceeding methods, you
  will not meet this problem. this bug was reported by Luis Carlos
  Erpen de Bona.
- bugfix: typo in AUFS_PUT_FILP_PATCH, reported by Sandino Flores Moreno.

o misc
- testing writable nfs branch,
  + new function au_h_create() replacing au_fake_nd_create() +
vfsub_create()
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()
  + au_is_def_rr()  --> au_test_def_rr()
  + do_is_overlap() --> do_test_overlap()
  + 'hidden_'   --> 'h_'
  + au_is_subdir()  --> au_test_subdir()
  + is_overlap_loopback --> test_overlap_loopback()
  + is_overlap()--> test_overlap()
  + au_is_aufs()--> au_test_aufs()
  + sbr_is_whable() --> sbr_whable()
  + au_is_debug()   --> au_test_debug()
  + is_au_wkq() --> au_test_wkq()
  + is_anon()   --> AuTestAnon()
  + au_is_loopback()--> au_test_loopback()
  + au_is_fuse()--> au_test_fuse()
  + au_is_unique_ino()  --> au_test_unique_ino()
  + au_is_nfsd()--> au_test_nfsd()
- add module prefix to some symbols.
- replacing si_flags by several bit fields (draft).


Junjiro Okajima

--
Index: Kconfig.in
Index: fs/aufs/module.c
- bugfix: typo in AUFS_PUT_FILP_PATCH, reported by Sandino Flores Moreno.

Index: fs/aufs/branch.c
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()
  + au_is_def_rr()  --> au_test_def_rr()
  + do_is_overlap() --> do_test_overlap()
  + 'hidden_'   --> 'h_'
  + au_is_subdir()  --> au_test_subdir()
  + is_overlap_loopback --> test_overlap_loopback()
  + is_overlap()--> test_overlap()
  + au_is_aufs()--> au_test_aufs()
- add module prefix to some symbols.

Index: fs/aufs/branch.h
- rename some symbols,
  + au_is_def_rr()  --> au_test_def_rr()
  + sbr_is_whable() --> sbr_whable()
  + au_is_nfs() --> au_test_nfs()
- add module prefix to some symbols.

Index: fs/aufs/cpup.c
Index: fs/aufs/misc.h
- testing writable nfs branch,
  + new function au_h_create() replacing au_fake_nd_create() +
vfsub_create()

Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
- rename some symbols,
  + au_is_subdir()  --> au_test_subdir()

Index: fs/aufs/debug.c
- rename some symbols,
  + au_is_aufs()--> au_test_aufs()

Index: fs/aufs/debug.h
- rename some symbols,
  + au_is_debug()   --> au_test_debug()

Index: fs/aufs/dentry.c
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()
  + sbr_is_whable() --> sbr_whable()

Index: fs/aufs/dinfo.c
- rename some symbols,
  + au_is_subdir()  --> au_test_subdir()
  + is_au_wkq() --> au_test_wkq()

Index: fs/aufs/export.c
- rename some symbols,
  + is_anon()   --> AuTestAnon()
  + au_is_aufs()--> au_test_aufs()
- bugfix: at decoding a nfs handle, in the slowest way which will be
  invoked after other two method's failure, aufs generates the path
  for the decode target inode. and there was a bug in generating the
  path. when the inode is decoded by the two preceeding methods, you
  will not meet this problem. this bug was reported by Luis Carlos
  Erpen de Bona.

Index: fs/aufs/f_op.c
- rename some symbols,
  + au_is_loopback()--> au_test_loopback()
  + au_is_aufs()--> au_test_aufs()
  + au_is_nfs() --> au_test_nfs()

Index: fs/aufs/file.c
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()
  + is_au_wkq() --> au_test_wkq()

Index: fs/aufs/i_op.c
- rename some symbols,
  + au_is_fuse()--> au_test_fuse()

Index: fs/aufs/i_op_add.c
- testing writable nfs branch,
  + new function au_h_create() replacing au_fake_nd_create() +
vfsub_create()
- rename some symbols,
  + au_is_fuse()--> au_test_fuse()

Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/vfsub.h
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()

Index: fs/aufs/inode.c
- rename some symbols,
  + au_is_unique_ino()  --> au_test_unique_ino()

Index: fs/aufs/misc.c
Index: fs/aufs/whout.c
- testing writable nfs branch,
  + new function au_h_create() replacing au_fake_nd_create() +
vfsub_create()
- rename some symbols,
  + au_is_nfs() --> au_test_nfs()

Index: fs/aufs/opts.c
- add module prefix to some symbols.
- rename some symbols,
  + au_is_def_rr()  --> au_test_def_rr()

Index: fs/aufs/opts.h
- add module prefix to some symbols.

Index: fs/aufs/plink.c
Index: fs/aufs/wkq.c
Index: fs/aufs/wkq.h
- rename some symbols,
  + is_au_wkq() --> au_test_wkq()

Index: fs/aufs/super.c
- add module prefix to some symbols.
- replacing si_flags by several bit fields (draft).

Index: fs/aufs/super.h
- replacing si_flags by several bit field

aufs Monday release

2007-10-07 Thread sfjro

o bugfix
- bugfix: remove the debug messages for nfsv4, reported by Bertrand D.
- bugfix: remove BUG_ON macro for debug in verifying mount options.

o news
- complete the test for RO nfsv4 branch on linux-2.6.23-rc6.
- introduce AUFS_SUPER_MAGIC with temporary value.

o misc
- refine ignoring the internal inotify.
  + remove a parameter of cpup_iattr(), cpup_regular(),
au_copy_file(), cpup_entry(), cpup_single(), sio_cpup_single(),
cpup_simple(), sio_cpup_simple().
  + remove au_flags_cpup(), struct cpup_args, cpup_init(), cpup_real_dir().
  + introduce struct au_cpup_flags.
- add a module prefix to some symbols.
- minor (cosmetic level) changes.
- rename some symbols,
  + au_init_vdir()  --> au_vdir_init()
  + au_fin_finfo()  --> au_finfo_fin()
  + hidden_open()   --> au_h_open()
  + au_is_mmapped() --> au_test_mmapped()
  + au_is_plinked() --> au_test_plinked()
  + test_empty()--> au_test_empty()
  + au_init_vdir()  --> au_vdir_init()
  + free_vdir() --> au_vdir_free()
  + is_longer_wh()  --> nhash_test_longer_wh()
  + test_known_wh() --> nhash_test_known_wh()
  + append_wh() --> nash_append_wh()
  + init_hinotify() --> au_hin_init()
  + alloc_hinotify()--> au_hin_alloc()
  + free_hinotify() --> au_hin_free()
- rename the prefix 'hidden_' to 'h_' for some symbols.
- call au_hin_free() directly.


Junjiro Okajima

--

Index: fs/aufs/branch.c
- add a module prefix to some symbols.
- minor (cosmetic level) changes.
- rename some symbols,
  + init_hinotify() --> au_hin_init()

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
- rename the prefix 'hidden_' to 'h_' for some symbols.
- add a module prefix to some symbols.
- refine ignoring the internal inotify.
  + remove a parameter of cpup_iattr(), cpup_regular(),
au_copy_file(), cpup_entry(), cpup_single(), sio_cpup_single(),
cpup_simple(), sio_cpup_simple().
  + remove au_flags_cpup(), struct cpup_args, cpup_init(), cpup_real_dir().
  + introduce struct au_cpup_flags.

Index: fs/aufs/dcsub.c
Index: fs/aufs/debug.h
Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
Index: fs/aufs/export.c
Index: fs/aufs/inode.c
Index: fs/aufs/module.c
Index: fs/aufs/module.h
Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.h
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/whout.c
Index: fs/aufs/wkq.c
- add a module prefix to some symbols.
- minor (cosmetic level) changes.

Index: fs/aufs/debug.c
- bugfix: remove the debug messages for nfsv4, reported by Bertrand D.
- add a module prefix to some symbols.
- rename some symbols,
  + au_is_mmapped() --> au_test_mmapped()

Index: fs/aufs/dentry.c
- bugfix: remove the debug messages for nfsv4, reported by Bertrand D.
- add a module prefix to some symbols.
- minor (cosmetic level) changes.

Index: fs/aufs/dir.c
- add a module prefix to some symbols.
- rename the prefix 'hidden_' to 'h_' for some symbols.
- rename some symbols,
  + hidden_open()   --> au_h_open()
  + free_vdir() --> au_vdir_free()
  + au_fin_finfo()  --> au_finfo_fin()
  + au_init_vdir()  --> au_vdir_init()
  + test_known_wh() --> nhash_test_known_wh()

Index: fs/aufs/dir.h
Index: fs/aufs/vdir.c
- add a module prefix to some symbols.
- rename some symbols,
  + is_longer_wh()  --> nhash_test_longer_wh()
  + test_known_wh() --> nhash_test_known_wh()
  + append_wh() --> nash_append_wh()
  + free_vdir() --> au_vdir_free()
  + au_init_vdir()  --> au_vdir_init()

Index: fs/aufs/f_op.c
- add a module prefix to some symbols.
- rename the prefix 'hidden_' to 'h_' for some symbols.
- rename some symbols,
  + hidden_open()   --> au_h_open()
  + au_fin_finfo()  --> au_finfo_fin()
  + au_is_mmapped() --> au_test_mmapped()

Index: fs/aufs/file.c
Index: fs/aufs/file.h
- rename the prefix 'hidden_' to 'h_' for some symbols.
- add a module prefix to some symbols.
- refine ignoring the internal inotify.
  + introduce struct au_cpup_flags.
  + remove a parameter of sio_cpup_simple().
- rename some symbols,
  + hidden_open()   --> au_h_open()
  + au_init_finfo() --> au_finfo_init()
  + au_fin_finfo()  --> au_finfo_fin()
  + au_is_plinked() --> au_test_plinked()
  + au_is_mmapped() --> au_test_mmapped()

Index: fs/aufs/finfo.c
- rename some symbols,
  + au_init_finfo() --> au_finfo_init()
  + au_fin_finfo()  --> au_finfo_fin()
- add a module prefix to some symbols.

Index: fs/aufs/hinode.h
Index: fs/aufs/hinotify.c
- rename some symbols,
  + init_hinotify() --> au_hin_init()
  + alloc_hinotify()--> au_hin_alloc()
  + free_hinotify() --> au_hin_free()
- add a module prefix to some symbols.

Index: fs/aufs/i_op.c
- add a module prefix to some symbols.
- refine ignoring the internal inotify.
  + remove au_flags_cpup().
  + remove a parameter of sio_cpup_simple().

Index: fs/aufs/i_op_add.c
- add a module p

aufs Monday release

2007-09-30 Thread sfjro

o bugfix
- bugfix: name collision on ia64, reported and patched by Julian
  Andres Klode, Daniel Baumann, Otavio Salvador and dann frazier (I
  replaced si_flags by au_si_flags insead of aufs_si_flags).
- bugfix: when aufs is liked statically, /tmp/aufsvars.mk is
  unnecessary, reported by Tapani Raikkonen.

o news
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + handle nfsv4 in the same way as nfsv3 by lhash.patch.
  + CONFIG_AUFS_FAKE_DM must be disabled when using NFS (both nfsv3
and v4) as an aufs branch in linux-2.6.19 and later.
  + CONFIG_AUFS_PUT_FILP and CONFIG_AUFS_LHASH_PATCH must be enabled
when using NFS (both nfsv3 and v4) as an aufs branch in
linux-2.6.19 and later.
  + gave up calling generic vfs_path_lookup() because aufs has to
unlock the dir mutex temporary which must be inacceptable. and
reverting the locking order of br_wh_rwsem in last ci.
  + support atomic open in nfsv4 in looking-up a whiteout.
  + support atomic open in nfsv4 at revalidating dentry by keeping a
whiteout.
  + use nameidata for the internal file creation with disabling
CONFIG_AUFS_FAKE_DM, new function fake_nd_create().
  + new macro intent() for wrapping the list in aufs_hdentry.
  + a new simple wrapper named hintent_put().

o misc
- move the definition of au_subsys_t from sysaufs.h from aufs.h.
- refine ignoring the internal inotify.
  + merge hin_ignore cache into hinotify.
  + revert a parameter of some vfsub functions.
  + revert the lock for the grand parent dir.
  + remove unnecessary events in aufs_read() and aufs_splice_read().
  + lock inotify_mutex at modifying the mask.
  + new function vfsub_ign_hinode().
  + add a parameter to dtime_restore().
  + a new macro init_hinotify() as a simple wrapper.
  + rename vfsub_init() to vfsub_args_init().
  + new small function itohi().
  + a global variable au_hin_nignore.
  + remove hin_ignore.h introduce in last ci.
- reduce IMustLock() debug macro with centralizing into vfsub
  functions.
- rename au_lkup_args to aufs_ndx.
- rename is_wh() to au_test_wh().
- rename is_diropq() to au_test_diropq().
- support fuse inode attributes in splice(2).


Junjiro Okajima

--

Index: Kconfig.in
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + CONFIG_AUFS_FAKE_DM must be disabled when using NFS (both nfsv3
and v4) as an aufs branch in linux-2.6.19 and later.
  + CONFIG_AUFS_PUT_FILP and CONFIG_AUFS_LHASH_PATCH must be enabled
when using NFS (both nfsv3 and v4) as an aufs branch in
linux-2.6.19 and later.

Index: README
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + CONFIG_AUFS_PUT_FILP and CONFIG_AUFS_LHASH_PATCH must be enabled
when using NFS (both nfsv3 and v4) as an aufs branch in
linux-2.6.19 and later.

Index: fs/aufs/Makefile
- bugfix: when aufs is liked statically, /tmp/aufsvars.mk is
  unnecessary, reported by Tapani Raikkonen.

Index: fs/aufs/aufs.h
- move the definition of au_subsys_t from sysaufs.h from aufs.h.
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + CONFIG_AUFS_FAKE_DM must be disabled when using NFS (both nfsv3
and v4) as an aufs branch in linux-2.6.19 and later.
  + CONFIG_AUFS_PUT_FILP and CONFIG_AUFS_LHASH_PATCH must be enabled
when using NFS (both nfsv3 and v4) as an aufs branch in
linux-2.6.19 and later.
- refine ignoring the internal inotify.
  + remove hin_ignore.h introduce in last ci.

Index: fs/aufs/branch.c
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + gave up calling generic vfs_path_lookup() because aufs has to
unlock the dir mutex temporary which must be inacceptable. and
reverting the locking order of br_wh_rwsem in last ci.
  + handle nfsv4 in the same way as nfsv3 by lhash.patch.
- refine ignoring the internal inotify.
  + a new macro init_hinotify() as a simple wrapper.

Index: fs/aufs/branch.h
Index: fs/aufs/dir.c
Index: fs/aufs/opts.c
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + gave up calling generic vfs_path_lookup() because aufs has to
unlock the dir mutex temporary which must be inacceptable. and
reverting the locking order of br_wh_rwsem in last ci.

Index: fs/aufs/cpup.c
- refine ignoring the internal inotify.
  + add a parameter to dtime_restore().
  + revert a parameter of some vfsub functions.
  + rename vfsub_init() to vfsub_args_init().
  + new function vfsub_ign_hinode().
- support nfsv4 branch with improving nfsv3 branch (still testing)
  + use nameidata for the internal file creation with disabling
CONFIG_AUFS_FAKE_DM, new function fake_nd_create().
  + gave up calling generic vfs_path_lookup() because aufs has to
unlock the dir mutex temporary which must be inacceptable. and
reverting the locking order of br_wh_rwsem in last ci.
- reduce IMustLock() debug macro with centralizing into vfsub
  functions.

Index: fs/aufs/cpup.h

aufs Monday release

2007-09-23 Thread sfjro

o bugfix
- bugfix: whiteout list may be obsoleted while aufs was sleeping,
  reported by Torsten Luettgert.

o news
- begin supporting linux-2.6.23, still testing on rc6.
  + support splice(2).
  + introduce aufs_fault().
  + new patches and configurations,
* splice-2.6.23.patch + AUFS_SPLICE_PATCH
* put_flip.patch + AUFS_PUT_FILP_PATCH
* sysfs_get_dentry.patch + AUFS_SYSFS_GET_DENTRY_PATCH
  + generate an auxiliary makefile /tmp/aufsvars.mk
  + remove a parameter from kmem_cache_create().
- begin supporting nfsv4, still testing.
  + support atomic_lookup and atomic_open.
  + refine the definition of AuNoNfsBranch, and move from branch.h to
aufs.h.
  + lock br_wh_rwsem before h_dir, since aufs has to release the mutex
for h_dir before vfs_path_lookup() and then lock it again.
  + add an argument to hidden_open() as search-key.
  + prepend prefix 'au_' to lkup_hash(), lkup_one(), do_lookup() and
sio_lkup_one().
  + introduce au_fake_intent(), au_hin_after_reval() and au_lkup_intent().
  + add some members to struct lkup_args and set prefix 'au_'.

o misc
- describe about patches.
- introduce a counter for the internal inotify events to be ignored,
  unfinished and most of them will be removed soon.
  + new header file hin_ignore.h.
  + stop locking the hidden parent dir.


Junjiro Okajima

--

Index: Kconfig.in
- begin supporting linux-2.6.23, still testing on rc6.
  + new patches and configurations,
* splice-2.6.23.patch + AUFS_SPLICE_PATCH
* put_flip.patch + AUFS_PUT_FILP_PATCH
* sysfs_get_dentry.patch + AUFS_SYSFS_GET_DENTRY_PATCH

Index: README
- describe about patches.

Index: local.mk
- begin supporting linux-2.6.23, still testing on rc6.
  + new patches and configurations,
* splice-2.6.23.patch + AUFS_SPLICE_PATCH
* put_flip.patch + AUFS_PUT_FILP_PATCH
* sysfs_get_dentry.patch + AUFS_SYSFS_GET_DENTRY_PATCH
  + generate an auxiliary makefile /tmp/aufsvars.mk

Index: vserver.patch
- refined simply.

Index: fs/aufs/aufs.h
- begin supporting nfsv4, still testing.
  + refine the definition of AuNoNfsBranch, and move from branch.h to
aufs.h.
- introduce a counter for the internal inotify events to be ignored,
  unfinished and most of them will be removed soon.
  + new header file hin_ignore.h.

Index: fs/aufs/branch.c
Index: fs/aufs/branch.h
- begin supporting nfsv4, still testing.
  + lock br_wh_rwsem before h_dir, since aufs has to release the mutex
for h_dir before vfs_path_lookup() and then lock it again.
  + refine the definition of AuNoNfsBranch, and move from branch.h to
aufs.h.

Index: fs/aufs/cpup.c
- introduce a counter for the internal inotify events to be ignored,
  unfinished and most of them will be removed soon.
- begin supporting nfsv4, still testing.
  + lock br_wh_rwsem before h_dir, since aufs has to release the mutex
for h_dir before vfs_path_lookup() and then lock it again.
  + add an argument to hidden_open() as search-key.
  + support atomic_lookup and atomic_open.

Index: fs/aufs/cpup.h
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
Index: fs/aufs/module.h
Index: fs/aufs/super.c
- introduce a counter for the internal inotify events to be ignored,
  unfinished and most of them will be removed soon.

Index: fs/aufs/debug.c
- begin supporting nfsv4, still testing.
  + print intent.open list.

Index: fs/aufs/dentry.c
Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
- begin supporting nfsv4, still testing.
  + prepend prefix 'au_' to lkup_hash(), lkup_one(), do_lookup() and
sio_lkup_one().
  + introduce au_fake_intent(), au_hin_after_reval() and au_lkup_intent().
  + support atomic_lookup and atomic_open.
  + add some members to struct lkup_args and set prefix 'au_'.

Index: fs/aufs/dir.c
Index: fs/aufs/file.c
Index: fs/aufs/file.h
- begin supporting nfsv4, still testing.
  + add an argument to hidden_open() as search-key.
  + support atomic_lookup and atomic_open.
  + lock br_wh_rwsem before h_dir, since aufs has to release the mutex
for h_dir before vfs_path_lookup() and then lock it again.

Index: fs/aufs/f_op.c
- begin supporting nfsv4, still testing.
  + add an argument to hidden_open() as search-key.
- introduce a counter for the internal inotify events to be ignored,
  unfinished and most of them will be removed soon.
  + stop locking the hidden parent dir.
- begin supporting linux-2.6.23, still testing on rc6.
  + support splice(2).
  + introduce aufs_fault().

Index: fs/aufs/hinode.h
Index: fs/aufs/opts.c
- begin supporting nfsv4, still testing.
  + lock br_wh_rwsem before h_dir, since aufs has to release the mutex
for h_dir before vfs_path_lookup() and then lock it again.

Index: fs/aufs/hinotify.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
- begin supporting nfsv4, still testing.
  + support atomic_lookup and atomic

aufs Monday release

2007-09-16 Thread sfjro

o bugfix
- bugfix: according to C99 6.10.3, the behaviour is undefined for
  preprocessor directive within a macro argument, reported by Al Boldi
  on linux-fsdevel ML.
- bugfix: replace the preceding single quotation by backquote,
  reported by Tomas M.

o news
- introducing a new patch for openvz, openvz_028stab039.1.patch.
- preparing to support linux-2.6.23 (unfinished)
  + new configuration CONFIG_AUFS_SPLICE_PATCH and
CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.
  + generate an auxiliary makefile /tmp/aufsvars.mk
  + begin supporting nfsv4, calling new VFS function vfs_path_lookup().
  + new functions for default nfs export operations.
  + support splice(2), and sendfile operation is dropped.
  + support inode operation truncate_range() and fallocate().
  + the function signature of kmem_cache_create() is changed.
  + warn about CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH and
CONFIG_AUFS_SPLICE_PATCH at compile time.
  + the parameter of bin_attribute.{read,write}() is changed.

o misc
- new configuration CONFIG_AUFS_RR_SQUASHFS.
  + rename au_is_rr() to au_is_def_rr() and make it simple.
  + udf is not set RR by default, suggested by Tomas M.
- remove a configuration CONFIG_AUFS_ISSUBDIR_PATCH which has less
  meaning.
- refine the AUFS_BRANCH_MAX warning message at compile time.


Junjiro Okajima

--

Index: Kconfig.in
- new configuration CONFIG_AUFS_RR_SQUASHFS.
- preparing to support linux-2.6.23 (unfinished)
  + new configuration CONFIG_AUFS_SPLICE_PATCH,
CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH.

Index: local.mk
- preparing to support linux-2.6.23 (unfinished)
  + new configuration CONFIG_AUFS_SPLICE_PATCH,
CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH and CONFIG_AUFS_RR_SQUASHFS.
  + generate an auxiliary makefile /tmp/aufsvars.mk
- remove a configuration CONFIG_AUFS_ISSUBDIR_PATCH which has less
  meaning.

Index: fs/aufs/Makefile
- preparing to support linux-2.6.23 (unfinished)
  + generate an auxiliary makefile /tmp/aufsvars.mk
- new configuration CONFIG_AUFS_RR_SQUASHFS.

Index: fs/aufs/aufs.h
- remove a configuration CONFIG_AUFS_ISSUBDIR_PATCH which has less
  meaning.

Index: fs/aufs/branch.c
- new configuration CONFIG_AUFS_RR_SQUASHFS.
  + rename au_is_rr() to au_is_def_rr() and make it simple.
  + udf is not set RR by default, reported by Tomas M.
- preparing to support linux-2.6.23 (unfinished)
  + begin supporting nfsv4.

Index: fs/aufs/branch.h
- new configuration CONFIG_AUFS_RR_SQUASHFS.
  + rename au_is_rr() to au_is_def_rr().

Index: fs/aufs/dcsub.c
- remove a configuration CONFIG_AUFS_ISSUBDIR_PATCH which has less
  meaning.

Index: fs/aufs/dentry.c
- bugfix: according to C99 6.10.3, the behaviour is undefined for
  preprocessor directive within a macro argument, reported by Al Boldi
  on linux-fsdevel ML.

Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
- preparing to support linux-2.6.23 (unfinished)
  + begin supporting nfsv4.

Index: fs/aufs/export.c
- preparing to support linux-2.6.23 (unfinished)
  + new functions for default nfs export operations.

Index: fs/aufs/f_op.c
- preparing to support linux-2.6.23 (unfinished)
  + support splice(2), and sendfile operation is dropped.

Index: fs/aufs/i_op.c
- preparing to support linux-2.6.23 (unfinished)
  + support inode operation truncate_range() and fallocate().

Index: fs/aufs/module.c
- preparing to support linux-2.6.23 (unfinished)
  + the function signature of kmem_cache_create() is changed.
  + warn about CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH and
CONFIG_AUFS_SPLICE_PATCH at compile time.
- refine the AUFS_BRANCH_MAX warning message at compile time.

Index: fs/aufs/opts.c
- new configuration CONFIG_AUFS_RR_SQUASHFS.
  + rename au_is_rr() to au_is_def_rr().

Index: fs/aufs/sysaufs.c
- preparing to support linux-2.6.23 (unfinished)
  + new configuration CONFIG_AUFS_SPLICE_PATCH,
CONFIG_AUFS_SYSFS_GET_DENTRY_PATCH and CONFIG_AUFS_RR_SQUASHFS.
  + the parameter of bin_attribute.{read,write}() is changed.
- remove a configuration CONFIG_AUFS_ISSUBDIR_PATCH which has less
  meaning.

Index: fs/aufs/vfsub.c
- preparing to support linux-2.6.23 (unfinished)
  + support splice(2).

Index: fs/aufs/vfsub.h
- preparing to support linux-2.6.23 (unfinished)
  + support splice(2).
  + begin supporting nfsv4, calling new VFS function vfs_path_lookup().

Index: sample/linux-vserver.txt
- refined simply.

Index: util/aufs.in.5
- bugfix: replace the preceding single quotation by backquote,
  reported by Tomas M.

Index: fs/aufs/cpup.c
Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs/file.c
Index: fs/aufs/hinotify.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.c
Index: fs/aufs/super.h
Index: fs/aufs/xino.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R

aufs Monday release

2007-09-09 Thread sfjro

o news
- a new sample, sample/linux-vserver.txt
- update vserver.patch


Junjiro Okajima

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/


aufs Monday release

2007-09-02 Thread sfjro

o news
- the dlgt option is revealed.

o bugfix
- bugfix: handling whiteout in dlgt mode.
- bugfix: support umask in dlgt mode.


Junjiro Okajima

--

Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_ren.c
- bugfix: handling whiteout in dlgt mode.

Index: fs/aufs/wkq.c
- bugfix: support umask in dlgt mode.

Index: Kconfig.in
Index: local.mk
Index: util/aufs.in.5
- uncomment AUFS_DLGT and dlgt option.

Index: include/linux/aufs_type.h
- less important change.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-08-26 Thread sfjro

minor update a document for sample/uloop.
no news is good news.

Junjiro Okajima

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-08-19 Thread sfjro

- fixing typos, reported by Justin Pryzby.
- refine au_update_fuse_h_inode(), reported by Tomas M.
  + stop creating temporary anonymous dentry.
  + more verbose debug print.

Junjiro Okajima

--
Index: fs/aufs/i_op.c
- refine au_update_fuse_h_inode(),
  + stop creating temporary anonymous dentry.

Index: fs/aufs/vfsub.c
- refine au_update_fuse_h_inode(),
  + more verbose debug print.

Index: README
Index: fs/aufs/branch.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-08-12 Thread sfjro

o bugfix
- bugfix: force unlinking when CONFIG_AUFS_DLGT is enabled.
- bugfix: neg to pos by udba case. it is degrade bug which was born on
  2 July.
- bugfix: an error code of reval_inode().

o misc
- refine au_update_fuse_h_inode(),
  + wrapping by vfsub routines.
  + vfsub wrapper for __lookup_hash() and lookup_one_len().
  + remove dlgt in h_d_revalidate().
  + call it from fsync_dir() and aufs_fsync_dir().
  + call it from aufs_flush(), aufs_mmap(), aufs_sendfile() and
aufs_fsync_nondir().
  + support getattr operation.
  + call it from hidden_readlink()
  + stop calling it from au_copy_file().
  + extract a part of if as a new macro au_is_fuse(), and move it from
vfsub.c to super.h.
  + call it from call_notify_change()
  + do not support dlgt option.
  + alwasy ignore the error code.
  + call it for the target dentry and its parent from
do_vfsub_create(), do_vfsub_symlink(), do_vfsub_mknod(),
do_vfsub_link(), do_vfsub_rename(), do_vfsub_mkdir(),
do_vfsub_rmdir(), do_vfsub_unlink(), do_vfsub_read_u(),
do_vfsub_write_u() and do_vfsub_readdir().
  + call it from do_xino_fwrite().
  + do not call it from xib_pindex(), xino_new_ino(), xino_read(),
xino_create2(), do_xib_restore() and xino_set_xib().


Junjiro Okajima

--

Index: fs/aufs/cpup.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/plink.c
Index: fs/aufs/whout.c
- bugfix: force unlinking when CONFIG_AUFS_DLGT is enabled.

Index: fs/aufs/dentry.c
- refine au_update_fuse_h_inode(),
  + wrapping by vfsub routines.
  + vfsub wrapper for __lookup_hash() and lookup_one_len().
  + remove dlgt in h_d_revalidate().

Index: fs/aufs/dentry.h
Index: fs/aufs/export.c
- refine au_update_fuse_h_inode(),
  + vfsub wrapper for __lookup_hash() and lookup_one_len().

Index: fs/aufs/dir.c
- refine au_update_fuse_h_inode(),
  + call it from fsync_dir() and aufs_fsync_dir().

Index: fs/aufs/f_op.c
- refine au_update_fuse_h_inode(),
  + call it from aufs_flush(), aufs_mmap(), aufs_sendfile() and
aufs_fsync_nondir().

Index: fs/aufs/hinotify.c
- bugfix: neg to pos by udba case. it is degrade bug which was born on
  2 July.

Index: fs/aufs/i_op.c
- refine au_update_fuse_h_inode(),
  + support getattr operation.
  + call it from hidden_readlink()

Index: fs/aufs/inode.c
- bugfix: an error code of reval_inode().

Index: fs/aufs/misc.c
- refine au_update_fuse_h_inode(),
  + stop calling it from au_copy_file().

Index: fs/aufs/super.h
- refine au_update_fuse_h_inode(),
  + extract a part of if as a new macro au_is_fuse(), and move it from
vfsub.c to super.h.

Index: fs/aufs/vfsub.c
- refine au_update_fuse_h_inode(),
  + call it from call_notify_change()
  + do not support dlgt option.
- bugfix: force unlinking when CONFIG_AUFS_DLGT is enabled.

Index: fs/aufs/vfsub.h
- refine au_update_fuse_h_inode(),
  + do not support dlgt option.
  + alwasy ignore the error code.
  + vfsub wrapper for __lookup_hash() and lookup_one_len().
  + call it for the target dentry and its parent from
do_vfsub_create(), do_vfsub_symlink(), do_vfsub_mknod(),
do_vfsub_link(), do_vfsub_rename(), do_vfsub_mkdir(),
do_vfsub_rmdir(), do_vfsub_unlink(), do_vfsub_read_u(),
do_vfsub_write_u() and do_vfsub_readdir().
  + extract a part of if as a new macro au_is_fuse(), and move it from
vfsub.c to super.h.
- bugfix: force unlinking when CONFIG_AUFS_DLGT is enabled.

Index: fs/aufs/xino.c
- refine au_update_fuse_h_inode(),
  + call it from do_xino_fwrite().
  + do not call it from xib_pindex(), xino_new_ino(), xino_read(),
xino_create2(), do_xib_restore() and xino_set_xib().
- bugfix: force unlinking when CONFIG_AUFS_DLGT is enabled.

Index: Kconfig.in
Index: README
Index: fs/aufs/file.c
Index: fs/aufs/module.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-08-05 Thread sfjro

o news
- new sample, ULOOP driver and a daemon for http.

o misc
- describe about EXDEV error of rename(2) dir, reported by Jorgen
  P. Tjerno.
- stop unnecessary getattr for fuse.


Junjiro Okajima

--
Index: fs/aufs/vfsub.c
- stop unnecessary getattr for fuse.

Index: util/aufs.in.5
- describe about EXDEV error of rename(2) dir, reported by Jorgen
  P. Tjerno.

Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-07-29 Thread sfjro

o news
- gave up supporting multiple xino files per a branch, which means the
  limitation of the largest value of inode number remains.
- introduce CONFIG_AUFS_WORKAROUND_FUSE.
- support fuse inode at copyup.
- add a note about user's Makefile, posted by Russell Harmon.
- add Acknowledgements.

o misc
- more verbose at deleteing a branch.
- warn before processing a large file when CONFIG_AUFS_DEBUG is
  enabled.
- refine calling au_update_fuse_h_inode().
- begin of splice_read(), introducing au_is_loopback().
- stop using ARRAY_SIZE() macro since sparse warns.


Junjiro Okajima

--

Index: Kconfig.in
Index: local.mk
- introduce CONFIG_AUFS_WORKAROUND_FUSE.

Index: README
- add a note about user's Makefile, posted by Russell Harmon.
- add Acknowledgements.

Index: fs/aufs/branch.c
- more verbose at deleteing a branch.

Index: fs/aufs/branch.h
Index: util/aufs.in.5
- gave up supporting multiple xino files per a branch.

Index: fs/aufs/dentry.c
- refine calling au_update_fuse_h_inode().

Index: fs/aufs/f_op.c
- begin of splice_read(), introducing au_is_loopback().

Index: fs/aufs/misc.c
- warn before processing a large file when CONFIG_AUFS_DEBUG is
  enabled.
- support fuse inode at copyup.

Index: fs/aufs/sbinfo.c
- support xino file on fuse.

Index: fs/aufs/sysaufs.c
- stop using ARRAY_SIZE() macro since sparse warns.

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- begin of splice_read().
- new function vfsub_getattr().
- move au_update_fuse_h_inode() from vfsub.h to vfsub.c, supporting
  'dlgt.'

Index: fs/aufs/xino.c
- gave up supporting multiple xino files per a branch.
- support xino file on fuse.
- warn before processing a large file when CONFIG_AUFS_DEBUG is
  enabled.

Index: fs/aufs/debug.c
Index: fs/aufs/super.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-07-22 Thread sfjro

o bugfix
- bugfix: sysrq.h requires errno.h when MagicSysRq is disabled,
  reported by Christian Hoffmann.

o news
- beginning of a temporary workaround for fuse, make lookup-ed inode
  attribute reliable.
- support larger inode number
- there is a limitation of the largest value of inode number which
  will be address in the future.

o misc
- use fs-magic number instead of fs-type string.


Junjiro Okajima

--

Index: Kconfig.in
Index: local.mk
Index: fs/aufs/Makefile
Index: fs/aufs/dentry.c
Index: fs/aufs/export.c
Index: fs/aufs/opts.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- beginning of a temporary workaround for fuse, make lookup-ed inode
  attribute reliable.

Index: fs/aufs/debug.c
- bugfix: sysrq.h requires errno.h when MagicSysRq is disabled,
  reported by Christian Hoffmann.

Index: fs/aufs/super.h
- use fs-magic number instead of fs-type string.
- support larger inode number

Index: fs/aufs/xino.c
- support larger inode number
- there is a limitation of the largest value of inode number which
  will be address in the future.

Index: util/aufs.in.5
- there is a limitation of the largest value of inode number which
  will be address in the future.

Index: fs/aufs/branch.h
Index: fs/aufs/module.c
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/


aufs Monday release

2007-07-15 Thread sfjro

o current problems
- setting inode number which was previously assigned ("broken ino"
  msg) (fixed).
- getdents(2) returns nothing. (fixed)
- cpup_wh_file() failure. (fixed)

o bugfix
- bugfix: cpup whiteout which was called #2 in last ci.

o news
- begin supporting linux-2.6.22
  + introduce lhash patch for 2.6.22.
  + no more ksize.patch.
- introduce new branch permission 'rr.'
  + rename au_is_ro() to au_is_rr().
- introduce new (re)mount option, 'verbose' family, currenlty for
  deleting a branch only.
- support MagicSysRq key for debugging.

o misc
- testing CONFIG_AUFS_ROBR.
- testing new mount option for 'refreshing opened file'
  + a generation to branch.
  + typedef for every generation data.
  + stop packing branch id and si generation.
  + return of 'coo' option.
- discard pre-allocated block for xino bitmap.
- add a note about unmouting ore remounting root aufs at shutdown
  time.
- minor optimization for handling udba=inotify.
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().
- print inotify info for inode.
- move lock subclasses from hinode.h to vfsub.h.


Junjiro Okajima

--

Index: Kconfig.in
- testing CONFIG_AUFS_ROBR.
- begin supporting linux-2.6.22
  + introduce lhash patch for 2.6.22.

Index: fs/aufs/aufs.h
- begin supporting linux-2.6.22
  + no more ksize.patch.

Index: fs/aufs/branch.c
- introduce new branch permission 'rr.'
  + rename au_is_ro() to au_is_rr().
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().
- testing new mount option for 'refreshing opened file'
  + a generation to branch.
  + typedef for every generation data.
- introduce new (re)mount option, 'verbose' family, currenlty for
  deleting a branch only.

Index: fs/aufs/branch.h
- begin supporting linux-2.6.22
  + introduce lhash patch for 2.6.22.
- testing new mount option for 'refreshing opened file'
  + a generation to branch.
- introduce new branch permission 'rr.'
  + rename au_is_ro() to au_is_rr().

Index: fs/aufs/cpup.c
Index: fs/aufs/f_op.c
Index: fs/aufs/i_op_ren.c
- minor optimization for handling udba=inotify.
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().

Index: fs/aufs/debug.c
- support MagicSysRq key for debugging.
- begin supporting linux-2.6.22
  + no more ksize.patch.
- print inotify info for inode.

Index: fs/aufs/debug.h
- support MagicSysRq key for debugging.
- introduce new (re)mount option, 'verbose' family, currenlty for
  deleting a branch only.

Index: fs/aufs/dentry.c
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().
- minor optimization for handling udba=inotify.
- testing new mount option for 'refreshing opened file'
  + typedef for every generation data.

Index: fs/aufs/dentry.h
Index: fs/aufs/file.h
Index: fs/aufs/inode.h
Index: fs/aufs/misc.h
Index: fs/aufs/sbinfo.c
- testing new mount option for 'refreshing opened file'
  + typedef for every generation data.

Index: fs/aufs/dir.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/plink.c
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().

Index: fs/aufs/export.c
- testing new mount option for 'refreshing opened file'
  + typedef for every generation data.
  + stop packing branch id and si generation.

Index: fs/aufs/file.c
- minor optimization for handling udba=inotify.
- testing new mount option for 'refreshing opened file'
  + return of 'coo' option.
  + typedef for every generation data.
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().
- bugfix: cpup whiteout which was called #2 in last ci.

Index: fs/aufs/hinode.h
- move lock subclasses to vfsub.h.
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().

Index: fs/aufs/i_op.c
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().
- minor optimization for handling udba=inotify.
- bugfix: cpup whiteout which was called #2 in last ci.

Index: fs/aufs/i_op_del.c
Index: fs/aufs/iinfo.c
- minor optimization for handling udba=inotify.

Index: fs/aufs/misc.c
- begin supporting linux-2.6.22
  + no more ksize.patch.
- rename hi_lock_XXX() to vfsub_i_lock_nested().
- rename hi_unlock() to vfsub_i_unlock().

Index: fs/aufs/module.c
- support MagicSysRq key for debugging.
- begin supporting linux-2.6.22
  + no more ksize.patch.

Index: fs/aufs/module.h
Index: fs/aufs/sysaufs.h
- support MagicSysRq key for debugging.

Index: fs/aufs/opts.c
- introduce new (re)mount option, 'verbose' family, currenlty for
  deleting a branch only.
- testing new mount option for 'refreshing opened file'
  + return of 'coo' option.
- introduce new branch permission 'rr.'
- minor optimization for handling udba=inotify.

Index: fs/aufs/opts.h
- testing new mount option for 'refreshing opened file'
  + return of 'coo' option.

Index: fs/aufs/su

aufs Monday release

2007-07-08 Thread sfjro

o current problems
- setting inode number which was previously assigned ("broken ino"
  msg) (testing).
- getdents(2) returns nothing. this may involve two problems. (it was
  one. testing)
- cpup_wh_file() failure. (testing)

o bugfix
- bugfix: force rewind at re-initializing vdir, reported by Michael
  Towers, Jorgen P. Tjerno and Sandino Flores Moreno.
- bugfix: copyup unlinked file.
  + bug #1, the file may or may not be opened, aufs needs to hold the
copied-up temporary dentry, reported by Andreas Baetz.
  + bug #2, the file may be opened in multiple times.
  + stop dropping in cpup_regular().
  + revert AuDebugOn() from temporary WARN_ON().
  + move cpup_wh_file() in file.c to cpup.c as generic cpup_wh().
  + print wh_dentry in iinfo.
  + set wh_dentry in iifno.
  + call cpup_wh() when the file was removed.
- bugfix: overflow in multiply, reported by Jorgen P. Tjerno and Alexey
  Bazhin.
- bugfix: possible overflow in multiply.

o misc
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.
- maintain the number of 'nowait' tasks.
- testing where si_read_trylock() should be called.
- testing CONFIG_AUFS_ROBR
- ksize.patch will be unnecessary after linux-2.6.22, kzrealloc() calls
  krealloc().
- extract a part of inode.h as a new file hinode.h.
- support lockdep at removing nfs branch.
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- rename i_lock/unlock() to vfsub_i_lock/unlock().
- rename filldir_ino_t to au_filldir_ino_t.
- rename AUFS_{DEBLK,NHASH}_SIZE to AuSize_{DEBLK,NHASH}.
- refine the message string.
- move au_hinotifyq to wkq.h as au_nowait_tasks, new inline functions
  au_nwt_{init,inc,dec,flush}().
- move read/writef_t to super.h.
- rename find_sb_locked() to find_sb_lock().
- extract a part of this file as vserver.patch.
- consolidate arguments of do_diropq() as flags.
- consolidate arguments of au_wkq_run() as flags.
- testing FaunOS.


Junjiro Okajima

--

Index: Kconfig.in
Index: fs/aufs/module.c
- ksize.patch will be unnecessary after linux-2.6.22.

Index: vserver.patch
- forgot to check-in last week.

Index: fs/aufs/aufs.h
- introduce a new header file hinode.h.

Index: fs/aufs/branch.c
- support lockdep at removing nfs branch.
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().
- testing CONFIG_AUFS_ROBR
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].

Index: fs/aufs/cpup.c
- bugfix: copyup unlinked file.
  + bug #1, the file may or may not be opened, aufs needs to hold the
copied-up temporary dentry, reported by Andreas Baetz.
  + bug #2, the file may be opened in multiple times.
  + stop dropping in cpup_regular().
  + revert AuDebugOn() from temporary WARN_ON().
  + move cpup_wh_file() in file.c to cpup.c as generic cpup_wh().
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].

Index: fs/aufs/cpup.h
- bugfix: copyup unlinked file.
  + move cpup_wh_file() in file.c to cpup.c as generic cpup_wh().

Index: fs/aufs/debug.c
- rename AUFS_NHASH_SIZE to AuSize_NHASH.
- bugfix: copyup unlinked file.
  + print wh_dentry in iinfo.

Index: fs/aufs/dentry.c
- testing CONFIG_AUFS_ROBR
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.

Index: fs/aufs/dinfo.c
Index: fs/aufs/i_op_del.c
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].

Index: fs/aufs/dir.c
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.
- rename i_lock/unlock() to vfsub_i_lock/unlock().
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- rename filldir_ino_t to au_filldir_ino_t.

Index: fs/aufs/dir.h
- use typedef instead of macro.
- rename AUFS_{DEBLK,NHASH}_SIZE to AuSize_{DEBLK,NHASH}.

Index: fs/aufs/export.c
- rename filldir_ino_t to au_filldir_ino_t.
- rename i_lock/unlock() to vfsub_i_lock/unlock().
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.
- testing CONFIG_AUFS_ROBR

Index: fs/aufs/f_op.c
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- rename i_lock/unlock() to vfsub_i_lock/unlock().
- testing CONFIG_AUFS_ROBR
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().

Index: fs/aufs/file.c
- use hi_lock/unlock() for a hidden inodes, instead of i_lock/unlock().
- si_read/write_lock() supports AuLock_FLUSH which flushes the
  remaining hinotify hanlder.
- rename AUFS_[ID]_[RW]LOCK to AuLock_[ID][RW].
- bugfix: copyup unlinked file.
  + move cpup_wh_file() in file.c to cpup.c as generic cpup_wh().
  + set wh_dentry in iifno.

Index: fs/aufs/hinotif

aufs Monday release

2007-07-01 Thread sfjro

o current problems
- isolated inode survived deleting a branch (done).
- hang at reboot/shutdown (it may not be an aufs problem) (tried fixing).
- setting inode number which was previously assigned ("broken ino"
  msg) (testing).
- getdents(2) returns nothing. this may involve two problems.
- cpup_wh_file() failure.

o bugfix
- bugfix: use SMP-safe atomic_{inc,dec}_return().
- bugfix: memory barrier after atomic_set().
- bugfix: make lower dir opaque even if it is emptry, to keep xino consistency.

o news
- introduce external inode number bitmap.
  + remove backward compatibility atomic_long.
  + rename xino_init() to xino_br().
  + move br_xino_{read,write} to si_x{read,write}.
  + check the unlinked but remaining pseudo-link.
  + leave xino for the remove file/dir, instead clear them in iinfo.
  + maintain inode attributes and xino for the rename-target and the
lower rename-source.
  + maintain xino for the removed file.
  + new options 'trunc_xib' and 'notrunc_xib'
  + truncate the xino bitmap at deleting a branch by default.
  + show the bitmap file size in sysfs.
  + free the bitmap buffer at unmouting.
- refine hinotify.
  + wait for the completion of 'notified' tasks at revalidating.
  + wait for the completion of 'notified' tasks at lookup.
  + re-construct internal functions.
  + support clearing xino
  + maintain digen recursively when a dir was renamed
  + introduce wait-able 'nowait' task.
  + stop unnecessary write to xino.
  + support for whiteouts.
  + stop unnecessary digen in IN_MOVE_SELF.
  + leave digen for the renamed dir.
  + modify the 'broken ino' msg to reflect the problem correctly.
- describe about the inode number of the directly renamed dir and its
  warning, which was called incorrectly as 'broken ino' msg.

o misc
- describe about the compilation on a distribution (or customized)
  kernel.
- I forgot to mention about /etc/default/auplink
- rename 'changable' to 'changeable.'
- warn about aufs specific EXDEV error.
- define rw_{read,write}_trylock().
- rename 'au_xxx_opts()' to 'au_opts_xxx().'
- warn inotify without xino.
- move need_dlgt() from vfsub.h to to super.h.
- temporary support for imod option.
- introduce rt-compat.patch.


Junjiro Okajima

--

Index: README
- describe about the compilation on a distribution (or customized)
  kernel.
- I forgot to mention about /etc/default/auplink

Index: fs/aufs/aufs.h
- introduce external inode number bitmap.
  + remove backward compatibility atomic_long.

Index: fs/aufs/branch.c
- introduce external inode number bitmap.
  + rename xino_init() to xino_br().

Index: fs/aufs/branch.h
- introduce external inode number bitmap.
  + move br_xino_{read,write} to si_x{read,write}.
- bugfix: use SMP-safe atomic_{inc,dec}_return().

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
- rename 'changable' to 'changeable.'

Index: fs/aufs/debug.c
- bugfix: memory barrier after atomic_set().

Index: fs/aufs/debug.h
Index: fs/aufs/dentry.h
Index: fs/aufs/vfsub.c
Index: fs/aufs/whout.c
Index: fs/aufs/wkq.c
- bugfix: use SMP-safe atomic_{inc,dec}_return().

Index: fs/aufs/dentry.c
- refine hinotify.
  + wait for the completion of 'notified' tasks at revalidating.

Index: fs/aufs/hinotify.c
- refine hinotify.
  + re-construct internal functions.
  + support clearing xino
  + maintain digen recursively when a dir was renamed
  + introduce wait-able 'nowait' task.
  + stop unnecessary write to xino.
  + support for whiteouts.
  + stop unnecessary digen in IN_MOVE_SELF.

Index: fs/aufs/i_op.c
- refine hinotify.
  + wait for the completion of 'notified' tasks at lookup.
- rename 'changable' to 'changeable.'

Index: fs/aufs/i_op_add.c
- introduce external inode number bitmap.
  + check the unlinked but remaining pseudo-link.

Index: fs/aufs/i_op_del.c
- introduce external inode number bitmap.
  + leave xino for the remove file/dir, instead clear them in iinfo.

Index: fs/aufs/i_op_ren.c
- bugfix: make lower dir opaque even if it is emptry, to keep xino consistency.
- refine hinotify.
  + leave digen for the renamed dir.
- warn about aufs specific EXDEV error.
- introduce external inode number bitmap.
  + maintain inode attributes and xino for the rename-target and the
lower rename-source.

Index: fs/aufs/iinfo.c
- introduce external inode number bitmap.
  + maintain xino for the removed file.

Index: fs/aufs/inode.c
- introduce external inode number bitmap.
  + modify the 'broken ino' msg to reflect the problem correctly.

Index: fs/aufs/inode.h
- bugfix: use SMP-safe atomic_{inc,dec}_return().
- refine hinotify.
  + introduce wait-able 'nowait' task.

Index: fs/aufs/misc.h
- bugfix: use SMP-safe atomic_{inc,dec}_return().
- bugfix: memory barrier after atomic_set().
- define rw_{read,write}_trylock().

Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
- introduce external inode number bitmap.
  + new options 'trunc_xib' and 'notrunc_xib'
  + truncate the xino bitmap at deleting a branch b

aufs Monday release

2007-06-24 Thread sfjro

o current problem
- isolated inode survived deleting a branch (still testing).
- getdents(2) returns nothing.
- cpup_wh_file() failure.
- setting inode number which was previously assigned ("broken ino"
  msg).
- hang at reboot/shutdown (it may not be an aufs problem).

o bugfix
- bugfix: skip non-aufs files at chaging the branch permission,
  reported by Igor Karasynskyi.
- bugfix: test isolated inodes too at deleting branch, reported by
  Tomas M.
- bugfix: call iput() for the isolated inode on the deleted branch,
  reported by Tomas M.
- bugfix: detect newly appeared whiteout which exists on a inserted
  branch.
- bugfix: refresh all dentries and inodes when adding/modifying a
  whiteout-able branch, and deleting a branch.

o news
- temporary workaround for the inode number 1 on cramfs.
- note for discontigous inode numbers.

o misc
- refine option handling and some function arguments.
- stop firing inotify when rename_whtmp().
- restore iigen after fired inotify when rename dir.
- set 0 to bindex explicitly when prepending a branch.
- testing cpup, xino, MagicSysRq key.


Junjiro Okajima

--

Index: fs/aufs/branch.c
- bugfix: test isolated inodes too at deleting branch, reported by
  Tomas M.
- bugfix: skip non-aufs files at chaging the branch permission,
  reported by Igor Karasynskyi.

Index: fs/aufs/cpup.c
- testing cpup bug.

Index: fs/aufs/dentry.c
- bugfix: detect newly appeared whiteout which exists on a inserted
  branch.

Index: fs/aufs/i_op_del.c
- stop firing inotify when rename_whtmp().

Index: fs/aufs/i_op_ren.c
- restore iigen after fired inotify when rename dir.

Index: fs/aufs/inode.c
- bugfix: call iput() for the isolated inode on the deleted branch,
  reported by Tomas M.

Index: fs/aufs/inode.h
- bugfix: call iput() for the isolated inode on the deleted branch,
  reported by Tomas M.
- restore iigen after fired inotify when rename dir.

Index: fs/aufs/Makefile
Index: fs/aufs/aufs.h
Index: fs/aufs/module.c
Index: fs/aufs/module.h
Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
- testing MagicSysRq key.

Index: fs/aufs/opts.c
- testing xino bitmap.
- set 0 to bindex explicitly when prepending a branch.
- refine option handling and some function arguments.
- bugfix: refresh all dentries and inodes when adding/modifying a
  whiteout-able branch, and deleting a branch.

Index: fs/aufs/opts.h
- testing xino bitmap.
- refine option handling and some function arguments.

Index: fs/aufs/sbinfo.c
- testing xino bitmap.

Index: fs/aufs/super.c
- testing xino bitmap.
- bugfix: call iput() for the isolated inode on the deleted branch,
  reported by Tomas M.
- bugfix: refresh all dentries and inodes when adding/modifying a
  whiteout-able branch, and deleting a branch.

Index: fs/aufs/super.h
- testing xino bitmap.
- temporary workaround for the inode number 1 on cramfs.

Index: fs/aufs/vdir.c
- testing readdir.

Index: fs/aufs/xino.c
- testing xino bitmap.

Index: util/aufs.in.5
- temporary workaround for the inode number 1 on cramfs.
- note for discontigous inode numbers.

Index: fs/aufs/file.c
Index: fs/aufs/iinfo.c
Index: include/linux/aufs_type.h
Index: sample/diskless/comount.sh
Index: sample/diskless/def.mk
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-06-17 Thread sfjro

o bugfix
- bugfix: declare 'signed char', a portability problem reported by
  Bertrand D.
- bugfix: strict branch index check at the first adding, reported by
  Bertrand D.
- bugfix: unlink a whiteout under a dir who has a sticky bit, reported
  by Igor Karasynskyi.

o misc
- warn about overlapped branches when the top-dir is moved.
- remove unnecessary dget_parent(), restoring a part of last ci.
- testing 'imod' mount option.
- add a note about an empty file in cramfs.
- add a note about swapfile.


Junjiro Okajima

--

Index: fs/aufs/branch.c
- bugfix: strict branch index check at the first adding time, reported
  by Bertrand D.

Index: fs/aufs/hinotify.c
- warn about overlapped branches when the top-dir is moved.

Index: fs/aufs/i_op.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
- remove unnecessary dget_parent(), restoring a part of last ci.

Index: fs/aufs/opts.c
- testing 'imod' mount option.

Index: fs/aufs/vfsub.c
- bugfix: unlink a whiteout under a dir who has a sticky bit, reported
  by Igor Karasynskyi.

Index: fs/aufs/whout.c
- remove unnecessary dget_parent(), restoring a part of last ci.
- bugfix: unlink a whiteout under a dir who has a sticky bit, reported
  by Igor Karasynskyi.

Index: include/linux/aufs_type.h
- bugfix: declare 'signed char', a portability problem reported by
  Bertrand D.

Index: util/aufs.in.5
- add a note about an empty file in cramfs.
- add a note about swapfile.

Index: fs/aufs/aufs.h
Index: fs/aufs/branch.h
Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs/dentry.c
Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
Index: fs/aufs/dir.c
Index: fs/aufs/dir.h
Index: fs/aufs/export.c
Index: fs/aufs/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs/file.h
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.h
Index: fs/aufs/module.c
Index: fs/aufs/opts.h
Index: fs/aufs/plink.c
Index: fs/aufs/super.c
Index: fs/aufs/super.h
Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
Index: fs/aufs/vdir.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/wkq.c
Index: fs/aufs/wkq.h
Index: fs/aufs/xino.c
Index: sample/watchguard/probe/probe.c
Index: sample/watchguard/probe/probe.h
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-06-12 Thread sfjro

o 
- testing dir-lock in open(2).
- describe about the aufs message and errno in the manual, suggested
  by Just Marc.

Junjiro Okajima

--

Index: fs/aufs/file.c
- testing dir-lock in open(2).

Index: util/aufs.in.5
- describe about the aufs message and errno in the manual, suggested
  by Just Marc.

Index: fs/aufs/dinfo.c
Index: fs/aufs/hinotify.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-06-03 Thread sfjro

o news
- the unionctl script is moved from util/ to sample/, and will not be
  supported any more.

o bugfix
- bugfix: support the moved root branch.

o misc
- testing is_subdir() kernel internal function.

Junjiro Okajima

--

Index: local.mk
- testing is_subdir() kernel internal function.
- the unionctl script is moved from util/ to sample/, and will not be
  supported any more.

Index: fs/aufs/aufs.h
Index: fs/aufs/branch.c
Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
Index: fs/aufs/dinfo.c
Index: fs/aufs/sysaufs.c
- testing is_subdir() kernel internal function.

Index: fs/aufs/hinotify.c
- bugfix: support the moved root branch.

Index: fs/aufs/cpup.c
Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs/dentry.c
Index: fs/aufs/dir.c
Index: fs/aufs/file.c
Index: fs/aufs/finfo.c
Index: fs/aufs/i_op.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
Index: fs/aufs/module.c
Index: fs/aufs/opts.c
Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.c
Index: fs/aufs/super.h
Index: fs/aufs/sysaufs.h
Index: fs/aufs/vdir.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/whout.c
Index: fs/aufs/wkq.c
Index: fs/aufs/wkq.h
Index: include/linux/aufs_type.h
Index: util/aufs.in.5
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-06-01 Thread Wilhelm Meier
Am Freitag, 1. Juni 2007 09:01 schrieb [EMAIL PROTECTED]:
> Hi Wilhelm,
>
> Wilhelm Meier:
> > FYI, aufs works without problems on linux-vserver with the patches I sent
> > to the list some times ago. And it would be very good to see a clean
> > solution for linux-vserver incorporated into aufs.
>
> I can guess supporting the linux-vserver interface (or function
> signature) is easy. But I am still considering about VSERVER_COWBL
> "Enable COW Immutable Link Breaking" configuration.
> Are you using with this enabled?

Yes, COW is enabled and we are using it. But surely not for aufs-type 
filesystems.

>
> Your patch added a new local macro VSERVER. I am replacing it by
> CONFIG_VSERVER which is introduced by linux-vserver.

Feel free to do so ...

-- 
Wilhelm

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-06-01 Thread sfjro

Hi Wilhelm,

Wilhelm Meier:
> FYI, aufs works without problems on linux-vserver with the patches I sent to 
> the list some times ago. And it would be very good to see a clean solution 
> for linux-vserver incorporated into aufs.

I can guess supporting the linux-vserver interface (or function
signature) is easy. But I am still considering about VSERVER_COWBL
"Enable COW Immutable Link Breaking" configuration.
Are you using with this enabled?

Your patch added a new local macro VSERVER. I am replacing it by
CONFIG_VSERVER which is introduced by linux-vserver.


Junjiro Okajima

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-05-31 Thread Wilhelm Meier
Hi Junjiro,

Am Montag, 28. Mai 2007 04:04 schrieb [EMAIL PROTECTED]:
> o misc
> - testing linux-vserver, new abstract function do_vfsub_unlink().

great!

FYI, aufs works without problems on linux-vserver with the patches I sent to 
the list some times ago. And it would be very good to see a clean solution 
for linux-vserver incorporated into aufs.

-- 
Wilhelm

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-05-27 Thread sfjro

o pre-announce
As I had announced a few months ago, the unionctl script will not be
supported.
The script the description about it in the aufs manual will be moved
from /aufs/util to /aufs/sample. 
And the symlink under /aufs/ will not be created by removing
it from local.mk.

o news
- support unmounting after 'mount --bind', update the internal
  vfsmount pointer when unmounting after linux-2.6.18.

o misc
- refine overlap-test at adding a branch.
- refine dentry->d_parent with dget_parent() simply.
- testing linux-vserver, new abstract function do_vfsub_unlink().
- rename DEBUG_ON macro to AuDebugOn.
- add a note about the mode of a directory on the lower branch,
  suggested by Wolfgang Barth.
- execute mount(8) in a simple way, it depsends on its version.


Junjiro Okajima

--

Index: fs/aufs/branch.c
- rename DEBUG_ON macro to AuDebugOn.
- refine overlap-test at adding a branch.

Index: fs/aufs/cpup.c
Index: fs/aufs/export.c
Index: fs/aufs/f_op.c
Index: fs/aufs/file.c
Index: fs/aufs/i_op.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/whout.c
Index: fs/aufs/xino.c
- rename DEBUG_ON macro to AuDebugOn.
- refine dentry->d_parent with dget_parent() simply.

Index: fs/aufs/dcsub.c
- rename DEBUG_ON macro to AuDebugOn.
- new function ac_dcsub_pages_rev().

Index: fs/aufs/dcsub.h
- new function ac_dcsub_pages_rev().

Index: fs/aufs/debug.h
Index: fs/aufs/dentry.c
Index: fs/aufs/dinfo.c
Index: fs/aufs/dir.c
Index: fs/aufs/finfo.c
Index: fs/aufs/hinotify.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
Index: fs/aufs/module.c
Index: fs/aufs/opts.c
Index: fs/aufs/plink.c
Index: fs/aufs/sbinfo.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vdir.c
Index: fs/aufs/wkq.c
- rename DEBUG_ON macro to AuDebugOn.

Index: fs/aufs/super.c
- rename DEBUG_ON macro to AuDebugOn.
- support unmounting after 'mount --bind', update the internal
  vfsmount pointer when unmounting after linux-2.6.18.

Index: fs/aufs/vfsub.c
Index: fs/aufs/vfsub.h
- testing linux-vserver, new abstract function do_vfsub_unlink().

Index: util/aufs.in.5
- add a note about the mode of a directory on the lower branch,
  suggested by Wolfgang Barth

Index: util/unionctl
- execute mount(8) in a simple way, it depsends on its version.

Index: Kconfig.in
Index: README
Index: fs/aufs/super.h
Index: include/linux/aufs_type.h
Index: sample/diskless/diskless.6aufs
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-05-20 Thread sfjro

o misc
- flush all the scheduled/nowait tasks at umouning and remounting.
- refine the nowait task queuing.
- support the enqueue error in workqueue.

Junjiro Okajima

--

Index: fs/aufs/cpup.c
Index: fs/aufs/dentry.c
Index: fs/aufs/dir.c
Index: fs/aufs/file.c
Index: fs/aufs/i_op.c
Index: fs/aufs/plink.c
Index: fs/aufs/vfsub.c
Index: fs/aufs/xino.c
- support the enqueue error in workqueue.

Index: fs/aufs/hinotify.c
Index: fs/aufs/whout.c
- refine the nowait task queuing.
- support the enqueue error in workqueue.

Index: fs/aufs/super.c
- flush all the scheduled/nowait tasks at umouning and remounting.

Index: fs/aufs/wkq.c
Index: fs/aufs/wkq.h
- flush all the scheduled/nowait tasks at umouning and remounting.
- refine the nowait task queuing.
- support the enqueue error in workqueue.

Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/module.c
Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.h
Index: fs/aufs/whout.h
Index: include/linux/aufs_type.h
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-05-13 Thread sfjro

"Sandino Flores Moreno":
> It applied and compiled cleanly.

Thank you.
I have updated the CVS.


Junjiro Okajima

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-05-13 Thread sfjro

"Sandino Flores Moreno":
> ... on linux 2.6.21.1, I got this error:

Sorry, I may be confused 2.6.21 with 2.6.22.
Please try this patch. If it succeeds, I will update CVS.

Junjiro Okajima

--

Index: fs/aufs/opts.h
===
RCS file: /cvsroot/aufs/aufs/fs/aufs/opts.h,v
retrieving revision 1.12
diff -u -p -r1.12 opts.h
--- fs/aufs/opts.h  14 May 2007 03:40:27 -  1.12
+++ fs/aufs/opts.h  14 May 2007 06:12:52 -
@@ -28,7 +28,7 @@
 #include 
 #include 
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,21)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
 typedef const char* au_parser_pattern_t;
 #else
 typedef char* au_parser_pattern_t;
Index: fs/aufs/sysaufs.h
===
RCS file: /cvsroot/aufs/aufs/fs/aufs/sysaufs.h,v
retrieving revision 1.2
diff -u -p -r1.2 sysaufs.h
--- fs/aufs/sysaufs.h   14 May 2007 03:40:13 -  1.2
+++ fs/aufs/sysaufs.h   14 May 2007 06:12:52 -
@@ -27,7 +27,7 @@
 #include 
 #include 
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,21)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
 typedef struct kset au_subsys_t;
 #define au_subsys_to_kset(subsys) (subsys)
 #else

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Re: aufs Monday release

2007-05-13 Thread Sandino Flores Moreno
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

aufs Monday release

2007-05-13 Thread sfjro

o news
- begin supporting 2.6.21

o misc
- prohibit umount while nowait work in the generic workqueue,
  introducing au_mntget/put().
- rename CONFIG_AUFS_AS_BRANCH to CONFIG_AUFS_ROBR.
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.
- remove AufsGenOlder/Younger macros.
- rename is_aufsd() to is_au_wkq().
- make si_generation int, restoring the last bugfix.


Junjiro Okajima

--

Index: Kconfig.in
Index: local.mk
Index: fs/aufs/branch.c
Index: fs/aufs/export.c
Index: fs/aufs/f_op.c
- rename CONFIG_AUFS_AS_BRANCH to CONFIG_AUFS_ROBR.

Index: fs/aufs/dentry.c
- rename CONFIG_AUFS_AS_BRANCH to CONFIG_AUFS_ROBR.
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.
- remove AufsGenOlder/Younger macros.

Index: fs/aufs/dir.c
Index: fs/aufs/vdir.c
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.

Index: fs/aufs/file.c
Index: fs/aufs/plink.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/wkq.c
Index: fs/aufs/wkq.h
Index: fs/aufs/xino.c
- rename is_aufsd() to is_au_wkq().

Index: fs/aufs/hinotify.c
- prohibit umount while nowait work in the generic workqueue,
  introducing au_mntget/put().

Index: fs/aufs/sbinfo.c
- make si_generation int, restoring the last bugfix.

Index: fs/aufs/super.c
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.
- make si_generation int, restoring the last bugfix.

Index: fs/aufs/super.h
- make si_generation int, restoring the last bugfix.
- move some macros to aufs_type.h.
- begin supporting 2.6.21, introducing au_subsys_t and au_subsys_to_kset().
- rename CONFIG_AUFS_AS_BRANCH to CONFIG_AUFS_ROBR.
- prohibit umount while nowait work in the generic workqueue,
  introducing au_mntget/put().
- remove AufsGenOlder/Younger macros.

Index: fs/aufs/sysaufs.c
Index: fs/aufs/sysaufs.h
- begin supporting 2.6.21, introducing au_subsys_t and au_subsys_to_kset().
- rename CONFIG_AUFS_AS_BRANCH to CONFIG_AUFS_ROBR.

Index: fs/aufs/opts.c
Index: fs/aufs/opts.h
- begin supporting 2.6.21, introducing au_parser_pattern_t.

Index: fs/aufs/whout.c
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.
- prohibit umount while nowait work in the generic workqueue,
  introducing au_mntget/put().

Index: include/linux/aufs_type.h
- move some macros from super.h.
- rename AUFS_WH_LEN to AUFS_WH_PFX_LEN.
- begin supporting ioctl.

Index: README
Index: fs/aufs/aufs.h
Index: fs/aufs/branch.h
Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
Index: fs/aufs/dcsub.c
Index: fs/aufs/dcsub.h
Index: fs/aufs/debug.h
Index: fs/aufs/dentry.h
Index: fs/aufs/dir.h
Index: fs/aufs/file.h
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.h
Index: fs/aufs/misc.c
Index: fs/aufs/misc.h
Index: fs/aufs/module.h
Index: fs/aufs/whout.h
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-05-06 Thread sfjro

o news
- this version of aufs consumes inode number rapidly. it will be fixed
  in a week.

o bugfix
- bugfix: fix the obsolete inodes with d_revalidate. the last
  temporary bugfix is completed. but this version of aufs consumes
  inode number rapidly. it will be fixed in a week.
- refine d_revalidate
+ checking new ii_gen
+ removing di_reval
+ new function au_cpup_igen(), to support inode generation
+ make the modfified file by UDBA obsoleted by its name and
  inode
+ resetting xino(temporary fix)
+ make si_gen atomic_t

o misc
- forgot to print 'warn_perm' in /proc/mounts.

Junjiro Okajima

--

Index: fs/aufs/cpup.c
Index: fs/aufs/cpup.h
- new function au_cpup_igen(), to support inode generation.

Index: fs/aufs/dentry.c
Index: fs/aufs/dentry.h
Index: fs/aufs/dinfo.c
Index: fs/aufs/file.c
- refine d_revalidate, checking new ii_gen, removing di_reval, new
  function au_cpup_igen(), to support inode generation.

Index: fs/aufs/hinotify.c
- refine d_revalidate, make the modfified file by UDBA obsoleted by
  its name and inode.

Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
- refine d_revalidate, removing di_reval, resetting xino temporary.

Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.h
- refine d_revalidate, support new ii_gen and ii_h_sb1, new function
  au_cpup_igen(), to support inode generation.

Index: fs/aufs/inode.c
- bugfix: fix the obsolete inodes with d_revalidate. the last
  temporary bugfix is completed. but this version of aufs consumes
  inode number rapidly. it will be fixed in a week.

Index: fs/aufs/sbinfo.c
Index: fs/aufs/super.h
- refine d_revalidate, make si_gen atomic_t.

Index: fs/aufs/super.c
- forgot to print 'warn_perm' in /proc/mounts.
- refine d_revalidate, make si_gen atomic_t.

Index: fs/aufs/xino.c
- support clearing xino, it may be removed soon.
- refine d_revalidate, checking new ii_gen, removing di_reval.

Index: README
Index: fs/aufs/aufs.h
Index: fs/aufs/branch.c
Index: fs/aufs/debug.h
Index: fs/aufs/export.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/vdir.c
Index: fs/aufs/vfsub.h
Index: fs/aufs/whout.c
Index: include/linux/aufs_type.h
Index: util/aufs.in.5
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-04-29 Thread sfjro

A critical bug was found in aufs(see the top of the list). It is fixed
now, except a hardlink on NFS branch case.
If you have an NFS branch in your aufs, it is not recommended to use
this version. I will fix it in next Monday release.

o bugfix
- bugfix: re-use inode->i_generation to support the enexpectedly
  survived inodes after remount. test lower inodes in
  hidden_d_revalidate(). simplified postproce() in
  udba=inotify. introduce an internal generation for aufs_iinfo.
  reported by Tomas M.
  it is not finished yet and a hardlink on NFS branch will not work.
- bugfix: at deleting a branch, revalidate the survived dentries after
  shrink dcache.
- bugfix: support the unhashed dentries, but ignore the unreferenced
  dentries.
- bugfix: ii_read/write_unlock in an error path, mainly for NFS
  branch.
- bugfix: revalidating the opened files after remount, introduce a new
  function au_hfput().
- bugfix: maintain the reference of aufs module in case of the no-wait
  task.

o news
- introduce /fs/aufs//xino, and sysaufs.h. move some
  declarations from module.h to sysaufs.h. rename del/add_sbilist() to
  sysaufs_del/add(). refine sysaufs.c simply.

o misc
- CONFIG_AUFS_EXPORT in statically linked aufs depends upon
  CONFIG_EXPORTFS=y, reported by Sandino Flores Moreno.
- call dget_parent() instead of accessing denrty->d_parent directly.
- convert some inline functions for debugging to macros, in order to
  print the prefeable line number in a file.
- rename nfsd_lockdep_off/on() to au_...().
- supports IN_UNMOUNT, if it happens there must must be another bug.
- ignore whiteouted names in revalidating child files.
- rename init_export_op() to au_init_export_op().

Junjiro Okajima

--

Index: Kconfig.in
- apply indentation.
- CONFIG_AUFS_EXPORT in statically linked aufs depends upon
  CONFIG_EXPORTFS=y, reported by Sandino Flores Moreno.

Index: fs/aufs/aufs.h
Index: fs/aufs/module.h
Index: fs/aufs/sysaufs.c
Index: fs/aufs/vdir.c
Index: util/aufs.in.5
- introduce /fs/aufs//xino, and sysaufs.h. move some
  declarations from module.h to sysaufs.h. rename del/add_sbilist() to
  sysaufs_del/add(). refine sysaufs.c simply.

Index: fs/aufs/branch.c
- call dget_parent() instead of accessing denrty->d_parent directly.
- bugfix: at deleting a branch, revalidate the survived dentries after
  shrink dcache.

Index: fs/aufs/branch.h
Index: fs/aufs/dentry.h
Index: fs/aufs/misc.h
- convert some inline functions for debugging to macros, in order to
  print the prefeable line number in a file.

Index: fs/aufs/cpup.c
Index: fs/aufs/dentry.c
- bugfix: re-use inode->i_generation to support the enexpectedly
  survived inodes after remount. test lower inodes in
  hidden_d_revalidate(). simplified postproce() in
  udba=inotify. introduce an internal generation for aufs_iinfo.
  it is not finished yet and a hardlink on NFS branch will not work.
- call dget_parent() instead of accessing denrty->d_parent directly.

Index: fs/aufs/dcsub.c
- bugfix: support the unhashed dentries, but ignore the unreferenced
  dentries.

Index: fs/aufs/dir.c
- rename nfsd_lockdep_off/on() to au_...().
- bugfix: ii_read/write_unlock in an error path, mainly for NFS
  branch.

Index: fs/aufs/file.c
Index: fs/aufs/finfo.c
- bugfix: revalidating the opened files after remount, introduce a new
  function au_hfput().

Index: fs/aufs/file.h
- bugfix: revalidating the opened files after remount, introduce a new
  function au_hfput().
- convert some inline functions for debugging to macros, in order to
  print the prefeable line number in a file.

Index: fs/aufs/hinotify.c
- bugfix: re-use inode->i_generation to support the enexpectedly
  survived inodes after remount. test lower inodes in
  hidden_d_revalidate(). simplified postproce() in
  udba=inotify. introduce an internal generation for aufs_iinfo.
  it is not finished yet and a hardlink on NFS branch will not work.
- supports IN_UNMOUNT, if it happens there must must be another bug.
- ignore whiteouted names in revalidating child files.

Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
- bugfix: re-use inode->i_generation to support the enexpectedly
  survived inodes after remount. test lower inodes in
  hidden_d_revalidate(). simplified postproce() in
  udba=inotify. introduce an internal generation for aufs_iinfo.
  it is not finished yet and a hardlink on NFS branch will not work.

Index: fs/aufs/inode.h
- bugfix: re-use inode->i_generation to support the enexpectedly
  survived inodes after remount. test lower inodes in
  hidden_d_revalidate(). simplified postproce() in
  udba=inotify. introduce an internal generation for aufs_iinfo.
  it is not finished yet and a hardlink on NFS branch will not work.
- convert some inline functions for debugging to macros, in order to
  print the prefeable line number in a file.

Index: fs/aufs/module.c
- CONFIG_AUFS_EXPORT in statically linked aufs depends upon
  CONFIG_EXPORTFS=y, reported by Sandino

aufs Monday release

2007-04-22 Thread sfjro

o bugfix
- bugfix: file revalidation after rename(tgt).
- strict inode lock in fsync() before 2.6.17.

o news
- restore rdacahe option, which was dropped by mistake.
- print the depth of generic workqueue in sysfs/aufs/stat.
- testing initramfs.
- still testing udba=inotify.
- simplified "uid/gid/perm" message.
- reduce stack space.
- make aufs_cond available even if CONFIG_LKTR is disabled.

o misc
- revise au_fin_finfo() and si lock.
- simplified cache function definitions.
- merge both of wait/nowait works into a single enqueue function.
- rename wkq_wait() to au_wkq_wait().
- rename some name hash functions, and two new functions nash_new()
  and nhash_del().
+ init_nhash()  --> nhash_init()
+ move_nhash()  --> nhash_move()
+ free_nhash()  --> nhash_fin()
- move au_is_kthread() to wkq.h, and rename to is_aufsd().
- rename au_init_wkq() to au_wkq_init().
- rename au_fin_wkq() to au_wkq_fin().
- rename au_inotify_exit() to au_inotify_fin().
- rename dbg_dlgt_exit() to dbg_dlgt_fin().


Junjiro Okajima

--

Index: fs/aufs/branch.c
- simplified "uid/gid/perm" message.

Index: fs/aufs/cpup.c
Index: fs/aufs/dentry.c
Index: fs/aufs/i_op.c
Index: fs/aufs/vfsub.c
- rename wkq_wait() to au_wkq_wait().

Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
- make aufs_cond available even if CONFIG_LKTR is disabled.

Index: fs/aufs/dir.c
- bugfix: file revalidation after rename(tgt).
- revise au_fin_finfo() and si lock.
- rename wkq_wait() to au_wkq_wait().
- reduce stack space.

Index: fs/aufs/dir.h
Index: fs/aufs/vdir.c
- rename some name hash functions, and two new functions nash_new()
  and nhash_del().
+ init_nhash()  --> nhash_init()
+ move_nhash()  --> nhash_move()
+ free_nhash()  --> nhash_fin()

Index: fs/aufs/f_op.c
- revise au_fin_finfo() and si lock.
- strict inode lock in fsync() before 2.6.17.

Index: fs/aufs/file.c
- rename wkq_wait() to au_wkq_wait().
- bugfix: file revalidation after rename(tgt).

Index: fs/aufs/finfo.c
- revise au_fin_finfo() and si lock.

Index: fs/aufs/hinotify.c
- still testing udba=inotify.
- rename wkq_wait() to au_wkq_wait().
- rename au_inotify_exit() to au_inotify_fin().

Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/misc.c
- reduce stack space.

Index: fs/aufs/inode.h
- rename au_inotify_exit() to au_inotify_fin().

Index: fs/aufs/misc.h
- move au_is_kthread() to wkq.h, and rename to is_aufsd().

Index: fs/aufs/module.c
- rename dbg_dlgt_exit() to dbg_dlgt_fin().
- rename au_init_wkq() to au_wkq_init().
- rename au_fin_wkq() to au_wkq_fin().
- rename au_inotify_exit() to au_inotify_fin().

Index: fs/aufs/module.h
- move au_wkq to wkq.h.
- simplified cache function definitions.

Index: fs/aufs/opts.c
- restore rdacahe option, which was dropped by mistake.
- reduce stack space.

Index: fs/aufs/plink.c
- rename au_is_kthread() to is_aufsd().
- rename wkq_wait() to au_wkq_wait().

Index: fs/aufs/super.c
- revised simply.
- testing initramfs.

Index: fs/aufs/sysaufs.c
- print the depth of generic workqueue in sysfs/aufs/stat.

Index: fs/aufs/whout.c
- rename wkq_wait() to au_wkq_wait().
- rename some name hash functions.

Index: fs/aufs/wkq.c
- merge both of wait/nowait works into a single enqueue function.
- print the depth of generic workqueue in sysfs/aufs/stat.
- rename au_fin_wkq() to au_wkq_fin().
- rename au_init_wkq() to au_wkq_init().
- move au_is_kthread() to wkq.h, and rename to is_aufsd().

Index: fs/aufs/xino.c
- revised simply.

Index: util/aufs.in.5
- print the depth of generic workqueue in sysfs/aufs/stat.

Index: README
Index: fs/aufs/Makefile
Index: fs/aufs/export.c
Index: fs/aufs/iinfo.c
Index: fs/aufs/inode.c
Index: fs/aufs/vfsub.h
Index: include/linux/aufs_type.h
Index: sample/diskless/Makefile
Index: sample/diskless/comount.sh
Index: sample/diskless/def.mk
Index: sample/diskless/initrd.mk
Index: sample/diskless/linuxrc
Index: sample/diskless/nfscd.mk
- less important changes.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


aufs Monday release

2007-04-15 Thread sfjro

o bugfix
- bugfix: introduce dcsub.[ch] to handle dentry cache.
- bugfix: use readlink(1) to get cwd, in auplink, mount.aufs and
  unionctl, reported by Torsten Luettgert. Actually, to use readlink
  was suggested by Tomas M last year.

o news
- support initramfs.
- verbose warning message for 'different uid/gid/perm.'
- still testing udba=inotify.

o misc
- support GFP flags in au_kzrealloc().
- simplified lock/unlock functions definition by a new macro
  SimpleRWSem...

Junjiro Okajima

--
Index: fs/aufs/Makefile
Index: fs/aufs/aufs.h
- bugfix: introduce dcsub.[ch] to handle dentry cache.

Index: fs/aufs/branch.c
- support GFP flags in au_kzrealloc().
- verbose warning message for 'different uid/gid/perm.'
- bugfix: introduce dcsub.[ch] to handle dentry cache.

Index: fs/aufs/branch.h
Index: fs/aufs/file.h
Index: fs/aufs/inode.h
Index: fs/aufs/super.h
- simplified lock/unlock functions definition by a new macro
  SimpleRWSem...

Index: fs/aufs/cpup.c
Index: fs/aufs/debug.c
Index: fs/aufs/debug.h
Index: fs/aufs/export.c
Index: fs/aufs/i_op_add.c
Index: fs/aufs/i_op_del.c
Index: fs/aufs/i_op_ren.c
Index: fs/aufs/sysaufs.c
Index: fs/aufs/wkq.c
Index: include/linux/aufs_type.h
Index: util/aufs.in.5
- less important changes

Index: fs/aufs/dentry.c
- support GFP flags in au_kzrealloc().
- still testing udba=inotify.

Index: fs/aufs/f_op.c
- bugfix: prevent from a race between file_list in remount.
  (this fix was removed temporary, since I could not test it well)

Index: fs/aufs/file.c
Index: fs/aufs/inode.c
Index: fs/aufs/misc.c
Index: fs/aufs/vdir.c
- support GFP flags in au_kzrealloc().

Index: fs/aufs/hinotify.c
- still testing udba=inotify.

Index: fs/aufs/misc.h
- simplified lock/unlock functions definition by a new macro
  SimpleRWSem...
- support GFP flags in au_kzrealloc().

Index: fs/aufs/opts.c
- revised simply.

Index: fs/aufs/super.c
- bugfix: introduce dcsub.[ch] to handle dentry cache.
- revised simply.

Index: sample/diskless/Makefile
Index: sample/diskless/comount.sh
Index: sample/diskless/diskless.6aufs
Index: sample/diskless/initrd.mk
Index: sample/diskless/linuxrc
Index: sample/diskless/pxe.conf
Index: README
- support initramfs.

Index: util/auplink
Index: util/mount.aufs
Index: util/unionctl
- bugfix: use readlink(1) to get cwd, in auplink, mount.aufs and
  unionctl, reported by Torsten Luettgert. Actually, to use readlink
  was suggested by Tomas M last year.

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


  1   2   >