Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / include / linux / lustre_acl.h
index 26e0d87..153ac74 100644 (file)
@@ -1,42 +1,49 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- 
+/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
  * vim:expandtab:shiftwidth=8:tabstop=8:
  *
- *  Copyright (C) 2002, 2003 Cluster File Systems, Inc.
+ *   This file is part of Lustre, http://www.lustre.org
  *
- *   This file is part of Lustre, http://www.lustre.org.
- *
- *   Lustre is free software; you can redistribute it and/or
- *   modify it under the terms of version 2 of the GNU General Public
- *   License as published by the Free Software Foundation.
- *
- *   Lustre 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 Lustre; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */ 
+ * MDS data structures.
+ * See also lustre_idl.h for wire formats of requests.
+ */
 
-#ifndef _LUSTRE_ACL_H_
-#define _LUSTRE_ACL_H_
+#ifndef _LUSTRE_ACL_H
+#define _LUSTRE_ACL_H
 
 #ifdef __KERNEL__
-#include <linux/xattr_acl.h>
-#endif
+# include <linux/fs.h>
+# include <linux/dcache.h>
+# ifdef CONFIG_FS_POSIX_ACL
+#  ifdef HAVE_XATTR_ACL
+#   include <linux/xattr_acl.h>
+#  endif /* HAVE_XATTR_ACL */
+#  ifdef HAVE_LINUX_POSIX_ACL_XATTR_H
+#   include <linux/posix_acl_xattr.h>
+#  endif /* HAVE_LINUX_POSIX_ACL_XATTR_H */
+# endif /* CONFIG_FS_POSIX_ACL */
+# ifndef HAVE_VFS_INTENT_PATCHES
+#  include <linux/lustre_intent.h>
+# endif
+#endif /* __KERNEL__ */
+
+/* ACL */
+#ifdef CONFIG_FS_POSIX_ACL
+# ifdef HAVE_XATTR_ACL
+#  define MDS_XATTR_NAME_ACL_ACCESS XATTR_NAME_ACL_ACCESS
+#  define mds_xattr_acl_size(entry) xattr_acl_size(entry)
+# else /* HAVE_XATTR_ACL */
+#  ifdef HAVE_LINUX_POSIX_ACL_XATTR_H
+#   define MDS_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
+#   define mds_xattr_acl_size(entry) posix_acl_xattr_size(entry)
+#  endif /* HAVE_LINUX_POSIX_ACL_XATTR_H */
+# endif /* HAVE_XATTR_ACL */
+
+# define LUSTRE_POSIX_ACL_MAX_ENTRIES   (32)
 
-/*
-* the value of LL_ACL_MAX_ENTRIES and LL_ACL_NOT_CACHED should be 
-* kept step with related definition in ext3 (EXT3_ACL_MAX_ENTRIES and
-* EXT3_ACL_NOT_CACHED)
-*/
-#define LL_ACL_MAX_ENTRIES      32      // EXT3_ACL_MAX_ENTRIES
-#define LL_ACL_NOT_CACHED       ((void *)-1) //EXT3_ACL_NOT_CACHED
+# define LUSTRE_POSIX_ACL_MAX_SIZE   XATTR_ACL_SIZE
 
-/* remote acl */
-#define XATTR_NAME_LUSTRE_ACL   "system.lustre_acl"
-#define LUSTRE_ACL_SIZE_MAX     (4096)
+# else /* CONFIG_FS_POSIX_ACL */
+# define LUSTRE_POSIX_ACL_MAX_SIZE      0
+# endif /* CONFIG_FS_POSIX_ACL */
 
-#endif
+#endif /* _LUSTRE_ACL_H */