2017-07-17 09:17:09

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH v2 0/3] Constify lustre attribute_group structures.

ttribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work
with const attribute_group. So mark the non-const structs as const.

Arvind Yadav (3):
[PATCH v2 1/3] staging: lustre: constify attribute_group structures.
[PATCH v2 2/3] staging: lustre: ldlm: constify attribute_group structures.
[PATCH v2 3/3] staging: lustre: obdclass: linux: constify attribute_group structures.

drivers/staging/lustre/lustre/include/lprocfs_status.h | 4 ++--
drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c | 2 +-
drivers/staging/lustre/lustre/lmv/lproc_lmv.c | 2 +-
drivers/staging/lustre/lustre/lov/lproc_lov.c | 2 +-
drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 2 +-
drivers/staging/lustre/lustre/obdclass/linux/linux-module.c | 2 +-
drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c | 2 +-
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c | 2 +-
drivers/staging/lustre/lustre/osc/lproc_osc.c | 2 +-
9 files changed, 10 insertions(+), 10 deletions(-)

--
1.9.1


2017-07-17 09:17:15

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH v2 1/3] staging: lustre: constify attribute_group structures.

attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work
with const attribute_group. So mark the non-const structs as const.

File size before:
text data bss dec hex filename
9489 992 40 10521 2919 lustre/lustre/osc/lproc_osc.o
1289 288 0 1577 629 lustre/lustre/lmv/lproc_lmv.o
3794 928 40 4762 129a lustre/lustre/lov/lproc_lov.o
3802 576 40 4418 1142 lustre/lustre/mdc/lproc_mdc.o

File size After adding 'const':
text data bss dec hex filename
9553 928 40 10521 2919 lustre/lustre/osc/lproc_osc.o
1353 224 0 1577 629 lustre/lustre/lmv/lproc_lmv.o
3858 864 40 4762 129a lustre/lustre/lov/lproc_lov.o
3866 512 40 4418 1142 lustre/lustre/mdc/lproc_mdc.o

Signed-off-by: Arvind Yadav <[email protected]>
---
Changes in v2:
Fix kbuild error: conflicting types for 'lprocfs_obd_setup'.
By changing protype of 'lprocfs_obd_setup'.

