Hello Jeff,
Here is a patch series to support RDU in aufs1.
This is not a generic solution and some parts may be biased to your
system.
- Ubuntu Hardy kernel contains AppArmor, and aufs1 has to follow their
changes except file->fsetattr() operation. I skipped implementing it
since I don't think they are necessary for you.
- rdblk=0 and rdhash=0 options in aufs2 are not back-ported. In other
words, these values are always handled as zero, and the patched aufs1
always estimate the size of the directory internally. The estimation
may return a larger value than ideal/appropriate one. Since your
system has installed plenty of RAM, I don't think it harmful.
- To support LSM (Linux Security Module), it is necessary to export one
kernel function. It means you should apply a patch (4/6) against the
Hardy kernel. If you don't want it, then skip the patch (4/6) and
comment out the security_file_permission() call in fs/aufs/rdu.c.
- You need to get aufs2-util GIT tree, and run
"make libau.so install_ulib". Also you may need to specify the include
path for your compiler.
For instance "make CPPFLAGS=/aufs1/include libau.so install_ulib".
I'd recommend you to cusomize ./priv_def.mk for your environment.
- You need to specify the environment variable "LD_PRELOAD=libau.so" to
your http server.
Test it well before you install the patched aufs1.
J. R. Okajima (6):
support AppArmor in Ubuntu Hardy 2.6.24-24-server
aufs: backporting RDU, new functions to estimate the size of a dir
aufs: backporting RDU, variable VDIR
aufs: backporting RDU, export security_file_permission() for ubuntu
hardy
aufs: backporting RDU, make au_ino() and au_wh_ino() global
aufs: backporting RDU, new ioctl
fs/aufs/Makefile | 2 +-
fs/aufs/cpup.c | 23 +-
fs/aufs/debug.c | 26 +-
fs/aufs/dir.c | 64 ++++-
fs/aufs/dir.h | 41 ++--
fs/aufs/i_op.c | 7 +
fs/aufs/i_op_add.c | 31 ++-
fs/aufs/i_op_del.c | 24 +-
fs/aufs/i_op_ren.c | 55 +++--
fs/aufs/inode.c | 53 ++++
fs/aufs/inode.h | 12 +
fs/aufs/ioctl.c | 42 +++
fs/aufs/misc.c | 3 +
fs/aufs/plink.c | 11 +-
fs/aufs/rdu.c | 327 ++++++++++++++++++++++
fs/aufs/vdir.c | 511 ++++++++++++++++------------------
fs/aufs/vfsub.c | 63 +++--
fs/aufs/vfsub.h | 66 +++--
fs/aufs/wbr_policy.c | 6 +-
fs/aufs/whout.c | 69 ++++--
fs/aufs/whout.h | 7 +-
include/linux/aufs_type.h | 115 ++++++---
patch/ubuntu-2.6.24-sec_f_perm.patch | 12 +
priv_def.mk | 2 +
24 files changed, 1081 insertions(+), 491 deletions(-)
create mode 100644 fs/aufs/ioctl.c
create mode 100644 fs/aufs/rdu.c
create mode 100644 patch/ubuntu-2.6.24-sec_f_perm.patch
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july