From: green@linuxhacker.ru
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devel@driverdev.osuosl.org,
Andreas Dilger <andreas.dilger@intel.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Lustre Development List <lustre-devel@lists.lustre.org>,
Oleg Drokin <green@linuxhacker.ru>
Subject: [PATCH 02/29] staging/lustre: Remove unused lustre_acl_xattr_merge2posix()
Date: Mon, 28 Sep 2015 23:43:45 -0400 [thread overview]
Message-ID: <1443498252-1974801-3-git-send-email-green@linuxhacker.ru> (raw)
In-Reply-To: <1443498252-1974801-1-git-send-email-green@linuxhacker.ru>
From: Oleg Drokin <green@linuxhacker.ru>
Apparently this is only used only on the metadata server.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
---
.../staging/lustre/lustre/include/lustre_eacl.h | 4 -
drivers/staging/lustre/lustre/obdclass/acl.c | 119 ---------------------
2 files changed, 123 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre_eacl.h b/drivers/staging/lustre/lustre/include/lustre_eacl.h
index 0f8f76c..499f9c8 100644
--- a/drivers/staging/lustre/lustre/include/lustre_eacl.h
+++ b/drivers/staging/lustre/lustre/include/lustre_eacl.h
@@ -80,10 +80,6 @@ extern void
lustre_posix_acl_xattr_free(posix_acl_xattr_header *header, int size);
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);
diff --git a/drivers/staging/lustre/lustre/obdclass/acl.c b/drivers/staging/lustre/lustre/obdclass/acl.c
index 933456c..1dace14 100644
--- a/drivers/staging/lustre/lustre/obdclass/acl.c
+++ b/drivers/staging/lustre/lustre/obdclass/acl.c
@@ -287,125 +287,6 @@ again:
}
/*
- * Merge the posix ACL and the extended ACL into new posix ACL.
- */
-int lustre_acl_xattr_merge2posix(posix_acl_xattr_header *posix_header, int size,
- ext_acl_xattr_header *ext_header,
- posix_acl_xattr_header **out)
-{
- int posix_count, posix_size, i, j;
- int ext_count = le32_to_cpu(ext_header->a_count), pos = 0, rc = 0;
- posix_acl_xattr_entry pe = {ACL_MASK, 0, ACL_UNDEFINED_ID};
- posix_acl_xattr_header *new;
- ext_acl_xattr_entry *ee, ae;
-
- lustre_posix_acl_cpu_to_le(&pe, &pe);
- ee = lustre_ext_acl_xattr_search(ext_header, &pe, &pos);
- if (ee == NULL || le32_to_cpu(ee->e_stat) == ES_DEL) {
- /* there are only base ACL entries at most. */
- posix_count = 3;
- posix_size = CFS_ACL_XATTR_SIZE(posix_count, posix_acl_xattr);
- new = kzalloc(posix_size, GFP_NOFS);
- if (unlikely(new == NULL))
- return -ENOMEM;
-
- new->a_version = cpu_to_le32(CFS_ACL_XATTR_VERSION);
- for (i = 0, j = 0; i < ext_count; i++) {
- lustre_ext_acl_le_to_cpu(&ae,
- &ext_header->a_entries[i]);
- switch (ae.e_tag) {
- case ACL_USER_OBJ:
- case ACL_GROUP_OBJ:
- case ACL_OTHER:
- if (ae.e_id != ACL_UNDEFINED_ID) {
- rc = -EIO;
- goto _out;
- }
-
- if (ae.e_stat != ES_DEL) {
- new->a_entries[j].e_tag =
- ext_header->a_entries[i].e_tag;
- new->a_entries[j].e_perm =
- ext_header->a_entries[i].e_perm;
- new->a_entries[j++].e_id =
- ext_header->a_entries[i].e_id;
- }
- break;
- case ACL_MASK:
- case ACL_USER:
- case ACL_GROUP:
- if (ae.e_stat == ES_DEL)
- break;
- default:
- rc = -EIO;
- goto _out;
- }
- }
- } else {
- /* maybe there are valid ACL_USER or ACL_GROUP entries in the
- * original server-side ACL, they are regarded as ES_UNC stat.*/
- int ori_posix_count;
-
- if (unlikely(size < 0))
- return -EINVAL;
- else if (!size)
- ori_posix_count = 0;
- else
- ori_posix_count =
- CFS_ACL_XATTR_COUNT(size, posix_acl_xattr);
- posix_count = ori_posix_count + ext_count;
- posix_size =
- CFS_ACL_XATTR_SIZE(posix_count, posix_acl_xattr);
- new = kzalloc(posix_size, GFP_NOFS);
- if (unlikely(new == NULL))
- return -ENOMEM;
-
- new->a_version = cpu_to_le32(CFS_ACL_XATTR_VERSION);
- /* 1. process the unchanged ACL entries
- * in the original server-side ACL. */
- pos = 0;
- for (i = 0, j = 0; i < ori_posix_count; i++) {
- ee = lustre_ext_acl_xattr_search(ext_header,
- &posix_header->a_entries[i], &pos);
- if (ee == NULL)
- memcpy(&new->a_entries[j++],
- &posix_header->a_entries[i],
- sizeof(posix_acl_xattr_entry));
- }
-
- /* 2. process the non-deleted entries
- * from client-side extended ACL. */
- for (i = 0; i < ext_count; i++) {
- if (le16_to_cpu(ext_header->a_entries[i].e_stat) !=
- ES_DEL) {
- new->a_entries[j].e_tag =
- ext_header->a_entries[i].e_tag;
- new->a_entries[j].e_perm =
- ext_header->a_entries[i].e_perm;
- new->a_entries[j++].e_id =
- ext_header->a_entries[i].e_id;
- }
- }
- }
-
- /* free unused space. */
- rc = lustre_posix_acl_xattr_reduce_space(&new, posix_count, j);
- if (rc >= 0) {
- posix_size = rc;
- *out = new;
- rc = 0;
- }
-
-_out:
- if (rc) {
- kfree(new);
- posix_size = rc;
- }
- return posix_size;
-}
-EXPORT_SYMBOL(lustre_acl_xattr_merge2posix);
-
-/*
* Merge the posix ACL and the extended ACL into new extended ACL.
*/
ext_acl_xattr_header *
--
2.1.0
next prev parent reply other threads:[~2015-09-29 3:44 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-29 3:43 [PATCH 00/29] Removal of unused Lustre code green
2015-09-29 3:43 ` [PATCH 01/29] staging/lustre: Remove unused target_print_req() green
2015-09-29 3:43 ` green [this message]
2015-09-29 3:43 ` [PATCH 03/29] staging/lustre/ptlrpc: Remove server-specific health checks green
2015-09-29 3:43 ` [PATCH 04/29] staging/lustre: Remove unused req_capsule_server_grow green
2015-09-29 3:43 ` [PATCH 05/29] staging/lustre: Remove unused reply state batches code green
2015-09-29 3:43 ` [PATCH 06/29] staging/lustre: Remove high-priority request callbacks green
2015-09-29 3:43 ` [PATCH 07/29] staging/lustre: Remove unused statfs_pack() green
2015-09-29 3:43 ` [PATCH 08/29] staging/lustre: Remove unused ptlrpcd_add_rqset() green
2015-09-29 3:43 ` [PATCH 09/29] staging/lustre: Remove unused functions and definitions from cl_object green
2015-09-29 3:43 ` [PATCH 10/29] staging/lustre: Remove unused lu_object functions green
2015-09-29 3:43 ` [PATCH 11/29] staging/lustre/ldlm: Remove unused round_timeout function green
2015-09-29 3:43 ` [PATCH 12/29] staging/lustre/obdclass: Remove unused functions from genops.c green
2015-09-29 3:43 ` [PATCH 13/29] staging/lustre: Remove unused function class_handle_hash_back() green
2015-09-29 3:43 ` [PATCH 14/29] staging/lustre: Remove unused function server_name2svname() green
2015-09-29 3:43 ` [PATCH 15/29] staging/lustre/obdclass: Drop unused code from obdo.c green
2015-09-29 3:43 ` [PATCH 16/29] staging/lustre/ptlrpc: Drop unused client code green
2015-09-29 3:44 ` [PATCH 17/29] staging/lustre/ptlrpc: secure wrapping code cleanup green
2015-09-29 3:44 ` [PATCH 18/29] staging/lustre: Drop unused obdo_from_la() and la_from_obdo() green
2015-09-29 3:44 ` [PATCH 19/29] staging/lustre: remove lots of dead code green
2015-09-29 3:44 ` [PATCH 20/29] staging/lustre/fid: Remove server fid function declarations green
2015-09-29 3:44 ` [PATCH 21/29] staging/lustre/fid: seq_client_init/fini don't need to be exported green
2015-09-29 3:44 ` [PATCH 22/29] staging/lustre/fid: Remove unused seq_client_get_seq function green
2015-09-29 3:44 ` [PATCH 23/29] staging/lustre/fid: Get rid of lcs_srv in lu_client_seq green
2015-09-29 3:44 ` [PATCH 24/29] staging/lustre/fid: Remove unused struct lu_server_seq green
2015-09-29 3:44 ` [PATCH 25/29] staging/lustre/obdclass: Remove unused nid_hash green
2015-09-29 3:44 ` [PATCH 26/29] staging/lustre: Remove server-only recovery-related bits green
2015-09-29 3:44 ` [PATCH 27/29] staging/lustre: Remove ccc_attr/conf_set() green
2015-09-29 3:44 ` [PATCH 28/29] staging/lustre: Remove unused ccc_io_fini() green
2015-09-29 3:44 ` [PATCH 29/29] staging/lustre: Remove ccc_transient_page_* methods green
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1443498252-1974801-3-git-send-email-green@linuxhacker.ru \
--to=green@linuxhacker.ru \
--cc=andreas.dilger@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome