ceph-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fs/ceph:Modify the return value to void
@ 2022-09-27  8:57 Zhou jie
       [not found] ` <202209292358.oyaafCLq-lkp@intel.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Zhou jie @ 2022-09-27  8:57 UTC (permalink / raw)
  To: jlayton, xiubli, idryomov; +Cc: ceph-devel, linux-kernel, zhoujie

Modify the return value of the integer to void.

Signed-off-by: Zhou jie <zhoujie@nfschina.com>
---
 fs/ceph/debugfs.c | 38 +++++++++++++-------------------------
 1 file changed, 13 insertions(+), 25 deletions(-)

diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index bec3c4549c07..e4852a1c4a0a 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -22,14 +22,14 @@
 #include "mds_client.h"
 #include "metric.h"
 
-static int mdsmap_show(struct seq_file *s, void *p)
+static void mdsmap_show(struct seq_file *s, void *p)
 {
 	int i;
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_mdsmap *mdsmap;
 
 	if (!fsc->mdsc || !fsc->mdsc->mdsmap)
-		return 0;
+		return;
 	mdsmap = fsc->mdsc->mdsmap;
 	seq_printf(s, "epoch %d\n", mdsmap->m_epoch);
 	seq_printf(s, "root %d\n", mdsmap->m_root);
@@ -43,13 +43,12 @@ static int mdsmap_show(struct seq_file *s, void *p)
 			       ceph_pr_addr(addr),
 			       ceph_mds_state_name(state));
 	}
-	return 0;
 }
 
 /*
  * mdsc debugfs
  */
-static int mdsc_show(struct seq_file *s, void *p)
+static void mdsc_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_mds_client *mdsc = fsc->mdsc;
@@ -124,7 +123,6 @@ static int mdsc_show(struct seq_file *s, void *p)
 	}
 	mutex_unlock(&mdsc->mutex);
 
-	return 0;
 }
 
 #define CEPH_LAT_METRIC_SHOW(name, total, avg, min, max, sq) {		\
@@ -146,7 +144,7 @@ static int mdsc_show(struct seq_file *s, void *p)
 		   name, total, avg, _min, max, sum);			\
 }
 
-static int metrics_file_show(struct seq_file *s, void *p)
+static void metrics_file_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_client_metric *m = &fsc->mdsc->metric;
@@ -161,7 +159,6 @@ static int metrics_file_show(struct seq_file *s, void *p)
 		   atomic64_read(&m->total_caps));
 	seq_printf(s, "%-35s%lld\n", "opened inodes",
 		   percpu_counter_sum(&m->opened_inodes));
-	return 0;
 }
 
 static const char * const metric_str[] = {
@@ -170,7 +167,7 @@ static const char * const metric_str[] = {
 	"metadata",
 	"copyfrom"
 };
-static int metrics_latency_show(struct seq_file *s, void *p)
+static void metrics_latency_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_client_metric *cm = &fsc->mdsc->metric;
@@ -193,10 +190,9 @@ static int metrics_latency_show(struct seq_file *s, void *p)
 		CEPH_LAT_METRIC_SHOW(metric_str[i], total, avg, min, max, sq);
 	}
 
-	return 0;
 }
 
-static int metrics_size_show(struct seq_file *s, void *p)
+static void metrics_size_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_client_metric *cm = &fsc->mdsc->metric;
@@ -223,10 +219,9 @@ static int metrics_size_show(struct seq_file *s, void *p)
 		CEPH_SZ_METRIC_SHOW(metric_str[i], total, avg, min, max, sum);
 	}
 
-	return 0;
 }
 
-static int metrics_caps_show(struct seq_file *s, void *p)
+static void metrics_caps_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_client_metric *m = &fsc->mdsc->metric;
@@ -245,10 +240,9 @@ static int metrics_caps_show(struct seq_file *s, void *p)
 		   percpu_counter_sum(&m->i_caps_mis),
 		   percpu_counter_sum(&m->i_caps_hit));
 
-	return 0;
 }
 
-static int caps_show_cb(struct inode *inode, struct ceph_cap *cap, void *p)
+static void caps_show_cb(struct inode *inode, struct ceph_cap *cap, void *p)
 {
 	struct seq_file *s = p;
 
@@ -256,10 +250,9 @@ static int caps_show_cb(struct inode *inode, struct ceph_cap *cap, void *p)
 		   cap->session->s_mds,
 		   ceph_cap_string(cap->issued),
 		   ceph_cap_string(cap->implemented));
-	return 0;
 }
 
-static int caps_show(struct seq_file *s, void *p)
+static void caps_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_mds_client *mdsc = fsc->mdsc;
@@ -304,10 +297,9 @@ static int caps_show(struct seq_file *s, void *p)
 	}
 	spin_unlock(&mdsc->caps_list_lock);
 
-	return 0;
 }
 
-static int mds_sessions_show(struct seq_file *s, void *ptr)
+static void mds_sessions_show(struct seq_file *s, void *ptr)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_mds_client *mdsc = fsc->mdsc;
@@ -340,10 +332,9 @@ static int mds_sessions_show(struct seq_file *s, void *ptr)
 	}
 	mutex_unlock(&mdsc->mutex);
 
-	return 0;
 }
 
-static int status_show(struct seq_file *s, void *p)
+static void status_show(struct seq_file *s, void *p)
 {
 	struct ceph_fs_client *fsc = s->private;
 	struct ceph_entity_inst *inst = &fsc->client->msgr.inst;
@@ -353,7 +344,6 @@ static int status_show(struct seq_file *s, void *p)
 		   ceph_pr_addr(client_addr), le32_to_cpu(client_addr->nonce));
 	seq_printf(s, "blocklisted: %s\n", fsc->blocklisted ? "true" : "false");
 
-	return 0;
 }
 
 DEFINE_SHOW_ATTRIBUTE(mdsmap);
@@ -370,20 +360,18 @@ DEFINE_SHOW_ATTRIBUTE(metrics_caps);
 /*
  * debugfs
  */
-static int congestion_kb_set(void *data, u64 val)
+static void congestion_kb_set(void *data, u64 val)
 {
 	struct ceph_fs_client *fsc = (struct ceph_fs_client *)data;
 
 	fsc->mount_options->congestion_kb = (int)val;
-	return 0;
 }
 
-static int congestion_kb_get(void *data, u64 *val)
+static void congestion_kb_get(void *data, u64 *val)
 {
 	struct ceph_fs_client *fsc = (struct ceph_fs_client *)data;
 
 	*val = (u64)fsc->mount_options->congestion_kb;
-	return 0;
 }
 
 DEFINE_SIMPLE_ATTRIBUTE(congestion_kb_fops, congestion_kb_get,
-- 
2.18.2


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

* Re: [PATCH] fs/ceph:Modify the return value to void
       [not found] ` <202209292358.oyaafCLq-lkp@intel.com>
