All of lore.kernel.org
 help / color / mirror / Atom feed
* [lustre-devel] [PATCH 00/32] Another bunch of lustre patches.
@ 2019-03-14  0:11 NeilBrown
  2019-03-14  0:11 ` [lustre-devel] [PATCH 01/32] lustre: remove outdated comments about ->ap_* functions NeilBrown
                   ` (31 more replies)
  0 siblings, 32 replies; 44+ messages in thread
From: NeilBrown @ 2019-03-14  0:11 UTC (permalink / raw)
  To: lustre-devel

There are two parts of this series worth highlighting.

Lustre's "memory descriptors" allow a payload to be described as
either a list of iov - virtual address based - or bvec - page based.
This results in lots of duplication at various levels of the stack.
At the bottom of the stack, the virtual addresses get mapped to
pages.  So it is cleaner to do that mapping at the top of the stack
and pass only pages down.

So this patchset results in lnet_libmd and lnet_msg only supporting
bvec.
ksock_tx still supports a single iov for the header, but otherwise
only handles bvec.
lnet_md supports a single virtual address or a list of bvec, as that
is all the client needs. When the server is added we can add back
support for a list of iov if it is still needed.

The other change involves CONFIG_FS_POSIX_ACL.
This is a config option that enables a library of support software.
While lustre is out-of-tree and being built to fit a pre-existing
config it makes sense to test that config option.
When lustre is in-tree, it does not.  lustre can select that config
option if it wants to.
The approach I have taken for now is to introduce
CONFIG_LUSTRE_FS_POSIX_ACL, and select CONFIG_FS_POSIX_ACL if the new
config is selected.
Possibly we should make Posix ACL support non-optional.  Some
filesystems do that, but most seem to have a config option.
I'd be interested in other people's thoughts on the pros and cons.

Thanks,
NeilBrown


---

NeilBrown (32):
      lustre: remove outdated comments about ->ap_* functions.
      lustre: ptlrpc: remove ptlrpc_prep_bulk_frag
      lustre: ptlrpc: make ptlrpc_bulk_frag_ops always const.
      lustre: ptlrpc: remove inline on non-inlined functions.
      lustre: ptlrpc: drop support for KVEC bulk descriptors.
      lustre: ptlrpc: discard BULK_BUF types
      lustre: ptlrpc: remove *GET*KIOV macros and fields.
      lustre: ptlrpc: simplify bd_vec access.
      lustre: lnet: discard LNET_MD_PHYS
      lustre: lnet: discard LNET_MD_IOVEC
      lustre: lnet: don't embed whole lnet_md in lnet_event
      lustre: lnet: merge lnet_md_alloc into lnet_md_build.
      lustre: lnet: always put a page list into struct lnet_libmd.
      lustre: lnet: discard kvec option from lnet_libmd.
      lustre: lnet: remove msg_iov from lnet_msg.
      lustre: lnet: simplify ksock_tx.
      lustre: socklnd: discard tx_iov.
      lustre: socklnd: don't fall-back to tcp_sendpage.
      lustre: socklnd: discard kiblnd_setup_rd_iov
      lustre: lnet: discard lnet_kvaddr_to_page
      lustre: ptlrpc: discard a server-only waitq.
      lustre: ptlrpc: simplify locking in ptlrpc_add_rqs_to_pool()
      lustre: ptlrpc: make ptlrpc_last_xid an atomic64_t
      lustre: ptlrpc: discard cb_list and ptlrpc_set_cbdata;
      lustre: incorporate BUILD_BUG_ON into ptlrpc_req_async_args()
      lustre: ptlrpc: don't use list_for_each_entry_safe unnecessarily.
      lustre: don't call unshare_fs_struct()
      lustre: don't declare extern variables in C files.
      lustre: introduce CONFIG_LUSTRE_FS_POSIX_ACL
      lustre: remove some "#ifdef CONFIG*" from .c files.
      lustre: mdc: create mdc_acl.c
      lustre: mgc: remove llog_process_lock


 .../staging/lustre/include/linux/lnet/lib-lnet.h   |   29 ---
 .../staging/lustre/include/linux/lnet/lib-types.h  |    6 -
 .../lustre/include/uapi/linux/lnet/lnet-types.h    |   25 +-
 .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c |  123 +----------
 .../staging/lustre/lnet/klnds/socklnd/socklnd.h    |   17 --
 .../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c |   69 ++----
 .../lustre/lnet/klnds/socklnd/socklnd_lib.c        |   28 +--
 .../lustre/lnet/klnds/socklnd/socklnd_proto.c      |   17 +-
 drivers/staging/lustre/lnet/lnet/api-ni.c          |    4 
 drivers/staging/lustre/lnet/lnet/lib-md.c          |  220 +++++++-------------
 drivers/staging/lustre/lnet/lnet/lib-move.c        |   21 --
 drivers/staging/lustre/lnet/lnet/lib-msg.c         |    4 
 drivers/staging/lustre/lnet/lnet/lo.c              |   17 --
 drivers/staging/lustre/lnet/lnet/peer.c            |   10 -
 drivers/staging/lustre/lnet/lnet/router.c          |    2 
 drivers/staging/lustre/lnet/selftest/rpc.c         |    5 
 drivers/staging/lustre/lustre/Kconfig              |   11 +
 drivers/staging/lustre/lustre/include/lustre_acl.h |    6 -
 drivers/staging/lustre/lustre/include/lustre_net.h |   96 +--------
 drivers/staging/lustre/lustre/include/obd.h        |   32 ++-
 drivers/staging/lustre/lustre/ldlm/ldlm_request.c  |    3 
 drivers/staging/lustre/lustre/ldlm/ldlm_resource.c |    2 
 drivers/staging/lustre/lustre/llite/Makefile       |    2 
 .../staging/lustre/lustre/llite/llite_internal.h   |   33 +++
 drivers/staging/lustre/lustre/llite/llite_lib.c    |   39 +---
 drivers/staging/lustre/lustre/llite/xattr.c        |    4 
 drivers/staging/lustre/lustre/mdc/Makefile         |    1 
 drivers/staging/lustre/lustre/mdc/mdc_acl.c        |   48 ++++
 drivers/staging/lustre/lustre/mdc/mdc_internal.h   |   10 +
 drivers/staging/lustre/lustre/mdc/mdc_locks.c      |    7 -
 drivers/staging/lustre/lustre/mdc/mdc_request.c    |   67 +-----
 drivers/staging/lustre/lustre/mgc/mgc_request.c    |    8 -
 drivers/staging/lustre/lustre/obdclass/llog.c      |    3 
 drivers/staging/lustre/lustre/osc/osc_internal.h   |    4 
 drivers/staging/lustre/lustre/osc/osc_io.c         |    3 
 drivers/staging/lustre/lustre/osc/osc_page.c       |    4 
 drivers/staging/lustre/lustre/osc/osc_request.c    |   31 +--
 drivers/staging/lustre/lustre/ptlrpc/client.c      |  151 ++++----------
 drivers/staging/lustre/lustre/ptlrpc/events.c      |   22 +-
 drivers/staging/lustre/lustre/ptlrpc/import.c      |   21 +-
 drivers/staging/lustre/lustre/ptlrpc/pers.c        |   21 +-
 .../staging/lustre/lustre/ptlrpc/ptlrpc_module.c   |    5 
 drivers/staging/lustre/lustre/ptlrpc/ptlrpcd.c     |    6 -
 drivers/staging/lustre/lustre/ptlrpc/recover.c     |   14 +
 drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c    |   18 +-
 drivers/staging/lustre/lustre/ptlrpc/sec_plain.c   |   12 -
 drivers/staging/lustre/lustre/ptlrpc/service.c     |    4 
 47 files changed, 450 insertions(+), 835 deletions(-)
 create mode 100644 drivers/staging/lustre/lustre/mdc/mdc_acl.c

