2014-12-06 07:15:59

by Tristan Lelong

[permalink] [raw]
Subject: [PATCH] staging: lustre: replace static value with define

This patch replace the value '80' used in several files in the lustre source code
with a define LUSTRE_MDT_MAXNAMELEN.

This value is used in 4 different structures as the maximum len for a service name.
According to the comments, these names follow a convention which make it possible
to use the same define for LCS, LSS, LCF, and LSF names.

Signed-off-by: Tristan Lelong <[email protected]>
---
Note:
This modification answers Joe Perches suggestion: https://lkml.org/lkml/2014/12/5/107
The patch has to be applied on top of https://lkml.org/lkml/2014/12/6/17
---
drivers/staging/lustre/lustre/fld/fld_internal.h | 2 +-
drivers/staging/lustre/lustre/fld/lproc_fld.c | 2 +-
drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 5 +++++
drivers/staging/lustre/lustre/include/lustre_fid.h | 4 ++--
drivers/staging/lustre/lustre/include/lustre_fld.h | 4 ++--
5 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/lustre/lustre/fld/fld_internal.h b/drivers/staging/lustre/lustre/fld/fld_internal.h
index 8806b60..6125bbe 100644
--- a/drivers/staging/lustre/lustre/fld/fld_internal.h
+++ b/drivers/staging/lustre/lustre/fld/fld_internal.h
@@ -111,7 +111,7 @@ struct fld_cache {

/**
* Cache name used for debug and messages. */
- char fci_name[80];
+ char fci_name[LUSTRE_MDT_MAXNAMELEN];
unsigned int fci_no_shrink:1;
};

diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c b/drivers/staging/lustre/lustre/fld/lproc_fld.c
index 74b4db9..7a55941 100644
--- a/drivers/staging/lustre/lustre/fld/lproc_fld.c
+++ b/drivers/staging/lustre/lustre/fld/lproc_fld.c
@@ -96,7 +96,7 @@ fld_proc_hash_seq_write(struct file *file,
char *name;
int i;

- if (count > 80)
+ if (count > LUSTRE_MDT_MAXNAMELEN)
return -ENAMETOOLONG;

name = kmalloc(count, GFP_KERNEL);
diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
index 7b7457c..305ecbe 100644
--- a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
@@ -105,6 +105,11 @@
* FOO_BULK_PORTAL is for incoming bulk on the FOO
*/

+/* Lustre service names are following the format
+ * service name + MDT + seq name
+ */
+#define LUSTRE_MDT_MAXNAMELEN 80
+
#define CONNMGR_REQUEST_PORTAL 1
#define CONNMGR_REPLY_PORTAL 2
//#define OSC_REQUEST_PORTAL 3
diff --git a/drivers/staging/lustre/lustre/include/lustre_fid.h b/drivers/staging/lustre/lustre/include/lustre_fid.h
index 2d6fbb4..0a0929f 100644
--- a/drivers/staging/lustre/lustre/include/lustre_fid.h
+++ b/drivers/staging/lustre/lustre/include/lustre_fid.h
@@ -358,7 +358,7 @@ struct lu_client_seq {
* Service uuid, passed from MDT + seq name to form unique seq name to
* use it with procfs.
*/
- char lcs_name[80];
+ char lcs_name[LUSTRE_MDT_MAXNAMELEN];

/*
* Sequence width, that is how many objects may be allocated in one
@@ -408,7 +408,7 @@ struct lu_server_seq {
* Service uuid, passed from MDT + seq name to form unique seq name to
* use it with procfs.
*/
- char lss_name[80];
+ char lss_name[LUSTRE_MDT_MAXNAMELEN];

/*
* Allocation chunks for super and meta sequences. Default values are
diff --git a/drivers/staging/lustre/lustre/include/lustre_fld.h b/drivers/staging/lustre/lustre/include/lustre_fld.h
index 64c5048..5ee4b1e 100644
--- a/drivers/staging/lustre/lustre/include/lustre_fld.h
+++ b/drivers/staging/lustre/lustre/include/lustre_fld.h
@@ -93,7 +93,7 @@ struct lu_server_fld {

/**
* Fld service name in form "fld-srv-lustre-MDTXXX" */
- char lsf_name[80];
+ char lsf_name[LUSTRE_MDT_MAXNAMELEN];

};

@@ -124,7 +124,7 @@ struct lu_client_fld {

/**
* Client fld proc entry name. */
- char lcf_name[80];
+ char lcf_name[LUSTRE_MDT_MAXNAMELEN];

int lcf_flags;
};
--
2.1.1


2014-12-06 17:09:33

by Dilger, Andreas

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: replace static value with define

On 2014/12/06, 12:16 AM, "Tristan Lelong" <[email protected]> wrote:

>This patch replace the value '80' used in several files in the lustre
>source code
>with a define LUSTRE_MDT_MAXNAMELEN.
>
>This value is used in 4 different structures as the maximum len for a
>service name.
>According to the comments, these names follow a convention which make it
>possible
>to use the same define for LCS, LSS, LCF, and LSF names.
>
>Signed-off-by: Tristan Lelong <[email protected]>
>---
>Note:
> This modification answers Joe Perches suggestion:
>https://lkml.org/lkml/2014/12/5/107
> The patch has to be applied on top of https://lkml.org/lkml/2014/12/6/17
>---
> drivers/staging/lustre/lustre/fld/fld_internal.h | 2 +-
> drivers/staging/lustre/lustre/fld/lproc_fld.c | 2 +-
> drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 5 +++++
> drivers/staging/lustre/lustre/include/lustre_fid.h | 4 ++--
> drivers/staging/lustre/lustre/include/lustre_fld.h | 4 ++--
> 5 files changed, 11 insertions(+), 6 deletions(-)
>
>diff --git a/drivers/staging/lustre/lustre/fld/fld_internal.h
>b/drivers/staging/lustre/lustre/fld/fld_internal.h
>index 8806b60..6125bbe 100644
>--- a/drivers/staging/lustre/lustre/fld/fld_internal.h
>+++ b/drivers/staging/lustre/lustre/fld/fld_internal.h
>@@ -111,7 +111,7 @@ struct fld_cache {
>
> /**
> * Cache name used for debug and messages. */
>- char fci_name[80];
>+ char fci_name[LUSTRE_MDT_MAXNAMELEN];
> unsigned int fci_no_shrink:1;
> };
>
>diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c
>b/drivers/staging/lustre/lustre/fld/lproc_fld.c
>index 74b4db9..7a55941 100644
>--- a/drivers/staging/lustre/lustre/fld/lproc_fld.c
>+++ b/drivers/staging/lustre/lustre/fld/lproc_fld.c
>@@ -96,7 +96,7 @@ fld_proc_hash_seq_write(struct file *file,
> char *name;
> int i;
>
>- if (count > 80)
>+ if (count > LUSTRE_MDT_MAXNAMELEN)
> return -ENAMETOOLONG;

Sorry for the late reply, but this has nothing to do with an MDT service
name, so using this #define is misleading here. As I wrote in my other
email, this only needs to be at most 8 characters.

Cheers, Andreas

>
> name = kmalloc(count, GFP_KERNEL);
>diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
>b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
>index 7b7457c..305ecbe 100644
>--- a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
>+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
>@@ -105,6 +105,11 @@
> * FOO_BULK_PORTAL is for incoming bulk on the FOO
> */
>
>+/* Lustre service names are following the format
>+ * service name + MDT + seq name
>+ */
>+#define LUSTRE_MDT_MAXNAMELEN 80
>+
> #define CONNMGR_REQUEST_PORTAL 1
> #define CONNMGR_REPLY_PORTAL 2
> //#define OSC_REQUEST_PORTAL 3
>diff --git a/drivers/staging/lustre/lustre/include/lustre_fid.h
>b/drivers/staging/lustre/lustre/include/lustre_fid.h
>index 2d6fbb4..0a0929f 100644
>--- a/drivers/staging/lustre/lustre/include/lustre_fid.h
>+++ b/drivers/staging/lustre/lustre/include/lustre_fid.h
>@@ -358,7 +358,7 @@ struct lu_client_seq {
> * Service uuid, passed from MDT + seq name to form unique seq name to
> * use it with procfs.
> */
>- char lcs_name[80];
>+ char lcs_name[LUSTRE_MDT_MAXNAMELEN];
>
> /*
> * Sequence width, that is how many objects may be allocated in one
>@@ -408,7 +408,7 @@ struct lu_server_seq {
> * Service uuid, passed from MDT + seq name to form unique seq name to
> * use it with procfs.
> */
>- char lss_name[80];
>+ char lss_name[LUSTRE_MDT_MAXNAMELEN];
>
> /*
> * Allocation chunks for super and meta sequences. Default values are
>diff --git a/drivers/staging/lustre/lustre/include/lustre_fld.h
>b/drivers/staging/lustre/lustre/include/lustre_fld.h
>index 64c5048..5ee4b1e 100644
>--- a/drivers/staging/lustre/lustre/include/lustre_fld.h
>+++ b/drivers/staging/lustre/lustre/include/lustre_fld.h
>@@ -93,7 +93,7 @@ struct lu_server_fld {
>
> /**
> * Fld service name in form "fld-srv-lustre-MDTXXX" */
>- char lsf_name[80];
>+ char lsf_name[LUSTRE_MDT_MAXNAMELEN];
>
> };
>
>@@ -124,7 +124,7 @@ struct lu_client_fld {
>
> /**
> * Client fld proc entry name. */
>- char lcf_name[80];
>+ char lcf_name[LUSTRE_MDT_MAXNAMELEN];
>
> int lcf_flags;
> };
>--
>2.1.1
>
>


Cheers, Andreas
--
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division

2014-12-06 22:40:53

by Tristan Lelong

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: replace static value with define

On Sat, Dec 06, 2014 at 05:09:29PM +0000, Dilger, Andreas wrote:
> >
> >diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c
> >b/drivers/staging/lustre/lustre/fld/lproc_fld.c
> >index 74b4db9..7a55941 100644
> >--- a/drivers/staging/lustre/lustre/fld/lproc_fld.c
> >+++ b/drivers/staging/lustre/lustre/fld/lproc_fld.c
> >@@ -96,7 +96,7 @@ fld_proc_hash_seq_write(struct file *file,
> > char *name;
> > int i;
> >
> >- if (count > 80)
> >+ if (count > LUSTRE_MDT_MAXNAMELEN)
> > return -ENAMETOOLONG;
>
> Sorry for the late reply, but this has nothing to do with an MDT service
> name, so using this #define is misleading here. As I wrote in my other
> email, this only needs to be at most 8 characters.
>

I see that now, I will change that according to the other email.

Do you want me to redo this patch and still define the 80 as LUSTRE_MDT_MAXNAMELEN
but without this last part (just the define and the string length declaration), or
should we just let this go?

Thanks