UBUNTU: ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers
authorAndy Whitcroft <apw@canonical.com>
Fri, 3 Dec 2010 11:12:17 +0000 (11:12 +0000)
committerLeann Ogasawara <leann.ogasawara@canonical.com>
Mon, 28 Mar 2011 13:51:56 +0000 (06:51 -0700)
BugLink: http://bugs.launchpad.net/bugs/684666

Signed-off-by: Andy Whitcroft <apw@canonical.com>

ubuntu/aufs/Makefile
ubuntu/aufs/include/linux/Kbuild [deleted file]
ubuntu/aufs/include/linux/aufs_type.h [deleted file]
ubuntu/include/Kbuild [new file with mode: 0644]
ubuntu/include/linux/Kbuild [new file with mode: 0644]
ubuntu/include/linux/aufs_type.h [new file with mode: 0644]

index 8e9f7c8..3d6b50f 100644 (file)
@@ -1,5 +1,3 @@
-EXTRA_CFLAGS += -I$(src)/include
-
 include ${src}/magic.mk
 ifeq (${CONFIG_AUFS_FS},m)
 include ${src}/conf.mk
diff --git a/ubuntu/aufs/include/linux/Kbuild b/ubuntu/aufs/include/linux/Kbuild
deleted file mode 100644 (file)
index e1b2bd3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-header-y = aufs_type.h
diff --git a/ubuntu/aufs/include/linux/aufs_type.h b/ubuntu/aufs/include/linux/aufs_type.h
deleted file mode 100644 (file)
index c9e2845..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (C) 2005-2010 Junjiro R. Okajima
- *
- * This program, aufs is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef __AUFS_TYPE_H__
-#define __AUFS_TYPE_H__
-
-#include <linux/ioctl.h>
-#include <linux/kernel.h>
-#include <linux/limits.h>
-#include <linux/types.h>
-
-#define AUFS_VERSION   "2.1-standalone.tree-37-rcN-20101122"
-
-/* todo? move this to linux-2.6.19/include/magic.h */
-#define AUFS_SUPER_MAGIC       ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
-
-/* ---------------------------------------------------------------------- */
-
-#ifdef CONFIG_AUFS_BRANCH_MAX_127
-typedef __s8 aufs_bindex_t;
-#define AUFS_BRANCH_MAX 127
-#else
-typedef __s16 aufs_bindex_t;
-#ifdef CONFIG_AUFS_BRANCH_MAX_511
-#define AUFS_BRANCH_MAX 511
-#elif defined(CONFIG_AUFS_BRANCH_MAX_1023)
-#define AUFS_BRANCH_MAX 1023
-#elif defined(CONFIG_AUFS_BRANCH_MAX_32767)
-#define AUFS_BRANCH_MAX 32767
-#endif
-#endif
-
-#ifdef __KERNEL__
-#ifndef AUFS_BRANCH_MAX
-#error unknown CONFIG_AUFS_BRANCH_MAX value
-#endif
-#endif /* __KERNEL__ */
-
-/* ---------------------------------------------------------------------- */
-
-#define AUFS_NAME              "aufs"
-#define AUFS_FSTYPE            AUFS_NAME
-
-#define AUFS_ROOT_INO          2
-#define AUFS_FIRST_INO         11
-
-#define AUFS_WH_PFX            ".wh."
-#define AUFS_WH_PFX_LEN                ((int)sizeof(AUFS_WH_PFX) - 1)
-#define AUFS_WH_TMP_LEN                4
-/* a limit for rmdir/rename a dir */
-#define AUFS_MAX_NAMELEN       (NAME_MAX \
-                               - AUFS_WH_PFX_LEN * 2   /* doubly whiteouted */\
-                               - 1                     /* dot */\
-                               - AUFS_WH_TMP_LEN)      /* hex */
-#define AUFS_XINO_FNAME                "." AUFS_NAME ".xino"
-#define AUFS_XINO_DEFPATH      "/tmp/" AUFS_XINO_FNAME
-#define AUFS_XINO_TRUNC_INIT   64 /* blocks */
-#define AUFS_XINO_TRUNC_STEP   4  /* blocks */
-#define AUFS_DIRWH_DEF         3
-#define AUFS_RDCACHE_DEF       10 /* seconds */
-#define AUFS_RDBLK_DEF         512 /* bytes */
-#define AUFS_RDHASH_DEF                32
-#define AUFS_WKQ_NAME          AUFS_NAME "d"
-#define AUFS_WKQ_PRE_NAME      AUFS_WKQ_NAME "_pre"
-#define AUFS_MFS_SECOND_DEF    30 /* seconds */
-#define AUFS_PLINK_WARN                100 /* number of plinks */
-
-/* pseudo-link maintenace under /proc */
-#define AUFS_PLINK_MAINT_NAME  "plink_maint"
-#define AUFS_PLINK_MAINT_DIR   "fs/" AUFS_NAME
-#define AUFS_PLINK_MAINT_PATH  AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME
-
-#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
-
-/* branch permission */
-#define AUFS_BRPERM_RW         "rw"
-#define AUFS_BRPERM_RO         "ro"
-#define AUFS_BRPERM_RR         "rr"
-#define AUFS_BRPERM_WH         "wh"
-#define AUFS_BRPERM_NLWH       "nolwh"
-#define AUFS_BRPERM_ROWH       AUFS_BRPERM_RO "+" AUFS_BRPERM_WH
-#define AUFS_BRPERM_RRWH       AUFS_BRPERM_RR "+" AUFS_BRPERM_WH
-#define AUFS_BRPERM_RWNLWH     AUFS_BRPERM_RW "+" AUFS_BRPERM_NLWH
-
-/* ---------------------------------------------------------------------- */
-
-/* ioctl */
-enum {
-       /* readdir in userspace */
-       AuCtl_RDU,
-       AuCtl_RDU_INO,
-
-       /* pathconf wrapper */
-       AuCtl_WBR_FD
-};
-
-/* borrowed from linux/include/linux/kernel.h */
-#ifndef ALIGN
-#define ALIGN(x, a)            __ALIGN_MASK(x, (typeof(x))(a)-1)
-#define __ALIGN_MASK(x, mask)  (((x)+(mask))&~(mask))
-#endif
-
-/* borrowed from linux/include/linux/compiler-gcc3.h */
-#ifndef __aligned
-#define __aligned(x)                   __attribute__((aligned(x)))
-#define __packed                       __attribute__((packed))
-#endif
-
-struct au_rdu_cookie {
-       __u64           h_pos;
-       __s16           bindex;
-       __u8            flags;
-       __u8            pad;
-       __u32           generation;
-} __aligned(8);
-
-struct au_rdu_ent {
-       __u64           ino;
-       __s16           bindex;
-       __u8            type;
-       __u8            nlen;
-       __u8            wh;
-       char            name[0];
-} __aligned(8);
-
-static inline int au_rdu_len(int nlen)
-{
-       /* include the terminating NULL */
-       return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1,
-                    sizeof(__u64));
-}
-
-union au_rdu_ent_ul {
-       struct au_rdu_ent __user        *e;
-       __u64                           ul;
-};
-
-enum {
-       AufsCtlRduV_SZ,
-       AufsCtlRduV_End
-};
-
-struct aufs_rdu {
-       /* input */
-       union {
-               __u64           sz;     /* AuCtl_RDU */
-               __u64           nent;   /* AuCtl_RDU_INO */
-       };
-       union au_rdu_ent_ul     ent;
-       __u16                   verify[AufsCtlRduV_End];
-
-       /* input/output */
-       __u32                   blk;
-
-       /* output */
-       union au_rdu_ent_ul     tail;
-       /* number of entries which were added in a single call */
-       __u64                   rent;
-       __u8                    full;
-       __u8                    shwh;
-
-       struct au_rdu_cookie    cookie;
-} __aligned(8);
-
-#define AuCtlType              'A'
-#define AUFS_CTL_RDU           _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu)
-#define AUFS_CTL_RDU_INO       _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu)
-#define AUFS_CTL_WBR_FD                _IO(AuCtlType, AuCtl_WBR_FD)
-
-#endif /* __AUFS_TYPE_H__ */
diff --git a/ubuntu/include/Kbuild b/ubuntu/include/Kbuild
new file mode 100644 (file)
index 0000000..c9a138f
--- /dev/null
@@ -0,0 +1 @@
+header-y += linux/
diff --git a/ubuntu/include/linux/Kbuild b/ubuntu/include/linux/Kbuild
new file mode 100644 (file)
index 0000000..50d9e8c
--- /dev/null
@@ -0,0 +1 @@
+header-y += aufs_type.h
diff --git a/ubuntu/include/linux/aufs_type.h b/ubuntu/include/linux/aufs_type.h
new file mode 100644 (file)
index 0000000..c9e2845
--- /dev/null
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2005-2010 Junjiro R. Okajima
+ *
+ * This program, aufs is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef __AUFS_TYPE_H__
+#define __AUFS_TYPE_H__
+
+#include <linux/ioctl.h>
+#include <linux/kernel.h>
+#include <linux/limits.h>
+#include <linux/types.h>
+
+#define AUFS_VERSION   "2.1-standalone.tree-37-rcN-20101122"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC       ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
+
+/* ---------------------------------------------------------------------- */
+
+#ifdef CONFIG_AUFS_BRANCH_MAX_127
+typedef __s8 aufs_bindex_t;
+#define AUFS_BRANCH_MAX 127
+#else
+typedef __s16 aufs_bindex_t;
+#ifdef CONFIG_AUFS_BRANCH_MAX_511
+#define AUFS_BRANCH_MAX 511
+#elif defined(CONFIG_AUFS_BRANCH_MAX_1023)
+#define AUFS_BRANCH_MAX 1023
+#elif defined(CONFIG_AUFS_BRANCH_MAX_32767)
+#define AUFS_BRANCH_MAX 32767
+#endif
+#endif
+
+#ifdef __KERNEL__
+#ifndef AUFS_BRANCH_MAX
+#error unknown CONFIG_AUFS_BRANCH_MAX value
+#endif
+#endif /* __KERNEL__ */
+
+/* ---------------------------------------------------------------------- */
+
+#define AUFS_NAME              "aufs"
+#define AUFS_FSTYPE            AUFS_NAME
+
+#define AUFS_ROOT_INO          2
+#define AUFS_FIRST_INO         11
+
+#define AUFS_WH_PFX            ".wh."
+#define AUFS_WH_PFX_LEN                ((int)sizeof(AUFS_WH_PFX) - 1)
+#define AUFS_WH_TMP_LEN                4
+/* a limit for rmdir/rename a dir */
+#define AUFS_MAX_NAMELEN       (NAME_MAX \
+                               - AUFS_WH_PFX_LEN * 2   /* doubly whiteouted */\
+                               - 1                     /* dot */\
+                               - AUFS_WH_TMP_LEN)      /* hex */
+#define AUFS_XINO_FNAME                "." AUFS_NAME ".xino"
+#define AUFS_XINO_DEFPATH      "/tmp/" AUFS_XINO_FNAME
+#define AUFS_XINO_TRUNC_INIT   64 /* blocks */
+#define AUFS_XINO_TRUNC_STEP   4  /* blocks */
+#define AUFS_DIRWH_DEF         3
+#define AUFS_RDCACHE_DEF       10 /* seconds */
+#define AUFS_RDBLK_DEF         512 /* bytes */
+#define AUFS_RDHASH_DEF                32
+#define AUFS_WKQ_NAME          AUFS_NAME "d"
+#define AUFS_WKQ_PRE_NAME      AUFS_WKQ_NAME "_pre"
+#define AUFS_MFS_SECOND_DEF    30 /* seconds */
+#define AUFS_PLINK_WARN                100 /* number of plinks */
+
+/* pseudo-link maintenace under /proc */
+#define AUFS_PLINK_MAINT_NAME  "plink_maint"
+#define AUFS_PLINK_MAINT_DIR   "fs/" AUFS_NAME
+#define AUFS_PLINK_MAINT_PATH  AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME
+
+#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
+
+/* branch permission */
+#define AUFS_BRPERM_RW         "rw"
+#define AUFS_BRPERM_RO         "ro"
+#define AUFS_BRPERM_RR         "rr"
+#define AUFS_BRPERM_WH         "wh"
+#define AUFS_BRPERM_NLWH       "nolwh"
+#define AUFS_BRPERM_ROWH       AUFS_BRPERM_RO "+" AUFS_BRPERM_WH
+#define AUFS_BRPERM_RRWH       AUFS_BRPERM_RR "+" AUFS_BRPERM_WH
+#define AUFS_BRPERM_RWNLWH     AUFS_BRPERM_RW "+" AUFS_BRPERM_NLWH
+
+/* ---------------------------------------------------------------------- */
+
+/* ioctl */
+enum {
+       /* readdir in userspace */
+       AuCtl_RDU,
+       AuCtl_RDU_INO,
+
+       /* pathconf wrapper */
+       AuCtl_WBR_FD
+};
+
+/* borrowed from linux/include/linux/kernel.h */
+#ifndef ALIGN
+#define ALIGN(x, a)            __ALIGN_MASK(x, (typeof(x))(a)-1)
+#define __ALIGN_MASK(x, mask)  (((x)+(mask))&~(mask))
+#endif
+
+/* borrowed from linux/include/linux/compiler-gcc3.h */
+#ifndef __aligned
+#define __aligned(x)                   __attribute__((aligned(x)))
+#define __packed                       __attribute__((packed))
+#endif
+
+struct au_rdu_cookie {
+       __u64           h_pos;
+       __s16           bindex;
+       __u8            flags;
+       __u8            pad;
+       __u32           generation;
+} __aligned(8);
+
+struct au_rdu_ent {
+       __u64           ino;
+       __s16           bindex;
+       __u8            type;
+       __u8            nlen;
+       __u8            wh;
+       char            name[0];
+} __aligned(8);
+
+static inline int au_rdu_len(int nlen)
+{
+       /* include the terminating NULL */
+       return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1,
+                    sizeof(__u64));
+}
+
+union au_rdu_ent_ul {
+       struct au_rdu_ent __user        *e;
+       __u64                           ul;
+};
+
+enum {
+       AufsCtlRduV_SZ,
+       AufsCtlRduV_End
+};
+
+struct aufs_rdu {
+       /* input */
+       union {
+               __u64           sz;     /* AuCtl_RDU */
+               __u64           nent;   /* AuCtl_RDU_INO */
+       };
+       union au_rdu_ent_ul     ent;
+       __u16                   verify[AufsCtlRduV_End];
+
+       /* input/output */
+       __u32                   blk;
+
+       /* output */
+       union au_rdu_ent_ul     tail;
+       /* number of entries which were added in a single call */
+       __u64                   rent;
+       __u8                    full;
+       __u8                    shwh;
+
+       struct au_rdu_cookie    cookie;
+} __aligned(8);
+
+#define AuCtlType              'A'
+#define AUFS_CTL_RDU           _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu)
+#define AUFS_CTL_RDU_INO       _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu)
+#define AUFS_CTL_WBR_FD                _IO(AuCtlType, AuCtl_WBR_FD)
+
+#endif /* __AUFS_TYPE_H__ */