A few weeks ago, I posted the design of aufs. And here are source files. I have another version which dropped many features and the size became about half because such suggestion was posted LKML. But I got no response for it. Additionally I am afraid it is useless in real world since the dropped features are so essential. This version here I am posting is full aufs2 against the mainline (linux-2.6.git). Kindly review and let me know your comments. And please consider incorporating into mainline. J. R. Okajima (25): aufs documents aufs public header file aufs module global aufs super_block aufs branch directory/filesystem aufs xino aufs object lifetime management via sysfs aufs mount options/flags aufs workqueue aufs sub-VFS aufs sub-dcache aufs copy-up aufs whiteout aufs pseudo-link aufs policies to select one among multiple writable branches aufs dentry and lookup aufs file aufs direcotry aufs inode aufs ioctl aufs sysfs entries aufs branch for loopback block device aufs internal inotify aufs test for fstype aufs debug Documentation/filesystems/aufs/README | 251 ++++ Documentation/filesystems/aufs/aufs.5 | 1514 ++++++++++++++++++++ Documentation/filesystems/aufs/design/01intro.txt | 128 ++ Documentation/filesystems/aufs/design/02struct.txt | 205 +++ Documentation/filesystems/aufs/design/03lookup.txt | 95 ++ Documentation/filesystems/aufs/design/04branch.txt | 67 + .../filesystems/aufs/design/05wbr_policy.txt | 57 + .../filesystems/aufs/design/06fmode_exec.txt | 24 + Documentation/filesystems/aufs/design/07mmap.txt | 44 + Documentation/filesystems/aufs/design/08plan.txt | 169 +++ fs/Kconfig | 1 + fs/Makefile | 1 + fs/aufs/Kconfig | 78 + fs/aufs/Makefile | 20 + fs/aufs/aufs.h | 43 + fs/aufs/branch.c | 944 ++++++++++++ fs/aufs/branch.h | 200 +++ fs/aufs/cpup.c | 1028 +++++++++++++ fs/aufs/cpup.h | 68 + fs/aufs/dcsub.c | 214 +++ fs/aufs/dcsub.h | 43 + fs/aufs/debug.c | 406 ++++++ fs/aufs/debug.h | 245 ++++ fs/aufs/dentry.c | 857 +++++++++++ fs/aufs/dentry.h | 213 +++ fs/aufs/dinfo.c | 351 +++++ fs/aufs/dir.c | 493 +++++++ fs/aufs/dir.h | 104 ++ fs/aufs/f_op.c | 551 +++++++ fs/aufs/file.c | 552 +++++++ fs/aufs/file.h | 148 ++ fs/aufs/finfo.c | 126 ++ fs/aufs/fstype.h | 434 ++++++ fs/aufs/hinotify.c | 746 ++++++++++ fs/aufs/i_op.c | 855 +++++++++++ fs/aufs/i_op_add.c | 625 ++++++++ fs/aufs/i_op_del.c | 471 ++++++ fs/aufs/i_op_ren.c | 929 ++++++++++++ fs/aufs/iinfo.c | 257 ++++ fs/aufs/inode.c | 356 +++++ fs/aufs/inode.h | 471 ++++++ fs/aufs/ioctl.c | 54 + fs/aufs/loop.c | 46 + fs/aufs/loop.h | 41 + fs/aufs/magic.mk | 52 + fs/aufs/module.c | 164 +++ fs/aufs/module.h | 66 + fs/aufs/opts.c | 1438 +++++++++++++++++++ fs/aufs/opts.h | 180 +++ fs/aufs/plink.c | 335 +++++ fs/aufs/rwsem.h | 52 + fs/aufs/sbinfo.c | 192 +++ fs/aufs/spl.h | 47 + fs/aufs/super.c | 846 +++++++++++ fs/aufs/super.h | 266 ++++ fs/aufs/sysaufs.c | 79 + fs/aufs/sysaufs.h | 102 ++ fs/aufs/sysfs.c | 308 ++++ fs/aufs/sysrq.c | 105 ++ fs/aufs/vdir.c | 776 ++++++++++ fs/aufs/vfsub.c | 716 +++++++++ fs/aufs/vfsub.h | 137 ++ fs/aufs/wbr_policy.c | 628 ++++++++ fs/aufs/whout.c | 1010 +++++++++++++ fs/aufs/whout.h | 78 + fs/aufs/wkq.c | 249 ++++ fs/aufs/wkq.h | 72 + fs/aufs/xino.c | 1181 +++++++++++++++ fs/namei.c | 4 +- fs/splice.c | 10 +- include/linux/aufs_type.h | 98 ++ include/linux/namei.h | 3 + include/linux/splice.h | 6 + 73 files changed, 23718 insertions(+), 7 deletions(-) create mode 100644 Documentation/filesystems/aufs/README create mode 100644 Documentation/filesystems/aufs/aufs.5 create mode 100644 Documentation/filesystems/aufs/design/01intro.txt create mode 100644 Documentation/filesystems/aufs/design/02struct.txt create mode 100644 Documentation/filesystems/aufs/design/03lookup.txt create mode 100644 Documentation/filesystems/aufs/design/04branch.txt create mode 100644 Documentation/filesystems/aufs/design/05wbr_policy.txt create mode 100644 Documentation/filesystems/aufs/design/06fmode_exec.txt create mode 100644 Documentation/filesystems/aufs/design/07mmap.txt create mode 100644 Documentation/filesystems/aufs/design/08plan.txt create mode 100644 fs/aufs/Kconfig create mode 100644 fs/aufs/Makefile create mode 100644 fs/aufs/aufs.h create mode 100644 fs/aufs/branch.c create mode 100644 fs/aufs/branch.h create mode 100644 fs/aufs/cpup.c create mode 100644 fs/aufs/cpup.h create mode 100644 fs/aufs/dcsub.c create mode 100644 fs/aufs/dcsub.h create mode 100644 fs/aufs/debug.c create mode 100644 fs/aufs/debug.h create mode 100644 fs/aufs/dentry.c create mode 100644 fs/aufs/dentry.h create mode 100644 fs/aufs/dinfo.c create mode 100644 fs/aufs/dir.c create mode 100644 fs/aufs/dir.h create mode 100644 fs/aufs/f_op.c create mode 100644 fs/aufs/file.c create mode 100644 fs/aufs/file.h create mode 100644 fs/aufs/finfo.c create mode 100644 fs/aufs/fstype.h create mode 100644 fs/aufs/hinotify.c create mode 100644 fs/aufs/i_op.c create mode 100644 fs/aufs/i_op_add.c create mode 100644 fs/aufs/i_op_del.c create mode 100644 fs/aufs/i_op_ren.c create mode 100644 fs/aufs/iinfo.c create mode 100644 fs/aufs/inode.c create mode 100644 fs/aufs/inode.h create mode 100644 fs/aufs/ioctl.c create mode 100644 fs/aufs/loop.c create mode 100644 fs/aufs/loop.h create mode 100644 fs/aufs/magic.mk create mode 100644 fs/aufs/module.c create mode 100644 fs/aufs/module.h create mode 100644 fs/aufs/opts.c create mode 100644 fs/aufs/opts.h create mode 100644 fs/aufs/plink.c create mode 100644 fs/aufs/rwsem.h create mode 100644 fs/aufs/sbinfo.c create mode 100644 fs/aufs/spl.h create mode 100644 fs/aufs/super.c create mode 100644 fs/aufs/super.h create mode 100644 fs/aufs/sysaufs.c create mode 100644 fs/aufs/sysaufs.h create mode 100644 fs/aufs/sysfs.c create mode 100644 fs/aufs/sysrq.c create mode 100644 fs/aufs/vdir.c create mode 100644 fs/aufs/vfsub.c create mode 100644 fs/aufs/vfsub.h create mode 100644 fs/aufs/wbr_policy.c create mode 100644 fs/aufs/whout.c create mode 100644 fs/aufs/whout.h create mode 100644 fs/aufs/wkq.c create mode 100644 fs/aufs/wkq.h create mode 100644 fs/aufs/xino.c create mode 100644 include/linux/aufs_type.h -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html