@ 2022-09-29 19:52   ` Ilya Dryomov
  0 siblings, 0 replies; 2+ messages in thread
From: Ilya Dryomov @ 2022-09-29 19:52 UTC (permalink / raw)
  To: kernel test robot
  Cc: Zhou jie, jlayton, xiubli, llvm, kbuild-all, ceph-devel, linux-kernel

On Thu, Sep 29, 2022 at 5:19 PM kernel test robot <lkp@intel.com> wrote:
>
> Hi Zhou,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on ceph-client/for-linus]
> [also build test ERROR on linus/master v6.0-rc7 next-20220928]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Zhou-jie/fs-ceph-Modify-the-return-value-to-void/20220927-165857
> base:   https://github.com/ceph/ceph-client.git for-linus
> config: hexagon-randconfig-r041-20220926
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/intel-lab-lkp/linux/commit/6c7163052ce6f51c217c650bc5592b7ef50b2280
>         git remote add linux-review https://github.com/intel-lab-lkp/linux
>         git fetch --no-tags linux-review Zhou-jie/fs-ceph-Modify-the-return-value-to-void/20220927-165857
>         git checkout 6c7163052ce6f51c217c650bc5592b7ef50b2280
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash fs/ceph/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> >> fs/ceph/debugfs.c:281:38: error: incompatible function pointer types passing 'void (struct inode *, struct ceph_cap *, void *)' to parameter of type 'int (*)(struct inode *, struct ceph_cap *, void *)' [-Wincompatible-function-pointer-types]
>                    ceph_iterate_session_caps(session, caps_show_cb, s);
>                                                       ^~~~~~~~~~~~
>    fs/ceph/mds_client.h:540:16: note: passing argument to parameter 'cb' here
>                                         int (*cb)(struct inode *,
>                                               ^
> >> fs/ceph/debugfs.c:349:1: error: incompatible function pointer types passing 'void (struct seq_file *, void *)' to parameter of type 'int (*)(struct seq_file *, void *)' [-Wincompatible-function-pointer-types]
>    DEFINE_SHOW_ATTRIBUTE(mdsmap);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    include/linux/seq_file.h:199:27: note: expanded from macro 'DEFINE_SHOW_ATTRIBUTE'
>            return single_open(file, __name ## _show, inode->i_private);    \
>                                     ^~~~~~~~~~~~~~~
>    <scratch space>:79:1: note: expanded from here
>    mdsmap_show
>    ^~~~~~~~~~~
>    include/linux/seq_file.h:166:38: note: passing argument to parameter here
>    int single_open(struct file *, int (*)(struct seq_file *, void *), void *);
>                                         ^
>    fs/ceph/debugfs.c:350:1: error: incompatible function pointer types passing 'void (struct seq_file *, void *)' to parameter of type 'int (*)(struct seq_file *, void *)' [-Wincompatible-function-pointer-types]

Hi Zhou,

As you can see from the above output, the signatures of these
functions are dictated by debugfs infrastructure.  Even though
we happen to return 0 in all cases, changing the return type to
void is wrong.

Thanks,

                Ilya

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

end of thread, other threads:[~2022-09-29 19:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-27  8:57 [PATCH] fs/ceph:Modify the return value to void Zhou jie
     [not found] ` <202209292358.oyaafCLq-lkp@intel.com>
2022-09-29 19:52   ` Ilya Dryomov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).