--
Signature

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2019-04-03 23:56 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-14  0:11 [lustre-devel] [PATCH 00/32] Another bunch of lustre patches NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 01/32] lustre: remove outdated comments about ->ap_* functions NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 02/32] lustre: ptlrpc: remove ptlrpc_prep_bulk_frag NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 03/32] lustre: ptlrpc: make ptlrpc_bulk_frag_ops always const NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 09/32] lustre: lnet: discard LNET_MD_PHYS NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 04/32] lustre: ptlrpc: remove inline on non-inlined functions NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 11/32] lustre: lnet: don't embed whole lnet_md in lnet_event NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 07/32] lustre: ptlrpc: remove *GET*KIOV macros and fields NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 05/32] lustre: ptlrpc: drop support for KVEC bulk descriptors NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 10/32] lustre: lnet: discard LNET_MD_IOVEC NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 08/32] lustre: ptlrpc: simplify bd_vec access NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 06/32] lustre: ptlrpc: discard BULK_BUF types NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 12/32] lustre: lnet: merge lnet_md_alloc into lnet_md_build NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 15/32] lustre: lnet: remove msg_iov from lnet_msg NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 14/32] lustre: lnet: discard kvec option from lnet_libmd NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 13/32] lustre: lnet: always put a page list into struct lnet_libmd NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 17/32] lustre: socklnd: discard tx_iov NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 19/32] lustre: socklnd: discard kiblnd_setup_rd_iov NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 18/32] lustre: socklnd: don't fall-back to tcp_sendpage NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 20/32] lustre: lnet: discard lnet_kvaddr_to_page NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 16/32] lustre: lnet: simplify ksock_tx NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 21/32] lustre: ptlrpc: discard a server-only waitq NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 25/32] lustre: incorporate BUILD_BUG_ON into ptlrpc_req_async_args() NeilBrown
2019-04-03 20:49   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 27/32] lustre: don't call unshare_fs_struct() NeilBrown
2019-04-03 20:30   ` Andreas Dilger
2019-04-03 23:56     ` NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 22/32] lustre: ptlrpc: simplify locking in ptlrpc_add_rqs_to_pool() NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 28/32] lustre: don't declare extern variables in C files NeilBrown
2019-04-03 20:43   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 24/32] lustre: ptlrpc: discard cb_list and ptlrpc_set_cbdata; NeilBrown
2019-04-03 20:53   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 23/32] lustre: ptlrpc: make ptlrpc_last_xid an atomic64_t NeilBrown
2019-04-03 20:26   ` Andreas Dilger
2019-04-03 23:46     ` NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 26/32] lustre: ptlrpc: don't use list_for_each_entry_safe unnecessarily NeilBrown
2019-03-14  0:11 ` [lustre-devel] [PATCH 30/32] lustre: remove some "#ifdef CONFIG*" from .c files NeilBrown
2019-04-03 20:45   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 32/32] lustre: mgc: remove llog_process_lock NeilBrown
2019-04-03 20:47   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 29/32] lustre: introduce CONFIG_LUSTRE_FS_POSIX_ACL NeilBrown
2019-04-03 20:44   ` Andreas Dilger
2019-03-14  0:11 ` [lustre-devel] [PATCH 31/32] lustre: mdc: create mdc_acl.c NeilBrown
2019-04-03 20:47   ` Andreas Dilger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.