|
@@ -0,0 +1,51 @@
|
|
|
+// SPDX-License-Identifier: GPL-2.0
|
|
|
+/*
|
|
|
+ * 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.gnu.org/licenses/gpl-2.0.html
|
|
|
+ *
|
|
|
+ * GPL HEADER END
|
|
|
+ */
|
|
|
+/*
|
|
|
+ * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
|
|
|
+ * Use is subject to license terms.
|
|
|
+ *
|
|
|
+ * Copyright (c) 2011, 2015, Intel Corporation.
|
|
|
+ */
|
|
|
+/*
|
|
|
+ * This file is part of Lustre, http://www.lustre.org/
|
|
|
+ * Lustre is a trademark of Sun Microsystems, Inc.
|
|
|
+ *
|
|
|
+ * lustre/llite/acl.c
|
|
|
+ */
|
|
|
+
|
|
|
+#define DEBUG_SUBSYSTEM S_LLITE
|
|
|
+
|
|
|
+#include "llite_internal.h"
|
|
|
+
|
|
|
+struct posix_acl *ll_get_acl(struct inode *inode, int type)
|
|
|
+{
|
|
|
+ struct ll_inode_info *lli = ll_i2info(inode);
|
|
|
+ struct posix_acl *acl = NULL;
|
|
|
+
|
|
|
+ spin_lock(&lli->lli_lock);
|
|
|
+ /* VFS' acl_permission_check->check_acl will release the refcount */
|
|
|
+ acl = posix_acl_dup(lli->lli_posix_acl);
|
|
|
+ spin_unlock(&lli->lli_lock);
|
|
|
+
|
|
|
+ return acl;
|
|
|
+}
|