X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_eacl.h;h=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=8cdb99aa0a6462a35ac584226ae66841c3b7bc2f;hp=9dfbfd1ab05459ee4a3ad24960c5fe613e770bc6;hpb=ac1b1940adc038b94fab1e201f8f7d362c711bf2;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_eacl.h b/lustre/include/lustre_eacl.h index 9dfbfd1..e69de29 100644 --- a/lustre/include/lustre_eacl.h +++ b/lustre/include/lustre_eacl.h @@ -1,117 +0,0 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * - * GPL HEADER START - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 only, - * as published by the Free Software Foundation. - * - * 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 version 2 for more details (a copy is included - * in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU General Public License - * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - * - * GPL HEADER END - */ -/* - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - */ -/* - * Copyright (c) 2012 Whamcloud, Inc. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - * - * lustre/lustre/include/lustre_idmap.h - * - * MDS data structures. - * See also lustre_idl.h for wire formats of requests. - */ - -#ifndef _LUSTRE_EACL_H -#define _LUSTRE_EACL_H - -/** \defgroup eacl eacl - * - * @{ - */ - -#ifdef CONFIG_FS_POSIX_ACL - -#include - -#include -#include -#include - -typedef struct { - __u16 e_tag; - __u16 e_perm; - __u32 e_id; - __u32 e_stat; -} ext_acl_xattr_entry; - -typedef struct { - __u32 a_count; - ext_acl_xattr_entry a_entries[0]; -} ext_acl_xattr_header; - -#define CFS_ACL_XATTR_SIZE(count, prefix) \ - (sizeof(prefix ## _header) + (count) * sizeof(prefix ## _entry)) - -#define CFS_ACL_XATTR_COUNT(size, prefix) \ - (((size) - sizeof(prefix ## _header)) / sizeof(prefix ## _entry)) - -extern int lustre_posix_acl_permission(struct md_ucred *mu, struct lu_attr *la, - int want, posix_acl_xattr_entry *entry, - int count); -extern int lustre_posix_acl_chmod_masq(posix_acl_xattr_entry *entry, - __u32 mode, int count); -extern int lustre_posix_acl_create_masq(posix_acl_xattr_entry *entry, - __u32 *pmode, int count); - -extern ext_acl_xattr_header * -lustre_posix_acl_xattr_2ext(posix_acl_xattr_header *header, int size); -extern int -lustre_posix_acl_xattr_filter(posix_acl_xattr_header *header, int size, - posix_acl_xattr_header **out); -extern int -lustre_posix_acl_xattr_id2client(struct md_ucred *mu, - struct lustre_idmap_table *t, - posix_acl_xattr_header *header, - int size, int flags); -extern void -lustre_posix_acl_xattr_free(posix_acl_xattr_header *header, int size); -extern int -lustre_ext_acl_xattr_id2server(struct md_ucred *mu, - struct lustre_idmap_table *t, - ext_acl_xattr_header *header); -extern void -lustre_ext_acl_xattr_free(ext_acl_xattr_header *header); -extern int -lustre_acl_xattr_merge2posix(posix_acl_xattr_header *posix_header, int size, - ext_acl_xattr_header *ext_header, - posix_acl_xattr_header **out); -extern ext_acl_xattr_header * -lustre_acl_xattr_merge2ext(posix_acl_xattr_header *posix_header, int size, - ext_acl_xattr_header *ext_header); - -#endif /* CONFIG_FS_POSIX_ACL */ - -/** @} eacl */ - -#endif