drivers/staging/lustre/lustre/include/lprocfs_status.h | 4 ++--
drivers/staging/lustre/lustre/lmv/lproc_lmv.c | 2 +-
drivers/staging/lustre/lustre/lov/lproc_lov.c | 2 +-
drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 2 +-
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c | 2 +-
drivers/staging/lustre/lustre/osc/lproc_osc.c | 2 +-
6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h b/drivers/staging/lustre/lustre/include/lprocfs_status.h
index 915283c..9054d37 100644
--- a/drivers/staging/lustre/lustre/include/lprocfs_status.h
+++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h
@@ -59,7 +59,7 @@ struct lprocfs_vars {

struct lprocfs_static_vars {
struct lprocfs_vars *obd_vars;
- struct attribute_group *sysfs_vars;
+ const struct attribute_group *sysfs_vars;
};

/* if we find more consumers this could be generalized */
@@ -468,7 +468,7 @@ struct dentry *ldebugfs_register(const char *name,
void ldebugfs_remove(struct dentry **entryp);

int lprocfs_obd_setup(struct obd_device *obd, struct lprocfs_vars *list,
- struct attribute_group *attrs);
+ const struct attribute_group *attrs);
int lprocfs_obd_cleanup(struct obd_device *obd);

int ldebugfs_seq_create(struct dentry *parent,
diff --git a/drivers/staging/lustre/lustre/lmv/lproc_lmv.c b/drivers/staging/lustre/lustre/lmv/lproc_lmv.c
index bf25f88..4c13e39 100644
--- a/drivers/staging/lustre/lustre/lmv/lproc_lmv.c
+++ b/drivers/staging/lustre/lustre/lmv/lproc_lmv.c
@@ -161,7 +161,7 @@ static int lmv_target_seq_open(struct inode *inode, struct file *file)
NULL,
};

-static struct attribute_group lmv_attr_group = {
+static const struct attribute_group lmv_attr_group = {
.attrs = lmv_attrs,
};

diff --git a/drivers/staging/lustre/lustre/lov/lproc_lov.c b/drivers/staging/lustre/lustre/lov/lproc_lov.c
index eb6d30d..ce46821 100644
--- a/drivers/staging/lustre/lustre/lov/lproc_lov.c
+++ b/drivers/staging/lustre/lustre/lov/lproc_lov.c
@@ -279,7 +279,7 @@ static int lov_target_seq_open(struct inode *inode, struct file *file)
NULL,
};

-static struct attribute_group lov_attr_group = {
+static const struct attribute_group lov_attr_group = {
.attrs = lov_attrs,
};

diff --git a/drivers/staging/lustre/lustre/mdc/lproc_mdc.c b/drivers/staging/lustre/lustre/mdc/lproc_mdc.c
index 9021c46..9fea535 100644
--- a/drivers/staging/lustre/lustre/mdc/lproc_mdc.c
+++ b/drivers/staging/lustre/lustre/mdc/lproc_mdc.c
@@ -219,7 +219,7 @@ static ssize_t max_pages_per_rpc_show(struct kobject *kobj,
NULL,
};

-static struct attribute_group mdc_attr_group = {
+static const struct attribute_group mdc_attr_group = {
.attrs = mdc_attrs,
};

diff --git a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
index bc19f19..ba41983 100644
--- a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
+++ b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
@@ -1031,7 +1031,7 @@ static void obd_sysfs_release(struct kobject *kobj)
};

int lprocfs_obd_setup(struct obd_device *obd, struct lprocfs_vars *list,
- struct attribute_group *attrs)
+ const struct attribute_group *attrs)
{
int rc = 0;

diff --git a/drivers/staging/lustre/lustre/osc/lproc_osc.c b/drivers/staging/lustre/lustre/osc/lproc_osc.c
index 86f252d..6e0fd15 100644
--- a/drivers/staging/lustre/lustre/osc/lproc_osc.c
+++ b/drivers/staging/lustre/lustre/osc/lproc_osc.c
@@ -831,7 +831,7 @@ int lproc_osc_attach_seqstat(struct obd_device *dev)
NULL,
};

-static struct attribute_group osc_attr_group = {
+static const struct attribute_group osc_attr_group = {
.attrs = osc_attrs,
};

--
1.9.1

2017-07-17 09:17:21

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH v2 3/3] staging: lustre: obdclass: linux: constify attribute_group structures.

attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work
with const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/staging/lustre/lustre/obdclass/linux/linux-module.c | 2 +-
drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
index 9f5e829..eb88bd9 100644
--- a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
+++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
@@ -405,7 +405,7 @@ static int obd_device_list_open(struct inode *inode, struct file *file)
struct kobject *lustre_kobj;
EXPORT_SYMBOL_GPL(lustre_kobj);

-static struct attribute_group lustre_attr_group = {
+static const struct attribute_group lustre_attr_group = {
.attrs = lustre_attrs,
};

diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
index e6c785a..814334b 100644
--- a/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
+++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
@@ -151,7 +151,7 @@ static ssize_t max_dirty_mb_store(struct kobject *kobj, struct attribute *attr,
NULL,
};

-static struct attribute_group lustre_attr_group = {
+static const struct attribute_group lustre_attr_group = {
.attrs = lustre_attrs,
};

--
1.9.1

2017-07-17 09:18:46

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH v2 2/3] staging: lustre: ldlm: constify attribute_group structures.

attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work
with const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c b/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c
index fff930f..e0c3e5d 100644
--- a/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c
+++ b/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c
@@ -926,7 +926,7 @@ static ssize_t cancel_unused_locks_before_replay_store(struct kobject *kobj,
NULL,
};

-static struct attribute_group ldlm_attr_group = {
+static const struct attribute_group ldlm_attr_group = {
.attrs = ldlm_attrs,
};

--
1.9.1