Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1363082 > unrolled thread

[PATCH 00/29] Bring libcfs ioctl handling up to date

Started byJames Simmons <jsimmons@infradead.org>
First post2016-03-23 00:10 +0100
Last post2016-03-23 00:20 +0100
Articles 4 on this page of 24 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/29] Bring libcfs ioctl handling up to date James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 29/29] staging: lustre: libcfs: return size_t for libcfs_ioctl_packlen James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 28/29] staging: lustre: libcfs: use BIT macro in linux-module.c James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 22/29] staging: lustre: libcfs: removal all userland only macros from libcfs_ioctl.h James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 18/29] staging:lustre: remove the IOC_LIBCFS_MEMHOG ioctl James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 24/29] staging: lustre: libcfs: move function declarations from libcfs_ioctl.h James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 03/29] staging: lustre: libcfs: merge code from libcfs_ioctl into libcfs_ioctl_getdata James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 23/29] staging: lustre: libcfs: migrate inline functions to source file James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 19/29] staging:lustre: remove libcfs_psdev_[open|release] James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 26/29] staging: lustre: libcfs: add uapi headers to libcfs_ioctl.h James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 14/29] staging: lustre: libcfs: remove libcfsutil.h in comment James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 25/29] staging: lustre: libcfs: make libcfs_ioctl.h readable James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 27/29] staging: lustre: libcfs: return proper bool values James Simmons <jsimmons@infradead.org> - 2016-03-23 00:10 +0100
    [PATCH 08/29] staging: lustre: libcfs: invert test condition for libcfs_ioctl James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 13/29] staging: lustre: libcfs: change variable name James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 11/29] staging: lustre: lnet: make sure lnet data not greater than LIBCFS_IOC_DATA_MAX James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 04/29] staging: lustre: libcfs: merge libcfs_ioctl_handle into libcfs_ioctl James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 10/29] staging: lustre: libcfs: test if userland data is to small James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 01/29] staging: lustre: libcfs: replace LNET_MAX_IOCTL_BUF_LEN with something bigger James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 02/29] staging: lustre: libcfs: use break in switch options for libcfs_ioctl_handle James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 15/29] staging: lustre: libcfs: move libcfs_ioctl_handler stuff to libcfs.h James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 12/29] staging: lustre: simple cleanup in obd_ioctl_popdata James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 09/29] staging: lustre: libcfs: update error messages in linux-module.c James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100
    [PATCH 05/29] staging: lustre: libcfs: add debugging info for libcfs_ioctl James Simmons <jsimmons@infradead.org> - 2016-03-23 00:20 +0100

Page 2 of 2 — ← Prev page 1 [2]


#1363115 — [PATCH 15/29] staging: lustre: libcfs: move libcfs_ioctl_handler stuff to libcfs.h

FromJames Simmons <jsimmons@infradead.org>
Date2016-03-23 00:20 +0100
Subject[PATCH 15/29] staging: lustre: libcfs: move libcfs_ioctl_handler stuff to libcfs.h
Message-ID<rfDKH-34K-31@gated-at.bofh.it>
In reply to#1363082
From: John L. Hammond <john.hammond@intel.com>

Move all the libcfs_ioctl_handler code from libcfs_ioctl.h to
libcfs.h. The header libcfs_ioctl.h is a uapi header so their
is no reason to keep kernel internals in that header.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245
Reviewed-on: http://review.whamcloud.com/14180
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: frank zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
---
 .../staging/lustre/include/linux/libcfs/libcfs.h   |   14 ++++++++++++++
 .../lustre/include/linux/libcfs/libcfs_ioctl.h     |   13 -------------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
index 40af75c..0ce52de 100644
--- a/drivers/staging/lustre/include/linux/libcfs/libcfs.h
+++ b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
@@ -119,6 +119,20 @@ void cfs_get_random_bytes(void *buf, int size);
 #include "libcfs_fail.h"
 #include "libcfs_crypto.h"
 
+struct libcfs_ioctl_handler {
+	struct list_head item;
+	int (*handle_ioctl)(unsigned int cmd, struct libcfs_ioctl_hdr *hdr);
+};
+
+#define DECLARE_IOCTL_HANDLER(ident, func)			\
+	struct libcfs_ioctl_handler ident = {			\
+		.item		= LIST_HEAD_INIT(ident.item),	\
+		.handle_ioctl	= func				\
+	}
+
+int libcfs_register_ioctl(struct libcfs_ioctl_handler *hand);
+int libcfs_deregister_ioctl(struct libcfs_ioctl_handler *hand);
+
 /* container_of depends on "likely" which is defined in libcfs_private.h */
 static inline void *__container_of(void *ptr, unsigned long shift)
 {
diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h
index 01bf8d6..d167d2e 100644
--- a/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h
+++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h
@@ -91,17 +91,6 @@ do {						    \
 	data.ioc_len = sizeof(data);		    \
 } while (0)
 
-struct libcfs_ioctl_handler {
-	struct list_head item;
-	int (*handle_ioctl)(unsigned int cmd, struct libcfs_ioctl_hdr *hdr);
-};
-
-#define DECLARE_IOCTL_HANDLER(ident, func)		      \
-	struct libcfs_ioctl_handler ident = {		   \
-		/* .item = */ LIST_HEAD_INIT(ident.item),   \
-		/* .handle_ioctl = */ func		      \
-	}
-
 /* FIXME check conflict with lustre_lib.h */
 #define LIBCFS_IOC_DEBUG_MASK	     _IOWR('f', 250, long)
 
@@ -223,8 +212,6 @@ static inline bool libcfs_ioctl_is_invalid(struct libcfs_ioctl_data *data)
 	return 0;
 }
 
