[PATCH v2 00/13] staging:lustre: split kernel comm between user and kernel

James Simmons jsimmons at infradead.org
Wed Dec 23 21:24:39 UTC 2015


The kernel communication code used for HSM and changelog is
entangled. Move the user space bits into the liblustreapi. This will
also help for a possible relicensing. The kernel portion is also moved
from libcfs to obdclass.

The original libcfs_kernelcomm.h header is split into three parts:

  * lustre_kernelcomm.h, a new header for the kernel parts;
  * uapi_kernelcomm.h, a new header for the data structures shared
    between userspace and kernelspace;
  * lustreapi_internal.h receives the private liblustreapi prototypes.

The original code in kernel_user_comm.c is split into two parts:

  * obdclass/kernelcomm.c for the kernel part. filp_user_write() was
    moved there, and linux-fs.c deleted;
  * liblustreapi_kernelconn.c for the user part. The calls to CDEBUG
    have been removed, and calls to CERROR have been transformed to
    llapi_err_noerrno. The type lustre_kernelcomm has been removed and
    replace by struct lustre_kernelcomm.

Various names and filenames have been harmonized to *kernelcomm*.

The unused symbol KUC_FL_BLOCK has been removed.

Signed-off-by: frank zago <fzago at cray.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245
Reviewed-on: http://review.whamcloud.com/14270
Reviewed-by: Nathan Rutman <nathan.rutman at seagate.com>
Reviewed-by: James Simmons <uja.ornl at yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin at intel.com>
Reviewed-by: John L. Hammond <john.hammond at intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin at intel.com>

Henri Doreau (1):
  staging: lustre: Prevent duplicate CT registrations

Hongchao Zhang (1):
  staging: lustre: embed kr_data into kkuc_reg

James Simmons (9):
  staging: lustre: kg_sem semaphore handling is incorrectly
  staging: lustre: convert kernelcomm group to unsigned int
  staging: lustre: remove unnecessary NULL checks in kernel_comm.c
  staging: lustre: cleanup block comment style in kernel_comm code
  staging: lustre: add space around '+' in kernel_comm code
  staging: lustre: use proper braces in libcfs_kkuc_group_put
  staging: lustre: return proper error code for libcfs_kkuc_msg_put
  staging: lustre: fix all conditional comparison to zero for
    kernelcomm.c
  staging: lustre: cleanup white space in kernel comm code

frank zago (2):
  staging: lustre: move kernel_user_comm.c from libcfs to lustre
  staging: lustre: split kernel comm between user and kernel

 .../staging/lustre/include/linux/libcfs/libcfs.h   |    1 -
 .../staging/lustre/lustre/include/lustre_export.h  |    7 ++
 .../lustre/lustre/include/lustre_kernelcomm.h      |   55 +++++++++++++
 .../include/uapi_kernelcomm.h}                     |   72 ++++++------------
 drivers/staging/lustre/lustre/libcfs/Makefile      |    5 +-
 drivers/staging/lustre/lustre/llite/dir.c          |    1 +
 drivers/staging/lustre/lustre/lmv/lmv_obd.c        |   30 +++++--
 drivers/staging/lustre/lustre/mdc/mdc_request.c    |   21 ++++--
 drivers/staging/lustre/lustre/obdclass/Makefile    |   10 +-
 drivers/staging/lustre/lustre/obdclass/genops.c    |    1 +
 .../kernel_user_comm.c => obdclass/kernelcomm.c}   |   80 ++++++++++---------
 11 files changed, 172 insertions(+), 111 deletions(-)
 create mode 100644 drivers/staging/lustre/lustre/include/lustre_kernelcomm.h
 rename drivers/staging/lustre/{include/linux/libcfs/libcfs_kernelcomm.h => lustre/include/uapi_kernelcomm.h} (51%)
 rename drivers/staging/lustre/lustre/{libcfs/kernel_user_comm.c => obdclass/kernelcomm.c} (81%)



More information about the devel mailing list