Hello Jakob,

Jakob Blomer:
> we use aufs in order to provide a read-write interface for the "CernVM 
> File System", an HTTP read-only file system we use to distribute physics 
> data processing applications.  As Scientific Linux (a RHEL clone) is our 
> primary platform, we created an aufs2.1 branch based on aufs2.1-32 that 
> allows us to compile aufs into the RHEL6 kernel.
>
> Perhaps this turns out to be useful for someone else, too.  The RHEL6 
> branch aufs2.1-32-rhel6.3 can be found here:
> https://github.com/cvmfs/aufs2-standalone

That is very surprising and interesting news.
As you might know, aufs2.1 is very old and not maintained anymore. But I
can understand that the version of aufs and linux kernel is not
important for you. It must be your product CVSMFS that is important.

Taking a look at cvsmfs, I'd like to suggest you to use some aufs
constant strings macros in your source file, if you have installed
aufs_type.h.

In aufs_type.h, there are several macros defined.

#define AUFS_WH_PFX             ".wh."
#define AUFS_WH_PFX_LEN         ((int)sizeof(AUFS_WH_PFX) - 1)
        :::
#define AUFS_DIROPQ_NAME        AUFS_WH_PFX ".opq" /* whiteouted doubly */
#define AUFS_WH_DIROPQ          AUFS_WH_PFX AUFS_DIROPQ_NAME

#define AUFS_BASE_NAME          AUFS_WH_PFX AUFS_NAME
#define AUFS_PLINKDIR_NAME      AUFS_WH_PFX "plnk"
#define AUFS_ORPHDIR_NAME       AUFS_WH_PFX "orph"

/* doubly whiteouted */
#define AUFS_WH_BASE            AUFS_WH_PFX AUFS_BASE_NAME
#define AUFS_WH_PLINKDIR        AUFS_WH_PFX AUFS_PLINKDIR_NAME
#define AUFS_WH_ORPHDIR         AUFS_WH_PFX AUFS_ORPHDIR_NAME
        :::

They may be good for SyncUnionAufs::SyncUnionAufs(SyncMediator *mediator,
                             const std::string &rdonly_path,
                             const std::string &union_path,
                             const std::string &scratch_path).


In cvmfs/aufs2-standalone.git, I can see some commits added.

0560b14 2012-11-09 only include extra aufs header in kernel-headers package
093b886 2012-11-08 patch fix
842b1c1 2012-11-08 added rhel6.3 kernel config patch
73bf994 2012-11-08 rhel6.3 kbuild patch adjustment for fs/Makefile
1980173 2012-11-08 patches for rhel6.3 kernel (signature of vfs_stat changed)

Mainly they are for rhel build.
The last one (1980173) is touchig the aufs source file just to follow
the change made in linux-2.6.36. This is equivalent to the commit in
aufs2-2.6.git (and aufs2-standalone.git too in different commit).

3cafe1c 2010-08-20 aufs: for 2.6.36, the parameter of vfs_statfs()

Just out of curious, what people are using CVMFS?
And, in the future when you upgrade your kernel version, will you switch
to another unioning filesystem (unionfs, overlayfs, UnionMount...)?


J. R. Okajima

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov

Reply via email to