-int libcfs_register_ioctl(struct libcfs_ioctl_handler *hand);
-int libcfs_deregister_ioctl(struct libcfs_ioctl_handler *hand);
 int libcfs_ioctl_getdata(struct libcfs_ioctl_hdr **hdr_pp,
 			 const struct libcfs_ioctl_hdr __user *uparam);
 int libcfs_ioctl_popdata(void __user *arg, void *buf, int size);
-- 
1.7.1

[toc] | [prev] | [next] | [standalone]


#1363117 — [PATCH 12/29] staging: lustre: simple cleanup in obd_ioctl_popdata

FromJames Simmons <jsimmons@infradead.org>
Date2016-03-23 00:20 +0100
Subject[PATCH 12/29] staging: lustre: simple cleanup in obd_ioctl_popdata
Message-ID<rfDKH-34K-35@gated-at.bofh.it>
In reply to#1363082
From: Liang Zhen <liang.zhen@intel.com>

Code simplification for obd_ioctl_popdata.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5435
Reviewed-on: http://review.whamcloud.com/11313
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
---
 .../lustre/lustre/obdclass/linux/linux-module.c    |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
index 8eddf20..2cd4522 100644
--- a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
+++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
@@ -158,9 +158,7 @@ int obd_ioctl_popdata(void __user *arg, void *data, int len)
 {
 	int err;
 
-	err = copy_to_user(arg, data, len);
-	if (err)
-		err = -EFAULT;
+	err = copy_to_user(arg, data, len) ? -EFAULT : 0;
 	return err;
 }
 EXPORT_SYMBOL(obd_ioctl_popdata);
-- 
1.7.1

[toc] | [prev] | [next] | [standalone]


#1363119 — [PATCH 09/29] staging: lustre: libcfs: update error messages in linux-module.c

FromJames Simmons <jsimmons@infradead.org>
Date2016-03-23 00:20 +0100
Subject[PATCH 09/29] staging: lustre: libcfs: update error messages in linux-module.c
Message-ID<rfDKI-34K-47@gated-at.bofh.it>
In reply to#1363082
From: Liang Zhen <liang.zhen@intel.com>

The error message are for libcfs layer not LNet.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5435
Reviewed-on: http://review.whamcloud.com/11313
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
---
 .../lustre/lnet/libcfs/linux/linux-module.c        |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lnet/libcfs/linux/linux-module.c b/drivers/staging/lustre/lnet/libcfs/linux/linux-module.c
index a326ac6..35e2fcf 100644
--- a/drivers/staging/lustre/lnet/libcfs/linux/linux-module.c
+++ b/drivers/staging/lustre/lnet/libcfs/linux/linux-module.c
@@ -43,7 +43,7 @@
 int libcfs_ioctl_data_adjust(struct libcfs_ioctl_data *data)
 {
 	if (libcfs_ioctl_is_invalid(data)) {
-		CERROR("LNET: ioctl not correctly formatted\n");
+		CERROR("libcfs ioctl: parameter not correctly formatted\n");
 		return -EINVAL;
 	}
 
@@ -68,7 +68,7 @@ int libcfs_ioctl_getdata(struct libcfs_ioctl_hdr **hdr_pp,
 
 	if (hdr.ioc_version != LIBCFS_IOCTL_VERSION &&
 	    hdr.ioc_version != LIBCFS_IOCTL_VERSION2) {
-		CERROR("LNET: version mismatch expected %#x, got %#x\n",
+		CERROR("libcfs ioctl: version mismatch expected %#x, got %#x\n",
 		       LIBCFS_IOCTL_VERSION, hdr.ioc_version);
 		return -EINVAL;
 	}
-- 
1.7.1

[toc] | [prev] | [next] | [standalone]


#1363120 — [PATCH 05/29] staging: lustre: libcfs: add debugging info for libcfs_ioctl

FromJames Simmons <jsimmons@infradead.org>
Date2016-03-23 00:20 +0100
Subject[PATCH 05/29] staging: lustre: libcfs: add debugging info for libcfs_ioctl
Message-ID<rfDKH-34K-41@gated-at.bofh.it>
In reply to#1363082
From: Liang Zhen <liang.zhen@intel.com>

Added some lustre debugging to track down potential future
bugs.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5435
Reviewed-on: http://review.whamcloud.com/11313
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
---
 drivers/staging/lustre/lnet/libcfs/module.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/lustre/lnet/libcfs/module.c b/drivers/staging/lustre/lnet/libcfs/module.c
index 8beb954..b7575af 100644
--- a/drivers/staging/lustre/lnet/libcfs/module.c
+++ b/drivers/staging/lustre/lnet/libcfs/module.c
@@ -121,8 +121,11 @@ static int libcfs_ioctl(struct cfs_psdev_file *pfile, unsigned long cmd,
 
 	/* 'cmd' and permissions get checked in our arch-specific caller */
 	err = libcfs_ioctl_getdata(&hdr, arg);
-	if (err)
+	if (err) {
+		CDEBUG_LIMIT(D_ERROR,
+			     "libcfs ioctl: data header error %d\n", err);
 		return err;
+	}
 
 	/*
 	 * The libcfs_ioctl_data_adjust() function performs adjustment
@@ -137,6 +140,7 @@ static int libcfs_ioctl(struct cfs_psdev_file *pfile, unsigned long cmd,
 			goto out;
 	}
 
+	CDEBUG(D_IOCTL, "libcfs ioctl cmd %lu\n", cmd);
 	switch (cmd) {
 	case IOC_LIBCFS_CLEAR_DEBUG:
 		libcfs_debug_clear_buffer();
-- 
1.7.1

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web